Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

【Zcash】匿名交易

卡哇伊嘉人
125 0 0
# i: G) ^9 q3 h) Y+ F
Zcash 是对Bitcoin的fork,目的是融入zk-Snarks技术提高匿名性,它支持2种地址:[1]$ G; n: \/ B/ @9 H
z-addr的交易记录和交易金额被完全隐藏! C4 |! L5 }4 K+ S+ ^8 R
t-addr的交易记录和交易金额被公开,和Bitcoin交易没有区别。, B5 X! s' n6 y1 A2 G  J

4 \9 q9 E- a' Y4 n4 A7 q( A2 o9 r* [一笔交易可以包含 shielded input/output, transparent input/output[2],其中和z-addr有关的部分都是隐藏的,和t-addr有关的部分都是公开的。+ u6 `  `+ d! p$ d5 n
* r- H. b9 r, i0 t
Zcash相比Bitcoin的好处在于给人多提供了一个选择,交易可以公开、也可以不公开。用户可以随时在2者之间切换,根据需要而定。8 F2 T) T5 Q/ G: p4 u; H2 F# q
这同时也意味着使用Zcash转账并不一定就是匿名的,得使用它的z-addr才能达到完全匿名的效果。事实上目前大部分钱包都只支持t-addr,不支持z-addr,也就是说即使你用这些钱包转ZEC(Zcash的coin代号),你的交易记录仍然是公开的。
* T9 [) D4 N8 ~6 r3 H5 k0 z8 a如果只使用t-addr,而完全不用z-addr,那就没有发挥Zcash的作用,和使用Bitcoin没有多大区别(出于投资目的则另说)。只是区块间隔更短,交易的确认速度更快而已。
. X' w! @5 k+ u) Z- l" Gz-addr 的使用现状2 N- ?0 T2 W% O  P2 U1 A+ J) h
94%的ZEC都使用公开的t-addr存储[3]
2 ?# d) D% v, b; J9 G, }
! B% W( m+ o; f2 ]* o过去一个月匿名交易占所有交易次数的14%[4]
% m: E  s- }" N5 A/ K* g. l$ i8 g5 ?' j3 M- Y/ r, c# e& e
显然z-addr被使用的并不多,可能是因为大家对匿名的需求不高,或者觉得t-addr的匿名性对他们已经够用了,或者只是为了投资,对匿名性没有要求。另外最有可能是因为现有钱包都不支持 z-addr,要想使用z-addr只能安装全节点钱包。我见过的多资产钱包、交易所都不支持匿名的z-addr,包括Atomic Wallet, Cobo Wallet, Guarda, Bixin, huobi。' q* D( K: f# B7 c6 p8 ]: u
Zcash官网列出了一些当前支持Zcash的钱包,只有命令行的官方钱包和图形界面的zec-qt支持z-addr。它们俩都需要维护全节点,这样显然用的人就少了。5 [. J4 T3 R% m& T: N1 ^# S' x
使用 zcash 全节点钱包# m6 ]; q: f* l- z9 P$ e. i  P7 y/ r1 P
为了使用z-addr,我安装好软件zcash,花2个晚上同步好区块(目前Zcash整条区块链21GB)。
3 n3 Y8 C% @7 ]我的ZEC存在Atomic Wallet,我先用它将 ZEC 转到全节点钱包的 t-addr,然后再转到全节点钱包的 z-addr,然后就可以完全匿名交易了。
- I( q$ i1 k4 }! i为什么不直接转到 z-addr 呢?" i9 x( f7 p. M8 o2 e' E
因为Atomic不支持转账到 z-addr,在收款地址输入 z-addr 会报错"Please check address"。) s4 \( |( k# R& y3 Y
步骤1 \: b6 Z2 o/ W/ q+ ?6 n3 {* A
由于zcash只有命令行界面,下面就以命令行进行演示。[1:1]
1 \3 b. h5 V2 T/ S7 J9 x0 W0 ~创建t-addr、z-addr4 J8 S$ k7 X" ^+ T8 \

1 k- G0 O7 ?* o$ x. \+ H+ k& pzcash-cli getnewaddress # 创建t地址% }7 Y! l3 \0 A) I
zcash-cli z_getnewaddress # 创建z地址9 a3 ]* t+ R' }& L1 I
zcash-cli getaddressesbyaccount "" # 查看t地址列表,注意加上2个双引号% E1 d; s9 f% `) z  W' g
zcash-cli z_listaddresses # 查看z地址列表
/ d4 l/ E1 `- |; H. K. X4 mt地址以t开头,z地址以z开头,z地址大约是t地址的2倍长。
- h; Z  X2 A0 }) Z使用Atomic Wallet转账到上面生成的t地址( b' y6 J- e( g6 y) ^/ k8 L0 C
从t地址转账到z地址
0 p" r/ H3 ^7 u6 r
) L, ~- ]: B% c. wzcash-cli z_sendmany "t1QdpvNaHbyYkEN8m92fajU7e5bUUz5t1Y7" '[{"address": "zs1jwj3wxhachdtrqx8utekhm0mcdm3gs29dd2l0lyfrx4l4wy7q047k5tk8m6nxmyhvlc7zkdny28" ,"amount": 0.05}]'9 e, d) n( K( K  ]
需要填入3个参数:付款地址、收款地址、金额,具体可以输入命令zcash-cli help z_sendmany查看帮助。另外付款地址需要注意预留交易费,0.0001ZEC,如果将余额全部转出会因为余额不够付交易费而失败。3 j! \2 R. n  t1 K
查看交易是否成功以及txid
' N. K9 `7 m; A2 o* c$ w6 H
9 i: i9 Z, q+ V4 d4 A4 kzcash-cli z_getoperationresult
9 u! j  T8 q9 v6 I: k结果显示 txid 为 c9669ef0661c375632c0893eac7d949a0218bfc4ae51a94cd226e1600ef21410- n* ^. m6 K4 S' _9 ~
5. 查看结果% L/ K3 Q! v' H# A5 t3 e0 Z1 m
查看交易详情! I' m6 `$ D0 C# \( T* u
zcash-cli gettransaction "c9669ef0661c375632c0893eac7d949a0218bfc4ae51a94cd226e1600ef21410": X7 T; R7 H4 r/ _# F6 G- q
查看当前余额在t-addr, z-addr的分布3 S  A- ?( f3 C
zcash-cli z_gettotalbalance
9 @: E2 q- S/ S1 X; |- Z' u查看z-addr余额+ ]/ B- M' ]  R2 q0 X+ n
zcash-cli z_getbalance "zs1jwj3wxhachdtrqx8utekhm0mcdm3gs29dd2l0lyfrx4l4wy7q047k5tk8m6nxmyhvlc7zkdny28"
" x6 b5 @' Q; F2 X4 _在线查看交易详情,只能看到t-addr,看不到z-addr,因为z-addr在交易记录中被隐藏了。
* i, y6 v8 L; ~: W% c匿名交易( v; V- S( D) h
用这个z-addr转账的记录都是隐蔽的,不管转入还是转出。
' @( Z  r& c2 Z- r! r下面在两个z-addr之间转账
; W+ n" ]) K  j$ izcash-cli z_sendmany "zs1jwj3wxhachdtrqx8utekhm0mcdm3gs29dd2l0lyfrx4l4wy7q047k5tk8m6nxmyhvlc7zkdny28" '[{"address": "zs14k2hkalm4g9sc8camna4cyyt40fr38rgxtmg3k3tw
0 n4 a2 i8 ?7 s. E( Hjzl7hrd4d3vyjcxg6k99z52eg5zc9v9lrs" ,"amount": 0.01}]'  
1 ]# K6 k2 r! J4 ?3 k; A0 Wzcash-cli z_getoperationresult   7 R3 |3 N# t$ ~5 M( {
zcash-cli gettransaction "99f88d9bced2b22953b833cf2c6cec7da0c4b5876a0e4293a0a6f67fcdb1be0b"  
9 B: Q  @$ i/ H9 m9 Q在线查看交易详情,什么也看不到,send/receiver地址、交易金额全部被隐藏。8 m: R" W3 z8 u7 V  l
8 _7 c) \- _4 Q% I: s
1 Q5 B3 F3 p" S. Y% M4 B/ \' a" `5 r
https://zcash.readthedocs.io/en/latest/rtd_pages/user_guide.html ↩︎ ↩︎$ f; a0 K& h! ~
9 }* F! ~5 g; K2 \  M" W7 ~( \. K
https://z.cash/blog/anatomy-of-zcash ↩︎
( {7 s4 w4 _* {/ e6 C2 o4 T0 [
# E4 y$ j4 u7 shttps://explorer.zcha.in/statistics/value ↩︎
: g+ W$ a3 L9 r+ j  E3 B
( I. e$ p5 E; J/ s8 X) Shttps://explorer.zcha.in/statistics/usage ↩︎1 l) W1 ?" U% H/ _. V" R5 C# m
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

卡哇伊嘉人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    11