比特币上的账户抽象:它是如何实际运作的

本文详细阐述了将以太坊账户抽象(EIP-7702和ERC-4337)引入比特币二层网络Citrea的实现。文章解释了这如何改进用户体验、实现Gas代付,并利用Schnorr签名等比特币原生技术,最终贡献于比特币网络的长期安全性。

Image

账户抽象在过去三年里一直是围绕以太坊的讨论焦点。ERC-4337 在应用层引入了智能账户。EIP-7702 更进一步。Pectra 升级允许 EOA 将执行委托给智能合约代码,而无需更改其地址。MetaMask 发布了对 7702 的支持。Ambire 围绕它构建了他们的整个钱包模型。

所有这些都发生在以太坊上。随后我们将其引入了比特币。

我们发布了什么

Citrea 在比特币上运行完整的 EVM。当以太坊通过 Pectra 引入 EIP-7702 时,我们作为 Tangerine 升级的一部分,在 Citrea 上激活了它。这并非一个理论上的兼容性声明。我们编写了实现,7702 授权者的差异大小计算,并运行了包含 precompile 调用和 7702 交易的端到端完整工作流。

结果是 EIP-7702 在 Citrea 上的工作方式与在以太坊上相同。你现有的 EOA 可以临时将其执行委托给智能合约。你可以将多笔交易打包成一笔。你可以让中继器(relayer)支付你的 Gas。你无需部署新的钱包合约或更改你的地址,即可设置自定义的消费策略。

MetaMask 最近在 Citrea 上激活了对 7702 的支持,这并非作为对所有 EVM 链的广泛推广的一部分,而是专门为我们的网络启用。Ambire Wallet 也支持它。如果你在 Citrea 上使用其中任何一个钱包,你就已经可以使用智能账户功能。

为什么它在比特币上更重要

在以太坊上,账户抽象是用户体验(UX)的改进。在比特币 L2 上,它更像是一个先决条件。

比特币用户习惯了一种非常特定的心智模型:你有一个密钥,你签署东西,你拥有你的币。当你将 BTC 存储在冷钱包中时,这个模型是有效的。然而,当你在 Zentra 上借出 ctUSD,在 Satsuma 上提供流动性,以及通过 Clementine 桥接资产时,它就会失效,所有这些操作都需要多次批准、多笔交易和细致的 Gas 管理。

EIP-7702 消除了这种摩擦。用户可以在一次签名操作中,批准一个 Token,将其提供给借贷市场,并启用抵押品——这三个独立的交易。智能账户处理批处理。用户只看到一次确认。

Gas 赞助是另一个方面。在 Citrea 上,交易费用以 cBTC 支付。一个新用户,如果他桥接了比特币并想使用 DeFi,不应该在做任何事情之前就必须弄清楚 Gas 机制。借助 7702,协议或钱包提供商可以为特定操作赞助 Gas,消除了最常见的入职障碍之一。

Precompile 堆栈

在比特币上运行 EVM 意味着要决定以太坊执行环境的哪些部分在此背景下有意义,哪些没有。

我们为 Schnorr 签名验证添加了一个自定义 precompile。Schnorr 是自 taproot 升级以来比特币的原生签名方案。它是 Clementine 用于桥接操作的方案,并且将其作为 precompile 提供,意味着 Citrea 上的智能合约可以直接验证比特币原生签名。这为在桥接本身之外实现更多比特币原生互操作性模式打开了大门。

我们还发布了 P256VERIFY,它是用于 NIST P-256 曲线验证的 precompile。这是 passkey 和 WebAuthn 在底层使用的技术。允许你通过 Face ID 或指纹签署交易的钱包会通过此 precompile 运行签名验证。没有助记词,没有私钥管理,只有绑定到你设备安全 enclave 的生物识别认证。

另一方面,我们去除了 BLS precompile。BLS 对于权益证明系统中的验证者签名聚合很有用,但 Citrea 的安全性来自于比特币和 ZK 证明,而不是验证者集合。没有理由增加这种复杂性。

这些并非随意选择。每个 precompile 都会消耗 ZK 电路内的循环;更多的 precompile 意味着更多的证明时间,这意味着向比特币发布证明的成本更高。我们保留了对比特币原生操作有用的部分,并移除了无用的部分。

ERC-4337 与 7702

这两个标准都在 Citrea 上工作,并且它们解决不同的问题。

ERC-4337 是基础设施层。它引入了一个用于用户操作的 mempool,提交它们到链上的 bundler,以及可以赞助 Gas 的 paymaster。在 Citrea 上,这通过 Pimlico 作为 bundler 和 Safe 作为智能账户实现来支持。如果你正在构建一个需要赞助交易或复杂账户逻辑的应用程序,4337 提供了基础设施。

EIP-7702 是钱包层。它允许现有的 EOA 以每笔交易为基础选择使用智能账户功能。无需迁移,无需新地址。你发送一笔 7702 交易,你的 EOA 临时委托给一个智能合约,交易执行,完成。

对于大多数用户来说,7702 是他们将与之交互的东西。它是 MetaMask 和 Ambire 通过其用户界面(UI)暴露的功能。对于开发者来说,4337 赋予你对账户抽象堆栈更多的控制权。

这在实践中是什么样的

用户下载 MetaMask,连接到 Citrea,并启用智能账户模式。他们现有的地址保持不变。他们前往一个 DeFi 协议,并且不是通过三笔独立的交易进行批准、存款和启用,而是在一笔交易中完成。

一个新用户安装了一个使用 passkey 的钱包。他们用指纹进行认证;钱包创建一个 P256 签名,precompile 验证它,然后他们就链上了。他们从未见过助记词。

一个协议集成商通过 Pimlico 设置了一个 paymaster,这样首次用户就不需要 cBTC 来支付 Gas。用户的首次交易是免费的。协议将此成本作为客户获取费用支付。用户甚至可以通过 paymaster 使用 ctUSD 或其他 Token 支付费用。从他们的角度来看,他们从未接触过 cBTC。

这一切都归结于比特币

这是一个容易被忽视的部分。用户通过 paymaster 用 ctUSD 支付费用。paymaster 将其转换为 cBTC 以覆盖 Citrea 上的实际 Gas 成本。Citrea 批量处理这些交易,生成一个 ZK 证明,并将其发布到比特币,向比特币矿工支付真实的 BTC 费用。

Citrea 上的每笔交易,无论用户支付何种 Token,最终都会转换为 cBTC Gas,这又反馈到比特币交易费用中。Citrea 上越多的活动意味着越多的证明发布到比特币,这意味着矿工获得更多的费用收入。这直接有助于比特币的长期安全预算,随着区块奖励持续减半,它是保持网络安全的因素。

账户抽象使 Citrea 更易于使用。更易于使用意味着更多的用户。更多的用户意味着更多的交易。更多的交易意味着更多的比特币费用。用户体验(UX)层和安全层并非对立,而是相互加强。

所有这些都不需要对比特币的底层进行任何更改。所有这些都运行在 Citrea 的 EVM 上,并将证明发布到比特币。底层保持简单。执行层处理复杂性。

这就是重点。

  • 原文链接: x.com/esadyusufatik/stat...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
esadyusufatik
esadyusufatik
江湖只有他的大名,没有他的介绍。