零知识证明 区块链分析,应用及算法分析

当前位置:首页 > NFT > 零知识证明 区块链分析,应用及算法分析

零知识证明 区块链分析,应用及算法分析

2022-05-07NFT275

零知识证明指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。在区块链领域中,交易的隐私保护和交易的多方验证、共识之间的矛盾,正是零知识证明技术要解决的问题。

比如,有多家银行参与的联盟链。联盟链中某银行的A账户给另一家银行的B账户转账100元,我们不希望区块链系统的各银行节点看到A给B转账的具体金额,同时,又需要确认A给B的转账是有效的。有效指的是A的当前余额足以支持这笔转账;A转账后剩余的金额加上转账金额等于原来的金额;A减少的金额等于B增加的金额。为了保证交易金额的隐私性,A账户给B账户的转账金额在整个区块链系统中都是采用同态加密等技术进行加密的,对于执行A给B转账的智能合约逻辑的节点,面对的是加密过后的金额信息,这个时候就可以利用零知识证明技术来完成加密后交易的有效性验证。

Zk-SNARKs是一种非常适合于区块链的零知识证明技术,它可以实现验证节点在不知道具体交易内容的情况下,验证交易的有效性。目前,该蓑衣网小编技术的证明的生成时间已由37秒缩短至7秒,证明材料生成过程中的内存消耗也由3GB降低到40MB。

Zk-SNARKs技术有一个技术痛点:它的算法依赖于初始的公共参数作为信任设置。这个公共参数是随机数,由它来生成Zk-SNARKs的证明公钥和验证公钥,这个原始随机数使用完之后需要立刻销毁,一旦泄露,拥有原始随机数的人可以随意伪造证明,从而使得零知识证明的正确性荡然无存。目前,学术界采用多方安全计算的方案,来降低原始随机数泄露的概率。

零知识证明 区块链分析,应用及算法分析 | 分享给朋友: