LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > 技术篇|Ele-VM——重构智能合约生态的核心技术

技术篇|Ele-VM——重构智能合约生态的核心技术

2019-12-30 象链科技 来源:区块链网络

Ele-VM建立了一套将结构化数据的定义和操作转化为智能合约代码的方案,并通过网页和插件等形式,把自动化生成智能合约与一键式运行区块链项目变成可能。

针对区块链智能合约的虚拟机目前存在的性能和安全问题,EleChain平台设计了Ele-VM虚拟机框架,其中包含了指令集和智能安全框架。Ele-VM指令集实现了图灵完备的虚拟机指令集,且针对性能和安全性设计了特殊的指令,在智能合约的编译器和运行期就解决了智能合约的安全和性能问题。

Ele-VM虚拟机在设计之初就为兼容多种语言的编译输出做优化,针对目前存在编译型、解释型、强类型、弱类型编程语言,集中了这些语言中必要的运算、关系、逻辑、函数以及常见数据结构的语言元素,为以后兼容类似的语言打下坚实的技术基础。

Ele-VM

VM 全称为Virtual Machine,在区块链语境下更可以理解为是智能合约的运行环境。在区块链系统中,合约代码会被编译成字节码的形式,这些字节码不能直接在操作系统上运行,需要一个执行器来执行这些合约,在软件体系中,可以把这些执行器视为一个抽象的「机器」,Ele-VM 就是这样一个底层智能合约执行机制。

Ele-VM中包含的黑科技

1.Ele-coding 独立编译器

Ele-coding是象链科技独立编写的编译器,它提供了介于高级简称语言到机器语言之间的中间语言,所以支持现有成熟的虚拟机标准语言来编写区块链虚拟机,降低了区块链智能合约的开发门槛,在扩大共赢生态这一角度有重要意义。

Elecode本身也可以作为多种语言的后端,提供与语言本身无关的优化和对多种CPU的代码生成功能。针对不同语言的前端,对应生成不同平台的机器码。

2.WebAssembly

WebAssembly是一种新的字节码格式。它的格式缩写就是".wasm",.wasm 为文件名后缀,是一种新的底层安全的二进制语法。Ele-VM智能合约的实现格式就是“.wasm”。

WASM允许C/C++等语言编写运行在WEB中的程序,WASM其实是一种字节码格式,是底层二进制语法,加载时间段以及高速执行,是为WEB多语言编程设计的目标文件格式。由于支持多种语言,很容易从传统语言迁移过来,传统Web领域的基础支持也可以嫁接。

WebAssembly 可以允许任何语言编译到它制定的AST tree,相当于使用其他高级语言写的代码可以直接在区块链智能合约上运行,使得网页应用向区块链Dapp应用的移植成为可能。

3.Go模块

Ele-VM 在设计做了特别的处理,使得Ele-VM 可以很好的适应多线程环境,多线程变成一度是一个令人“头大”的事情,而构建一个可以在并发环境下安全运行的库很多时候需要避免很多问题,Ele-VM 在这个问题上做了很多准备。

Ele-VM采用了Go模块import的方式,这种方式意味着在Ele-VM上可以嵌入任何一种程序语言的项目,它使程序员更具生产力。并且得益于其并发机制,用它编写的程序能够非常有效地利用多核与联网的计算机,其新颖的类型系统则使程序结构变得灵活而模块化,还具有方便的垃圾收集机制和强大的运行时反射机制。

Go语言还有很多优势,以轻量级的运行时著称,对于智能合约所需要的不同的应用场景,其字节码格式和功能必然需要拓展和修改,Ele-VM 在响应的地方都做了设计,其中深度应用了visitor 模式,使得在不改变类架构的前提下也可以很容易的为整个VM 添加功能。

引领区块链虚拟机VM的新标准

从互联网的发展历程来看,互联网协议层次自身的演化:一种像多层蛋糕一样的协议和语言,迄今仍在不断发展(虽然现在演化速度很慢了),组成了文件传输、email、网站等等服务,并提供了真正让人惊叹、动态变化而又无缝转换的用户体验。

这意味着多样的架构趋向专业化并产生出动态、有用的栈层的历程。长久以来,任何一个软件的细分领域都在谋求技术标准的整合和统一,这样的统一并非是由中心化组织去强制推行,而是通过软件本身逐渐得到主流市场的认可,最后成为事实上的技术标准。

之前,由象链科技自主研发的 EleChain V3.0 区块链系统获工信部中国电子技术标准化研究院认证。作为国内甚至行业内部首个国家级别标准的区块链系统功能测试,目前仅有包括联想、支付宝、京东数字在内的30多家企业的区块链技术通过了该系统的测试。

其中对于Ele-VM的实用性就做了全面的考察和肯定。Ele-VM进行划分并创建自包含的组件让Ele-VM系统可以有高度可拓展性。此外,通过一些简单的编程工具,用户可以相对轻松地构建新的延展,这样,当有需要的时候,我们就可以推出一系列强大的工具进行配置、调试等。

Ele-VM内置的分配器足够模块化满足应用具体的需求,不需要创建高内存的结构支持,这就允许了用户可根据需要进行独立于内容的WebAssembly模块集成而不会遭受任何性能上的损失。

Ele-VM作为业内领先的区块链底层平台虚拟机系统,具有所有成为智能合约运行环境标准的素质。目前,Ele-VM的性能在不断优化提高,我们研究员以及工程师都在不断创建更多强大的工具包和库,不断努力帮助开发者实现更大的目标。

- END-

关于象链科技

象链科技(上海)有限公司,是一家快速成长的区块链领先企业,一直以“区块链技术 服务民生”为理念,致力于区块链基础研究和应用研发,为人工智能、智慧城市、智慧政务、民生服务的发展助力。象链科技的愿景是打造区块链+人工智能数字经济新生态,拥有首个融合ABCD(A-AI B-Blockchain C-Cloud D-BigData)产业的高性能自主研发公链底层兼容联盟链平台EleChain。

—-

编译者/作者:象链科技

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...