玩币族移动版

玩币族首页 > 新闻观点 >

对话MetaMask联创:为什么MetaMaskSnap如此重要?

编译 & 整理:深潮 TechFlow

最近MetaMask 在 Permissionless II 上发布了 MetaMask Snaps。用户使用该功能,可以实现与比特币和非EVM区块链的互操作等功能。

当行业领先的钱包开始扩展生态,集成更多链上的代币和功能,这会是加密货币的“Chrome 扩展”时刻吗?是吸引加密货币下一个十亿用户的方式吗?

在本期节目中,MetaMask的联创 Dan 对新功能Snap进行了深入的介绍,并对其未来的发展和可能的影响进行了展望。

主持人:Ryan, Bankless

主讲人:Dan Finlay,MetaMask 创始人

原标题:《Why MetaMask Snaps is a Big Deal with Co-Founder, Dan FinIay》

MetaMask Snaps的运行原理

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 提到了“蜘蛛网模型”。在这个模型中,不是只依赖于一个单一的安全策略,而是使用多个策略和工具来增强安全性,通过多层的保护和策略,为用户提供更加全面和强大的安全防护。即使某一策略失败或被绕过,其他策略仍然可以为用户提供保护。

MetaMask Snaps 的功能与目的

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更加隐蔽,同时仍然允许用户创建可扩展且安全的合约。

Snaps 开发之旅 & 安全性

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 的未来计划

主持人提到了账户抽象和智能合约钱包的趋势,并询问MetaMask是否有计划进入这个领域。

Dan 解释说,MetaMask团队长期以来的立场是,计划为账户创建一个插件系统。MetaMask不是自己开发这些新型的智能合约账户,他们会提供一个平台,允许其他开发者或团队为MetaMask创建这些账户插件。这种方法可以鼓励创新,并允许多种不同的智能合约账户解决方案在MetaMask上得到实现。

虽然账户抽象和智能合约钱包是一个有趣和有潜力的领域,但MetaMask团队目前的核心焦点是创建一个安全的可扩展内核。这个内核是MetaMask的核心组件,允许它运行第三方代码,如Snaps,同时确保用户的安全。

由于这个核心焦点,Dan认为MetaMask可能不会自己制作最佳的合约账户。相反,他们更倾向于提供一个平台,让社区和其他开发者来创造这些解决方案。

查看更多

知识: 加密货币 钱包 合约 私钥