Wasm 历史、未来和在 Web3 面对的挑战

Wasm 允许开发人员用Rust、Go、C和c++等语言编写高性能代码。它已被用于各种行业。在web3世界中,Wasm已被Cosmos、NEAR和Polkadot等区块链项目采用。然而,由于建立可持续信任网络的挑战,Wasm的广泛采用受到限制。以太坊考虑采用Wasm,但决定坚持使用EVM执行。

Wasm 的起源

自 1989 年以来,Web 已经发展了很长一段时间。从最初的简单静态页面到支持数十亿用户的完整应用程序的世界。

因为 Web“应用程序”需要与 HTML 文档中的元素进行动态交互,所以引入了JavaScript。它广受欢迎,并且一度是浏览器中唯一使用的编程语言。

JavaScript 作为一种标准语言很有用,但也有局限性。如果有些开发人员不懂 JavaScript 怎么办?如果 JavaScript 不是某些用例的最佳语言怎么办?

于是诞生了WebAssembly:一种低级、可移植、二进制格式和高级编程语言的编译目标。它高效、安全且灵活。

引入 WebAssembly(Wasm)意味着 JavaScript 不再需要成为 Web 的唯一语言。开发人员可以使用诸如 Rust、Go、C、C++等语言编写高性能代码,并将其编译为 Wasm 模块在浏览器中执行。这为高性能 Web 应用程序(如 3D 图形、视频编辑、游戏等)打开了新的可能性。

Wasm 在 Web2 中的流行程度

Wasm 的故事并没有在浏览器中结束。随着时间的推移,它摆脱了最初目标,并开始为世界上最复杂的分布式应用程序提供动力。

以下是 Wasm 的一些应用方式:

电子商务和后端优化:

  1. Shopify:使用 Wasm 来优化后端操作以提高速度和效率。

设计和协作工具:

  1. Figma:从 asm.js 转向 WebAssembly,使性能提升了三倍
  2. AutoCAD 的迁移:与 Figma 类似,AutoCAD 采用了 Wasm 来解决复杂的 Windows 操作系统依赖性问题。

多媒体和娱乐:

  1. Netflix:采用 Wasm 技术创建沉浸式视频交互,提升用户参与度和娱乐体验。

软件开发和工具:

  1. Adobe:大力投资于 WebAssembly,拓展了在浏览器环境下的软件开发可能性。
  2. Microsoft:将 Wasm 整合到 Azure Functions、Visual Studio Code 和 Edge 中,塑造了现代化的开发工具。

游戏和互动体验:

  1. Unity:使用 Wasm 技术打造跨平台的高性能游戏。
  2. Pinterest:利用 Wasm 技术打造动态用户体验。

基础设施和金融科技:

  1. Fastly/Cloudflare:采用 Wasm 技术提升网络性能,优化内容传输。
  2. Visa:使用 Wasm 技术保障支付处理和保护敏感用户数据的安全。

Wasm 技术在许多领域推动了创新。在电子商务、娱乐、软件开发、游戏、网络和关键系统之间,Wasm 的影响力无疑是革命性的。

Wasm 在 Web3 中的受欢迎程度

快进到 Web3,Wasm 也变得非常受欢迎。在过去五年中,它已成为许多顶级区块链项目的执行环境。以下是一些值得注意的示例:

img

img

img

Wasm 在 Web3 中的受欢迎程度与 Web2 并没有太大差异。高效性、标准化、安全性以及编程语言的灵活性是其受欢迎的原因。以下是 Dfinity 技术负责人(当时)Andreas Rossberg(也是 Wasm 的共同创造者)在 Internet Computer 的愿景 中的表述。

“我们的愿景是,开发者可以使用任何他们喜欢的语言在互联网计算机上进行编程。”

对通用编程语言的支持不仅为 Web3 原生开发者提供了更直观的体验,还可以让数百万新开发者构建链上应用。上述项目(以及其他一些项目,如 Tezos、EOS 等)都认为 Wasm 执行是一个强大的想法。

Web3 中的 Wasm 挑战

但为什么没有数百万开发者在链上构建应用?为什么我们还没有实现大规模采用?等一下 - 先不谈大规模采用 - 为什么 Wasm 在我们这个仍然非常小众的 Web3 世界中甚至都不是最受欢迎的执行环境?

没有人比 EigenLayer 的 Sreeram Kannan更好地阐述了问题的关键所在。从历史上看,要在执行环境(以及任何其他核心基础设施)上进行创新,你必须启动一个去中心化的信任网络。你必须获得一组验证者,并且你必须获得一大笔资金的承诺

这是非常难以持续做到的。启动一个真正去中心化和无许可的信任网络(不靠风险投资或补贴贪图轻松获利者)就像发动一场革命,这需要与工程分布式系统非常不同的技能。

“创建一个去中心化的信任网络就像找到独角兽一样。” — Sreeram Kannan

事实是,很少有区块链项目 - 即使是具有令人印象深刻的技术创新的项目 - 能够启动可持续的信任网络。可以说,迄今为止只有两个区块链做到了这一点:比特币和以太坊。这使得像 Wasm 这样的新执行环境很难达到逃逸速度。

以太坊的 Wasm 实验

一个自然的问题是:“如果 Wasm 执行如此令人向往,为什么比特币和以太坊没有采用它呢?”

对于比特币来说,答案很简单。比特币的信任网络提供了几个关键承诺, 其中之一是“没有硬分叉”。这就立即排除了用更可编程的 Wasm 环境替换比特币有限的脚本环境。

对于以太坊,我们需要回顾一下历史。

以太坊风味的 Wasm(Ewasm)最初在 2015 年提出,并考虑了多年。明确地说,Ewasm 是“以太坊合约中使用的一种受限制的 Wasm 子集”。

Ewasm 项目的目标包括 EVM 转译器、虚拟机实现、嵌入的计量器等。要更好地了解 Ewasm 背后的思想,请查看以下资源:

那么,Ewasm 在哪里?

以太坊基金会最终决定不采用 Ewasm,而是继续使用 EVM 执行。虽然在向后兼容性和执行分片方面确实存在挑战,但这个决定是更广泛战略转变的一部分。这个转变由Vitalik ButerinCasey Detrio探讨过,后来正式制定为“以 Rollup 为中心的以太坊路线图”。

img

一个无需许可的未来

为什么要转变?

当时以太坊社区没有这样表达,但他们已经认识到模块化区块链架构的力量,以及它如何在技术栈的更高层面上实现了无需许可的创新。他们知道这是一种更好的方法。

img

img

回到现在。以太坊正在全力推进以 Rollup 为中心的路线图,以实现可信的中立性、可验证性、安全性和数据吞吐量,同时成千上万个(Rollup)花朵盛开。

与其进行一次执行分片实验,不如让世界上的任何人都可以根据自己的需求自定义一个 Rollup,无论是任何用例。有些 Rollup 将使用 EVM,而其他一些将使用 Wasm。有些 Rollup 将使用欺诈证明,而其他一些将使用零知识证明。有些将成功,有些将失败。但它们都将是无需许可的尝试。

在哪里适用 Fluent ?

在 Fluent 中,我们的使命是将 Wasm 执行引入以太坊。

我们认为 Wasm 团队已经找到了一些方法,并且我们与以太坊的价值观高度一致。我们认为 ZK 技术为解决问题开启了一种新的方式,并且需要提供更好的开发者体验,以解锁对安全区块空间的访问

如果这与你共鸣,请与我们一起构建


本翻译由 DeCert.me 协助支持, 来 DeCert 码一个未来, 支持每一位开发者构建自己的可信履历。

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
翻译小组
翻译小组
0x9e64...7c84
大家看到好的文章可以在 GitHub 提 Issue: https://github.com/lbc-team/Pioneer/issues 欢迎关注我的 Twitter: https://twitter.com/UpchainDAO