云计算 频道

区块链3.0,为什么不了解虚拟机是落伍的?

  1997年,来自斯坦福大学的几个学者联合在ACM操作系统原理研讨会(SOSP)上发表了一篇关于虚拟机的论文。

  这篇论文中的项目有一个复古属性的名字:Disco(迪斯科)。就像迪斯科强烈迷醉的音乐漩涡风靡于上世纪60、70年代一样,虚拟机的概念也在70年代早已有之。

  假设现在你想装修房屋,如果毫无章法地将家具塞满每个角落,你可以想象这会是一场审美和功能的双重悲剧。

  显然你应该摊开草稿,或者打开SketchUp软件模拟一个同样的三维空间,并在上面绘制规划图纸。

  虚拟机就扮演着类似模拟图纸设计的角色。

  它生成现有操作系统的虚拟镜像,具有和真实Windows系统完全一样的功能。

  这为现在的区块链落地应用提供了一种虚拟的测试环境,所以成为区块链重要的技术支撑。

区块链3.0时代,为什么不了解虚拟机是落伍的?

  1. 区块链虚拟机有什么用?

  以太坊时代,区块链虚拟机所承担的主要任务是运行智能合约。本质上,区块链虚拟机就是一个代码的运行环境。

  而在DApp大量涌现的当下,区块链虚拟机开始担当多元角色。

  不妨来看一看区块链虚拟机的进化简史:

  区块链1.0时代:由比特币开创,这个时期的区块链技术主要是为不同的货币交易提供简单的技术支持。

  区块链2.0时代:以以太坊开发智能合约以及图灵完备的EVM(编者按:一套完整的智能合约运行环境,合约官方语言为Solidity)为标志,此时的虚拟机发展已逐渐完善。

  区块链3.0时代:以大规模DApp落地应用为特征,大规模的落地测试需要虚拟机来完成。

  对于开发者而言,为了保证自己的DApp不存在问题,在正式将其落地于一条公链之前,需要先在虚拟机上测试完成后,再运行在公链上。

  当测试DApp确实是稳定且安全的产品后,用户便能直接在公链主网上看到并使用开发者的DApp。

  于是,在区块链3.0时代,虚拟机的竞赛成了公链项目们的另一条赛道。这也像是区块链走向大规模商用的必由之径。

  2. 进化简史

  当一个人说“我开发的新东西是图灵完备的”,一般意味着它在原则上可以解决一般计算性的问题。

  而目前,开发出图灵完备的区块链虚拟机的公链项目其实并不多。

  45区不完全统计发现,自以太坊开发出了第一台图灵完备的虚拟机EVM之后,Qtum量子链、波场、EOS、CMT等项目开发出了自己的区块链虚拟机。

  这些项目都将虚拟机作为自己的原创细节,并试图从不同方面修补EVM的缺陷。

  据45区了解,以太坊虚拟机本身是一个完全独立的沙盒,合约代码可以对外完全隔离并在EVM内部运行。

  由于EVM分散储存在每个节点的计算机上,因此希望创建智能合约的公司可以使用类似于JavaScript和Python等编程语言创建运行于EVM的应用程序。

  同时,以太坊虚拟机又能与主网的其余部分隔离,在运行过程中也不会影响主区块链的操作。

  正因如此,以太坊也获得了“世界电脑”的称号。

区块链3.0时代,为什么不了解虚拟机是落伍的?

  不过,它也存在着一定缺陷,例如EVM常用的Solidity语言缺乏标准库、消耗的gas费用过于昂贵等等。

  “使用以太坊智能合约来验证单个比特币交易的头部将花费3.7亿以太坊gas,这意味着在以太坊上,只是验证交易就需要500美元。”一位资深开发者告诉45区。

  “正因为以太坊上的公钥和私钥算法非常慢且昂贵,所以才没有真正的应用,相比之下,CMT虚拟机的libENI函数可以用底层语言执行,这些操作仅需几毫秒就可以执行完毕,手续费也更低。”CMT团队表示。

  而Qtum虚拟机主打的点是比EVM在调用和引入智能合约时更快、gas price更低,提供一些接地气的底层技术优化方案。

  波场虚拟机则选择了和以太坊上每个操作消耗gas不同的方案,每个交易只是先占据带宽和其他计算资源,并且在交易后的一段时间后释放——这种亮点似乎相当符合波场一直以来的营销敏感。

  CMT所开发的虚拟机还强调优化开发者在开发DApp过程中的综合体验。

  据悉,CMT开发的虚拟机采用的是高级编程语言Lity, Lity通过添加LibENI,可以支持加载本地功能,更方便地增加应用场景的解决方案,从而使开发者在开发复杂的DApp的应用时更加容易。

  同时,相较于EOS虚拟机所使用的C++编程语言而言,Lity对于应用开发者更加友好。

  另一方面,CMT团队还告诉45区,通过编译器和虚拟机优化,Lity可以防止EVM中Solidity语言中出现的常见安全问题。

  例如,Lity编译器可以检查ERC 20和ERC721合约代码中的合规性和已知错误,并及时提醒反馈者,以防止token被意外转到不受支持的合约地址。

  在算法方面,不同于以太坊所使用的POS算法,CMT虚拟机采用的是DPOS共识算法,便于进行扩展和进步。

  3. Killer App和虚拟机

  开发区块链虚拟机对于致力于推动商业场景落地应用的公链来说,打造一个更简洁优雅的DApp测试基础设施,无疑是逻辑自洽的。

  比如波场、Qtum虚拟机都是为了孵化更多DApp,提供一个比现有系统更舒适的开发者环境。

  相比之下,落子电商领域的CMT本身就带着更明显的商用基因,目标是更快推动区块链项目的商业落地。

  尽管CMT也和以太坊一样是底层平台性质,但整个团队对于商用体系建设的设计热情,一直比经济模型设计更有看点。

  它针对电商开发了智能商业合约,而智能商业合约指的就是能够在自己的虚拟机上创建更适合于商业开发者开发的去中心化应用。

  在他们看来,如此一来会诞生更多的业务逻辑,增加区块链应用落地的可能性。

0
相关文章