美文网首页
使用Zcash匿名交易

使用Zcash匿名交易

作者: 周宇盛 | 来源:发表于2019-02-17 14:16 被阅读40次

Zcash 是对Bitcoin的fork,目的是融入zk-Snarks技术提高匿名性,它支持2种地址:[1]

  • z-addr的交易记录和交易金额被完全隐藏
  • t-addr的交易记录和交易金额被公开,和Bitcoin交易没有区别。

一笔交易可以包含 shielded input/output, transparent input/output[2],其中和z-addr有关的部分都是隐藏的,和t-addr有关的部分都是公开的。

Zcash交易结构

Zcash相比Bitcoin的好处在于给人多提供了一个选择,交易可以公开、也可以不公开。用户可以随时在2者之间切换,根据需要而定。

这同时也意味着使用Zcash转账并不一定就是匿名的,得使用它的z-addr才能达到完全匿名的效果。事实上目前大部分钱包都只支持t-addr,不支持z-addr,也就是说即使你用这些钱包转ZEC(Zcash的coin代号),你的交易记录仍然是公开的。

如果只使用t-addr,而完全不用z-addr,那就没有发挥Zcash的作用,和使用Bitcoin没有多大区别(出于投资目的则另说)。只是区块间隔更短,交易的确认速度更快而已。

z-addr 的使用现状

94%的ZEC都使用公开的t-addr存储[3]

过去一个月匿名交易占所有交易次数的14%[4]

显然z-addr被使用的并不多,可能是因为大家对匿名的需求不高,或者觉得t-addr的匿名性对他们已经够用了,或者只是为了投资,对匿名性没有要求。另外最有可能是因为现有钱包都不支持 z-addr,要想使用z-addr只能安装全节点钱包。我见过的多资产钱包、交易所都不支持匿名的z-addr,包括Atomic Wallet, Cobo Wallet, Guarda, Bixin, huobi。

Zcash官网列出了一些当前支持Zcash的钱包,只有命令行的官方钱包图形界面的zec-qt支持z-addr。它们俩都需要维护全节点,这样显然用的人就少了。

使用 zcash 全节点钱包

为了使用z-addr,我安装好软件zcash,花2个晚上同步好区块(目前Zcash整条区块链21GB)。

我的ZEC存在Atomic Wallet,我先用它将 ZEC 转到全节点钱包的 t-addr,然后再转到全节点钱包的 z-addr,然后就可以完全匿名交易了。

为什么不直接转到 z-addr 呢?
因为Atomic不支持转账到 z-addr,在收款地址输入 z-addr 会报错"Please check address"。

步骤

由于zcash只有命令行界面,下面就以命令行进行演示。[1]

  1. 创建t-addr、z-addr
zcash-cli getnewaddress # 创建t地址
zcash-cli z_getnewaddress # 创建z地址
zcash-cli getaddressesbyaccount "" # 查看t地址列表,注意加上2个双引号
zcash-cli z_listaddresses # 查看z地址列表

t地址以t开头,z地址以z开头,z地址大约是t地址的2倍长。

  1. 使用Atomic Wallet转账到上面生成的t地址
  2. 从t地址转账到z地址
zcash-cli z_sendmany "t1QdpvNaHbyYkEN8m92fajU7e5bUUz5t1Y7" '[{"address": "zs1jwj3wxhachdtrqx8utekhm0mcdm3gs29dd2l0lyfrx4l4wy7q047k5tk8m6nxmyhvlc7zkdny28" ,"amount": 0.05}]'

需要填入3个参数:付款地址、收款地址、金额,具体可以输入命令zcash-cli help z_sendmany查看帮助。另外付款地址需要注意预留交易费,0.0001ZEC,如果将余额全部转出会因为余额不够付交易费而失败。

  1. 查看交易是否成功以及txid
zcash-cli z_getoperationresult

结果显示 txid 为 c9669ef0661c375632c0893eac7d949a0218bfc4ae51a94cd226e1600ef21410

  1. 查看结果

查看交易详情

zcash-cli gettransaction "c9669ef0661c375632c0893eac7d949a0218bfc4ae51a94cd226e1600ef21410"

查看当前余额在t-addr, z-addr的分布

zcash-cli z_gettotalbalance 

查看z-addr余额

zcash-cli z_getbalance "zs1jwj3wxhachdtrqx8utekhm0mcdm3gs29dd2l0lyfrx4l4wy7q047k5tk8m6nxmyhvlc7zkdny28"

在线查看交易详情,只能看到t-addr,看不到z-addr,因为z-addr在交易记录中被隐藏了。

匿名交易

用这个z-addr转账的记录都是隐蔽的,不管转入还是转出。
下面在两个z-addr之间转账

zcash-cli z_sendmany "zs1jwj3wxhachdtrqx8utekhm0mcdm3gs29dd2l0lyfrx4l4wy7q047k5tk8m6nxmyhvlc7zkdny28" '[{"address": "zs14k2hkalm4g9sc8camna4cyyt40fr38rgxtmg3k3tw
jzl7hrd4d3vyjcxg6k99z52eg5zc9v9lrs" ,"amount": 0.01}]'  
zcash-cli z_getoperationresult    
zcash-cli gettransaction "99f88d9bced2b22953b833cf2c6cec7da0c4b5876a0e4293a0a6f67fcdb1be0b"  

在线查看交易详情,什么也看不到,send/receiver地址、交易金额全部被隐藏。


  1. https://zcash.readthedocs.io/en/latest/rtd_pages/user_guide.html

  2. https://z.cash/blog/anatomy-of-zcash

  3. https://explorer.zcha.in/statistics/value

  4. https://explorer.zcha.in/statistics/usage

相关文章

  • 使用Zcash匿名交易

    Zcash 是对Bitcoin的fork,目的是融入zk-Snarks技术提高匿名性,它支持2种地址:[1] z-...

  • Zcash-草稿

    Zcash,也叫大零币,从zerocoin发展而来,是使用零知识证明机制的区块链系统,通过完全匿名交易特性在区块链...

  • 【TokenInsight 评级报告】Zcash:BB,展望:稳

    Zcash 是为了解决 Bitcoin“伪匿名性”问题的支付类通证。由于匿名性在实际的交易场景中存在需求,因而 Z...

  • 妖币Zcash

    0. ZEC:ZCASH,中文名大零币,匿名币概念 总量:2100万个 简介:Zcash是首个使用零知识证明机制的...

  • 闪推 | 加密Twitter :f2pool审查Zcash匿名交

    第96期 今日看点: 1.f2pool审查Zcash匿名交易引矿工不满,王春表态 2.Erlay比特币交易中继协议...

  • 不是程序员也能看懂的ZCash零知识证明

    本文由作者授权adblockchain转载,原文来自知乎专栏 交易过程完全匿名是数字货币ZCash最大的亮点,正是...

  • 区块链学习笔记9

    匿名币类资产 大零币 zcash zcash 全称,zero cash 简称zec中文名称,大零币 ...

  • 不是技术人才也能看懂零知识证明

    本文由币乎(bihu.com)优质内容计划支持 交易过程完全匿名是数字货币ZCash最大的亮点,正是这一点使得ZC...

  • 【朋克智库】Monero——将匿名进行到底

    公众号:区块链朋克(微信号:CryptoPunk) 之前,「朋克」详细介绍了匿名币Zcash。今天来为大家介绍匿名...

  • zcash

    ZCASH是基于bitcoin,加入了零知识证明加密交易信息,具体理论原理不在本文范围,读者可以参考zcash白皮...

网友评论

      本文标题:使用Zcash匿名交易

      本文链接:https://www.haomeiwen.com/subject/fpjgeqtx.html