今日,致力于成为面向未来下一代计算架构的PlatON,完成了V0.4.0版本的升级,开始支持基于可验证计算(Verifiable computation,简称VC)的可验证合约发布。可验证计算可以说是解决分布式计算网络可扩展性的有效方案,PlatON自此成为全球首个使用VC算法构建layer2层,来解决可扩展性问题的计算网络。
扩容之道
可扩展性一直是分布式计算网络技术的主要瓶颈,如何进行扩容也一直是研究的热点。
在分布式计算网络中,生产了区块之后,各个节点要去验证区块里的每一笔交易中签名是否正确,是否UTXO合法,金额是否合法……实际上就是把复杂的计算整个重复执行一遍,才能够验证这个区块是否合法。在这种模式下,一旦单个节点的处理能力不够,或者数据增长的速度非常快,都会导致整个分布式计算网络的性能整体变得低下。
实际上,在区块生成的时候,打包者已经把整个过程做过一遍的,其他的节点完全不需要把这个过程重复一遍,只需要进行验证即可。所以完全可以生成一个比较短的证明,其他节点去验证这个证明,就能知道计算结果的正确性从而完成验证了。只需要知道计算结果是对的,而无需把整个计算过程重新算一遍,以大大节省验证时间,从而提升整体的性能,这就是可验证计算提出的分布式计算网络的扩容解决方案。
可验证合约的主要思想是用户将复杂合约的计算外包给第三方,第三方具有强大的计算处理能力,他的计算成本低于用户自己直接计算的成本。完成计算后,第三方将结果和相应的计算正确证明上链验证,验证计算的速度和成本都远优于直接计算,这样就可以扩展单节点的计算能力,而且不损失安全性。
虽然链上已经公认为是一个无需信任的环境,但是链下方案的实施又引入新的不信任因素。PlatON的可验证计算密码学算法将信任传递到链下。通过可验证计算,合约只需要在链下计算一次,所有节点可以快速验证计算的正确性,一方面提高了交易的处理性能,另一方面也使得PlatON支持复杂合约的Trustless计算。
可验证合约
PlatON测试网络V0.4.0完成更新后,用户可以根据模板编写自己的可验证合约。合约中可以输入任意计算模型,并设定好计算请求、生成计算结果和证明以及验证计算结果和证明。用户编写的可验证合约将会被编译生成WASM字节码,合约开发者并不需要关心具体的API使用方法,只需要编写好自己的计算模型代码即可。
可验证合约实现了将计算任务外包给第三方进行执行的过程:用户可以以合约的方式发布任务,并先质押合适的Energon在合约账户中,PlatON的个节点可以以竞争的方式自行参与到计算任务当中。一旦计算成功生成了计算结果和证明后,就可以发起交易提交计算结果和计算证明,计算节点会先支付该笔交易的gas费,验证节点接到请求后执行验证过程。当交易中携带的证明和结果参数验证通过后,则认为交易请求者计算出了正确的结果,计算发起者质押在合约账户中的Energon则会转账至成功完成计算的节点账户中。
通过不断的算法优化,未来还能够实现通过编译器将大型复杂的智能合约中的计算/应用分发给多个计算节点,计算节点分别执行计算任务,从而达到并行计算的效果。通过可验证计算连接“合约计算化”和“计算合约化”,最终将真正实现利用全球异构算力进行并行计算这一全数字化世界的基础运行模式。
Trustless计算
从2018年的12月18日,正式宣布测试网络贝莱世界上线,到今天发布可验证合约,PlatON如约完成了技术路线图中第一阶段“破晓”的上半部分。PlatON面向未来全数字化世界提出的全新计算范式——Trustless计算,也完整地展现出如何无需依赖第三方就能验证计算结果完整性。
通过叠加全同态加密(HE)和安全多方计算(MPC),实现真正的隐私计算,保证输入数据以及计算逻辑本身的隐私。通过可验证计算,让合约与计算的执行只需要进行一次,所有节点都可以快速验证计算的正确性,提高交易的处理性能。PlatON采用全球领先的密码学算法,推出可扩展的、隐私的、可验证的Trustless计算,在破解分布式计算网络“不可能三角”——去中心化、安全性和可扩展性不可同时最优化——方面给出了自己的答案。
在贝莱世界竣工后,PlatON将继续推进测试网络不断更新调优,在社区和生态建设上持续发力,并不断推动Trustless计算技术的应用落地。天方破晓,光明在前,PlatON将与社区一起携手前行,共赴未来。
网友评论