LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > DC为什么选择使用WebAssembly?

DC为什么选择使用WebAssembly?

2021-03-29 sky110 来源:区块链网络

WebAssembly 是什么?

WebAssembly 简称为 Wasm,是一种用于基于堆栈的虚拟机的二进制指令格式。Wasm 被设计成一个可移植的目标,用于编译高级语言(如 C/ c /Rust),支持在 web 上部署客户端和服务器应用程序。

WebAssembly 有什么特性?

高效

WebAssembly 有一套完整的语义,实际上 wasm 是体积小且加载快的二进制格式, 其目标就是充分发挥硬件能力以达到原生执行效率。

安全

WebAssembly 运行在一个沙箱化的执行环境中,甚至可以在现有的 JavaScript 虚拟机中实现。在web环境中,WebAssembly将会严格遵守同源策略以及浏览器安全策略。

开放

WebAssembly 设计了一个非常规整的文本格式用来、调试、测试、实验、优化、学习、教学或者编写程序。可以以这种文本格式在web页面上查看wasm模块的源码。

标准

WebAssembly 在 web 中被设计成无版本、特性可测试、向后兼容的。WebAssembly 可以被 JavaScript 调用,进入 JavaScript 上下文,也可以像 Web API 一样调用浏览器的功能。当然,WebAssembly 不仅可以运行在浏览器上,也可以运行在非web环境下。

为什么要使用 WebAssembly?

WebAssembly 是一种平台无关的二进制格式,这意味着它可以在它所操作的任何机器上运行相同的指令。区块链需要确定性,以便在点对点网络中的所有节点上进行可靠的状态转换更新,而不强制每个节点运行完全相同的硬件。Wasm 非常适合用于可能不同的机器集之间的可靠性。Wasm 既高效又快速。这种效率意味着它可以作为一团代码上传到链上,而不会造成太多的状态膨胀,同时保持其以接近本机速度执行的能力。

分叉升级

通过在 Substrate 中使用 Wasm,可以支持 DC、Kusama 和许多连接链,这些链可以在不进行硬分叉的情况下升级其 runtime 逻辑。硬分叉是升级区块链的标准方法,由于需要离线协调,它很慢、效率低、容易出错,因此倾向于将多个升级打包到一个大型事件中。通过在链上部署 Wasm,并让节点在特定的块高度自动执行新的逻辑,升级可以是小的、单独的、非常具体的。

—-

编译者/作者:sky110

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...