MetaMask Snap 为什么如此重要?

'MetaMask Snap 为何重要?'

MetaMask Snaps: 一次重要的发布

编译 & 整理:深潮 TechFlow

最近,MetaMask在Permissionless II上发布了MetaMask Snaps,这是一项增强功能,使得用户可以与比特币和非EVM区块链进行互操作,并扩展了MetaMask生态系统。MetaMask作为行业领先的钱包,集成更多链上的代币和功能,这是否意味着加密货币的”Chrome扩展”时刻的到来?是否吸引了下一个十亿用户加入加密货币领域?在本期节目中,MetaMask的联创Dan对新功能Snaps进行了深入介绍,并展望了其未来的发展和可能的影响。

MetaMask Snaps的运行原理

Dan介绍说,MetaMask Snaps就像是为MetaMask钱包设计的插件,其中一个重要功能就是增强交易的安全性。通过Snaps,用户可以安装交易安全提供商,这些提供商可以模拟交易,并预测交易的结果,帮助用户避免可能的风险,比如网络钓鱼攻击。

Snaps具有以下功能,这些功能为MetaMask提供了扩展API的能力:

  1. 事务安全:Snaps可以帮助用户确保交易的安全性,预测交易的结果,从而避免风险。
  2. 添加集成:Snaps允许外部开发者为MetaMask构建功能插件,并为其协议增加支持。当用户登录一个网站时,该网站可以与用户的某个Snap互动,而不仅仅是与MetaMask提供的API互动。例如,Snaps可以为用户提供签名和显示确认的功能。
  3. 通知:Snaps还提供了通知功能。例如,有一个名为Push的Snap,允许Dapps在获得用户的许可后通知用户相关的信息。

主持人提到,尽管这是Snaps的Beta版本,但已经有超过30种不同的Snaps供人们使用和下载。Dan详细解释了如何使用Snaps。当Dapps想要与特定的区块链或协议进行交互时,它们可以要求用户安装相应的Snap,从而获得更加丰富和无缝的体验。特别是,事务洞察功能允许用户在确认交易之前预览和理解即将进行的交易的细节,让用户能够深入了解交易内容,更好地识别潜在的恶意交易,避免受到损失。在增加钱包安全性方面,Dan提到了”蜘蛛网模型”,即使用多个策略和工具来增强安全性,为用户提供更全面和强大的安全防护。

MetaMask Snaps的功能与目的

Dan重点介绍了MetaMask目前可用的功能和目的,包括兼容的链及其实现方式。在兼容链方面,MetaMask已经做出了显著的扩展和进步。为了让更多人能够安全、轻松地使用加密货币,他们提供了一系列的安全工具,旨在降低新用户进入加密货币领域的门槛。通过最新的Snaps发布,MetaMask不仅增强了功能,还扩展了对多链的支持,超越了仅支持Ethereum的范围。

在实现兼容的方式上,开发者并不需要为每个应用制作一个Snap。Snaps的目的是扩展钱包的API功能,使其更加丰富。开发者可以查看现有的Snap菜单,这是一个不断增长的功能集,允许开发者与用户进行更丰富的交互。API设计得非常简单,对于之前使用过Ethereum提供者编写Dapp的开发者来说应该非常熟悉。

对于那些希望让其应用的某个组件伴随用户并在其他网站上使用的开发者,特别是希望使交易更易于阅读的开发者,制作Snap是一个很好的选择。当被问及Snaps是否是MetaMask团队扩展其开发能力的策略时,Dan确认这是他们的策略。这种方法使他们能够更迅速地开发和推出用户所需的功能。Dan提到,为了充分利用区块链的多样性,钱包需要具备灵活性。他们的长期目标是使Snaps完全开放,无需许可。Dan分享了未来Snaps的一些设想,例如通过链接引导用户,该链接包含推荐的链、Gas补贴和权限等信息。他还提到,未来的Snaps将能够在彼此之间,甚至在钱包之外共享权限。Dan的愿景是,Snaps将使MetaMask更加隐蔽,同时仍然允许用户创建可扩展且安全的合约。

Snaps开发之旅与安全性

Dan介绍了MetaMask Snaps的开发过程。大约五年前,MetaMask团队就对钱包具有可扩展性的想法产生了,尽管这个想法在开始时听起来有些疯狂,但到年底,他们已经成功建立了一个原型,并开始相信这个功能是可行的。在最初的阶段,他们的团队是在其他工作的同时尝试开发Snaps的,但后来决定投入全部精力。这是他们第一次为一个特定的功能设立了一个专门的团队。

Dan多次强调了安全性的重要性。他明确表示,尽管MetaMask希望引入新功能和扩展性,但绝不会牺牲用户的安全,这是他们在开发过程中的首要考虑因素。为了解决与陌生人、计算机和新软件互动的安全问题,他们构建了一个操作系统内核,并将其集成到MetaMask中,该内核允许运行第三方代码,但在运行时对其进行严格的限制。

MetaMask使用了两层隔离机制来确保第三方代码的安全运行。首先,他们使用iframe,然后使用基于JavaScript语言级别特性的隔离区域。这两层隔离确保第三方代码只能在严格定义的边界内运行,不能访问或修改MetaMask的核心功能或用户的敏感数据。通过这种方式,即使用户安装了一个恶意的Snap或第三方扩展,它也不能超出其被授权的范围进行操作,从而保护了用户的安全。尽管MetaMask已经实现了这些安全措施,但他们的目标是使系统更无许可,同时确保安全性。他们希望能够创建一个分布式的操作系统内核,专门用于处理基于密码学的去中心化协议,同时确保用户的安全。

当主持人询问为何Snaps的开发需要这么长时间时,Dan解释说,他们面临的挑战不仅仅是开发一个新功能,而是解决一个真正的技术难题。他强调,他们正在处理的核心问题实际上是一个复杂的大问题。为了解决这个问题,他们需要进行深入的研究和大量的开发工作。这不仅仅是编写代码,还涉及到密码学、安全性和去中心化技术的深入研究。Dan比较了MetaMask的设计与硬件钱包的固件层次,即通过类似的方式隔离私钥,MetaMask确保了用户私钥的安全性。

安全性与Snaps安装

主持人询问安装Snaps是否会带来安全风险。Dan解释说,为了最小化风险,他们采用了两个主要的安全策略。首先,所有的Snaps都经过了审计。其次,每个Snap都有一组权限列表,明确了它可以访问的功能。他们希望逐步将审计过程去中心化,发展成一个基于信任的网络或DAO。对于那些需要签名功能的Snaps,它们只能访问与其相关的密钥,而不是用户的所有密钥。

许多Snaps需要网络权限,因为它们不能在本地运行。但如果一个Snap只需要访问交易数据而不需要网络权限,那么用户的数据实际上是私有的,因为它不能发送到外部服务器。主持人问道,如果安装了一个不需要密钥签名的Snap,例如模拟交易的Snap,会带来什么风险?Dan解释说,这种Snap需要访问交易数据来进行模拟,但不会访问用户的私钥。

MetaMask的未来计划

主持人提到账户抽象和智能合约钱包的趋势,并询问MetaMask是否有计划进入这个领域。Dan解释说,MetaMask长期以来的立场是要为账户创建一个插件系统。他们不自己开发这些新型的智能合约账户,而是提供一个平台,让其他开发者或团队为MetaMask创建这些账户插件。这种方法可以鼓励创新,并允许多种不同的智能合约账户解决方案在MetaMask上得以实现。

虽然账户抽象和智能合约钱包是一个有趣且有潜力的领域,但MetaMask团队目前的核心焦点是创建一个安全的可扩展内核。这个内核是MetaMask的核心组件,允许它运行第三方代码,如Snaps,同时确保用户的安全。由于这个核心焦点,Dan认为MetaMask可能不会自己制作最佳的合约账户。相反,他们更倾向于提供一个平台,让社区和其他开发者来创造这些解决方案。

编译 & 整理:深潮 TechFlow

## MetaMask Snaps: 一次重要的发布 
最近,MetaMask在Permissionless II上发布了MetaMask Snaps,这是一项增强功能,使得用户可以与比特币和非EVM区块链进行互操作,并扩展了MetaMask生态系统。MetaMask作为行业领先的钱包,集成更多链上的代币和功能,这是否意味着加密货币的"Chrome扩展"时刻的到来?是否吸引了下一个十亿用户加入加密货币领域?在本期节目中,MetaMask的联创Dan对新功能Snaps进行了深入介绍,并展望了其未来的发展和可能的影响。

### MetaMask Snaps的运行原理 
Dan介绍说,MetaMask Snaps就像是为MetaMask钱包设计的插件,其中一个重要功能就是增强交易的安全性。通过Snaps,用户可以安装交易安全提供商,这些提供商可以模拟交易,并预测交易的结果,帮助用户避免可能的风险,比如网络钓鱼攻击。

Snaps具有以下功能,这些功能为MetaMask提供了扩展API的能力:
- 事务安全:Snaps可以帮助用户确保交易的安全性,预测交易的结果,从而避免风险。
- 添加集成:Snaps允许外部开发者为MetaMask构建功能插件,并为其协议增加支持。当用户登录一个网站时,该网站可以与用户的某个Snap互动,而不仅仅是与MetaMask提供的API互动。例如,Snaps可以为用户提供签名和显示确认的功能。
- 通知:Snaps还提供了通知功能。例如,有一个名为Push的Snap,允许Dapps在获得用户的许可后通知用户相关的信息。

主持人提到,尽管这是Snaps的Beta版本,但已经有超过30种不同的Snaps供人们使用和下载。Dan详细解释了如何使用Snaps。当Dapps想要与特定的区块链或协议进行交互时,它们可以要求用户安装相应的Snap,从而获得更加丰富和无缝的体验。特别是,事务洞察功能允许用户在确认交易之前预览和理解即将进行的交易的细节,让用户能够深入了解交易内容,更好地识别潜在的恶意交易,避免受到损失。在增加钱包安全性方面,Dan提到了"蜘蛛网模型",即使用多个策略和工具来增强安全性,为用户提供更全面和强大的安全防护。

### MetaMask Snaps的功能与目的 
Dan重点介绍了MetaMask目前可用的功能和目的,包括兼容的链及其实现方式。在兼容链方面,MetaMask已经做出了显著的扩展和进步。为了让更多人能够安全、轻松地使用加密货币,他们提供了一系列的安全工具,旨在降低新用户进入加密货币领域的门槛。通过最新的Snaps发布,MetaMask不仅增强了功能,还扩展了对多链的支持,超越了仅支持Ethereum的范围。

在实现兼容的方式上,开发者并不需要为每个应用制作一个Snap。Snaps的目的是扩展钱包的API功能,使其更加丰富。开发者可以查看现有的Snap菜单,这是一个不断增长的功能集,允许开发者与用户进行更丰富的交互。API设计得非常简单,对于之前使用过Ethereum提供者编写Dapp的开发者来说应该非常熟悉。

对于那些希望让其应用的某个组件伴随用户并在其他网站上使用的开发者,特别是希望使交易更易于阅读的开发者,制作Snap是一个很好的选择。当被问及Snaps是否是MetaMask团队扩展其开发能力的策略时,Dan确认这是他们的策略。这种方法使他们能够更迅速地开发和推出用户所需的功能。Dan提到,为了充分利用区块链的多样性,钱包需要具备灵活性。他们的长期目标是使Snaps完全开放,无需许可。Dan分享了未来Snaps的一些设想,例如通过链接引导用户,该链接包含推荐的链、Gas补贴和权限等信息。他还提到,未来的Snaps将能够在彼此之间,甚至在钱包之外共享权限。Dan的愿景是,Snaps将使MetaMask更加隐蔽,同时仍然允许用户创建可扩展且安全的合约。

### Snaps开发之旅与安全性 
Dan介绍了MetaMask Snaps的开发过程。大约五年前,MetaMask团队就对钱包具有可扩展性的想法产生了,尽管这个想法在开始时听起来有些疯狂,但到年底,他们已经成功建立了一个原型,并开始相信这个功能是可行的。在最初的阶段,他们的团队是在其他工作的同时尝试开发Snaps的,但后来决定投入全部精力。这是他们第一次为一个特定的功能设立了一个专门的团队。

Dan多次强调了安全性的重要性。他明确表示,尽管MetaMask希望引入新功能和扩展性,但绝不会牺牲用户的安全,这是他们在开发过程中的首要考虑因素。为了解决与陌生人、计算机和新软件互动的安全问题,他们构建了一个操作系统内核,并将其集成到MetaMask中,该内核允许运行第三方代码,但在运行时对其进行严格的限制。

MetaMask使用了两层隔离机制来确保第三方代码的安全运行。首先,他们使用iframe,然后使用基于JavaScript语言级别特性的隔离区域。这两层隔离确保第三方代码只能在严格定义的边界内运行,不能访问或修改MetaMask的核心功能或用户的敏感数据。通过这种方式,即使用户安装了一个恶意的Snap或第三方扩展,它也不能超出其被授权的范围进行操作,从而保护了用户的安全。尽管MetaMask已经实现了这些安全措施,但他们的目标是使系统更无许可,同时确保安全性。他们希望能够创建一个分布式的操作系统内核,专门用于处理基于密码学的去中心化协议,同时确保用户的安全。

当主持人询问为何Snaps的开发需要这么长时间时,Dan解释说,他们面临的挑战不仅仅是开发一个新功能,而是解决一个真正的技术难题。他强调,他们正在处理的核心问题实际上是一个复杂的大问题。为了解决这个问题,他们需要进行深入的研究和大量的开发工作。这不仅仅是编写代码,还涉及到密码学、安全性和去中心化技术的深入研究。Dan比较了MetaMask的设计与硬件钱包的固件层次,即通过类似的方式隔离私钥,MetaMask确保了用户私钥的安全性。

### 安全性与Snaps安装 
主持人询问安装Snaps是否会带来安全风险。Dan解释说,为了最小化风险,他们采用了两个主要的安全策略。首先,所有的Snaps都经过了审计。其次,每个Snap都有一组权限列表,明确了它可以访问的功能。他们希望逐步将审计过程去中心化,发展成一个基于信任的网络或DAO。对于那些需要签名功能的Snaps,它们只能访问与其相关的密钥,而不是用户的所有密钥。

许多Snaps需要网络权限,因为它们不能在本地运行。但如果一个Snap只需要访问交易数据而不需要网络权限,那么用户的数据实际上是私有的,因为它不能发送到外部服务器。主持人问道,如果安装了一个不需要密钥签名的Snap,例如模拟交易的Snap,会带来什么风险?Dan解释说,这种Snap需要访问交易数据来进行模拟,但不会访问用户的私钥。

### MetaMask的未来计划 
主持人提到账户抽象和智能合约钱包的趋势,并询问MetaMask是否有计划进入这个领域。Dan解释说,MetaMask长期以来的立场是要为账户创建一个插件系统。他们不自己开发这些新型的智能合约账户,而是提供一个平台,让其他开发者或团队为MetaMask创建这些账户插件。这种方法可以鼓励创新,并允许多种不同的智能合约账户解决方案在MetaMask上得以实现。

虽然账户抽象和智能合约钱包是一个有趣且有潜力的领域,但MetaMask团队目前的核心焦点是创建一个安全的可扩展内核。这个内核是MetaMask的核心组件,允许它运行第三方代码,如Snaps,同时确保用户的安全。由于这个核心焦点,Dan认为MetaMask可能不会自己制作最佳的合约账户。相反,他们更倾向于提供一个平台,让社区和其他开发者来创造这些解决方案。