前言
如何在不说出秘密的情况下,让对方知道你已经知道了这个秘密?——隐私保护
随着信息资本主义的兴起,人们更加注重隐私安全和数据的所有权。快速发展的web3.0切实的保证了参与者的隐私安全,让人们对互联网有了信心,在隐私保护的种种手段中,零知识证明另辟蹊径。
本期就带大家一起探讨一下零知识证明是如何为区块链保驾护航的。
什么是零知识证明
零知识技术是密码学的一个分支,可以让用户在不透露信息的前提证明自己拥有的信息。证明者利用系统输入的信息创建证明,而验证者在无法得知具体内容的前提下,验证该证明的结果。
在区块链网络中,用户需要将交易明文广播给所有矿工,由他们来校验交易合法性,但有些时候基于隐私问题,又不想把交易的具体内容公布出来。而零知识技术就可以让开发者在利用以太坊等底层区块链安全性,提高DApp交易吞吐量和速度的同时,保护用户隐私。
人大附中物理老师李永乐科普拜占庭将军问题和区块链:5月14日,人大附中物理老师、科普视频网红李永乐在其公众号发布视频《拜占庭将军问题是什么?区块链如何防范恶意节点?》。李永乐老师在视频中对拜占庭将军问题和区块链进行了讲解,他表示,拜占庭将军问题本质上指的是,在分布式计算机网络中,如果存在故障和恶意节点,是否能够保持正常节点的网络一致性问题。在近40年的时间里,人们提出了许多方案解决这一问题,称为拜占庭容错法。例如兰波特自己提出了口头协议、书面协议法,后来有人提出了实用拜占庭容错PBFT算法,在2008年,中本聪发明比特币后,人们又设想了通过区块链的方法解决这一问题。区块链通过算力证明来保持账本的一致性,也就是必须计算数学题,才能得到记账的权力,其他人对这个记账结果进行验证,如果是对的,就认可你的结果。与拜占庭问题比起来,就增加了叛徒的成本。[2020/5/14]
零知识证明的性质与过程
动态 | 区块链技术入选科普杂志《科学美国人》2019十大突破性技术榜单:据新浪网今日新闻报道,美国科普杂志《科学美国人》公布 2019 十大突破性技术榜单。区块链技术因在保障食品安全中的作用而上榜。 入选榜单具体原因:区块链技术的发展应用将显著改善食品污染源数据追踪的困境。利用区块链云端系统,食品制造商可以依次在计算机储存各类过程的信息。[2019/9/29]
区块链中的交易,要判断该交易的合法性,只需要证明:
发送的钱属于发送交易人;
发送者的发送金额等于接收者的接收金额;
发送者的钱被销毁了;
可以看到整个证明过程中,矿工并不需要关心这笔交易具体花掉多少,发送者是谁,接收者是谁,只需要保证交易过程中钱是守恒的。
动态 | 币安科普MimbleWimble算法:币安官方推特今日发布隐私算法Mimblewimble的科普贴,在下方留言区大量网友留言猜测是否是基于 Mimblewimble算法的隐私币Grin或者Beam即将登陆币安交易所,其中猜测Grin的呼声更高。[2019/9/2]
根据上述过程,可以看出零知识证明的性质:
完备性。证明方和验证方都是诚实的,并遵循证明过程的每一步进行正确计算,那么这个证明一定是成功的,验证方一定能够接受证明方;
合理性。没人能假冒证明方,使这个证明成功;
零知识性。证明过程执行完之后,验证方只获得了“证明方拥有这个知识”这条信息,而没有获得关于这个知识本身的任何信息;
在交易验证的时候,证明者会根据系统要求的一些必要的验证内容,作为问题的范围,而验证者对证明者进行多轮交互,等待证明者的回应。
声音 | ETC Labs主管:科普教育是未来几年公链面临的巨大挑战:ETCLabs主管Darin Kotalik认为,科普教育是未来几年公链面临的巨大挑战,人们必须要对区块链有基本的认识,分清楚公链和私链的区别。[2019/8/25]
一旦需要交互,就要求过程中双方都在线,这也会带来很大不便,最好有一种非交互式的证明方式,只要证明者给出了证明,后续就不再需要交互,任何人都可以验证这个证明是否正确。但是这明显跟我们一开始说的不能完全由证明者给出矛盾。
这个问题的一种解决方案就是“CommonReferenceString”。证明者给出的证明虽然不像“cutandchoose”策略一样,由验证者挑选问题来决定。但也不是完全由证明者自己来决定,而是根据事先定好的一个种子产生的随机序列决定,相当于有一个中立的第三方来出题目,同样也能达到效果。就像分粥的例子,一个人先分,但不是另外一个人先挑,而是中立第三方产生一个随机数来决定谁拿哪碗粥。
不过上述这项方案有一个技术痛点,它的算法依赖于初始的公共参数作为信任设置。这个公共参数是随机数,可如果一旦泄露,拥有原始随机数的人可以随意伪造证明,从而使得零知识证明的正确性荡然无存。
零知识证明方案与Optimistic?Rollup
optimisticrollup是目前主流的扩容方案,零知识扩容方案和optimisticrollup区别主要有2点:
交易验证的方式不同。optimisticrollup采用欺诈证明,只有在Layer1区块链上裁决状态变更纠纷时才需要生成欺诈证明;而零知识技术方案是在每一批交易打包,上传链上时都会发布有效性证明。也就是说采用零知识证明的协议永远都是有效的状态,而代价则是要花更多的gas费在底层区块链上验证有效性证明。
资金效率。在optimisticrollup中,交易终局和取款的标准时间窗口是一周;而在零知识技术方案中,用户可以在约10分钟内取款。
零知识证明的代币
Zerocash是第一个利用零知识证明zk-SNARK实现了强匿名性的数字货币。不仅实现了对发送方和接收方地址的隐藏,还实现了交易金额的隐藏,仅交易的双发对交易可链接和交易的金额,而其他区块链节点查看到的数据只能验证交易的有效性和金额的正确性,不能得到交易双方和交易金额等其他信息,实现了高等级的强隐私保护。
Zerocash的交易分为两种,铸币和转账交易(Pour)。
Zerocash的铸币交易过程:用户想把价值为v的比特币转换为Zerocash代币,用户首先生成3个随机数r,s,ρ,然后通过承诺计算cm和sn,其中cm记录币的生成,sn记录币的消费。币消费后会记录在sn列表中,其中cm和sn的生成如图所示:
一个Zerocash其实是一个向量(apk,v,r,s,ρ,cm,sn),其中v是ZEC的面值cm记录ZEC的生成,而sn表示ZEC的消费记录。如果sn已经出现在列表中就表示此币已经消费,以防止双花。在铸币阶段用户只公布了自己的cm和v,其他信息只有用户自己知道。
总结
将零知识证明与底层区块链以及去中心化的预言机网络相结合,势必推动区块链行业转型。项目团队将开发出可扩展性强,成本效益高且能保障用户隐私的应用。虽然目前其他的Layer2解决方案可能会为某些应用提供更好的基础架构,但随着行业不断发展,零知识证明方案必将获得更多个人用户和企业的青睐。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。