【朋克智库】匿名数字货币——Zcash

公众号:区块链朋克(微信号:CryptoPunk)

匿名大零币,把匿名进行到底

比特币有多隐私呢? 一方面,他是完全匿名的。另一方面,他是完全透明可追踪的。我们理解的比特币网络的匿名性是指用户能持有一个比特币地址而不公开任何身份信息。到这里为止,看起来不错,但是,在比特币世界里发生的所有事情都是可追踪的,每一个基于比特币的交易都保存在区块链里。但毕竟,如果你的名字不是精确的和比特币地址联系起来,那么人们无法知道你进行了什么交易,是么?错。很多数据挖掘的大机构已经很擅长从大的网络动作中推理信息:谷歌,facebook,linkedin,只要积累下大量数据,就能用他们的模型去提炼尽可能多的信息。国际刑警根据比特币交易流水追踪到暗网人员。直接把全球最大的暗网silkroad一锅断掉。这更加剧了人们对比特币匿名性的怀疑。比特币不能提供强大的隐私保证,付款交易记录在公共分散账本中,从中可以得到很多信息。

有没有办法能既实现区块链的去中心化,同时保护隐私,隐匿交易信息呢?

混币器就是一种匿名交易的解决方案。通俗点说,区块链上有多个搅拌器,要转账的每个币都要经过搅拌器和许多别的币混合,这样,从混币器出来后,除了混币器节点,别人谁都不晓得这个币来自哪里。用户把一组币委托给混合器,然后从混合器中取出等价值的币。达世币(Dash)就是采用了混币器方案。

但这种方案有几个明显的缺点:

要求参与混币的人员在线进行混币。如果双方就混币的数额不能达成一致的话则必须推迟。为了使得混合充分,交易确认时间滞后大。

混合器是中心化部署的,混合器节点能获取交易的所有信息,能盗币。而且,相对于去中心化的网络,很容易破坏混币器运行,并延迟其他参与者完成混币交易。

即使经过多轮混币器混合,如果用户的钱包在进行支付时不清除浏览器cookie的话,可以通过技术手段识别用户的钱包,因为混币只会掩盖地址之间的交易链接,但不会完全破坏它们

相对于混币器,Zerocoin提出了一个全新的方案——零知识证明。简单地说,零知识证明是你做某件事或知道某件事的证明,而不泄露任何其他信息。例如,怎么证明您知道保险柜密码,而不需要实际显示密码?打开保险柜就好。在使用零知识证明的情况下,交易间的联系被完全打破。

Zerocoin的工作原理是,熔铸掉你自己的加密货币(也就是所谓的零币熔铸),然后再兑换等量的做记号的新币(被称为零币取回)。这些币在没有任何交易历史的情况下出现,与新挖矿而得到币相似。零知识证明用来证明你确实烧过了加密货币,而没有透露你烧过的具体加密货币信息,因此你有权赎回等量的新币。与只是掩盖交易环节的混币不同,这种机制完全打破币的交易环节。转账交易接受方得到的币看起来完全是全新的币。

运用零知识证明实现匿名性比混币更牛叉吧~~然而Zero coin自身也有缺陷,比如,只能处理固定面值的交易、一笔匿名交易占据数据大小是25kb。

Zerocash同样采用了零知识证明,同时提出了zkSnarks,改进Zerocoin。有了Zerocash和zkSNARKs技术,匿名数据大小现在只有1 kb,可以快速验证。而且,所有交易金额都是隐藏的,在进行熔铸时不需要使用固定的面额。zk-Snarks是零知识证明的一个变体,它包含4部分:

1.用一种特定的方法,编一个谜题

2.证明者解谜

3.用同一种方法再编译谜题

4.证明者解谜。如此往复多次。

这样验证者就可以在不知道真实的编码值的情况下验证交易合法了。

Zcash转账交易的交易分3种情况:

1.透明资金发送到透明地址

延用bitcoin的交易方式,仅仅打签名即可。

2.透明资金发送到透明地址、私有地址

透明资金发送到透明地址,依然延用bitcoin的方式,发送到私有地址的需要构造证明,对整个交易签名发送。

3.私有资金发送到透明地址、私有地址

每笔交易需要生成证明,涉及到找零、矿工费的处理,最后再签名发送。

Zerocash也有不足。

首先,Zerocash难以审核。和Zerocoin一样,Zerocash需要一个信任机制,但Zerocash的设置要复杂得多。Zcash采用了一场涉及6人的多方仪式来完成设置,其参数泄露的唯一方式是,所有的6人相互串通,并保留相关参数。换句话说,你必须信任这6个人中的任何一位,相信他们摧毁了初始参数并且相信这个仪式被正确执行。如果代码中存在bug,或者密码缺陷或多方信任设置的问题,攻击者可以生成无限的Zcash。

其次Zerocash使用一种zkSNARKs的新加密算法。但是,相对RSA技术,其并未经过多年的使用和审查,也并未被广泛使用。许多密码学专家认为zkSNARKs的保密性相对较弱。

由于需要进行复杂的数学计算,因此,在一台功能强大的计算机上,匿名交易的生成时间要比之前任何一种匿名方式要长得多,特别是对配置较低的计算机来说,这一过程太长。这使得人们无法广泛使用它的匿名功能,也可能会不适用一些功能不太强大的系统,比如移动设备。

块奖励

Zcash出块和奖励机制类似比特币。Zcash总量是2100万个币,最初的 20,000 个块的奖励很少。这样做的目的是为防止早期的快速挖矿对Zcash 系统造成伤害。 Zcash 系统每 2.5 分钟一个块, 20,000 个块之后,每个块奖励 12.5 个ZEC。Zcash 总量 2100 万枚,每 4 年减半一次。

比特币Zcash总量2100万2100万出块时间10分钟2.5分钟块大小1M2M产量产量递减。每挖出21万个区块,产量减半。第1个区块奖励50btc第 1~ 20,000 块,奖励随着高度线性递增,增加幅度是0.000625币个块。块1的奖励是0.000625币,在第 20,000 个块处奖励 12.5 个ZEC。从块20000开始,奖励按照每84000块减半一次创世块2009年1月3日2016年10月29日第一次产量减半2012年11月28日预计创世4年后,高度940000块时奖励分配全部归矿工前4年,20%归Zcash,80%归矿工。第四年以后全部归矿工

风险

Zcash整个挖矿过程基于创始密钥(Genesiskeys)或“主私钥”(master private key),而这个密钥是由6个人共同持有的。密钥一旦外泄,不怀好意的持有者就能够创造无数个Zcash。而这种高强度的生成方式很可能导致网络崩溃。问题在于,这6个有权获取主密钥的人都来自同一家企业。假设该企业经营不善,或者密钥被盗用,整个Zcash网络很容易遭到交易攻击。

所以,匿名不是没有代价的。

敬请期待~

往期精彩阅读:

【朋克智库】比特币详解1.0——区块链的萌芽

【朋克智库】以太坊——区块链的边界不止于货币

EOS——区块链的救赎,还是看似光明的迷途

区块链将如何颠覆互联网帝国的商业模式

数字货币真的“去中心化”了吗?——《数字货币去中心化程度评估报告》

区块链将如何推动人本意识的再度觉醒?



「区块链朋克」,see you soon

感兴趣的朋友可以加朋克个人微信:zhoucy33,朋克拉你入讨论群。

推荐阅读更多精彩内容

  • 一、快速术语检索 比特币地址:(例如:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV)由一串...
    不如假如阅读 10,112评论 6 81
  • 最近电视、新闻、网站经常有讲到比特币,但普通人经常被比特币的各种信息搞得一头雾水,到底什么是比特币,它是谁开发的,...
    dreamer_lk阅读 9,357评论 9 123
  • 走在上海的街头,猛然以为,回到了武汉。 这个城市生活气息浓郁。 法国梧桐在瘦小的街道两旁给人安全感。 总是会想到早...
    JOllyJEnny阅读 25评论 0 0
  • 2018.2.12(旧历,12.27生日) 今天我仰望时光 向春天走去 拥抱生活的片片朝阳 生命的演化 自有自然的...
    jxjys阅读 53评论 0 0
  • 【1】 “从前日色变得慢,车马邮件都慢,一生只够爱一个人。” 在木木还小单纯的那个年纪里,那个喜欢看happy e...
    一只小元宝阅读 25评论 0 0