Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

【Zcash】匿名交易

卡哇伊嘉人
142 0 0

9 Q" f9 v9 G8 D$ C. W' S! mZcash 是对Bitcoin的fork,目的是融入zk-Snarks技术提高匿名性,它支持2种地址:[1]7 h3 O" k8 a) A! k. o
z-addr的交易记录和交易金额被完全隐藏! t* {3 O- N, o! d- W  o3 j1 m
t-addr的交易记录和交易金额被公开,和Bitcoin交易没有区别。
1 M+ c& m) m+ e( p  G$ {) J. T$ g6 @. A+ v
一笔交易可以包含 shielded input/output, transparent input/output[2],其中和z-addr有关的部分都是隐藏的,和t-addr有关的部分都是公开的。& ]/ l+ A6 c* C" ]
7 V" y* e. |) A4 E
Zcash相比Bitcoin的好处在于给人多提供了一个选择,交易可以公开、也可以不公开。用户可以随时在2者之间切换,根据需要而定。! Z- P0 z, Y9 R. a
这同时也意味着使用Zcash转账并不一定就是匿名的,得使用它的z-addr才能达到完全匿名的效果。事实上目前大部分钱包都只支持t-addr,不支持z-addr,也就是说即使你用这些钱包转ZEC(Zcash的coin代号),你的交易记录仍然是公开的。
8 O2 O7 C" v. Y) R3 R1 C如果只使用t-addr,而完全不用z-addr,那就没有发挥Zcash的作用,和使用Bitcoin没有多大区别(出于投资目的则另说)。只是区块间隔更短,交易的确认速度更快而已。
/ Z8 H7 `0 y! q' pz-addr 的使用现状2 d+ F( L8 J1 c
94%的ZEC都使用公开的t-addr存储[3]
& A$ ^/ v% ^; z5 y% m/ h  `! k/ e* I4 p1 P+ \) y! z; W$ y
过去一个月匿名交易占所有交易次数的14%[4]% D& g0 Q" ?# J' Z

$ t) i/ O9 _, h4 q( v) M& [' C显然z-addr被使用的并不多,可能是因为大家对匿名的需求不高,或者觉得t-addr的匿名性对他们已经够用了,或者只是为了投资,对匿名性没有要求。另外最有可能是因为现有钱包都不支持 z-addr,要想使用z-addr只能安装全节点钱包。我见过的多资产钱包、交易所都不支持匿名的z-addr,包括Atomic Wallet, Cobo Wallet, Guarda, Bixin, huobi。
3 G% [2 U3 Q+ w7 i9 rZcash官网列出了一些当前支持Zcash的钱包,只有命令行的官方钱包和图形界面的zec-qt支持z-addr。它们俩都需要维护全节点,这样显然用的人就少了。. D; ~% t! u8 O$ |
使用 zcash 全节点钱包
0 k  D  c8 {0 }- ?& ]为了使用z-addr,我安装好软件zcash,花2个晚上同步好区块(目前Zcash整条区块链21GB)。% v6 v$ i/ B% X7 P
我的ZEC存在Atomic Wallet,我先用它将 ZEC 转到全节点钱包的 t-addr,然后再转到全节点钱包的 z-addr,然后就可以完全匿名交易了。- i3 N0 C& x, V5 K5 n
为什么不直接转到 z-addr 呢?9 i6 g. u$ A% n9 r  L* {) q
因为Atomic不支持转账到 z-addr,在收款地址输入 z-addr 会报错"Please check address"。* I* \" i( [3 ]1 _1 a
步骤. G9 e' E6 |7 I% q! y
由于zcash只有命令行界面,下面就以命令行进行演示。[1:1]
- s$ t8 W0 `; W6 ?创建t-addr、z-addr
& [1 N+ f" o) w, m9 t- e
" g+ T8 a% n# Ozcash-cli getnewaddress # 创建t地址
5 n3 S; U" t  {2 Y, U) t5 Ezcash-cli z_getnewaddress # 创建z地址
( }- V; C( @+ q! s0 N0 @" W6 ]zcash-cli getaddressesbyaccount "" # 查看t地址列表,注意加上2个双引号$ I) g2 t, O) l9 G' t" v
zcash-cli z_listaddresses # 查看z地址列表$ @3 r( Q0 w6 ]) A  d
t地址以t开头,z地址以z开头,z地址大约是t地址的2倍长。
5 [7 X5 h' ^( V! c# D使用Atomic Wallet转账到上面生成的t地址
: Z. F4 F( a8 `$ G7 l& l8 K7 V从t地址转账到z地址
! H) N0 v  O3 z! t  S& k7 ^# |6 _; j7 s
zcash-cli z_sendmany "t1QdpvNaHbyYkEN8m92fajU7e5bUUz5t1Y7" '[{"address": "zs1jwj3wxhachdtrqx8utekhm0mcdm3gs29dd2l0lyfrx4l4wy7q047k5tk8m6nxmyhvlc7zkdny28" ,"amount": 0.05}]'% \6 Z4 \: k3 N' v3 e# c5 B
需要填入3个参数:付款地址、收款地址、金额,具体可以输入命令zcash-cli help z_sendmany查看帮助。另外付款地址需要注意预留交易费,0.0001ZEC,如果将余额全部转出会因为余额不够付交易费而失败。
, J+ U/ Q0 j- e( g# E3 }% ~查看交易是否成功以及txid1 n4 [0 y* `8 i0 x, R2 b) d
3 M. J% R9 P! d) l
zcash-cli z_getoperationresult
) ~  Q. X. I% F; H% {8 U8 Y结果显示 txid 为 c9669ef0661c375632c0893eac7d949a0218bfc4ae51a94cd226e1600ef21410
8 l0 `/ ^( }  T% \0 S; G$ i5. 查看结果
) z8 |; r% X7 L1 G* V! n  `查看交易详情. o. @  D# f% b& Z
zcash-cli gettransaction "c9669ef0661c375632c0893eac7d949a0218bfc4ae51a94cd226e1600ef21410"
* ]# v4 _4 w. }# m查看当前余额在t-addr, z-addr的分布
5 W6 Z+ h1 n4 wzcash-cli z_gettotalbalance
$ C) i( c+ W1 h9 d& l% g7 H查看z-addr余额
+ j, u9 R# Q: p) v( @5 R+ D0 _7 y6 }zcash-cli z_getbalance "zs1jwj3wxhachdtrqx8utekhm0mcdm3gs29dd2l0lyfrx4l4wy7q047k5tk8m6nxmyhvlc7zkdny28"& E8 C; X6 T3 j; u
在线查看交易详情,只能看到t-addr,看不到z-addr,因为z-addr在交易记录中被隐藏了。" m) B2 F5 m2 K" Y+ j
匿名交易
3 t! |9 y1 ]7 K: S用这个z-addr转账的记录都是隐蔽的,不管转入还是转出。
$ O$ U& W9 r3 [) x' h8 r5 ^下面在两个z-addr之间转账4 E$ a, N4 }7 m5 ^7 E% V8 y; b
zcash-cli z_sendmany "zs1jwj3wxhachdtrqx8utekhm0mcdm3gs29dd2l0lyfrx4l4wy7q047k5tk8m6nxmyhvlc7zkdny28" '[{"address": "zs14k2hkalm4g9sc8camna4cyyt40fr38rgxtmg3k3tw% J  m( A& h3 ^/ m
jzl7hrd4d3vyjcxg6k99z52eg5zc9v9lrs" ,"amount": 0.01}]'  , {. {: B7 d6 L% C$ u) p+ f! G+ W4 R
zcash-cli z_getoperationresult   ; ~* s9 ?! }! Z; I1 s$ u
zcash-cli gettransaction "99f88d9bced2b22953b833cf2c6cec7da0c4b5876a0e4293a0a6f67fcdb1be0b"  0 X: ]! Z& c! O- {! N. z2 w9 m2 g
在线查看交易详情,什么也看不到,send/receiver地址、交易金额全部被隐藏。
9 P2 o9 b2 q. y: ^( z8 g5 m/ t1 R
4 q! [8 E+ Y; }
$ j5 [7 Q$ q4 e# ^1 ihttps://zcash.readthedocs.io/en/latest/rtd_pages/user_guide.html ↩︎ ↩︎% d" |. [  J2 g  Y
$ M/ k& s! h+ w$ t+ M% {2 g
https://z.cash/blog/anatomy-of-zcash ↩︎- D( o3 i. E. N$ @+ N

" f2 |0 {3 J& ^/ w( M3 Jhttps://explorer.zcha.in/statistics/value ↩︎6 Z  q) Y- G* W4 I
& i$ T4 `3 D, W9 {
https://explorer.zcha.in/statistics/usage ↩︎
# w1 t& N6 f/ j0 G8 s$ l1 b
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

卡哇伊嘉人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    11