作为隐私计算网络与分布式经济体基础设施,从严格意义上讲,PlatON并不是一个单纯的区块链项目,或者说区块链功能只是PlatON的一个组成部分。PlatON的愿景是要成为下一代的基础设施运营商,其核心是为数据流动定价,一切设计都是围绕着计算和数据,而这正是未来人类生产生活的最基础部分。
也正因基础,所以系统需要“岿然不动,稳如泰山”,我们深知从研究到技术再到落地的重峦叠嶂,这使我们面对每一个微小的偏差都不敢掉以轻心。
为了打造全数字时代公共基础设施,PlatON开始了工程实践之旅,我们将分系列与大家来聊一聊PlatON在工程实践与测试上经历的那些事儿,首先从区块链最重要的指标——性能指标谈起。
标准化 标准化 标准化
性能一直是制约区块链的重要因素之一,因为公认的不可能三角的存在,无法保障足够安全性的同时,迸发稳定可靠的性能指标。
于是,突破TPS成了公链竞争的主要手段和突破方向,在这样的背景下,很多区块链项目热衷于标榜鼓吹高TPS,其发布的测试数据大都缺乏统一和明确的度量标准,也不存在标准化的测试方法。
区块链行业尚在早期,处在百家争鸣,无一标准的境地,亟需规范、完整、严谨、可用的评估方法的指导展开性能测试。在团队多年工程实践经验的参考下,PlatON定义了一套标准的性能评估模型以及基准测试过程,用以对区块链系统的性能进行标准化的评估。在PlatON测试网历次性能测试中,均沿用了此标准化性能评估模型。
何为标准化评估?一定是多维度,能落地,具备可操作性。
首先,PlatON设置了完备的测试架构模型,通过最外层的测试工具或节点内的测试插件将工作负载注入内层的待测系统,模拟实际的交易场景,并监测统计各类指标数据。
其次,设定多维度的测试指标,我们将区块链系统的测试指标分为性能指标、资源指标、稳定性指标、可扩展性指标和可靠性指标,从多项指标数据的表现综合分析得出结果。
之后,设置真实的测试环境,区块链特别是公链是去中心化的,其运行环境不受控制,节点的分布和配置参差不齐,因此应该尽可能按照实际运行情况定义节点配置,以充分评估区块链系统在真实环境下的运行状况。
最后PlatON运用了以基础数据、交易类型、请求分布为组合的测试负载,用于评估性能空间中特定的点。同时还将基准测试分为五层,从性能、可扩展性、可用性、安全性和稳定性五个方面进行综合评估,以保障性能测评结果的客观真实有效。
跑赢EOS 只是第一步
有了标准的性能评估模型,系统测试便是家常便饭。在工程实践中,对底层系统的测试一直是PlatON的日常,我们与社区成员一起在测试网上进行了各种功能测试、异常测试、安全测试、治理演练与各种环境下的压力测试。
目前PlatON已在测试网环境下和仿真环境下完成了十几次压力测试,并取得了第一手测试数据。这些数据让我们更加清晰地认识自己,用于迭代系统。
近期,PlatON进行宏基准测试。由于EOS是当前性能比较显著的公链,因此我们选择了在相同测试条件下使用相同测试方法与EOS做对比测试。从结果看PlatON实现了在拟真环境下的性能全面领跑。
在原生Token转账性能测试中:
PlatON转账平均TPS为9604笔/秒,最大值为14755笔/秒
EOS转账平均TPS为3049笔/秒,最大值为5393笔/秒
从数字来看PlatON比EOS“快”近三倍。
在CPU使用率增长不多的情况下,PlatON性能明显优于EOS,这是由于PlatON的并行交易机制大大提升了性能。
PlatON的内存和网络资源消耗也远小于EOS,从原生Token转账资源消耗图中看,测试过程中存储整体消耗两者差不多,但是平均到交易,PlatON的存储消耗远低于EOS。
在Token合约转账中PlatON-EVM性能略高于EOS,PlatON-WASM性能相对略低,有提升的空间。PlatON在内存网络资源上的消耗均远小于EOS,存储消耗两者差不多。
在key-value合约转账性能测试中
PlatON-EVM调用keyvalue合约平均TPS为5237笔/秒,最大值为6304笔/秒
PlatON-WASM调用keyvalue合约平均TPS为3297笔/秒,最大值为3797笔/秒
EOS调用keyvalue合约平均TPS为2451笔/秒,最大值为6268笔/秒。
从测试结果来看,PlatON性能明显优于EOS,CPU占用也更高,说明PlatON在多核CPU的利用率更高。由于共识机制上的优化,使得PlatON的最终确认时间远比EOS低。
后续我们还将优化技术,不断测试,迭代底层基础设施。与此同时,我们也与诸多机构合作,联手打磨系统,以保证在川陀主网上线后保持最佳状态。
PlatON的工程实践之旅不会停止,将继续着眼于数据这个领域,基于区块链和隐私计算完成数据市场的建设,为全球带来一个万亿美元级的全新市场。