利用零知识证明的Zcash

为了让比特币变得更具隐匿性,Zooko Wilcox发起了Zerocoin项目,并在Zcash协议(即Zerocash)的原开发团队、约翰·霍普金斯大学、麻省理工学院、以色列理工学院和特拉维夫大学的各个小组的共同协作下,逐步提高了原协议(即Zerocoin)的效率和匿名性。“棱镜门”事件的主角爱德华·斯诺登曾这样评价该项目:可解决比特币匿名程度不够的问题。

Zerocoin项目的原理:在比特币交易的区块链的主链上再加上一条侧链,这条侧链用于在数字货币交易过程中,当“付费者”的数字货币从钱包拿出的时候就将其拆分成数份,并在全网上重发一遍。而这些被拆分的数字货币会在到达“收款者”的地址之前组合到一起,从而达到匿名交易的目的。

随着Zerocash技术不断成熟,人们认为是时候开发一种新的数字货币来取代比特币了。于是2016年1月20日Zcash官网宣布:“Zerocash协议”将被开发成一种全新的数字货币,即Zcash。它与比特币的相同之处在于,Zcash的总量也被设为2100万。Zcash采用PoW分配方式,前4年里,矿工挖矿所得的20%会自动分配给Zcash团队和其投资者,也就是总量的10%。Zcash项目的主要特点,是其交易会自动隐藏区块链交易的发送方、收款方以及交易的价值,只有掌握正确的密钥(View Key)的人才可访问这些内容。当然,用户可自行选择哪些人可以拥有这种权限。Zcash与比特币相比,更注重隐私,以及对交易透明的可控性。

Zcash利用了简化的零知识证明——zk-SNARKs(零知识简洁非互动性知识参数),一种在无须泄漏数据本身情况下证明某些数据运算的方式。zk-SNARKs是Zcash和Hawk(后文会解释)背后的密码学工具,这两个协议都使用了ZKPs来创建区块链。在Zcash的例子中,这些SNARKs被用于验证交易;在Hawk的例子中,它们被用于验证智能合约。所有这些在完成的同时还能保护用户的隐私。

zk-SNARKs是一种简洁的非互动性零知识证明,其中的证明非常简短,很容易验证。可以将它们看作是一个逻辑回路,这个逻辑回路需要生成一个证明来验证每一笔交易。zk-SNARK通过对每一笔交易进行快照来实现生成一个证明,然后让接收方相信计算是正确的,而且不会泄漏证明之外的其他任何数据。一个SNARK执行的基本操作就是将能够解密的数据编码到回路中。因为zk-SNARKs能够很快被验证,证明计算量非常小,因此它们可以保护运算的完整性,而且不会给非参与者带来负担。需要知道的是,该技术尚未成熟,还有很多局限性。它们是激励CPU来生成证明,需要1分钟才能生成新的证明,因此规模化仍然是需要解决的一个问题。zk-SNARKs另外的一个问题是开始的证明方和验证方的初始配置(intial setup)可能会被黑客利用。总之,该技术目前仍处于不断发展、成熟的过程中。

看了“利用零知识证明的Zcash”的朋友还喜欢下面文章

区块链与分布式账本系统的差别和共同点

NEM诞生的背景

868区块链学习网为您整理《利用零知识证明的Zcash》仅供参考。