相信同学们肯定都熟悉《孙子兵法·军争》中的名句“其疾如风、其徐如林、侵掠如火、不动如山”,毕竟“风林火山”在二次元和游戏中有着超高登场频率。不过这名言后面还有两句“难知如阴,动如雷震”,强调的是对己方信息的保密——拉开架势打堂堂之阵是成本最高的战术,隐藏意图以奇兵胜才是大智慧。
其实这也算是兵家常识——不懂的都被灭了,但道理简单,如何能做到信息保密落地可就需要许多人殚精竭虑了,这也催生了一门重要学科——密码学,意义在于如何把所要传输的信息在发给接收者之前进行秘密转换以防止第三者对信息的窃取。
密码学应用可谓森罗万象,区块链也是其中之一,可以说诞生伊始,区块链就与密码学的技术不可分割。
在区块链的传世之作——中本聪撰写的《比特币:一种点对点的电子现金系统》中,就对密码学在区块链交易系统中的作用有着很好的诠释:用户的账户或者资产在区块链上就是使用密码学中数字签名算法的公钥进行表示的,换句话说拥有这个公钥对应私钥的人就对相应的账户或资产拥有控制权;当要将数字资产发送给下一个拥有者时,就需要使用对应私钥对整个交易进行数字签名,区块链的其他使用者通过公钥验证数字签名的合法性,从而可以确认该次转账是否经过资产所有者授权。
区块链之所以能称之为“链”,就是因为通过密码学中哈希函数构成指针的链表,这个链表链接一系列的区块,每个区块包含数据以及指向标准前一个区块的指针。前一个区块的指针使用的是其哈希值,这个哈希值会存储在后一个区块中以方便查找其位置。同时,这个哈希值也能进行验证这个区块所包含的数据是否发生变化。在区块链底层数组结构中存储中也用到了密码学哈希函数来进行存储以方便查找。
//
简单而言,密码学是构建区块链信任体系的基石,为区块链提供五种信任能力。
1
第一种是保密性:通过加密算法,防止未经授权的信息泄露;
2
第二种是认证性:通过签名或认证算法,确认信息发送方的身份,确认区块链上信息的来源;
3
第三种是完整性:通过哈希和签名算法,确认数据未被篡改,验证区块链的状态;
4
第四种是不可否认性或抗抵赖性:通过签名算法,防止否认已做过的事;
5
第五种是访问控制:可以确定谁在什么条件下可做什么事,保证区块链上加密的数据只被授权用户看到。
随着密码技术的不断发展,现在同态加密、零知识证明和安全多方计算等高级密码算法和协议,还可以为区块链提供密态计算、密态校验和分布式密钥管理的能力,为区块链更多场景提供信任的基础。
在区块链的隐私保护方面,除了使用一般的对称加密算法,还可以使用密码学上同态加密与零知识证明技术,将交易的金额加密起来。这样既可以在密文上对交易的金额进行同态操作,完成密态计算,又能在不泄露交易金额的情况下,“零知识地”证明交易符合业务逻辑,完成密态校验。
在分布式密钥管理方面,结合密码学中的承诺、零知识证明和不经意传输等密码技术,通过将私钥“拆分”成多个分片并由多方分别持有,使得私钥在其整个生命周期内都不会完整出现,签名时由多方共同参与。这样既有效地保护私钥的安全性又不影响其功能,类似于中国古代战争中调兵遣将使用的虎符。
蚂蚁区块链团队深耕密码学技术的研究和创新,在标准算法加速、零知识证明、密文上访问控制、分布式密钥管理都有创新性的研究成果并落地到区块链业务方案中给客户创造价值。例如,在同态加密算法 Paillier 中,蚂蚁区块链团队对其底层代数结构进行了深入优化,将算法的加解密性能提升了 6 倍以上。蚂蚁区块链会继续将安全性和隐私性放在重要位置上,用密码学技术为客户创造价值。
本文转载自蚂蚁区块链公众号。
原文链接:https://mp.weixin.qq.com/s/WnjyyqJLeSh1gvvsrnc9nA
评论