DEVCON2: eWASM—— 一个实验性的虚拟机设计方案

未知来源 阅读 39 2016-9-19 09:36
分享至
微信扫一扫,打开网页后点击屏幕右上角分享按钮

DEVCON2: eWASM—— 一个实验性的虚拟机设计方案 (1)

记者:Lydia

来自以太坊的 Martin Becze, Alex Beregszaszi演讲的主题是eWASM: 一个实验性的虚拟机设计方案

首先是Martin发表演讲:

今天介绍WebAssembly,今天介绍一下我们的工作。

以太坊系统的核心就是虚拟机,这实际上是以太坊区块链和其它区块链最大的区别。基本上所有状态转换都会通过虚拟机完成,EVM成长的阵痛,随着其不断成熟,也遇到一些问题。有些东西不应该成为指令,虚拟机的实现费用很高,高级语言编译非常难,WEBSEMBING 2X格式,利用共同硬件的能力,高效安全的沙箱,工作链的兼容,可扩展,网络收集和WC3工作组,支持这个项目的公司有苹果/微软等。

DEVCON2: eWASM—— 一个实验性的虚拟机设计方案 (2)

指令集和AST类似RISC,Interger和浮点运算定义为AST。处理过程十分简便,可以轻易的变更,可以用栈机器解释,可以实现本机的表现。大家可以看到有些输入可以扩展,就像系统调用一样,还有其它可以使用的模块,使用函数进行计算。

程序语意:程序读取,调用。你们觉得这好像比较复杂,可以用二进制进行输出,可以让二进制变得简单,可以非常快速,如果要获得这些属性。可以去Chrome浏览器去寻找,还有许多翻译器。以上是WASM的概述。

以太坊webassembly

DEVCON2: eWASM—— 一个实验性的虚拟机设计方案 (3)

它可以取代真实的机器,可以取代EVM,作为webAssembly重要的分支。

界定兼容性和其它因素。我们要讲的是EVMWASM的机器,可以和官方EVM测试相融,可以生成非常快速的EVM代码。WASM是5000行,这是非常致密的。这是一个真实的运行DEMO,当我们GIthub的时候可以看到这些展示,Metering可以通过枝节进行计量,可以看发生了什么。然后可以在每个字节里面加入Gas代码,如果使用的Gas比较多,情况也是不一样的。两可以在不同的模块进行计量。METERING INJECTION一个计量,是EVM好的特点。所有Branch 条件,还是使用Gas.

Alex谈eWASM以太坊界面如何工作

DEVCON2: eWASM—— 一个实验性的虚拟机设计方案 (4)

现在大家应该很了解WASM。如果我们需要一个界面和EVM进行交互,如果我们需要一个eWASM以太坊界面。下一步就是界面是如何工作的,每个界面都有自己的内存,在内存里有过去历史的记忆,里面会有一些输出,下一个重要界面就是ECI,这是eWASM合约界面,会建立合约格式,通过二进制编码,也可以设定其它限制。我们可以通过这个写合约,如WASM的”hello world”。

我们可以对这个world进行定义,如果在一个交易中进入了合约,只需要进行调用,如果在书写非常复杂的合约,可能会有一些问题,在这种情况下,需要获得ECI验证,因此必须进行验证和metering。其它虚拟机没有这样的功能,所以我们可以进行这样的跨编译,EVME的预编译合同,可以支持新的客户端。在进入合约时,要检查合约代码,如果需要的话需要eWASM代码进行编译。现在有两种Lewasm-kernel和Hera,对界面和虚拟机核心来说也是非常好的,使用的是C++语言,在这里有非常大的改变,也可以和ethreum一起工作。

目前的测试网络,可以写非常复杂的合约,如果有人对这感兴趣,可以找我们提供帮助。事实上,目前我们可以在C来编写合约,这个过程中,也需要写自己的东西,目前已经完成了这样的工作,可以使用所有加密的功能,在需要改变的时候做出改变。我非常喜欢C语言,但是在座的可能喜欢使用Solidity,大家可以从输出中看到细节的情况。

DEVCON2: eWASM—— 一个实验性的虚拟机设计方案 (5)

今天通过Solidity 会耗用太多gas,因为gas有上限,我们要怎么改变呢?我们对Gas进行了改善,目前的改进是基于以下几点,目前是基于循环数使用的,gas成本计算表是存储在合约中,这个合约就是我刚刚提到的计量合约。我们不需要对EVM进行改变,eWASM的成本非常低。

因为时间有限只能讲到这里,谢谢大家。

作者:Lydia | 来源:Chainb

btcfans公众号

微信扫描关注公众号,及时掌握新动向

来自互联网
免责声明:
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
上一篇:DEVCON2: Ethcore团队开发的基于Parity的Rust客户端 下一篇:超级账本和Linux基金会开启公共区块链领域的大门

相关资讯