互联网

Dipperin WASM虚拟机性能何以完胜以EVM?

来源:    作者:      2019-08-26

导语:

  Dipperin作为金融公链的探索者,长期专注于帮助用户快速、安全、低成本地部署区块链应用和商业智能合约,支持用户成为区块链价值的创建者和分享者,解锁区块链在广泛商业应用上的价值。

  2019年8月21日,Dipperin测试网络Venus正式进行主网上线前的测试,主要包括创新经济模型、高效的智能合约第二代WASM虚拟机、多款DApp,供开发者测试使用。这些技术创新使得Dipperin比以太坊拥有更高的TPS,快速的区块确认,以及更高快的智能合约运行速度。

  Venus测试网浏览器

  以太坊的出现,在比特币网络结构基础上开发了以太坊虚拟机EVM,使用语言solidity即可完成图灵完备的编程,在以太坊公链上募资的项目越来越多,因为项目方可以使用以太坊轻松地解决发币的问题。每一个公链都是以开源社区的形态运作的,建立新的语言和虚拟机就如同建立新的开发者体系,大部分项目不会选择去开发新语言和虚拟机,大部分公链用的都是EVM,直接COPY以太坊的功效,但是不可避免的也把EVM虚拟机的缺点带过来了。

  Dipperin在立项之初便意识到了以太坊EVM和solidity的限制,进而深入地了解公链底层的链式网络,上层的解释器和开发语言,并且在拓展性、稳定性、运行效率等方面不断创新。随着测试网Venus的上线运行,我们在同等环境下测试了DipperinWASM虚拟机和EVM的性能。

  结果令人震惊。事实证明,Dipperin的智能合约的执行效率远远高于以太坊EVM。以太坊使用了256位的机器码极大地影响了性能,增大了内存占用。做1000万次除法和加法,Dipperin智能合约的运行时间是以太坊智能合约的1/6,内存占用是1/700。

  Dipperin和以太坊智能合约运行1000万次除法加法的性能对比

  1、测试环境

  在以太坊源码中,利用其已有的vm性能测试案例,选取其中的loop-divadd-10M测试案例,使用pprof工具分析其vm性能及内存占用情况。

  在Dipperin-core中则同样编写10M次的除法加法测试,生成cpu和memory相关的profile图,并与EVM进行对比。

  2、测试结果对比

  (1)测试EVM性能

  EVM执行loop-divadd-10M测试时的cpuprofile图如下:

  EVMmemoryprofile图如下:

  测试执行时间:8.31890013s

  (2)测试DipperinWASM虚拟机

  在Dipperin-corevm中测试loop-divadd-10M,合约源码如下:

  pprof生成的cpuprofile图如下:

  测试合约执行时间为:1.607514228s

  pprof生成的memoryprofile图如下:

  测试结果:

  3、测试结果分析

  通过对比测试数据可以看出,同样执行10M的除法加法操作。WASM虚拟机在执行时间上都要比EVM小。通过分析测试执行生成的cpu和memoryprofile程序可以看出。在执行除法和加法操作时,EVM之所以时间和内存消耗都比较多,主要是因为EVM底层opcode使用u256(256bit),而其256bit基本数据类型是通过big.int包来实现的。big.int相关操作是比较消耗cpu和内存资源的。这一点也一直是EVM饱受诟病的地方。

  从EVM加法opcode中可以清晰的看到这一点:

  当然由于在WASM的测试中未使用到big.int操作,因此其测试合约的内存消耗要远小于EVM。若在WASM中使用vmimport的big.int相关操作时,可以想象,其内存消耗也会大很多。

  4、总结

  而对比合约数据长度可以看到,DipperinWASMvm由于需要保存合约bytecode及abi数据到链上,因此其对链上存储资源的占用是要略高于EVM的。而EVM在将合约编译成字节码时,通过hash获取函数签名,并将函数签名信息保存在字节码中,这一定程度上也节省了链上存储空间。当然这也导致用户无法通过合约地址在链上查询此合约的abi信息。即若合约创建者未将其部署的合约发布出来,用户无法获取其abi信息,因此也无法去调用合约功能,唯一的途径是对存储在链上的bytecode进行逆向。

  据悉,Dipperin创办于2018年,专注于建设金融公有链基础设施,帮助用户快速、安全、低成本地部署区块链应用和商业智能合约,搭建区块链与真实商业社会之间的桥梁。


(文章为作者独立观点,不代表艾瑞网立场)
  • 合作伙伴

  • 官方微信
    官方微信

    新浪微博
    邮件订阅
    第一时间获取最新行业数据、研究成果、产业报告、活动峰会等信息。
     关于艾瑞| 业务体系| 加入艾瑞| 服务声明| 信息反馈| 联系我们| 合作伙伴| 友情链接

Copyright© 沪公网安备 31010402000581号沪ICP备15021772号-10

扫一扫,或长按识别二维码

关注艾瑞网官方微信公众号