为什么 Gear 会使用 WebAssembly?

  • 概述:WebAssembly(WASM)是W3C开发的标准,定义了一种低级二进制代码格式,可在浏览器或独立虚拟机中运行高性能应用程序。它支持多种编程语言编译,且独立于硬件架构。

  • 快速和安全:WASM通过二进制格式提供接近原生性能的代码执行,传输速度快且体积小。代码在内存安全的沙箱环境中运行,防止数据损坏和安全漏洞。

  • 区块链意义:WASM显著提升区块链交易速度和效率,支持多种语言编写智能合约,提高包容性,解决了传统区块链的可扩展性和效率问题。

  • 安全注意事项:WASM不直接访问计算环境,需通过主机环境提供的功能交互。设计上避免了共享内存模型的漏洞,Gear采用消息传递通信(Actor模型)确保安全。

  • Gear的应用:Gear利用WASM运行智能合约,通过并发计算和消息传递模型避免安全问题,提供高效、安全的区块链解决方案。

总结

概述

WebAssembly (简称 WASM)是W3C 社区开发的一种标准,它定义了一种低级的二进制代码格式,以便在浏览器中运行可执行程序。虽然开发 WebAssembly 是为了使高性能应用程序能够在浏览器中运行,但它自身也可以作为一个独立的虚拟机运行。

WebAssembly 的可执行文件是预编译的,这使我们能够在浏览器中使用各种编程语言构建和运行应用程序。WASM 对于编程语言没有偏好,目前有几十种语言可以编译到 WASM 中,甚至可以在 WASM 中拥有它们的 VM。此外,WASM 是独立于硬件之外的,尽管受到一些限制,但它可以被编译到任何现代架构、桌面甚至移动设备上。

快速和安全

WebAssembly 的主要目标是在浏览器中提供媲美原生性能的可执行代码。使用二进制格式是因为它们传输速度更快,相较于典型的文本和原生代码,它们的格式更小。这意味着程序可以单独传输、兑现和使用,因为它们被分割成更小的部分,并运行独立的并行任务。另外,代码将在一个内存安全的沙箱环境中进行验证和执行,以防数据损坏和安全漏洞。

Wasm 对于区块链的意义

区块链网络得到广泛应用的关键之一就是其最大限度地提高可扩展性,这已经不是秘密了。这是因为速度和交易吞吐量的增加将导致交易成本的降低。传统区块链存在严重的可扩展性问题,正因为如此,它们的交易成本不断增加。以前负责智能合约字节码执行的技术在当下运行缓慢,而且在编译大量代码时效率低下。这意味着区块链技术还有很大的改进空间。

WASM 显著提高了交易速度,这将有助于提高效率。除此之外,WASM 支持用不同语言编写的智能合约,这意味着任何人都可以使用现有程序或用简洁的语言编写新程序,并将其编译以便在 WebAssembly 虚拟机中执行。与基于领域特定语言的解决方案相比,这显著提高了应用程序的包容性。

安全注意事项

WebAssembly 本身并不提供对执行代码的计算环境的环境访问。任何与环境的互动,如 I/O、访问资源或操作系统调用,只能通过调用嵌入到主机环境中的 WebAssembly 来实现提供的功能,并导入到 WebAssembly 模块中。

这样的实现过程定义了如何加载模块,如何提供导入以及如何访问导出。它通过控制或限制导入功能来负责适合于各自环境的安全策略。

由于 WebAssembly 被设计成直接在主机硬件上运行的机器代码,它有可能受到硬件层面上的旁路攻击。当考虑到这一点时,为了实现嵌入式 Wasm,我们可能必须采取适当的缓解措施来隔离 WebAssembly 计算。

研究人员曾报告过,存在与共享内存线程相关的可能的漏洞。Gear 在底层上使用 WebAssembly,在设计上不会受到这些问题的影响。任何 Gear 智能合约都是一个 WebAssembly 程序。作为一个并发计算系统,Gear 使用消息传递通信(Actor 模型),而不是共享内存通信模型。这消除了任何安全问题。

关注 Gear 的GitHub,获取最新资讯!Gear 团队

分享至:

作者:gear-tech

本文为PANews入驻专栏作者的观点,不代表PANews立场,不承担法律责任。

文章及观点也不构成投资意见

图片来源:gear-tech如有侵权,请联系作者删除。

关注PANews官方账号,一起穿越牛熊
推荐阅读
2025-10-01 13:07
2025-09-15 00:34
2025-07-31 08:45
2025-03-12 03:00
2025-03-10 06:19
2025-02-08 09:14

热门文章

行业要闻
市场热点
精选读物

精选专题

App内阅读