MetaMask Snap 会是加密货币的「Chrome 扩展」时刻吗?是吸引加密货币下一个十亿用户的方式吗?
原标题:《Why MetaMask Snaps is a Big Deal with Co-Founder, Dan FinIay》
主持人:Ryan, Bankless
主讲人:Dan Finlay,MetaMask 创始人
编译 & 整理:深潮 TechFlow
最近 MetaMask 在 Permissionless II 上发布了 MetaMask Snaps。用户使用该功能,可以实现与比特币和非 EVM 区块链的互操作等功能。
当行业领先的钱包开始扩展生态,集成更多链上的代币和功能,这会是加密货币的「Chrome 扩展」时刻吗?是吸引加密货币下一个十亿用户的方式吗?
在本期节目中,MetaMask 的联创 Dan 对新功能 Snap 进行了深入的介绍,并对其未来的发展和可能的影响进行了展望。

Dan 介绍说 MetaMask Snaps 就像是为 MetaMask 钱包设计的插件,其中一个重要功能就是增强交易的安全性。通过 Snaps,用户可以安装交易安全提供商,这些提供商可以模拟交易,预测交易的结果,从而帮助用户避免可能的风险,如网络钓鱼攻击。
Dan 解释了 Snaps 的功能,强调它们为 MetaMask 提供了扩展 API 的能力。目前,有三种主要方式可以使用 Snaps 扩展钱包:
1) 事务安全:Snaps 可以帮助用户确保交易的安全性,预测交易的结果,从而避免风险。
2) 添加集成:Snaps 允许外部开发者为 MetaMask 构建功能插件并为其协议增加支持。当用户登录一个网站时,该网站可以与用户的某个 Snap 互动,而不仅仅是与 MetaMask 提供的 API 互动。例如,Snaps 可以为用户提供签名和显示确认的功能。
3) 通知:Snaps 还提供了通知功能。例如,有一个名为 Push 的 Snap,允许 Dapps 在获得用户的许可后通知用户相关的信息。
主持人提到,尽管这是 Snaps 的 Beta 版本,但已经有超过 30 种不同的 Snaps 供人们使用和下载。
Dan 详细解释了如何使用 Snaps。当 Dapps 想要与特定的区块链或协议进行交互时,它们可以要求用户安装相应的 Snap,从而获得更加丰富和无缝的体验。
Dan 特别提到了事务洞察功能,该功能允许用户在确认交易之前预览和理解他们即将进行的交易的细节。这让用户能够深入了解交易的内容,用户可以更好地识别这些潜在的恶意交易,并避免受到损失。
在增加钱包安全性方面,Dan 提到了「蜘蛛网模型」。在这个模型中,不是只依赖于一个单一的安全策略,而是使用多个策略和工具来增强安全性,通过多层的保护和策略,为用户提供更加全面和强大的安全防护。即使某一策略失败或被绕过,其他策略仍然可以为用户提供保护。
Dan 重点介绍了 MetaMask 目前用户可用的功能和目的,具体包括:可以兼容的链、实现兼容的方式。
在兼容链的方面,MetaMask 已经做出了显著的扩展和进步。Dan 强调,为了使更多的人能够安全、轻松地使用加密货币,他们提供了一系列的安全工具,旨在降低新用户进入加密货币领域的门槛。通过最新的 Snaps 发布,MetaMask 不仅增强了其功能,还扩展了对多链的支持,从而超越了仅支持 Ethereum 的范围。
他进一步解释,当 MetaMask 考虑添加新功能或与新的区块链网络互动时,他们始终将用户的资金和数据的安全性放在首位。安全性是 MetaMask 团队在开发和发布新功能时始终考虑的核心要素,他们的目标是确保用户在使用 MetaMask 时始终感到安全和自信。
关于实现兼容的方式,Dan 提到,开发者不必为每个应用都制作一个 Snap。Snaps 的目的是扩展钱包的 API 功能,使其更加丰富。开发者可以查看现有的 Snap 菜单,这是一个不断增长的功能集,允许开发者与用户进行更丰富的交互。APIs 设计得非常简单,对于之前使用过 Ethereum 提供者编写 Dapp 的开发者来说应该非常熟悉。
对于那些希望其应用的某个组件能够伴随用户并在其他网站上使用的开发者,尤其是希望使交易更易于阅读的开发者,制作 Snap 是一个很好的选择。
当被问及 Snaps 是否是 MetaMask 团队扩展其开发能力的策略时,Dan 确认这是他们的策略。这种方法使他们能够更迅速地开发和推出用户所需的功能。Dan 提到,为了充分利用区块链的多样性,钱包需要具备灵活性。他们的长期目标是使 Snaps 完全开放,无需许可。
Dan 分享了未来 Snaps 的一些设想,例如通过链接引导用户,该链接包含推荐的链、Gas 补贴和权限等信息。他还提到,未来的 Snaps 将能够在彼此之间,甚至在钱包之外共享权限。Dan 的愿景是,Snaps 将使 MetaMask 更加隐蔽,同时仍然允许用户创建可扩展且安全的合约。
Dan 介绍了 MetaMask Snaps 的开发过程。Dan 提到,他们大约五年前就有了钱包应该具有可扩展性的想法。在第一年,这个想法听起来很疯狂,但到年底,他们已经建立了一个原型,并开始相信这个功能是可行的。他们的团队最初是在其他工作的同时尝试开发 Snaps 的,但后来决定全力以赴。这是他们第一次为一个特定的功能设立了一个专门的团队。
Dan 多次强调了安全性的重要性。他明确表示,尽管 MetaMask 希望引入新功能和扩展性,但他们绝不会牺牲用户的安全,这是他们在开发过程中的首要考虑因素。
Dan 提到了如何安全地与陌生人、计算机和新软件互动的问题。他解释说,为了解决这些问题,他们实际上构建了一个操作系统内核并将其集成到 MetaMask 中,这个内核允许他们运行第三方代码,但在运行时对其进行严格的限制。
MetaMask 使用了两层的隔离机制来确保第三方代码的安全运行。首先,他们使用了一个 iframe,然后使用了一个基于 JavaScript 语言级别特性的隔离区域。这两层隔离确保了第三方代码只能在严格定义的边界内运行,不能访问或修改 MetaMask 的核心功能或用户的敏感数据。
通过这种方式,即使用户安装了一个恶意的 Snap 或第三方扩展,它也不能超出其被授权的范围进行操作,从而保护了用户的安全。
尽管 MetaMask 已经实现了这些安全措施,但 Dan 表示他们的目标是使系统更加无需许可,同时确保安全性。他们希望能够创建一个分布式的操作系统内核,专门用于处理基于密码学的去中心化协议,同时确保用户的安全。
当主持人询问为什么 Snaps 的开发需要这么长时间时,Dan 解释说,他们面临的不仅仅是开发一个新功能,而是解决一个真正的技术挑战。
Dan 强调,他们正在处理的核心问题实际上是一个复杂的大问题。为了解决这个问题,他们需要进行深入的研究和大量的开发工作。这不仅仅是编写代码,还涉及到密码学、安全性和去中心化技术的深入研究。
Dan 比较了 MetaMask 的设计与硬件钱包的固件层次。他提到,与 Ledger 团队描述如何隔离私钥的方式相似,MetaMask 也采用了类似的方法来确保用户私钥的安全性。
深潮注:「固件层次」是指硬件钱包中用于存储和执行基本操作的软件层,通常负责如何安全地存储、管理和使用私钥。
主持人询问安装 Snap 是否会带来安全风险。Dan 解释说,为了最小化风险,他们采用了两个主要的安全策略。首先,所有的 Snaps 都经过了审计。其次,每个 Snap 都有一组权限列表,这些权限明确了 Snap 可以访问的功能。
Dan 提到,他们希望逐步去中心化审计过程,直到它变成一个基于信任的网络或 DAO。对于那些需要签名功能的 Snaps,它们只能访问与其相关的密钥,而不是用户的所有密钥。
许多 Snaps 需要网络权限,因为它们不能在本地运行。但如果一个 Snap 只需要访问交易数据并不需要网络权限,那么用户的数据实际上是私有的,因为它不能发送到外部服务器。
主持人询问,如果安装了一个不需要密钥签名的 Snap,例如一个模拟交易的 Snap,那么这会带来什么风险?Dan 解释,这种 Snap 需要访问交易数据来进行模拟,但它不会访问用户的私钥。
主持人提到了账户抽象和智能合约钱包的趋势,并询问 MetaMask 是否有计划进入这个领域。
Dan 解释说,MetaMask 团队长期以来的立场是,计划为账户创建一个插件系统。MetaMask 不是自己开发这些新型的智能合约账户,他们会提供一个平台,允许其他开发者或团队为 MetaMask 创建这些账户插件。这种方法可以鼓励创新,并允许多种不同的智能合约账户解决方案在 MetaMask 上得到实现。
虽然账户抽象和智能合约钱包是一个有趣和有潜力的领域,但 MetaMask 团队目前的核心焦点是创建一个安全的可扩展内核。这个内核是 MetaMask 的核心组件,允许它运行第三方代码,如 Snaps,同时确保用户的安全。
由于这个核心焦点,Dan 认为 MetaMask 可能不会自己制作最佳的合约账户。相反,他们更倾向于提供一个平台,让社区和其他开发者来创造这些解决方案。
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。
