找回密码
 立即注册

扫一扫,登录网站

首页 区块链生态 查看内容
  • 12703
  • 0
  • 分享到

深度介绍主要的隐私交易技术 捍卫隐私

2019-7-11 13:06

来源: 通证通研究院

Zerocoin、Zerocash——巧用密码学领域的高级证明法


2.3 Zerocoin、Zerocash——巧用密码学领域的高级证明法

2013年5月,为了改进Coinjoin需要第三方参与的缺陷,约翰霍普金斯大学教授Matthew D. Green等提出了Zerocoin协议。此协议提议允许销毁并重新生成数字通证,以保证通证交易匿名化且无需第三方参与。

2014年5月,Matthew D. Green等人基于Zerocoin创建了Zerocash协议。该协议利用密码学领域的高级证明——零知识证明方法对Zerocoin进行了完善和改进。Zerocash提出了一种经典的零知识证明方法——zk-SNARKs。

本系列前文已经提到,零知识证明是密码学的高级证明(详见《隐私计算:动态的加密技术——区块链技术引卷之八》)。证明者在不透露隐私数据的情况下,可以向任意第三方证明自己确实拥有特定数据。零知识证明具有完备性、稳定性、零知识性的特点。理论上,零知识证明是匿名程度最好的隐私计算技术,其学术资本较强。

zk-snark(Zero-knowledge succinct non-interactive arguments of knowledge)是一种经典的零知识证明法,发送方可以在不泄露交易的金额、地址等细节的前提下向验证者证明交易的合法性。

zk-SNARKs的验证过程主要包含三部分。

第一:抽象编码。证明者需要向验证者证明他知道某一事实,这一逻辑在第一步被抽象为证明者需要向验证者证明一个多项式成立。例如:

捍卫隐私:匿名技术的兴起

第二:简单随机抽样。验证者虽无法直接确认多项式成立,但可使用评估点进行评估。验证者选取随机的评估点s,若在评估点上等式成立(即f(s)⋅g(s)=h(s)⋅w(s)),则说明含参多项式具有一定可信度。通过多次选取评估点能不断提升可信度。

第三:零知识证明。为了确保证明者不会因为透露f(s)、g(s)、h(s)、w(s)的值而泄露安全信息,证明者使用同态加密技术将上述值加密。例如使用同态加密函数E将上述值加密为E(f(s))、E(w(s))、E(h(s))、E(w(s)),验证者被授权验证加密后的值,如果加密后的值符合下式,则验证成功。

捍卫隐私:匿名技术的兴起

但是,zk-SNARKs有两个明显的缺陷。第一,依赖于可信的初始设置。基于此方法的数字通证交易要求每一对证明者和验证者都提供一组公共参数以进行零知识证明,而这组公共参数是由协议开发者共同设置的,拥有这些公共参数意味着拥有了造假权。换言之,zk-SNARKs无法避免开发者风险,开发者可能由于不同的原因泄露公共参数。第二,zk-SNARKs的加密技术基于椭圆曲线密码,目前的计算机无法暴力破解。但随着计算机性能的提高,尤其是量子计算机的进步,这种不具备量子抵抗能力的方法可能会在将来被暴力破解。

zk-stark(Zero-knowledge Scalable Transparent Argument of Knowledge),一种零知识、可扩展、透明的知识论证正在研究当中。该方法能够保证生成证明的所有参数都是公开并随机生成的,同时还具备量子抗性。


版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。
相关新闻
发表评论

请先 注册/登录 后参与评论

    回顶部