Hi 游客

更多精彩,请登录!

比特池塘 区块链茶馆 正文
最近有很多关于使用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的任何语言进行开发。

    我们期待安全智能合约开发变得更加容易的未来,在那时开发者可以使用他们知道的任何语言开发智能合约。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

笨笨笨丫头2017 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    7