奇叔说币
这个账号,能带你赚钱
分析准确率高达90%!
本文首发于公众号@奇叔说币。个人建议,仅供参考,不构成投资建议,风险自担。
波场虚拟机TVM于2018年7月30日上线了全新版本。
看到这里头脑模糊的人不禁要问,“虚拟机”是什么?“区块链虚拟机”又是什么?听说过EVM,这个TVM又有什么意义?
首先,关于虚拟机,维基百科给出的定义是:在计算机科学中的体系结构里,是指一种特殊的软件,可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个软件所创建的环境来操作软件。
那么,接下来通过几个问题一层层搞明白波场虚拟机TVM:
1.虚拟机是什么? 2.区块链虚拟机是什么? 3.波场虚拟机是什么?
1何谓虚拟机
首先要想了解虚拟机是什么,就要知道为什么会有虚拟机这个东西的产生。
假使,你是一个程序员,你有一台安装了Windows系统的PC。但因工作要求,你现在需要不同的操作系统完成工作,同时公司经费有限,不可能提供给你安装不同操作系统的电脑设备。那么现在该怎么办?
没错,虚拟机应运而生。
现在的你就需要虚拟机,通过虚拟机为你创造环境,你可以运行任何操作系统。
这样理解,是不是就清楚了虚拟机是什么了。简单地说,它就是一个创造环境的软件,让用户可以在不同环境下操作其他软件。
基于这种虚拟机,用户得到最直接的就是:可以运行任何操作系统。所以虚拟机的初衷就是模拟环境,使得不同的操作系统完全可以由一台设备来实现。
因此,虚拟机重点就是四个字:模拟环境。
2区块链虚拟机
之前,虚拟机的含义是运行在隔离环境下的完整计算机系统。可是在区块链领域中,这个意义就被淡化许多。区块链虚拟机,承担的作用其实主要就是一个运行智能合约的作用,本质上来说就是一个代码的运行环境。
要知道区块链虚拟机,首先需要了解区块链技术为什么需要虚拟机?
从区块链演化进程来说:
区块链1.0时代,由比特币开创。这个时段区块链的技术主要是给不同的货币交易提供简单的技术支撑。
区块链2.0时代,由以太坊开发智能合约,以及图灵完备的EVM(一套完整的智能合约运行环境,合约官方语言为Solidity)为标志,虚拟机发展逐渐完善。
区块链3.0时代,以大规模DApp落地应用为特征,而大规模的落地测试则是需要虚拟机来完成的。
由演进过程可以推理出,虚拟机对区块链技术进展的重要性。
区块链技术的发展由1.0时代的支持货币交易开始,历经了2.0时代支撑DApp落地,到3.0时代的大规模DApp落地应用,昭示着区块链技术不断的演变进化。
如今进化至3.0时代,若要实现大规模的DApp落地应用,保证运行稳定且安全,则有一至关重要的步骤:测试,即需要创造一种环境来试验。至此可见,区块链技术进展对虚拟机技术的支撑与渴求。
如上所示,用户是直接在公链主网上看到并使用开发者的DApp,是稳定且安全的产品。对于开发者而言,为保证没有问题,在将自己的DApp落地在一条公链上之前,需要先在虚拟机上进行测试,再运行在公链上。由此可见,区块链虚拟机在DApp落地应用中扮演的角色作用了。
目前,开发出图灵完备的区块链虚拟机的项目并不是很多。自以太坊开发出第一台图灵完备的虚拟机EVM之后,Qtum量子链等后起之秀也纷纷开发了自己的虚拟机,波场只是其中一个。
波场TVM自诩为完全兼容以太坊虚拟机TVM,后期还会兼容更多的主流VM。那么,是什么让波场有这么大的野心呢?
先了解一下以太坊虚拟机(EVM)。
EVM是建立在以太坊区块链上的代码运行环境,其主要作用是处理以太坊系统内的智能合约。简单来说,就是给以太坊汇总智能合约提供一个运行环境。
说道这里,再解释一个词语,这个词语通常和区块链虚拟机分不开,就是智能合约。简单来说,智能合约就是在区块链上运行的程序。
以太坊打造了一个专用于区块链的系统,为了减少资源耗费及保证系统性能,以太坊虚拟机并没有采用模拟完整计算机的模式,而是使用了更为轻量级的虚拟机构架。还推出了基于以太坊电子分布式代码合约的高级程序语言Solidity。
可是EVM在设定时,有很多漏洞的产生,比如只能支持定制的开发语言,一些其他的编程语言却不能移植到EVM上。
而需要提供多语言支持,将更多的智能合约能够部署到区块链虚拟机上的这个需求的提出,EVM就显得有些不够用了,这时候就需要开发出一套支持更所语言的虚拟机。
3波场虚拟机TVM
有了以上的了解,就不难理解接下来要将的波场TRON项目的TVM是如何应区块链技术需求而研发出的,也是自身发展的需要。
2018年6月25日,波场TRON正式启动主网,产生创世块。
2018年7月30日,波场TRON虚拟机TVM全新版本上线。
以下图示为之前波场公布的虚拟机的工作流程图:
TRON智能合约的编译 ---> 虚拟机的执行、计算引擎 ---->虚拟机对外的互操作层
目前波场TRON虚拟机主要兼容的是Solidity语言。翻译器将智能合约翻译成TVM可以识别并且执行的字节码。在虚拟机中,对数据进行操作处理,最终,实现对区块链数据的访问,以及外部数据的接口层的调用。
在波场之前公布的技术文档中,可以看到核心架构这一块,是兼容多种语言的。
TVM的设计理念如下:
而在7月30日最新公布的TVM声明上显示:
波场TRON实现了堆栈式的虚拟机,并且采用优化过的指令集,采用Java语言作为合约语言,后续也加入了更多的高级语言支持,为了让开发者更好的开发DApp。
那么TVM超越EVM的优势或者存在的意义是什么呢?
第一点,自身发展之需要:
波场TRON试图在区块链3.0时代占据一席之地,就需要真正落实到技术的推进,也就是大规模的DApp落地应用,接入波场主网之上。在此之前,为了编译、调试、测试这个步骤,波场TRON有必要开发自己的虚拟机。也就是,因为自身发展之需要,EVM必须存在。
第二点,兼容以太坊虚拟机,甚至更多:
EVM在研发初期,就确定了完美兼容以太坊EVM的目标,事实上也做到了。并且承诺在未来将会兼容更多主流的VM,具有先天的满足多样化任务场景的能力,能够满足未来更多复杂业务的场景对接。
第三点,弥补EVM之不能:
以太坊上的每笔交易都会被收取一定数量的gas,gas的目的是限制执行交易所需的工作量,同时为执行支付费用。而TRON系统中的转账和智能合约的操作是免费的,不需要消耗任何代币,所以原则上在TVM中可执行的计算总量不受代币总量限制。让开发者可以把更多精力放在合约代码的逻辑本身,同时也为开发者提供了友好的一站式的部署、触发、查看智能合约的接口。
总之,TRON兼容现有以太坊的智能合约系统,以太坊中的合约脚本可以轻松移植到TRON中。按照波场TRON的规划,下一步就要兼容EOS的智能合约系统,未来还要兼容更多的。
可以看出,波场的野心是蛮大的,孙宇晨也是蛮聪明的,能够找准现有阶段整个区块链行业发展的契机和行业痛点。
领取专属 10元无门槛券
私享最新 技术干货