Vitalik 技术新文:理想钱包的愿景 - 从跨链体验到隐私保护的全方位升级
Dec 03, 2024
特别感谢 Liraz Siri、Yoav Weiss 以及 ImToken、Metamask 和 OKX 开发人员的反馈和审核。
以太坊基础设施堆栈的一个关键层是钱包,但经常被核心 L1 研究人员和开发人员低估。钱包是用户和以太坊世界之间的窗口,用户只能从以太坊及其应用程序提供的任何去中心化、审查阻力、安全、隐私或其他属性中受益,前提是钱包本身也具有这些属性。
最近,我们看到以太坊钱包在改善用户体验、安全性和功能方面取得了很大进展。这篇文章的目的是给出我自己对理想的以太坊钱包应具备的一些特性的看法。这并不是一个完整的列表;它反映了我的密码朋克倾向,它专注于安全和隐私,并且几乎可以肯定它在用户体验方面是不完整的。然而,我认为愿望清单在优化用户体验方面不如简单地根据反馈进行部署和迭代有效,因此我认为关注安全和隐私属性是最有价值的。
跨L2交易的用户体验现在有一个越来越详细的改善跨L2用户体验的路线图,该路线图有短期部分和长期部分。在这里,我将谈论短期部分:即使在今天理论上仍然可以实施的想法。
核心思想是(i)内置跨L2发送,以及(ii)链特定地址和支付请求。您的钱包应该能够为您提供一个地址(遵循本 ERC 草案的风格),如下所示:
当某人(或某些应用程序)向您提供这种格式的地址时,您应该能够将其粘贴到钱包的“收件人”字段中,然后单击“发送”。钱包应该以任何可能的方式自动处理发送的数据:
-
如果您在目标链上已经有足够的所需类型的代币,请直接发送代币
-
如果您在另一条链上有所需类型的代币(或 多个其他链),使用ERC-7683等协议 (实际上是一个跨链DEX)发送代币
-
如果您在同一链或其他链上有不同类型的代币, 使用去中心化交易所将它们转换为正确链上正确类型的货币并发送。这应该需要用户的明确许可:用户将看到他们支付了多少费用,以及接收者收到了多少费用。
具有跨链地址支持的可能钱包接口的模型
上面的内容适用于“您复制粘贴地址(或 ENS,例如, vitalik.eth @ optimism.eth ) 有人向您付款”用例。如果 dapp 请求押金(例如,参见 这个 Polymarket 示例)那么理想的流程是扩展 web3 API 并允许 dapp 发出特定于链的支付请求。然后,您的钱包将能够以任何需要的方式满足该请求。要使用户体验良好,还需要标准化 getAvailableBalance 请求,并且钱包需要认真考虑默认将用户资产存储在哪些链上,以最大程度地提高安全性和转账便利性。