Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

【Zcash】匿名交易

卡哇伊嘉人
207 0 0

( Z6 p8 k8 O1 l3 |) [  W0 `Zcash 是对Bitcoin的fork,目的是融入zk-Snarks技术提高匿名性,它支持2种地址:[1]3 x4 g2 `4 R+ r& \6 Y( L8 Q
z-addr的交易记录和交易金额被完全隐藏
3 R9 U- L* V  t, Rt-addr的交易记录和交易金额被公开,和Bitcoin交易没有区别。
5 J1 q+ r; ?% Y: p4 L# ^* w
9 K; g: a  ?7 k& m- s0 {1 P+ J) q一笔交易可以包含 shielded input/output, transparent input/output[2],其中和z-addr有关的部分都是隐藏的,和t-addr有关的部分都是公开的。/ m: }% @/ c0 h3 c4 K0 g

% u- W8 m3 O& \4 r+ E' n# aZcash相比Bitcoin的好处在于给人多提供了一个选择,交易可以公开、也可以不公开。用户可以随时在2者之间切换,根据需要而定。
2 t% g+ ~1 v. m2 y这同时也意味着使用Zcash转账并不一定就是匿名的,得使用它的z-addr才能达到完全匿名的效果。事实上目前大部分钱包都只支持t-addr,不支持z-addr,也就是说即使你用这些钱包转ZEC(Zcash的coin代号),你的交易记录仍然是公开的。6 R6 m7 T/ [% U, b3 M
如果只使用t-addr,而完全不用z-addr,那就没有发挥Zcash的作用,和使用Bitcoin没有多大区别(出于投资目的则另说)。只是区块间隔更短,交易的确认速度更快而已。' O' X7 b6 ^  z2 [5 V6 B
z-addr 的使用现状, M/ m2 `7 Z: A( J
94%的ZEC都使用公开的t-addr存储[3]/ Y5 `1 l# v- i4 q  R
9 R1 V3 ]9 N0 A, `' |
过去一个月匿名交易占所有交易次数的14%[4]
0 _( X7 C0 G5 r0 T# C
% `9 o/ [, D! s显然z-addr被使用的并不多,可能是因为大家对匿名的需求不高,或者觉得t-addr的匿名性对他们已经够用了,或者只是为了投资,对匿名性没有要求。另外最有可能是因为现有钱包都不支持 z-addr,要想使用z-addr只能安装全节点钱包。我见过的多资产钱包、交易所都不支持匿名的z-addr,包括Atomic Wallet, Cobo Wallet, Guarda, Bixin, huobi。
, k' x' @3 R& Y. aZcash官网列出了一些当前支持Zcash的钱包,只有命令行的官方钱包和图形界面的zec-qt支持z-addr。它们俩都需要维护全节点,这样显然用的人就少了。
+ p$ n8 ^; b% K2 e使用 zcash 全节点钱包, {* H1 f7 s4 ^$ ~
为了使用z-addr,我安装好软件zcash,花2个晚上同步好区块(目前Zcash整条区块链21GB)。1 |/ z( v( h4 D5 l
我的ZEC存在Atomic Wallet,我先用它将 ZEC 转到全节点钱包的 t-addr,然后再转到全节点钱包的 z-addr,然后就可以完全匿名交易了。
4 f: l1 e- {8 _2 j为什么不直接转到 z-addr 呢?* a' P' ]% r" e& b/ a& ^1 ]$ g
因为Atomic不支持转账到 z-addr,在收款地址输入 z-addr 会报错"Please check address"。
* m" D8 g9 K& p4 ]! E步骤5 Y/ R( G9 y; h
由于zcash只有命令行界面,下面就以命令行进行演示。[1:1]
$ o# I6 t, e' O) K: w: s! N创建t-addr、z-addr
* a4 n9 B8 j" V, v$ `! b; ~) R: X; N1 {
zcash-cli getnewaddress # 创建t地址
, I- e6 s* b1 W$ W( ?3 mzcash-cli z_getnewaddress # 创建z地址
& j- L* H6 s. X6 J2 jzcash-cli getaddressesbyaccount "" # 查看t地址列表,注意加上2个双引号( V( z7 @9 \+ j6 L
zcash-cli z_listaddresses # 查看z地址列表4 D& N& Q" P2 Y% I: F
t地址以t开头,z地址以z开头,z地址大约是t地址的2倍长。
8 T6 o/ Q1 u9 l2 ^6 U使用Atomic Wallet转账到上面生成的t地址
/ w: m9 d, p: t- n0 Q) X从t地址转账到z地址
* N8 N% O+ k. U
: u6 j5 {' Y2 d8 J2 izcash-cli z_sendmany "t1QdpvNaHbyYkEN8m92fajU7e5bUUz5t1Y7" '[{"address": "zs1jwj3wxhachdtrqx8utekhm0mcdm3gs29dd2l0lyfrx4l4wy7q047k5tk8m6nxmyhvlc7zkdny28" ,"amount": 0.05}]'
2 P3 A& i- R6 [" j/ P, H+ `需要填入3个参数:付款地址、收款地址、金额,具体可以输入命令zcash-cli help z_sendmany查看帮助。另外付款地址需要注意预留交易费,0.0001ZEC,如果将余额全部转出会因为余额不够付交易费而失败。
/ B1 k1 w2 n2 ^# d查看交易是否成功以及txid" m' l0 g; M$ h# M. q! t7 u: ~

  q1 x$ \1 S( H0 `# N, k# X; t8 Nzcash-cli z_getoperationresult
. Z/ A9 Q  ^- b; T; D; b3 J结果显示 txid 为 c9669ef0661c375632c0893eac7d949a0218bfc4ae51a94cd226e1600ef21410# ^: X; d: ]- E; {( C
5. 查看结果' l9 l" U  H+ w. k% b; G
查看交易详情
' t9 u! H; I: w" v5 l' H2 _zcash-cli gettransaction "c9669ef0661c375632c0893eac7d949a0218bfc4ae51a94cd226e1600ef21410"
% Q0 L. ^5 I( R2 {查看当前余额在t-addr, z-addr的分布
( o( S) Q8 O4 lzcash-cli z_gettotalbalance+ s6 @; K& m0 t. y# q
查看z-addr余额
4 O, J* i2 i( c) k' Mzcash-cli z_getbalance "zs1jwj3wxhachdtrqx8utekhm0mcdm3gs29dd2l0lyfrx4l4wy7q047k5tk8m6nxmyhvlc7zkdny28"' }6 m* ]! a5 |  t% Q6 M) ]
在线查看交易详情,只能看到t-addr,看不到z-addr,因为z-addr在交易记录中被隐藏了。# ~4 m; ], v# q& ?7 x
匿名交易
. p" L9 Q; S# F  O6 r$ G% o9 c1 [1 |用这个z-addr转账的记录都是隐蔽的,不管转入还是转出。5 \; L1 N+ P) L' y4 ?+ B0 B8 O* M
下面在两个z-addr之间转账
- Y2 y8 \1 y  |- Nzcash-cli z_sendmany "zs1jwj3wxhachdtrqx8utekhm0mcdm3gs29dd2l0lyfrx4l4wy7q047k5tk8m6nxmyhvlc7zkdny28" '[{"address": "zs14k2hkalm4g9sc8camna4cyyt40fr38rgxtmg3k3tw
0 j' [9 P- i9 r5 djzl7hrd4d3vyjcxg6k99z52eg5zc9v9lrs" ,"amount": 0.01}]'  . \# H3 v6 w- u3 v
zcash-cli z_getoperationresult   3 D4 e- C( z) x( `' I
zcash-cli gettransaction "99f88d9bced2b22953b833cf2c6cec7da0c4b5876a0e4293a0a6f67fcdb1be0b"  - r: j# [9 _& m7 V9 w
在线查看交易详情,什么也看不到,send/receiver地址、交易金额全部被隐藏。0 i- c# n) J4 A, l2 n

+ @- w* @2 o3 R& H! u3 d9 j# {$ t7 A
https://zcash.readthedocs.io/en/latest/rtd_pages/user_guide.html ↩︎ ↩︎/ r% f* G9 j. L# w7 A
- ]" d$ ?) B6 S
https://z.cash/blog/anatomy-of-zcash ↩︎% J; A% o; c% J
2 ]$ T* b0 t0 a: c8 u2 ]
https://explorer.zcha.in/statistics/value ↩︎
  N# P% I( y- a1 w& A$ g' h0 F" |! z4 j8 B3 Z" t2 f" Y, B$ ]
https://explorer.zcha.in/statistics/usage ↩︎' k% k8 F7 s* M9 g6 l
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

卡哇伊嘉人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    11