11月14日,中国标杆性区块链项目小蚁发布了虚拟机Antshares VM白皮书,并在GitHub上公布了开源代码。白皮书中描述了一种轻量级通用型区块链虚拟机Antshares VM,用户可以在小蚁区块链上部署并执行智能合约,让数字资产升级为可编程的智能数字资产。
虚拟机是实现智能合约系统最为关键和核心的技术。智能合约既是业务逻辑的载体,同时又扎扎实实地落在了技术实现的层面。智能合约代码的执行,要有一个runtime环境,也就是所谓“虚拟机”。不同区块链上,智能合约对业务规则的表达能力,受限于虚拟机支持的能力,区块链应用的设计开发人员不但要掌握区块链技术原先的特性,还要充分了解相应智能合约虚拟机的功能。
目前国内外几种区块链虚拟机的设计因其区块链系统的不同存在一定性能上的差异。比如比特币的虚拟机轻量清晰,性能较好,但对高级语言、状态维护、图灵完备方面的支持有限。以太坊有一个相对更完整的虚拟机体系,但又被其完善的架构设计所制约——要么在架构内受限于性能瓶颈,要么调用外部原生代码但又突破了原本的架构设计。超级账本Fabric用了一种借力打力的策略,可以灵活选择市场上已有的虚拟机容器和编程语言,但也失去了对虚拟机和确定性的控制权。同时,沙盒机制的虚拟机性能也一定会受到一定的制约。
小蚁创始人张铮文指出,
“当初设计小蚁区块链虚拟机的时候,我们就在设想一种可以在一定程度上融合几种区块链虚拟机优点的新设计,一种基于操作码的轻量级通用区块链虚拟机——Antshares VM就应运而生。”
通过比较比特币、以太坊、Fabric等区块链所用的虚拟机技术, Antshares VM具有更快的执行速度、更好的执行性能;更完善的逻辑控制支持(图灵完备); 高级编程语言支持;更灵活的账本数据交互、状态维护等;可扩展的链外数据交互集成和可作为各种区块链的通用虚拟机等亮点。
“小蚁这次秉承一贯的开源风格,将原创代码完全开放,不仅有利于社区开发者更好的利用和开发系统,且是契合共享开源的区块链精神使命使然”, 张铮文介绍说,“当然,一定没有绝对完美的方案,不然就不会有这么多的差异性了,但可以从在特定场景下融合以上虚拟机优点的设计作为起步,不断超越和迭代,臻于至善。”
据了解,Antshares VM具有良好的性能,具备图灵完备的逻辑控制,可以灵活的与区块链链上和链外的数据进行交互。通过高级语言编译器,可以实现对高级语言的支持。通过可自定义的系统调用功能,可以实现对任意区块链的支持。
Antshares VM Github源代码地址:
https://github.com/AntShares/AntShares.VMAntshares VM白皮书地址:
www.antshares.org/files/4007D7.pdf