作者:Alex@YOYOW
提示:本文所作解析均为作者个人观点,不代表EOS官方立场,所有信息应以原版白皮书为准。
EOS所使用的编程语言以及虚拟机
首先说明一点,由于EOS的开发仍在在很初级的阶段,而且EOS的白皮书和开发目标似乎仍在不断修改当中。就在几天前,由于性能无法达到要求,BM刚把Wren这个原本打算支持的虚拟机从代码库和白皮书里移除(Commit:7B3A8F4)。所以,EOS在一年后上线具体将会支持哪种语言和虚拟机仍然存在很大的变数,本文仅以现有的资料进行解读,当然我们的微信公众号“Hi区块链”会持续跟踪报道EOS的最新信息。
目前,从代码库里可以看到EOS将会支持WebAssembly以及EVM,由于EOS的超前架构——虚拟机和EOS系统架构,共识层之间是互相分离的。增加更多虚拟机的支持并不需要太多的修改,所以增加更多的虚拟机和语言并不是问题。在这里我们先谈一下这两种目前支持的虚拟机。
WebAssembly(WASM)
WebAssembly是一种新的高性能底层二进制语言,在2015年面世,其他高级编程语言如C、C++、RUST等都可以编译成WASM格式的字节码,然后使用WASM格式的二进制文件在EOS平台上的WASM虚拟机运行。如开发者使用C++开发,他只需要将C++代码译为LLVM中间代码然后再编译成为WASM格式的字节码即可,其他所支持的语言做法都差不多,这些都有完善编译工具链支持。所以,随着WebAssembly支持的语言不断增多,EOS支持的语言也可以持续增加,不需要做任何层面上的修改。作为新一代的跨平台、跨浏览器的底层二进制语言,由于更接近底层,且在JIT(即时编译器)等多种技术的加持下,WebAssembly在各种性能测试中都已经远远超越了JavaScript。在BM的测试中(HTTPS://STEEMIT.COM/EOS/@DANTHEMAN/WEB-ASSEMBLY-ON-EOS-50-000-TRANSFERS-PER-SECOND),使用WASM构建的智能合约在一台2014年出产的装有I7处理器的电脑中运行,EOS平台的每秒交易处理数(Transfers Per Second)达到了5万!而且,这个测试还没有使用并行化技术。考虑到前面章节说的可以EOS平台通过硬件扩容来提升性能,再加上并行化技术,笔者认为仍然有非常大的性能提升可能,想象空间极大。
EVM
EVM是以太坊所使用的虚拟机,使用JavaScript为基础的Solidity语言,由于上面说到的问题,在效能上肯定远远低于WebAssembly。但笔者认为,EVM的角色更多的作用可能是吸引以太坊的开发人员将智能合约转移到EOS上,因为使用同一种语言和虚拟机,在大部分情况下只需要稍做一些适配工作即可轻松迁移,并且在EOS上可以获得百倍甚至千倍于以太坊的性能优势。通过嵌入EVM,只要以太坊上的开发者愿意,就可以让EOS在短时间内吸引大批原以太坊的智能合约应用。
商业友好的授权协议
EOS基于MIT协议发布,MIT协议是最为宽松的开源协议之一,在商业层面上是相当友好的。任何人都可以在源码基础上进行修改,且发布后的作品可以自由选择是否开源,这种做法对于有子链规划的EOS是十分有利的。从最近发布的信息看,除了主链外,EOS还将有很多子链,当然有相当数量的子链可能将涉及公链层次,但也可从中看出EOS生态开放的态度。正如白皮书和之前的文章所述,跨链操作的便利设计可以使公链与采用EOS技术的联盟链或者私链更加容易结合和互相通讯,更友好的授权协定使得商业用户在选择使用哪个产品作为其联盟链或者私链的底层技术时,会更加倾向于采用EOS。
结论
从技术上来看,EOS绝对是一个令人期待的区块链领域的旗舰级产品,无论是从并行化技术还是对WebAssembly虚拟机的支持来看,在智能合约的执行速度和执行效率绝对是高于目前其他任何一个智能合约区块链平台几个数量级。而且,规模效应带来的成本优势,将使智能合约的执行成本远远低于现有平台。从项目规划上来说,如子链以及更加轻便的默克尔证明这些设定,可以看到BM对这个产品的远景规划也相当的宏伟,或许就像其官网标题一样,EOS的目标将会是Decentralize everything——将所有的一切都去中心化。虽然笔者对BM的技术一点都不怀疑,但考虑到EOS仍然处于开发阶段,日后能否取得成功依然存在很多变数,而这些,只能留待时间证明。
全文完。
本系列前两篇地址
EOS.IO白皮书简明导读(一)
EOS.IO白皮书简明导读(二)
(版权所有,谢绝转载。)
扫描二维码,加入小密圈获取最新消息
EOS中国社区QQ群:575404145
Hi区块链,可能是最靠谱不忽悠的区块链资讯平台。
您可以通过长按下方二维码图片或者点击最上方“Hi区块链”来关注本公众号的最新动向。
Hi区块链
YOYOW[优优]群:398446721
BitShares群:578351257
进微信群请加:dacnow