当前位置:首页 > 以太坊 > 正文内容

引介 | 为什么我们相信 Wasm 可用作分布式应用开发的基础层

字体+ 编辑:投货币touhuobi 来源:投货币touhuobi2018-09-27 18:10:25我要评论 访问量:

最近有很多关于使用Wasm进行区块链开发的讨论,下面是一些讨论内容: 当前技术的问题 以太坊通过引入 EVM——以太坊智能合约运行环境——开创了分布式应用平台。虽然当时有充分

最近有很多关于使用Wasm进行区块链开发的讨论,下面是一些讨论内容:

当前技术的问题

以太坊通过引入 EVM——以太坊智能合约运行环境——开创了分布式应用平台。虽然当时有充分的理由建立一个易于集成到区块链中的定制化 EVM,但是这种方法存在许多问题:例如,EVM 效率低下,因为它不支持小于 256 位的整数,任何 256 位的操作都必须由 CPU 通过 64 位或者 32 位的操作来执行。同时很有少人有能力扩展 EVM 及其所需工具。

WebAssembly:一种被广泛支持的、高性能的标准

我们相信 WebAssembly(Wasm),以及众多可以被编译成 Wasm 的语言是 EVM 的理想替代品,Wasm 是一种由 W3C 工作组开发的 web 浏览器标准,该工作组由来自 Google,Mozilla 以及其他浏览器的工作人员组成。它的目的是让代码可以被部署在任何浏览器,并得到相同的结果。Wasm 具有极高的性能——它在保持平台独立的同时被构建得尽可能接近原生机器码。它有助于小型二进制文件通过互联网传输到连接速度较慢的设备。无论是 Wasm 的编译团队还是标准化团队,都在这个项目上投入了很多年的工作。

你喜欢使用什么语言开发智能合约?

这可能是最重要的一点,wasm 拓展了智能合约开发者可用的编程语言,Rust,C/C++,C#,Typescript 以及 Kotlin 都可以用来开发智能合约。这意味着你可以使用任何你熟悉的编程语言开发智能合约,但是由于 Rust 运行时开销较小并具备固有安全属性,我们更偏向使用Rust。WebAssembly还具备如下优点:

  • 内存安全(Memory-safe),沙盒化(sandboxed)以及平台独立。
  • 支持 64 位以及 32 位整数操作,操作与 CPU 指令一一对应。
  • 通过移除浮点运算轻松实现确定性,这对于共识算法是必需的。
  • 被 LLVM 编译器基础结构项目支持,这意味着 Wasm 将受益于 LLVM 编译器十几年的优化。
  • 被谷歌,苹果,微软,Mozilla 和 Facebook 等大公司不断开发。

通向支持 Wasm 的道路

虽然 Wasm 自身受益于广泛的支持与集成,但是与 EVM 不同,它不是为了与区块链交互而构建的。Parity 以太坊客户端在 Wasmi 解释器中运行 Wasm 字节码,以保证 Wasm 代码能够访问区块链并与区块链进行交互。现在我们在 Kovan 测试网上测试 Wasm;在该测试网上,EVM 智能合约以及 Wasm 智能合约可以共存甚至互动。以太坊基金会还致力于在 Go 语言版本客户端的 geth 上实现 Wasm 支持,并研究 Wasm 在分片中的用途。

因为我们相信 Wasm 是分布式系统开发的基础,所以下一代区块链互操作性协议 Polkadot 正在从头开始构建支持 Wasm 的版本。Polkadot 智能合约将能够用可以被编译成 wasm 的任何语言进行开发。

我们期待安全智能合约开发变得更加容易的未来,在那时开发者可以使用他们知道的任何语言开发智能合约。

Wasm智能合约的其他资源

  • Wiki:Wasm 资料库以及合约示例
  • 博客:迈向智能合约更光明的未来
  • 教程:在测试网Kovan上使用Wasm编写智能合约
  • 视频:运行使用Rust编写的Wasm智能合约演示

原文链接: https://www.parity.io/wasm-smart-contract-development/
作者: Alexandra Heller
翻译&校对: Aisling & 阿剑


你可能还会喜欢:

教程 | 智能合约灵活升级
教程 | Solidity 中 revert(), assert() 和 require() 的使用方法
干货 | Solidity 安全:已知攻击方法和常见防御模式综合列表,Part-1

1.本站部分内容来源于互联网权威网站,内容具合法性,如需删除请联系我们;

2.文章内容并不代表投货币观点或立场,如有关于文章内容,版权或其它问题请看下方免责声明或联系删除;

[field:keywords/]相关推荐
  • 通告 | Thunder token 招聘公告

    通告 | Thunder token 招聘公告

  • 科普 | Ethereum-Homestead-Guide中文版节选一、以太坊是什么

    科普 | Ethereum-Homestead-Guide中文版节选一

  • 白皮书 | Thunder 共识协议

    白皮书 | Thunder 共识协议

  • 干货 | 运行在区块链上的交易所

    干货 | 运行在区块链上的交易所

  • 干货 | 图灵完备的状态通道的实现办法, Part-1

    干货 | 图灵完备的状态通道的实现办法, Part-1

  • 教程 | 简易锁定合约:Part 2

    教程 | 简易锁定合约:Part 2

  • 教程 | 用 Parity 发送 ERC20 Token

    教程 | 用 Parity 发送 ERC20 Token

  • 引介 | VDF 不是工作量证明

    引介 | VDF 不是工作量证明

  • OneThousand - 去中心化的抽奖

    OneThousand - 去中心化的抽奖

  • 以太黑客:有关区块链、比特币及以太坊的漏洞

    以太黑客:有关区块链、比特币及以太坊的漏洞

  • 采访 Vitalik:下一代密码学货币

    采访 Vitalik:下一代密码学货币

  • 科普 | 释放阻塞的以太坊交易

    科普 | 释放阻塞的以太坊交易

[field:keywords/]精彩看点
  • 引介 | 为什么我们相信 Wasm 可用作分布式应用开发的基础层

    引介 | 为什么我们相信 Wasm 可用作分布式应用

  • 引介 | 数字货币钱包:生态及技术

    引介 | 数字货币钱包:生态及技术

  • 通告 | 每周以太坊,2018-09-21

    通告 | 每周以太坊,2018-09-21

  • 观点 | 一位机构投资者的加密资产观,Part-5:结论及附录

    观点 | 一位机构投资者的加密资产观,Part-5:结论

  • 观点 | 代币化经济学 ,Part-1:不是啥都需要代币化

    观点 | 代币化经济学 ,Part-1:不是啥都需要代币化

  • 观点 | 一位机构投资者的加密资产观,Part-4:价值贮存币

    观点 | 一位机构投资者的加密资产观,Part-4:价值

  • 观点 | 分层

    观点 | 分层

  • 通告 | ScalingNOW!—  扩容解决方案会议总结,Part-2:侧链

    通告 | ScalingNOW!—  扩容解决方案会议总结,Pa

  • 引介 | 剖析以太坊的存储成本

    引介 | 剖析以太坊的存储成本

  • 观点 | 一位机构投资者的加密资产观,Part-3: 作为货币的加密资产

    观点 | 一位机构投资者的加密资产观,Part-3: 作为

  • 通告 | 每周以太坊,2018-09-14

    通告 | 每周以太坊,2018-09-14

  • 引介 | ScalingNOW!—  扩容解决方案会议总结,Part-1:状态通道

    引介 | ScalingNOW!—  扩容解决方案会议总结,Pa