拥抱创新,小蚁链新版加入智能合约2.0功能

小蚁区块链于近日发布PC版客户端V1.6.0-preview3。该版本升级了小蚁核心协议,加入小蚁智能合约2.0功能,目前正在公开测试中。

区块链智能合约由以太坊于2014年提出后于全球各领域获得快速发展。豪不夸张地说,智能合约对于区块链技术爆发式增长起到了至关重要的作用。

然而,智能合约发展至今三年过去了,在全球社区里除了以太坊以外几乎见不到其他底层设计(Hyperledger并非为面向社区的区块链产品,而RootStock公布许久仍未见踪影)。不论从丰富区块链社区生态角度,还是对早期智能合约设计进行提升改进出发,小蚁智能合约2.0都有其重要的存在价值。

作为小蚁区块链今年的核心技术发展路线。小蚁智能合约2.0包括以下特性:确定性、高性能、拓展性。其合约类型包括:验证合约、函数合约和应用合约。

从性能角度,小蚁采用了轻量级的 AVM(Antshares Virtual Machine)作为其智能合约的执行环境,它的启动速度非常快,占用资源也很小,适合像智能合约这样短小的程序。通过 JIT(即时编译器)技术对热点智能合约进行静态编译和缓存可以显著提升。小蚁虚拟机的指令集中内建提供了一系列的密码学指令,以优化智能合约中用到密码学算法时的执行效率。此外,数据操作指令直接对数组及复杂数据结构提供支持。这些都会提升小蚁智能合约2.0的运行性能。

小蚁智能合约2.0实现可拓展性的方法是通过高并发和动态分区的形式,结合其低耦合的设计完成的。低耦合合约程序在一个虚拟机(小蚁虚拟机)中执行,并通过交互服务层与外部通信。因此,对智能合约功能的绝大部分升级,都可以通过增加交互服务层的 API 来实现。

从语言角度看小蚁智能合约2.0与以太坊的区别更为直观:与以太坊原创的Solidity语言不同,小蚁智能合约开发者可以直接使用几乎任何他们擅长的高级语言来进行小蚁智能合约的开发工作。首批支持的语言是 C#、VB.Net、F#等。小蚁提供了这些语言的编译器和插件,用于将高级语言编译成小蚁虚拟机所支持的指令集。由于编译器会针对 MSIL(微软中间语言)来进行编译,所以理论上任何.Net 中的语言或者可被转译成 MSIL 的语言都可以直接被直接支持。

未来计划陆续加入的高级语言还包括:

1) Java

2) C, C++, GO

3) Python, Java

多种高级语言的支持,使得 90%以上的开发者无需学习新的语言即可参与到小蚁智能合约的开发中来,甚至可将现有业务系统中的代码直接移植到区块链上。这将大大增加未来区块链的全面普及。

最后从调试角度看,通常智能合约的开发过程是非常困难的,重要的原因之一是此前的智能合约缺乏良好的调试和测试方法。小蚁在AVM层面提供了程序调试功能的支持,使得开发小蚁智能合约2.0变得更方便快捷。

小蚁智能合约2.0将于6月初正式发布。此外小蚁区块链社区将于5月下旬与InnoSpace合作开展区块链创客大赛,并提供相关培训,本次大赛由上海市科委主办。

如需了解小蚁智能合约2.0最新进展并加入测试,可参与以下小蚁学院加入小蚁技术社区:https://www.antshares.org/School

        
微博:@nextcoin    微信公众号:blockchains     QQ群号:338331006     QQ公众号:blockchain