作者:StarkWare / 来源:https://medium.com/starkware/native-account-abstraction-open
翻译:火火/白话区块链
TLDR:
- 区块链走向主流核心的旅程遇到了障碍:安全性和用户体验限制为向更广泛的 Web 2 用户引入区块链设置了障碍。
- 解决方案?帐户抽象(AA)。软件层允许账户具有灵活的设计和可调整的确定性行为,从而彻底改变了区块链格局。
- AA 在以太坊和 Starknet 上可用,但实现方式不同。Starknet 具有原生AA,这意味着所有帐户都是智能帐户。以太坊有ERC-4337,它在不遗漏 EOA 遗产的情况下添加了 AA。在 EOA 继续繁荣的任何环境中,AA 的好处都将大大削弱,哪怕只是因为应用程序必须继续迎合 EOA。
1、EOA 之墙
外部拥有账户(EOA)是以太坊的简单解决方案,用于创建链上用户表示,允许用户与区块链交互并通过将其链接到账户资产来拥有资产。
虽然更简单,但 EOA 的行为是由部署它们的协议预先确定的,因此缺乏根据用户的不同需求进行调整的灵活性。这通常会导致糟糕的用户体验并为大规模采用造成障碍。最大的问题是在协议中确定的:EOA 由一对私钥和公钥控制。必须使用密钥对来发起交易的三个主要问题是:
1)糟糕的用户体验——对于习惯使用更智能、更现代的方法(如 6 位密码或面容 ID)的密钥持有者来说,将私钥保存在安全、谨慎的地方的要求并不直观;使发起交易更具挑战性。
2)除了密钥之外什么都没有——了解私钥的详细信息不仅是发起交易的唯一方法,也是协议识别帐户所有者的唯一方法。这样就会产生安全隐患——如果你的密钥被泄露,你就无法与窃取它的实体区分开来。
3)协议是主人——从上面的例子可以清楚地看出,在 EOA 领域,决定哪笔交易有效的是以太坊协议,而不是开发者。
在大多数链中都会发现将账户行为确定为链协议的一部分而导致的复杂性。
2、打破壁垒:引入帐户抽象
大多数链中都存在由协议引起的问题,而不是由用户决定帐户的行为。早在 2015 年,以太坊联合创始人 Vitalik Buterin 就讨论了这些挑战。他将账户抽象 (AA) 描述为代表一种更简单的账户处理方式的解决方案——减少甚至结束对私钥的依赖。更重要的是,AA 还创造了许多其他好处,使 Web3 用户体验与 Web2 没有区别,从而简化了大规模采用的道路。
多年来,出现了两种重要的 AA 方法,它们都具有相同的目标,即使应用程序开发人员能够设计他们的应用程序并创建更简单的帐户处理方法。
1)ERC-4337
如前所述,EOA 是以太坊不可分割的一部分,它们的行为由以太坊协议定义。除了 EOA 之外,以太坊还有合约,其中可以包含用户定义的代码。
2023 年,以太坊引入了协议升级——ERC-4337——以弥合 EOA 和合约之间的结构性差距,而无需引入重大协议更改。ERC-4337的主要思想是引入一个新角色:The Bundler。Bundler 的作用是收集用户操作(将它们视为收集在专门内存池中的元交易),并将它们从他们自己的(Bundler 控制的)EOA 发送到以太坊。通过这种方式,Bundler 允许开发者和用户部署账户合约并与之交互,并获得 AA 的优势。
通过 ERC-4337 将 AA 引入以太坊,使开发人员能够为合约创建更灵活的行为。然而,以太坊继续维持 EOA。对于开发人员来说,结果是必须同时服务 EOA 和 ERC-4337。在 EOA 更便宜的生态系统中,人们可能会认为 EOA 将保持主导地位,并且应用程序将无法在整个用户群中获得 AA 的真正价值。
跟踪或模拟以太坊的 EVM 链(包括 zkEVM)将经历类似的演变:EOA 将仍然是账户的主要形式,否定了 AA 的好处,并失去了不必解决 EOA 遗留问题的优势。
2)Starknet 的本机帐户抽象
相比之下,Starknet 的核心是 AA:所有账户都是智能账户——没有 EOA。这是一个跳跃到每个帐户都是智能的世界。所有基础设施,包括钱包和区块浏览器,都是为 AA 设计和构建的。这在 L1 和 L2 链中是独一无二的,使 Starknet 成为第一个智能生态系统:构建者可以在知道 AA 适用于所有账户的情况下构建自己的应用程序和工具,并节省工作和服务非 AA 账户的需要。开发者可以设计他们的应用程序,以便从 AA 提供的各种机会中受益,因为他们知道智能帐户是用户与应用程序交互的唯一方式。
Starknet 上的原生 AA 消除了与引入 Bundler 相关的额外复杂性,就像 ERC-4337 所做的那样。无需调整基础设施和工具即可与之交互。这种简化是通过指定 Sequencer 来履行 Bundler 的角色来实现的。
3、账户抽象的三大支柱
AA 包含三个主要组成部分。每个组件都有一个独特的目的,以增强整体用户体验:签名抽象、费用抽象和随机数抽象。
1)签名抽象
签名抽象设计交易流程。定义有效交易的权力掌握在架构师(帐户设计者)手中,无论是开发人员还是用户。这里的主要好处是可以自由定制帐户权限,以及智能手机控制帐户的潜在用途。
2)费用抽象
费用抽象允许使用不同的Token来支付交易费用,而不受网络原生Token的限制。例如,用户可以使用 USDC 支付交易费用,无需先将 USDC 转换为原生Token,从而节省兑换费用和时间。
3)随机数抽象
Nonce Abstraction 确保用户的舒适和便利。传统的顺序随机数解决方案存在一些用户体验缺陷。例如,由于强制执行完整排序,它限制用户同时发送多个独立交易。Nonce Abstraction 通过允许自定义帐户的重放保护机制来提供所需的灵活性。
Rollups,比如 Starknet,可以被认为是区块链操作系统。设计新操作系统时,无需继承以前操作系统的挑战即可实现最佳效果。这相当于建造一栋新房子而不是翻新旧房子。设计新房时,应在蓝图阶段纳入关键基础设施,如电线、管道和供暖系统。仅仅根据已知的未来所需标准进行调整和变通办法来建造新房子是没有意义的。同样的原则也适用于 AA。Starknet 的设计是着眼于未来,我们相信它将成为构建应用程序的标准方式。Starknet 将 AA 作为默认选项,事实上也是唯一的选择,提供了无缝、高效、
看看实施 AA 所带来的功能,很明显,好处是双重的——第一个好处是用户受益于更好的用户体验,另一个好处是开发人员受益,因为他们不需要承受 EOA 遗留问题的负担。
4、正在建设中——Starknet 上的账户抽象实现
Starknet 的智能生态系统已经为增长提供了肥沃的土壤,就像电子支付的引入彻底改变了现金经济一样。最初,软件将记录数字化并简化流程,后来发展成为一套更广泛的系统,用于管理交易、跟踪财务和自动化财务流程。同样,Starknet 的智能生态系统使开发人员能够与各种应用程序和提供商无缝交互。这不仅增强了用户体验,使用户体验更加丰富、更有活力,而且还促进了协作和创新环境,为发展创造了不断增长的沃土。
从以下在 Starknet 原生智能帐户上使用签名抽象所取得的令人兴奋的应用程序进步中可以明显看出:
1)Braavos
Braavos团队使用 Starknet 原生智能账户创建了一款智能钱包,可实现类似 Web2 的体验,允许您使用手机的生物识别功能访问您的钱包。这是令人兴奋的,因为大多数区块链中使用的加密技术与移动设备中使用的加密技术之间的差异通常会导致极其昂贵的签名验证,并且将来可能允许使用手机签署交易,同时保持高水平的安全性。
2)Argent
使用签名抽象带来的另一项创新是ArgentX的监护服务Argent-Shield。这项服务允许用户通过 Argent 作为监护人为其帐户添加另一层保护,只有通过邮件确认的交易,监护人才会批准您的交易。这是我们大多数人在许多非区块链应用程序中熟悉的另一种双因素身份验证机制。
3)VIsa
STARK 证明的发明是为了解决以太坊的可扩展性挑战,旨在实现与 Visa 相同的 TPS 容量。因此,Visa 决定在 Starknet 上进行备受讨论的“自我托管钱包自动支付”探索,这是一个重要的里程碑。这表明了他们对我们尖端技术和创新智能生态系统的认可。
5、结论
Starknet 的生态系统日益壮大,越来越多的开发者利用 Starknet 的原生 AA 以最灵活的方式设计他们的应用程序。与其他提供商整合的机会以及为用户提供更复杂和个性化体验的能力反映了数字经济的无限潜力。
开发人员不需要针对过去的做法制定解决方案。相反,他们可以在专为未来需求而设计的环境中从头开始构建应用程序。