Wasm 允许开发人员用Rust、Go、C和c++等语言编写高性能代码。在web3世界中,Wasm已被Cosmos、NEAR和Polkadot等区块链项目采用。以太坊考虑采用Wasm,但决定坚持使用EVM执行。
自 1989 年以来,Web 已经发展了很长一段时间。从最初的简单静态页面到支持数十亿用户的完整应用程序的世界。
因为 Web“应用程序”需要与 HTML 文档中的元素进行动态交互,所以引入了JavaScript。它广受欢迎,并且一度是浏览器中唯一使用的编程语言。
JavaScript 作为一种标准语言很有用,但也有局限性。如果有些开发人员不懂 JavaScript 怎么办?如果 JavaScript 不是某些用例的最佳语言怎么办?
于是诞生了WebAssembly:一种低级、可移植、二进制格式和高级编程语言的编译目标。它高效、安全且灵活。
引入 WebAssembly(Wasm)意味着 JavaScript 不再需要成为 Web 的唯一语言。开发人员可以使用诸如 Rust、Go、C、C++等语言编写高性能代码,并将其编译为 Wasm 模块在浏览器中执行。这为高性能 Web 应用程序(如 3D 图形、视频编辑、游戏等)打开了新的可能性。
Wasm 的故事并没有在浏览器中结束。随着时间的推移,它摆脱了最初目标,并开始为世界上最复杂的分布式应用程序提供动力。
以下是 Wasm 的一些应用方式:
电子商务和后端优化:
设计和协作工具:
多媒体和娱乐:
软件开发和工具:
游戏和互动体验:
基础设施和金融科技:
Wasm 技术在许多领域推动了创新。在电子商务、娱乐、软件开发、游戏、网络和关键系统之间,Wasm 的影响力无疑是革命性的。
快进到 Web3,Wasm 也变得非常受欢迎。在过去五年中,它已成为许多顶级区块链项目的执行环境。以下是一些值得注意的示例:
Wasm 在 Web3 中的受欢迎程度与 Web2 并没有太大差异。高效性、标准化、安全性以及编程语言的灵活性是其受欢迎的原因。以下是 Dfinity 技术负责人(当时)Andreas Rossberg(也是 Wasm 的共同创造者)在 Internet Computer 的愿景 中的表述。
“我们的愿景是,开发者可以使用任何他们喜欢的语言在互联网计算机上进行编程。”
对通用编程语言的支持不仅为 Web3 原生开发者提供了更直观的体验,还可以让数百万新开发者构建链上应用。上述项目(以及其他一些项目,如 Tezos、EOS 等)都认为 Wasm 执行是一个强大的想法。
但为什么没有数百万开发者在链上构建应用?为什么我们还没有实现大规模采用?等一下 - 先不谈大规模采用 - 为什么 Wasm 在我们这个仍然非常小众的 Web3 世界中甚至都不是最受欢迎的执行环境?
没有人比 EigenLayer 的 Sreeram Kannan更好地阐述了问题的关键所在。从历史上看,要在执行环境(以及任何其他核心基础设施)上进行创新,你必须启动一个去中心化的信任网络。你必须获得一组验证者,并且你必须获得一大笔资金的承诺。
这是非常难以持续做到的。启动一个真正去中心化和无许可的信任网络(不靠风险投资或补贴贪图轻松获利者)就像发动一场革命,这需要与工程分布式系统非常不同的技能。
“创建一个去中心化的信任网络就像找到独角兽一样。” — Sreeram Kannan
事实是,很少有区块链项目 - 即使是具有令人印象深刻的技术创新的项目 - 能够启动可持续的信任网络。可以说,迄今为止只有两个区块链做到了这一点:比特币和以太坊。这使得像 Wasm 这样的新执行环境很难达到逃逸速度。
一个自然的问题是:“如果 Wasm 执行如此令人向往,为什么比特币和以太坊没有采用它呢?”
对于比特币来说,答案很简单。比特币的信任网络提供了几个关键承诺, 其中之一是“没有硬分叉”。这就立即排除了用更可编程的 Wasm 环境替换比特币有限的脚本环境。
对于以太坊,我们需要回顾一下历史。
以太坊风味的 Wasm(Ewasm)最初在 2015 年提出,并考虑了多年。明确地说,Ewasm 是“以太坊合约中使用的一种受限制的 Wasm 子集”。
Ewasm 项目的目标包括 EVM 转译器、虚拟机实现、嵌入的计量器等。要更好地了解 Ewasm 背后的思想,请查看以下资源:
那么,Ewasm 在哪里?
以太坊基金会最终决定不采用 Ewasm,而是继续使用 EVM 执行。虽然在向后兼容性和执行分片方面确实存在挑战,但这个决定是更广泛战略转变的一部分。这个转变由Vitalik Buterin和Casey Detrio探讨过,后来正式制定为“以 Rollup 为中心的以太坊路线图”。
为什么要转变?
当时以太坊社区没有这样表达,但他们已经认识到模块化区块链架构的力量,以及它如何在技术栈的更高层面上实现了无需许可的创新。他们知道这是一种更好的方法。
回到现在。以太坊正在全力推进以 Rollup 为中心的路线图,以实现可信的中立性、可验证性、安全性和数据吞吐量,同时成千上万个(Rollup)花朵盛开。
与其进行一次执行分片实验,不如让世界上的任何人都可以根据自己的需求自定义一个 Rollup,无论是任何用例。有些 Rollup 将使用 EVM,而其他一些将使用 Wasm。有些 Rollup 将使用欺诈证明,而其他一些将使用零知识证明。有些将成功,有些将失败。但它们都将是无需许可的尝试。
在 Fluent 中,我们的使命是将 Wasm 执行引入以太坊。
我们认为 Wasm 团队已经找到了一些方法,并且我们与以太坊的价值观高度一致。我们认为 ZK 技术为解决问题开启了一种新的方式,并且需要提供更好的开发者体验,以解锁对安全区块空间的访问。
如果这与你共鸣,请与我们一起构建