Dan Finlay 自 2016 年起便一直推动 MetaMask 的发展。在此期间,他对安全、分布式、无需许可的计算技术的未来充满热情,并形成了独到的愿景,正通过 MetaMask 将这一愿景付诸实践。 Warpcast: https://warpcast.com/danfinlay
阅读所有文章了解 Snaps 的故事,这对 MetaMask 意味着什么,以及迈向协作未来的下一步。

今天,我们正式在 MetaMask 公开发行版中推出了 MetaMask Snaps 的第一个版本。这是一支出色团队历经多年艰辛努力与原创研究的心血结晶,我很高兴能向大家介绍它的意义、它的诞生历程,以及它未来的方向。
我相信 Snaps 最初的愿景 依然成立。Snaps 是个好主意,正如以太坊是个好主意,正如计算机本身是个好主意:通用思维工具,本就令人叹为观止。
这么多年来,我们一直在努力为以太坊——一台图灵完备的计算机——构建交互界面,但这个界面却始终由一支团队独力完成!显而易见,面向以太坊这样一台开放式机器,理想的钱包必须与它同样灵活,而今天正是迈向这一目标的重要一步。
MetaMask Snaps 是钱包中的一套全新系统,允许用户在运行时自主选择为钱包添加额外的功能增强。 我们在发布时提供了一套 API 及使用这些 API 的合作伙伴,使我们的钱包能够即时支持新的区块链、新的交易安全提供商,以及多种通知系统(包括一个聊天 Snap!)。我们认为这将在可扩展性和安全性方面带来大量新的可能性,但这真的只是一个开始。
对我而言,Snaps 故事中最重要的部分在于:我们现在在钱包的核心拥有了一套系统,让我们能够退后一步,谦逊地邀请社区为最棘手的问题提供他们自己的解决方案。关于未来的交易安全应该是什么样子,我有一些宏大的想法和见解,但这并不意味着它就应该是唯一被验证的方向。我们正在协助引领一种分布式计算的新范式,有许多问题需要创造性的解决方案,因此我依然相信,降低尝试新事物的门槛和成本,能够成为找到那些难题答案的重要加速器。这不是为了技术本身而加速技术,而是为了加速我们在做事方式上寻求改进的过程。
在这个过程中,我曾深入思考:从长远来看,我预期会有更多软件变得开放、易于扩展和互联互通。安全的可扩展性系统理应是一个早已解决的问题,坦率地说,我认为它应该成为软件构建与编写的默认方式,而且我相信从长远来看它终将如此。由于安全可扩展的软件目前还不是唾手可得的通用商品,我为我们的团队感到无比自豪——他们正在帮助开辟一条道路,迈向一个更具协作精神的计算未来。
我们通往 Snaps 的旅程带领我们穿越了计算机历史上一些令人兴奋的角落,也让我们结交了一些珍贵的朋友。在这一过程中,我们与 Agoric 的合作价值无可估量——他们设计了一套 JavaScript 隔离 API,已向 JS 标准委员会 TC-39 提交提案,实现了该 API 的可用 shim,并与我们携手完善了这套系统、LavaMoat 以及我们整体的安全计算方法。我们的 Snaps 系统利用了 Agoric Compartment shim,并在此基础上进一步限制在 iframe 中运行。你可以在这里观看我与 Agoric 首席科学家 Mark Miller 的对话,也可以在这里阅读我们对 Compartment shim 的紫队审计报告。
我们在一段对 WebExtension 而言尤为艰难的时期踏上了这段旅程:谷歌本身提出了对 MetaMask 等扩展程序运作方式的重大改革方案,一度如同悬在整个项目头顶的达摩克利斯之剑,可能成为致命一击(或至少迫使我们迁离扩展平台)。所幸,在很大程度上得益于 Consensys 和谷歌双方极具智慧与远见的商务拓展人员的努力,我们得以在扩展平台的变革方式上找到折中方案,既成全了 MetaMask 的宏大目标,又不损害任何一方的安全理念。
这些变化仍然需要 Consensys 各方的巨大贡献来协助我们应对。推动一项重大举措在 MetaMask 这样一个被大量用户使用的安全关键产品中落地,本已非易事,而同时还要将整个代码库迁移到一个本质上全新的平台,更是难上加难。这一壮举充分证明了 MetaMask 多个团队紧密协作、共担重任的精神——正是为了解锁另一端更令人振奋的工作,我对他们每一位都深怀感激。
Snaps 系统包含了 MetaMask 钱包有史以来最精彩的设计贡献(相关设计改进即将推广到钱包的更多部分!)。从网站向用户提议安装 Snap,到用户安全审查相关风险,再到我们为 Snaps 确认操作提供的可扩展用户界面系统(这一系统还在持续完善中),这一切都是无数次深入的安全设计讨论、用户研究以及无数灵感火花的结晶。我们在这里打造了一套世界级的权限系统,并将继续推动它向更令人期待的方向发展。
即将推出的功能中,我个人最期待的几个 API 包括:新的账户类型(4337,你好)、Snap 自定义资产(Snap 资产目前还不会出现在主代币列表中……但很快就会),以及主屏幕小组件——这些将充分利用我们正在构建的可扩展 UI 框架,而你现在就可以通过 Snaps 支持的自定义确认界面率先体验这一框架。
我们已经准备好了一批经过全面审计的 Snaps,现在就可以体验,强烈推荐大家去试试。从长远来看,我期待一些最有趣的 Snaps 会彻底颠覆我们对这套系统用途的既有认知。在此,我想向 Archis 致敬,他制作了一个利用大语言模型指令钱包执行交易的 Snap 演示。在 AI 浪潮席卷之际,此刻打开钱包进行大胆探索,真可谓恰逢其时。
拥有一套管理安全可扩展性的系统,实际上是一个全新的开始。我们今天发布的每一个 API 都可能催生出一个让 MetaMask 价值倍增的 Snap,但也许更重要的是:有了这个基础,我们可以越来越多地审视钱包中那些我们认为用户理应拥有更多掌控权、或开发者能够发挥更多创造力的部分,然后开放一个 API 方法,让创意涌入,推动产品向新的方向迈进。这不仅仅是一次功能发布,这是产品以一种更加开放、对外协作的姿态迈出的重大转变。 在帮助打造 MetaMask 近八年的历程中,我最大的痛苦之一,就是始终清醒地意识到那片创意的海洋——它就在我们积压工作的触手可及之处,却因为我们对安全与兼容性的日常义务而始终无法触碰。Snaps 是一种谦逊的承认:我们无法独自完成这一切。探索最好的互联网,需要无数创造性的贡献。更何况,就连我自己的想法,我们也来不及一一实现!Snaps 其实暗藏着一点私心:现在,你扩展这款最受欢迎的钱包所需要经历的繁文缛节,将比上周这款全球最受欢迎钱包的创始人还要少。
我认为有必要正视当前 Snaps 系统的一个主要局限。目前,它还无法完全实现无需许可的扩展。可以安装的 Snaps 都是经过我们审核批准的——我们确认它们已通过审计,并以安装提示所说明的各种方式进行了隔离限制。这样做既出于审慎考量,也因为我们对如何为无需许可的版本增加额外安全保障有一些想法,但实现这些想法需要更多时间,而我们希望尽早推出一些成果(毕竟已经等了太久了)。
请不要误解,我们的长远目标是无需许可的计算。促使我踏上 Web3 之旅的一个重要事件,就是曾经有一款好应用被苹果以任意理由拒绝。如今,计算机世界似乎要么是安全的封闭花园,要么是完全不安全但无需许可的开放空间,而我相信我们已经为开辟一片两者皆非的空间奠定了基础,我们的目标正是那片中间地带。安全的、由用户自主掌管的计算时代正在到来,我们诚邀你与我们共同定义它。
如果你是一位希望在这个平台上进行实验的开发者,我强烈建议你安装 Flask——这是我们面向开发者的 MetaMask 发行版。通过它,你可以安装任何 Snap(包括我们尚未审计的),并开始构建属于你自己的 Snap。
总之,这是一个值得庆祝的重要时刻——我们今天让 MetaMask 的功能数量实现了倍增,但有趣的是,最令人期待的部分,无疑是那些尚待在这个平台上构建的东西。所以我满怀喜悦,倍加珍视,对这支才华横溢、充满干劲、让这一伟大壮举成为可能的团队,我心存最深切的感激。我也期待着与大家共同书写这下一个篇章。
AI 翻译。可能包含错误。请务必核实信息。