Token2049 干货演讲:加密钱包大规模采用的挑战和机会

Chang-Wu Chen热度: 12216

在原生交易中,用户首先会生成一个账户地址(EOA),然后使用相应的私钥来为以太坊交易签名,并且该交易格式会遵循以太坊的标准。

原文作者:Chang-Wu Chen,imToken 首席科学家

原文来源:深潮

大家好!很高兴与大家分享关于钱包如何在未来更好地普惠大众的话题,今天我们将主要探讨钱包未来可能面临的一些机会与挑战。在此之前,我们先来关注抽象账户钱包的一些设计概念。

加密钱包

抽象账户与原生交易的不同

在原生交易中,用户首先会生成一个账户地址(EOA),然后使用相应的私钥来为以太坊交易签名,并且该交易格式会遵循以太坊的标准。一旦签名验证通过,这笔交易就会被广播到以太坊网络中,之后由验证者验证交易并收取矿工费,最后执行交易。这就是传统的交易方式。

加密钱包

但今天的重点是抽象账户钱包,所以我们将从这种钱包的交易周期来探讨其与传统方式的不同。可以注意到下图有一个被虚线圈出的区域,这在传统的交易流程中是不存在的。这部分可以视为用户在签署交易时所签署的一个信息,而非传统的以太坊交易标准格式。我将这个信息称作「意图」,即用户所希望执行的动作。在此处,用户会进行签名,这种签名与 EIP-712 的签名方式相似。

加密钱包

接下来,谁将负责收集这些「意图」信息并传送至以太坊节点?抽象账户引入了一个名为 「bundler」的角色,bundler 在链下对这笔交易进行判断,确认其是否能够成功执行,并在成功后是否能够按预期扣除费用。我将这个流程称为「虚拟验证」。它会在交易真正进入交易池之前进行模拟验证。之后,bundler 会将交易发送给相应的节点,然后开始实际的交易执行过程。

相比原生交易,抽象账户带来三大创新:

  • 信息签名环节:与过去不同,之前签名的是交易的标准格式。现在签名的仅仅是一条信息,例如我想转账的目标,而不是完整的以太坊交易内容。
  • 账户与签名者的区分:传统意义上,若没有账户则无 Token。现在的情境下,账户与能签名的使用者(Signer)是两个不同的角色。这带来了两个核心变化:通过合约,我们可以预先创建地址;由于签名者不等同于账户,如果签名密钥丢失,我们可以更换签名者来恢复账户。特别地,关于预生成地址:过去,若想鼓励他人使用钱包,但对方无地址,即便想赠送十元礼物卡也无法实现。但有了预生成地址,当用户创建新钱包时,你就可以直接为其充值
  • Gas 费用的抽象:除了账户的抽象,现如今 Gas 的概念也已抽象化。这意味着你今天支付的矿工费并不必须是 ETH,它可以是 ERC-20 代币,或者任何其他法币。

抽象账户钱包带来的机会与挑战

密钥管理

与钱包紧密相关的一点是密钥管理,这无疑是我们首要考虑的内容。在 Web2 的环境中,已有的规范,如 Passkey、FIDO2 或 WebAuthn,为我们提供了便捷的密钥管理方式。

但抽象账户为密钥管理提供了新的视角。与传统的 ECDSA 签名机制不同,抽象账户引入了合约的能力,支持多种签名算法。例如,手机的安全芯片中就内置有私钥。只要这个私钥算法能被合约验证,手机即可视为硬件钱包,为用户带来了便捷性,免除了记忆助记词的麻烦。

加密钱包

抽象账户允许我们在私钥丢失时替换 Signer,而账户仍保持不变。这增加了钱包的可持续性和可升级性。此外,因为这些账户是基于开源合约开发的,其逻辑和验证方式对于所有用户都是透明的,允许更多的定制化和多样化的前端界面。

例如,可以有移动端应用,也可以有 Web 版本,为用户提供了更多选择和便利。抽象账户的持久性意味着,用户在这些账户上的交易历史或积累的信誉,未来可能会被应用于数字身份验证(DID)上。

地址

传统的区块链地址生成方式是基于公钥的编码方式。只要你知道私钥,你就可以推导出对应的公钥和地址。这种方式的优势在于它为多个链提供了一致性。用户只需管理一个私钥,就可以在多个链上进行操作。

加密钱包

由于合约的使用,抽象账户的地址管理变得复杂。在 EVM 兼容的链上,地址可能仍然是传统的,但在非 EVM 兼容的链上,如 StarkWare 和 zkSync,情况就不同了。尽管存在差异,但通过 ENS 的管理方式,用户仍可以在多个链或 Layer2 解决方案上保持操作的一致性。

加密钱包

原生交易的地址管理方式因其简单性而备受欢迎,但抽象账户为我们带来了新的挑战。如何确保用户在多个链或 Layer2 解决方案上的体验保持一致性,同时还要考虑到合约账户的复杂性,是未来需要解决的问题。

签名信息

加密钱包

签名信息环节在抽象账户中展现了独特的魅力和前景。与传统的原生交易不同,用户不再受限于固定的交易格式,而是可以自由地表达自己的意图和意愿。这种灵活性为区块链交互带来了革命性的变化。

在抽象账户中,签名信息不再仅仅是关于资金转移的指令。用户可以通过签名他们的意图,来指示他们希望执行的操作,无论是在区块链上,还是在其他应用中。这种自由度意味着用户的交互可以在电子邮件、社交平台、消息应用等多种场景中发生。

想象一下,如果用户可以简单地在电子邮件中写明「向 Alice 转账 50 个 ETH」,而不必通过复杂的交易界面,系统会自动识别这个意图,并帮助用户完成交易。这就好比我们在 Google搜索框中输入关键词,而不必担心背后的处理细节。这种模式可以被扩展到各种应用中,让用户在几乎任何地方都能简单、快速地完成区块链交互。

矿工费支付

加密钱包 

支付 Gas 费在区块链交易中始终是个挑战。传统上,用户在执行交易前必须首先确保他们的钱包中有足够的 ETH 来支付交易费用。这无疑给用户带来了额外的麻烦,因为他们首先需要购买 ETH,这可能需要通过法币在交易所进行购买,或者通过其他方式获取。

不过,在抽象账户的框架下,这个问题得到了很大的改善。由于 Paymaster 的存在,用户不再局限于只使用 ETH 来支付交易费,降低了进入门槛和复杂性。同时,抽象账户允许合约有更高的定制性。这意味着合约可以根据特定需求来设计,包括如何收取和支付交易费用。

这种新模式确保用户可以轻松、无缝地进行交易,提高了整体的用户体验。

账户恢复

加密钱包

账户恢复是另一个核心考虑。传统上,我们主要依赖助记词来恢复账户。在抽象账户中,即使签名者(Signer)发生变化,账户的连续性也得以维持。这为我们提供了恢复账户的多种方式,包括多重签名(Multi-Sign)、身份验证技术,甚至链下的解决方案,如 MPC。这大大增强了用户的信心,因为他们知道即使出现问题,也有多种方法恢复账户。

既然抽象账户以合约为基础。这意味着我们可以设计更模块化的合约,并为其增加不同的插件和功能。从用户画像的变化,我们可以看到用户需求的多样性。一个初学者可能需要简单易用的钱包,而随着经验积累和需求的变化,他可能期望钱包能提供更多高级功能,如 DeFi 操作或增强的安全特性。

为了满足不同的用户需求,我们可以设计具有不同模块和功能的合约。通过抽象账户,我们可以更灵活地为用户提供他们所需的服务。

总之,抽象账户带给我们一个更大的好处,就是允许功能和合约的模块化,以进一步实现差异化和定制化。然而,目前面临的挑战是合约执行成本高昂。因此,我们亟需沿着扩容的发展路径,降低交易成本。我预见未来的钱包将更多地依赖 Layer2 技术,特别是在抽象账户的实现和执行方面。

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。
关键字:加密钱包