【科普小知识】区块链同态加密和零知识证明技术
华链时代timechainer
点击上方蓝色文字关注我们吧
密码学中的同态加密技术被引入到区块链领域,用以保障区块链在金融交易场景的隐私性。同态加密(Homomorphic Encryption)是一种特殊的加密方法,对密文直接进行处理,与对明文进行处理后再对处理结果加密,得到的结果相同。从抽象代数的角度讲,保持了同态性。一般包括四种类型:加法同态、乘法同态、减法同态和除法同态。
在做金融转账交易时,在区块链智能合约中看到的是同态加密后的密文数据,由密文数据直接运算,得到转账后的金额。整个运算过程中的数据,包括区块链账本记录的数据,都是由同态公钥加密后的数据,只有持有对应私钥的客户端节点,才能够解密个人相关的数据,查看到明文信息,其他节点无法获得明文内容,从而保证了整个金融交易的隐私性。
目前可以达到商用水平的同态加密技术,只有加法同态技术。在世界上一些顶尖科技公司,也在发展全同态加密方案,即一个加密函数,同时满足加法同态和乘法同态。但因为乘法同态加密的性能还较差,目前还没有公开可见的支持全同态加密的商用产品。
零知识证明指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明是代数数论、抽象代数等数学理论的综合应用,如果不是数学科班出身,很难真正理解零知识证明的内部原理。
在区块链领域中,交易的隐私保护和交易的多方校验、共识之间的矛盾,正是零知识证明技术要解决的问题。
举一个实际的场景:利用区块链系统,多家银行组成联盟链。联盟中银行A给B转账,同时,又需要确定这笔转账是有效的。为了保证交易金额的隐私性,A账户与B账户之间的转账金额,在整个区块链联盟链上都是采用同态加密技术进行加密的,对于执行智能合约的节点,当它执行A与B的转账逻辑时,面对的是一堆加密过后的金额,那么如何判断这笔交易的真实性。在这个场景中,就可以利用零知识证明技术来完成加密后交易有效性的验证,结合同态加密隐私保护能力,完成完整的交易隐私保护和校验流程。目前在区块链领域,应用的零知识证明技术主要包括zk-SNARKs、ZKBoo、zk-STARKs等,其中zk-SNARKs应用范围最广。
华链时代timechainer
让每个企业享受区块链价值
华链时代timechainer
让每个企业享受区块链价值