Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

【Zcash】匿名交易

卡哇伊嘉人
121 0 0

/ o/ @5 S2 L, R8 VZcash 是对Bitcoin的fork,目的是融入zk-Snarks技术提高匿名性,它支持2种地址:[1]# @+ L! U( G/ R, n  A5 Y
z-addr的交易记录和交易金额被完全隐藏
3 I- \* e. g3 C1 q* f% Wt-addr的交易记录和交易金额被公开,和Bitcoin交易没有区别。
1 H( J1 o  E$ P7 K" {0 g
/ ~  T* W* t! @3 T1 m& Y1 H一笔交易可以包含 shielded input/output, transparent input/output[2],其中和z-addr有关的部分都是隐藏的,和t-addr有关的部分都是公开的。& P# ~5 e: Q2 Y
( A! K+ E) i! g! w, s
Zcash相比Bitcoin的好处在于给人多提供了一个选择,交易可以公开、也可以不公开。用户可以随时在2者之间切换,根据需要而定。2 [+ |( N, G5 ]( [* v* j- H
这同时也意味着使用Zcash转账并不一定就是匿名的,得使用它的z-addr才能达到完全匿名的效果。事实上目前大部分钱包都只支持t-addr,不支持z-addr,也就是说即使你用这些钱包转ZEC(Zcash的coin代号),你的交易记录仍然是公开的。& F9 F. J: w& {/ u
如果只使用t-addr,而完全不用z-addr,那就没有发挥Zcash的作用,和使用Bitcoin没有多大区别(出于投资目的则另说)。只是区块间隔更短,交易的确认速度更快而已。' {& R  m. q8 K0 d2 f
z-addr 的使用现状
( l1 ~9 T. n; F7 i1 |94%的ZEC都使用公开的t-addr存储[3], h- ~( {# Y: `# d( k3 p
2 b6 B' c2 b: F. P( J
过去一个月匿名交易占所有交易次数的14%[4]& i4 o: O$ C3 ^( L6 w' M

, Q$ j, ~7 j5 N, }显然z-addr被使用的并不多,可能是因为大家对匿名的需求不高,或者觉得t-addr的匿名性对他们已经够用了,或者只是为了投资,对匿名性没有要求。另外最有可能是因为现有钱包都不支持 z-addr,要想使用z-addr只能安装全节点钱包。我见过的多资产钱包、交易所都不支持匿名的z-addr,包括Atomic Wallet, Cobo Wallet, Guarda, Bixin, huobi。
0 O# f0 [1 A* v7 p0 @7 QZcash官网列出了一些当前支持Zcash的钱包,只有命令行的官方钱包和图形界面的zec-qt支持z-addr。它们俩都需要维护全节点,这样显然用的人就少了。* X5 N: n4 y5 [5 T
使用 zcash 全节点钱包5 u" C: Y' U$ ~6 M! I
为了使用z-addr,我安装好软件zcash,花2个晚上同步好区块(目前Zcash整条区块链21GB)。
9 o& Q6 K1 g( e2 `, h# |+ {5 S2 I+ l! t我的ZEC存在Atomic Wallet,我先用它将 ZEC 转到全节点钱包的 t-addr,然后再转到全节点钱包的 z-addr,然后就可以完全匿名交易了。
# ^: @2 }: ]( W为什么不直接转到 z-addr 呢?" ~4 C$ W" P4 S& ~
因为Atomic不支持转账到 z-addr,在收款地址输入 z-addr 会报错"Please check address"。
) m. ~/ m  P, s! g7 \步骤
7 [8 H" _7 ~5 f0 o3 R4 o& G由于zcash只有命令行界面,下面就以命令行进行演示。[1:1]
# Y' O7 S$ ?# R创建t-addr、z-addr
/ k  v" G4 F) w" }  R3 G( o; l; i9 X% B- ]( S
zcash-cli getnewaddress # 创建t地址
! w4 y/ c! g: u5 Vzcash-cli z_getnewaddress # 创建z地址! T8 O, H0 b7 R: S
zcash-cli getaddressesbyaccount "" # 查看t地址列表,注意加上2个双引号
' A1 c, f1 L5 l" Lzcash-cli z_listaddresses # 查看z地址列表7 i9 K! ]* R7 l0 |
t地址以t开头,z地址以z开头,z地址大约是t地址的2倍长。) M; {1 K6 f7 V+ a
使用Atomic Wallet转账到上面生成的t地址- z; S9 ?* K, N# \1 d
从t地址转账到z地址. X: g" d" r8 h7 Y
  l/ y/ ]( S% I* n; \
zcash-cli z_sendmany "t1QdpvNaHbyYkEN8m92fajU7e5bUUz5t1Y7" '[{"address": "zs1jwj3wxhachdtrqx8utekhm0mcdm3gs29dd2l0lyfrx4l4wy7q047k5tk8m6nxmyhvlc7zkdny28" ,"amount": 0.05}]'
- _) n( A4 V* s* b+ A8 ]- ?需要填入3个参数:付款地址、收款地址、金额,具体可以输入命令zcash-cli help z_sendmany查看帮助。另外付款地址需要注意预留交易费,0.0001ZEC,如果将余额全部转出会因为余额不够付交易费而失败。
4 [& V% q: [% p/ @& _$ A/ S- F$ ]' u查看交易是否成功以及txid
- b2 c) h) V6 c( O9 q6 O* [7 p- H- X$ W" V9 q$ s% l
zcash-cli z_getoperationresult
( Y3 T, S* G/ V0 O# R结果显示 txid 为 c9669ef0661c375632c0893eac7d949a0218bfc4ae51a94cd226e1600ef21410- o! O6 I* r  C4 ]  G; v' s
5. 查看结果; |! [8 P, |2 Y1 H5 G# e& f
查看交易详情
9 f- Y0 u/ @2 }+ @+ \6 T9 e( mzcash-cli gettransaction "c9669ef0661c375632c0893eac7d949a0218bfc4ae51a94cd226e1600ef21410"" O& [& V- ~+ f
查看当前余额在t-addr, z-addr的分布
4 U( o- t; E' M0 z9 x0 wzcash-cli z_gettotalbalance7 P6 ~- Z" P: _" h' h: }
查看z-addr余额
4 _: I* P! }$ n  m: Q, U$ p, d$ pzcash-cli z_getbalance "zs1jwj3wxhachdtrqx8utekhm0mcdm3gs29dd2l0lyfrx4l4wy7q047k5tk8m6nxmyhvlc7zkdny28"" Z* W) L) D: A& a0 A7 R
在线查看交易详情,只能看到t-addr,看不到z-addr,因为z-addr在交易记录中被隐藏了。
3 {. x9 u0 N/ F. m% X. o匿名交易
; d5 L' n2 r& x: R用这个z-addr转账的记录都是隐蔽的,不管转入还是转出。
9 _% ]: K& L# w+ @8 F4 Q$ M下面在两个z-addr之间转账6 r6 |% q. L( f& E! m- d+ r
zcash-cli z_sendmany "zs1jwj3wxhachdtrqx8utekhm0mcdm3gs29dd2l0lyfrx4l4wy7q047k5tk8m6nxmyhvlc7zkdny28" '[{"address": "zs14k2hkalm4g9sc8camna4cyyt40fr38rgxtmg3k3tw
7 g& [  K7 F4 M$ h' Ljzl7hrd4d3vyjcxg6k99z52eg5zc9v9lrs" ,"amount": 0.01}]'  
8 D+ |& Q  M7 ^& s$ v" Jzcash-cli z_getoperationresult   3 r* o8 ]1 ]% L6 N% }1 P3 G' N
zcash-cli gettransaction "99f88d9bced2b22953b833cf2c6cec7da0c4b5876a0e4293a0a6f67fcdb1be0b"  
8 b" |/ C5 R1 g" r在线查看交易详情,什么也看不到,send/receiver地址、交易金额全部被隐藏。
# N; Z7 s3 M: c& H' e* f
7 }2 V8 F$ N: v) y9 h& Y
. v; k3 @1 }1 O4 W4 y' |4 ^https://zcash.readthedocs.io/en/latest/rtd_pages/user_guide.html ↩︎ ↩︎/ S: q. K0 V! ^4 J- a  _
2 B! W6 e6 F1 p; |3 l
https://z.cash/blog/anatomy-of-zcash ↩︎6 _, b! j5 {! R, ]# C0 ~5 N/ B

7 v5 t2 J! j; ~& {https://explorer.zcha.in/statistics/value ↩︎
4 y/ b' i+ S. v& i. z' y/ z
4 R+ i" n( B- ?/ p3 ghttps://explorer.zcha.in/statistics/usage ↩︎
; T( p. u1 t+ z) m3 ?
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

卡哇伊嘉人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    11