在《十四五规划纲要》的“加快数字发展 建设数字中国”篇章中,区块链被列为“十四五”七大数字经济重点产业之一。这标志着区块链成为发展数字经济和建设数字中国的重要载体,区块链技术的集成应用将在数字化过程中发挥关键作用。《十四五规划纲要》还对区块链的应用方向给出了具体规划,指出要“推动智能合约、共识算法、加密算法、分布式系统“等区块链技术创新,以联盟链为重点发展区块链服务平台和金融科技、供应链管理、政务服务等领域应用方案,完善监管机制。
区块链的价值基础之⼀来自于其提供数据公开、共享、透明的机制,使得参与多方在开放互信的基础下开展业务合作。同时,在数字经济时代,数据安全的强度决定了数字化发展的高度,而隐私计算是保护数据隐私安全的主流解决方案。因此,支持隐私计算的区块链,在推动数据安全有序流动,建设良好数字生态方面具有天然的优势。
由万向区块链联合合作伙伴打造的PlatONE,正是融合了隐私计算的新一代联盟区块链平台。PlatONE提出了一种以隐私计算为特色的企业级联盟链基础设施,可满足多种商业需求场景。目前PlatONE提供了多种创新性的技术和功能,包括优化的高效共识、高TPS、完备、易用的企业级工具链和组件、优化的用户/权限模型、多开发语言支持等特性,旨在解决企业数字化发展中存在的困境。
最值得关注的一点是,PlatONE引入了安全多方计算、同态加密、零知识证明等密码学算法,实现了数据多方安全共享。下文将对PlatONE中的密码学技术作详细解析。
安全多方计算
安全多方计算(Multi-party Computation)主要用于解决在多方协同计算任务中用户数据的隐私保护问题。在传统密码学方案中,如对称加密、非对称加密等,方案针对系统合法用户外的恶意攻击者,提供了数据在传输或存储过程中的机密性、完整性的保护。而在安全多方计算的方案中,要求保护每个合法参与者各自的数据隐私。
⼀般来说,在安全多方计算的场景中,假设有N个参与者,每个参与者拥有自己的私密数据。他们使用各自的私密数据作为输入,合作完成一个计算任务,记为,使得每个参与者都可以得到计算任务的输出,同时参与者无法得知其他参与者的私密数据。
安全多方计算方案需要满足两大特性:
输入隐私保护(Input privacy):在协同计算的交互过程中,用户无法获得除计算 输出结果外,任何其他参与者的私密数据信息。
正确性(Correctness):假设存在若干恶意用户(小于方案的安全阈值),诚实用户在执行协议后,依然可以得到正确的计算结果。
同态加密
同态加密是一种允许在密文上进行计算的加密方式。除了传统加密方案的原始组件之外,还有另一种计算算法,它将目标函数和加密数据作为输入。同态加密会生成一个加密的结果,当解密此结果时,获得的消息就像是在加密数据的明文上执行函数。同态加密的目的是允许对加密数据进行计算,通常用于安全外包计算,如云计算服务等。
同态加密主要有部分同态和全同态。对⼀个密码系统而言,部分同态只能实现对密文的部分运算,如加法同态和乘法同态。而全同态能够对密文支持任意的计算,其功能非常强大,目前共有3代全同态。
部分同态主要有加法同态和乘法同态:
加法同态:在不需要知道x, y值的条件下,从Enc(x)和Enc(y)通过运算计算出Enc(x*y),满足该属性的方案有Paillier、Benaloh方案。
乘法同态:在不需要知道x, y值的条件下,从Enc(x)和Enc(y)通过运算计算出Enc(x*y),满足该属性的方案有RSA加密方案、ElGamal加密。
全同态(Fully homomorphic encryption,简称FHE)是一种加密密码系统,它对密文支持任意的计算,而无需解密。在云计算和分布式计算中,这是⼀种非常强大的算法。在2009年由Craig Gentry在《Fully Homomorphic Encryption Using Ideal Lattices》这篇文章中提出的,目前已经有非常多的全同态加密方案和实现,如HElib(IBM开发)、SEAL(微软开发)等。
在PlatONE中使用了加法同态加密系统来实现相关功能,实现个人数据以及交易数据的完全保密,且可以在无需公开发送者、接收者以及交易数量的条件下验证交易的合理性。
PlatONE中主要采用的是Paillier加密算法,该加密算法具有加法同态属性。具体方案包含如下几个算法: 密钥生成算法KeyGen、加密算法Enc(Pk,m) 、解密算法Dec(SK,c)。
零知识证明
零知识证明是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出的,实现了证明者能够在不向验证者提供任何秘密信息(witness)的情况下,使验证者相信某个断言是正确的。
为了实现隐私计算,PlatONE引入了zk-SNARK这项技术使得用户可以在智能合约平台中完成数据的隐私计算。zk-SNARK,简短零知识证明,该技术可用于证明计算过程的正确性,即给定输入x,输出y,它可用来证明y=F(x),其中函数F可以含括非常丰富的类型,如哈希函数、椭圆曲线运算等等。证明者P根据输入x,输出y,以及函数F,运行证明算法可以得到一个非常简短的证明(大约286字节),而验证者V只需要花费10毫秒左右的时间就可以验证该证明。由于SNARK具有证明非常简短的特点,也就意味着,PlatONE可以将许多计算在链下完成,而将计算结果记录在链上,这样既可以减少智能合约的泄露,同时也可以减少链上计算。
目前,PlatONE已在多个行业解决方案中投入使用,并且和摩联科技的BoAT模组进行融合,打造了“PlatONE+BoAT物联网数据赋能平台”,创新性地将区块链技术与物联网技术融合在一起,将端侧的区块链模组和平台侧的区块链数据服务结合,赋能传统物联网行业,快速改造现有场景,落地“区块链+”应用。“PlatONE+BoAT物联网数据赋能平台”已为万向区块链的生物资产金融服务服务平台、分布式认知工业互联网、数字城市等多个场景构筑了可信的数据底座。