区块链零知识证明基础
前言
如何在不说出秘密的情况下,让对方知道你已经知道了这个秘密?——隐私保护
随着信息资本主义的兴起,人们更加注重隐私安全和数据的所有权。快速发展的web3.0切实的保证了参与者的隐私安全,让人们对互联网有了信心,在隐私保护的种种手段中,零知识证明另辟蹊径。
本期就带大家一起探讨一下零知识证明是如何为区块链保驾护航的。
什么是零知识证明
零知识技术是密码学的一个分支,可以让用户在不透露信息的前提证明自己拥有的信息。证明者利用系统输入的信息创建证明,而验证者在无法得知具体内容的前提下,验证该证明的结果。
在区块链网络中,用户需要将交易明文广播给所有矿工,由他们来校验交易合法性,但有些时候基于隐私问题,又不想把交易的具体内容公布出来。而零知识技术就可以让开发者在利用以太坊等底层区块链安全性,提高DApp交易吞吐量和速度的同时,保护用户隐私。
零知识证明的性质与过程
区块链中的交易,要判断该交易的合法性,只需要证明:
发送的钱属于发送交易人;
发送者的发送金额等于接收者的接收金额;
发送者的钱被销毁了;
可以看到整个证明过程中,矿工并不需要关心这笔交易具体花掉多少,发送者是谁,接收者是谁,只需要保证交易过程中钱是守恒的。
根据上述过程,可以看出零知识证明的性质:
完备性。证明方和验证方都是诚实的,并遵循证明过程的每一步进行正确计算,那么这个证明一定是成功的,验证方一定能够接受证明方;
合理性。没人能假冒证明方,使这个证明成功;
零知识性。证明过程执行完之后,验证方只获得了“证明方拥有这个知识”这条信息,而没有获得关于这个知识本身的任何信息;
在交易验证的时候,证明者会根据系统要求的一些必要的验证内容,作为问题的范围,而验证者对证明者进行多轮交互,等待证明者的回应。
一旦需要交互,就要求过程中双方都在线,这也会带来很大不便,最好有一种非交互式的证明方式,只要证明者给出了证明,后续就不再需要交互,任何人都可以验证这个证明是否正确。但是这明显跟我们一开始说的不能完全由证明者给出矛盾。
这个问题的一种解决方案就是 “ Common Reference String”。证明者给出的证明虽然不像 “cut and choose” 策略一样,由验证者挑选问题来决定。但也不是完全由证明者自己来决定,而是根据事先定好的一个种子产生的随机序列决定,相当于有一个中立的第三方来出题目,同样也能达到效果。就像分粥的例子,一个人先分,但不是另外一个人先挑,而是中立第三方产生一个随机数来决定谁拿哪碗粥。
不过上述这项方案(Zk-SNARKs)有一个技术痛点,它的算法依赖于初始的公共参数作为信任设置。这个公共参数是随机数,可如果一旦泄露,拥有原始随机数的人可以随意伪造证明,从而使得零知识证明的正确性荡然无存。
零知识证明方案与Optimistic Rollup
optimistic rollup是目前主流的扩容方案,零知识扩容方案和optimistic rollup区别主要有2点:
交易验证的方式不同。optimistic rollup采用欺诈证明,只有在Layer 1区块链上裁决状态变更纠纷时才需要生成欺诈证明;而零知识技术方案是在每一批交易打包,上传链上时都会发布有效性证明。也就是说采用零知识证明的协议永远都是有效的状态,而代价则是要花更多的gas费在底层区块链上验证有效性证明。
资金效率。在optimistic rollup中,交易终局和取款的标准时间窗口是一周;而在零知识技术方案中,用户可以在约10分钟内取款。
零知识证明的代币
Zerocash是第一个利用零知识证明zk-SNARK实现了强匿名性的数字货币。不仅实现了对发送方和接收方地址的隐藏,还实现了交易金额的隐藏,仅交易的双发对交易可链接和交易的金额,而其他区块链节点查看到的数据只能验证交易的有效性和金额的正确性,不能得到交易双方和交易金额等其他信息,实现了高等级的强隐私保护。
Zerocash的交易分为两种,铸币(Mint)和转账交易(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,其他信息只有用户自己知道。
总结
将零知识证明与底层区块链以及去中心化的预言机网络相结合,势必推动区块链行业转型。项目团队将开发出可扩展性强,成本效益高且能保障用户隐私的应用。虽然目前其他的Layer 2解决方案可能会为某些应用提供更好的基础架构,但随着行业不断发展,零知识证明方案必将获得更多个人用户和企业的青睐。
Scan QR code with WeChat