在支持智能合约的区块链里,为保持智能合约运行结果的准确性以及安全性,智能合约的运行环境就显得至关重要,因此虚拟机成为了区块链里不可或缺的“组件”。
今天的小课堂主要带大家了解“WASM虚拟机”,这是支持隐私计算的新一代联盟链PlatONE中的重要组件,其快速、安全、可移植等特点使开发者在编写智能合约的过程中更简单、更高效。
WASM虚拟机
WASM是⼀种基于堆栈式虚拟机的⼆进制指令格式,被设计为可以使用高级语⾔(例如:C/C++/Rust)直接编译成WASM中间字节码。WASM虚拟机已经被Google,Facebook,Microsoft等世界顶级互联网公司同时支持,同时也可以在所有流行的浏览器中运行。WASM虚拟机一开始设计的目的是用于解决Web程序日益严峻的性能问题,因其有以下优越的特性,被越来越多的非Web项目所采用。
WASM虚拟机的优势
1、快速、高效、可移植:通过利用常见的硬件能力,WASM代码在不同平台上能够以接近本地速度运行。
2、可读、可调试:WASM是一门低阶语言,但是它有一种人类可读的文本格式,这允许通过人工来写代码、看代码以及调试代码。
3、保持安全:WASM被限制运行在一个安全的沙箱执行环境中。像其他网络代码一样,它遵循浏览器的同源策略和授权策略。
4、不破坏网络:WASM的设计原则是与其他网络技术和谐共处并保持向后兼容。
PlatONE联盟链平台支持WASM虚拟机意味着开发智能合约不再局限于Solidity一门语言,同时可以使用多种高级语⾔,例如:C/C++/Rust等来编写智能合约,最后编译成WASM字节码就可以在PlatONE上运行,极大地降低了入门门槛和开发成本,同时也提高了智能合约的安全性。
且PlatONE联盟链平台同时支持WASM虚拟机与EVM虚拟机,充分降低开发者学习成本,其中WASM合约支持多种高级语⾔开发,编译成「.WASM」格式文件执行。触发WASM合约的交易由共识节点打包,全网节点重复执行验证。WASM合约的状态保存在公共账本中。
可验证合约的开发和发布跟WASM合约没有