mt logoMyToken
시가총액:
0%
FGI:
0%
암호화폐:--
교환 --
ETH Gas:--
EN
USD
APP
Ap Store QR Code

Scan Download

自媒体:波场TRON将于7月30日上线虚拟机全新版本

수집
공유하다

波场TRON|自媒体声音

7月30日,波场团队将更新虚拟机的波场版本。新版本将会从易用性和安全性两方面进行改善,旨在全力支持开发者高效、安全的开发智能合约。

7月30日,波场团队将更新虚拟机的波场版本。新版本将会从易用性和安全性两方面进行改善,旨在全力支持开发者高效、安全的开发智能合约。据了解,波场TRON最终实现的虚拟机中间层,将依次兼容EVM和EOS的虚拟机,吸引更多的开发者到TRON网络,最终构建更加丰富的波场生态。据悉,波场TRON团队于2018年5月25日(北京时间)正式发布了虚拟机Tron Virtual Machine(简称TVM)测试版本。

虚拟机是什么

虚拟机指的是,通过软件模拟的、具备完整硬件系统功能并运行在隔离环境下的完整计算机系统;比如虚拟化物理机VMware、Java虚拟机等。而以太坊虚拟机(Ethereum Virtual Machine,EVM)则是建立在以太坊区块链上的代码运行环境,其主要作用是处理以太坊系统内的智能合约。

简单来说,以太坊虚拟机是一个完全独立的沙盒,合约代码可对外完全隔离并在EVM内部运行。由于EVM分散储存在每个节点的计算机上,所以希望创建智能合约的公司可使用类似JavaScript和Python等编程语言创建运行于EVM的应用程序;同时以太坊虚拟机又能与主网的其余部分隔离,运行时不影响主区块链的操作。出于这个原因,以太坊有时被形容为“世界电脑”。

为了减少资源耗费及保证系统性能,以太坊虚拟机并没有采用模拟完整计算机的模式,而是使用更为轻量级的虚拟机构架。其开发者团队表示,EVM设计的目标是构建具有简单性、确定性、容易优化、节省空间、确保安全等属性且专用于区块链的系统。此外,2017年召开的Devcon3会议上,以太坊开发者还推出了基于以太坊电子分布式代码合约的高级程序语言Solidity,希望借此进一步扩大该技术的应用范围。

理论上以太坊是图灵完备的,其虚拟机为智能合约的实现提供了基础,可实现任何复杂程度的操作。不过它同时也存在着缺陷,比如EVM常用的Solidity语言缺乏标准库、基于栈的架构易于优化但所需opcode更多等。

Tron虚拟机TVM

波场虚拟机(Tron Virtual Machine, 简称TVM),是Tron团队为了满足自身生态发展的需求,开发出的轻量级架构、图灵完备的虚拟机, 旨在为全球百万级的开发者提供一个高效、简单、稳定、安全、且容易优化的区块链专用系统。

TVM能无缝对接现有的开发者生态,并且能满足DPOS共识机制的要求。TVM前期兼容以太坊虚拟机环境。开发者无需学习新的编程语言,就能用 Solidity 等编程语言在熟悉的 Remix 环境中进行智能合约的开发、调试、编译。Tron智能合约编写完毕后,上传到Tron主网当中,在超级代表节点的TVM虚拟机执行,同时保持了对虚拟机外系统环境的隔离性。

此外,TVM 引进了带宽的概念。不同于以太坊EVM的gas消耗模式,Tron系统中的转账和智能合约的操作是免费的,不需要消耗任何代币,所以原则上在TVM中可执行的计算总量不受代币总量限制。

一、TVM设计原则

1.1 轻量级

TVM采用轻量级的虚拟机构架,旨在节省运行空间,减少资源耗费及保证系统性能。

1.2 稳定、安全性

TVM采用了严谨的设计规范,低粒度的底层操作码,保证了每个计算步骤的精确性,最大程度消除产生歧义的空间。 同时出于安全性的考量,TVM的转账与运行合约均不需要消耗代币,只会消耗带宽,避免了针对类似以太坊gas消耗模式的攻击。在保证了每个操作计算步骤的确定性的同时,也保证了带宽消耗的稳定性。

1.3 兼容性

目前,TVM能完美兼容以太坊EVM,并在未来兼容更多主流的VM。因此, 以太坊上的智能合约,能直接运行到TVM上,无缝对接现有的开发者生态,提高开发者的开发效率。开发者无需学习新的编程语言,就能用Solidity 等主流编程语言在熟悉的Remix环境中进行智能合约的开发、调试、编译,将极大缩减开发成本。

1.4 开发人员友好性

TVM的带宽消耗模式减少了合约的开发成本。让开发者可以把更多精力放在合约代码的逻辑本身。同时,TVM提供了对开发者友好的一站式的部署、触发、查看智能合约的接口。

Tron Wallet-CLI中添加了以下对接接口,

  • deploycontract(password, contractAddress, ABI, code, data, value)

  • triggercontract(password, contractAddress, selector, data, value)

  • getcontract(contractAddress)

开发人员可直接调用,完成对智能合约的部署,触发,查看。

二、TVM的运行过程

自媒体:波场TRON将于7月30日上线虚拟机全新版本

图1. Tron Virtual Machine的工作流程

这张图整体描述了Tron Virtual Machine的工作流程:

Tron智能合约的编译 ---> 虚拟机的执行、计算引擎 ---->虚拟机对外的互操作层

简单来说,上面的流程依次是:

1. 目前Tron虚拟机主要兼容Solidity。编译器将Solidity智能合约翻译成TVM可以识别并执行的字节码。

2.在虚拟机中,通过一条条的操作指令码实现对虚拟机栈中数据的操作处理,这个过程相当于实现对一个基于堆栈的有限状态机的逻辑处理。

3.虚拟机通过互操作模块实现对区块链数据的访问,以及对外部数据的接口层的调用。

三、TVM的发展方向

3.1 构建更加友好的调试工具

Tron团队将努力构建完善的调试工具,建立用于调试的标准符号格式或是数据格式。提升开发者在TVM的开发、调试效率。

3.2. 满足更加多样化的任务处理需求

和以太坊上每个操作消耗gas不同,Tron虚拟机对业务的处理并不收费,每个操作只是先占据带宽,并且在交易后的一段时间后释放。开发者们只用相当小的成本 便可设计更加复杂逻辑的智能合约。我们深信,除了数字货币交易的应用场景外,未来的智能合约也能在游戏开发,金融市场风险建模,科学计算等领域发挥重要作用。Tron虚拟机的设计具有先天的满足多样化任务场景的能力,并且在对处理速度,响应时间,对浮点数的支持上作进一步的优化。

3.3. 增加即时编译速度、整合WebAssembly。

增加即时编译的速度能够对本地代码进行更优化地编译,更快速地解读运行代码。

同时,Tron将考虑基于WebAssembly(简称WASM)进一步优化TVM虚拟机。WebAssembly 目前由 Apple、Google、 Microsoft和Mozilla牵头,为突破Web浏览器性能瓶颈而设计,并可由 C/C++ 等语言编译产生。WebAssembly应用在区块链场景上,可以提高基于Web的Dapp的性能。实现整合了WASM的TVM,将会满足未来复杂业务场景对接区块链应用的高性能、高吞吐量要求。

면책 조항: 이 기사의 저작권은 원저자에게 있으며 MyToken을 대표하지 않습니다.(www.mytokencap.com)의견 및 입장 콘텐츠에 대한 질문이 있는 경우 저희에게 연락하십시오
관련 읽을거리