智能合约开发语言已经被Solidity统治了一段时间,它用于开发可以在以太坊虚拟机EVM上运行的智能合约。不过Solidity有一些严重的问题,包括算术溢出、类型错误以及曾经冻结了3亿美元的delegatecall漏洞。所有这些漏洞都是在开发语言层面存在的问题。换句话说,如果有一个好点的开发语言,本来应该可以创造更安全的智能合约。
Solidity的挑战者终于来了。
ewasm (Ethereum)
ewasm不是一个智能合约开发语言,而是一个编译器的生成目标,它允许以太坊开发者使用其他语言(例如Rust、C++等)开发智能合约并编译为以太坊接受的WebAssembly。
?
ewasm是WebAssembly的一个安全子集,它是web平台上相对新出现的编译目标。方便的是,wams(以及ewasm)模块可以在任何JavaScript项目中使用。对于大多数区块链代码来说,通常75%以上的代码根本都不是智能合约 —— 而是使用JavaScript与智能合约进行通信的代码。ewasm和JavaScript使用同样的绑定和模块支持机制。
eWASM: 以太虚拟机 v2
当前的以太坊虚拟机按顺序处理交易。以太坊网络上的每个节点执行交易并将其存储在区块链上。为了允许通过分片进行 PoS 和并行交易处理 , 以太坊团队计划构建一个名为 eWASM 的新虚拟机。它仍处于研究阶段 , 至少要到 2020 年才能建成 —— 甚至可能需要更长的时间。
这是将智能合约功能引入以太坊 2.0 并使其执行类似于以太坊 1.0 的关键 , 只是更快、更好。
根据 eWASM 的规范 :「要真正使以太坊作为世界计算机 , 我们需要有一个非常高性能的虚拟机。当前的虚拟机体系结构是原始性能的最大阻碍因素之一。WebAssembly 的目标是利用各种平台上可用的通用硬件功能 , 以接近本机速度执行。这将为需要性能 / 吞吐量的各种用途打开大门。」
eWASM 的引入将允许以太坊 2.0 支持智能合约、帐户、状态等。
以太坊产业发展峰会上,以太坊基金会核心开发者Jake Lang指出,现有的以太坊智能合约虚拟机EVM的问题存在种种问题:如过于复杂,性能低,以及仅支持编程语言和开发工具有限。引入WebAssembly,Ewasm恰好能解决这些问题,它能提供可执行的二进制格式、非常类似于传统计算机的体系架构、高效且支持多种编程语言及开发者工具,还能够向后兼容EVM,因此Ewasm是以太坊智能合约的未来。
现在PDX Utopia区块链协议栈已正式支持eWASM智能合约了。
PDX Utopia区块链协议栈,既可以做公有链,也可以做联盟链。既支持Solidity, eWASM,又支持超级账本的chaincode。
币搜:比特币领域的搜索引擎www.btcsearch.com