출처: 登链社区
계정 추상화가 암호화폐를 더 안전하고 사용하기 쉽게 만드는 방법을 알아보세요. 이는 보안 기능을 높이고 블록체인 채택의 기술적 장벽을 제거합니다.
소개
블록체인 기술은 금융 혁신을 약속하지만 너무 복잡합니다. 사용자는 개인 키를 관리하고, gas 수수료를 이해하며, 수수료 지불을 위해 ETH를 보유해야 합니다. 거래 서명이 복잡하며 한 번의 실수로 자금이 영구적으로 손실될 수 있습니다.
이러한 기술적 장벽은 암호화폐의 광범위한 채택을 방해하고 있습니다. 현재 이더리움에는 약 2.9억 개의 고유 주소가 있지만 그 중 10분의 1도 활성화되지 않았습니다. 왜 그럴까요? 해결책이 있을까요?
Vitalik은 계정 추상화(AA)를 "10년 여정의 정점"이라고 불렀습니다. 이는 암호화폐 사용을 PayPal처럼 간단하게 만들면서도 블록체인의 탈중앙화 특성을 유지합니다. 계정 추상화를 통해 사용자는 맞춤형 스마트 계약을 통해 자신의 블록체인 계정을 관리할 수 있으며, 보안과 유연성이 향상됩니다. 계정 추상화 개념은 대부분의 블록체인 생태계에 적용될 수 있지만, 이 문서에서는 주로 이더리움에 초점을 맞출 것입니다.
그 중요성을 이해하기 위해 먼저 현재의 한계와 변화의 필요성을 살펴보겠습니다.
이더리움 계정 이해하기
이더리움에는 두 가지 유형의 계정이 있습니다:
외부 소유 계정(EOA)
대부분의 사용자는 외부 소유 계정(EOA)을 통해 주 블록체인과 상호 작용합니다. MetaMask, Trust Wallet 및 Coinbase Wallet이 좋은 예입니다.
EOA는 암호화 키 쌍(공개 키와 개인 키)으로 구성된 계정입니다. 공개 키는 EOA 거래의 서명을 확인하는 데 사용되고, 개인 키는 거래에 서명하는 데 사용됩니다. 개인 키에 액세스하면 해당 계정과 관련된 자금과 자산을 제어할 수 있습니다.
블록체인 거래를 수행하려면 사용자는 다음을 해야 합니다:
gas 수수료 지불을 위해 충분한 로컬 토큰 보유
개인 키로 거래에 서명
블록체인 확인 대기
그러나 EOA의 기능은 제한적이며 개인 키를 분실하기 쉽습니다. 또한 일괄 거래 처리, 맞춤형 보안 규칙 설정 또는 gas 수수료 지불을 다른 사람에게 위임할 수 없습니다. 이것이 대안이 필요한 이유입니다.

스마트 계약 계정(CA)
스마트 계약 계정, 또는 스마트 계약 지갑은 블록체인에 배포된 프로그래밍 가능한 계정입니다. 인기 있는 예로는 Safe와 Argent가 있습니다.
스마트 계약 계정은 거래를 수신할 때 기능을 실행합니다. 실행 방식과 복구 메커니즘은 스마트 계약 코드 논리에 의해 제어됩니다.
이러한 지갑은 다음과 같은 기능을 제공합니다:
자동화된 스테이킹
지불 예약
일일 지출 한도 설정
그룹 간 계정 분할
대규모 송금에 대한 다중 서명 요구
그러나 스마트 계약 지갑은 여전히 거래를 시작하기 위해 EOA에 의존합니다. 이는 사용자가 동일한 과제에 직면하지만 기술적 복잡성이 더 높다는 것을 의미합니다. 따라서 진전이 있었지만 여전히 몇 가지 문제가 있습니다.

EOA와 CA의 한계
위의 계정들의 가장 큰 문제는 세 가지 범주로 나뉩니다:
복잡한 키 관리: EOA의 경우 개인 키 또는 니모닉 단어를 분실하면 자금이 완전히 손실될 수 있습니다. 한 번 도난당하면 계정을 복구할 수 없으며, 사용자 오류의 위험이 매우 높습니다.
거래 제한: 대부분의 경우 사용자는 로컬 토큰으로 gas 수수료를 지불해야 하므로 항상 일부 토큰을 보유해야 합니다. 또한 EOA는 사용자가 여러 거래를 일괄 처리할 수 없으며, dApp과의 각 상호 작용에 대해 별도의 승인 거래가 필요합니다.
열악한 사용자 경험: 기술적 장벽은 일반적인 사용과 대규모 채택을 방해합니다. 심지어 단순한 작업에도 여러 단계가 필요하며 프로세스나 다양한 용어의 의미를 설명하는 명확한 문서가 없습니다. 사용자는 혼란스러운 용어로 가득한 인터페이스와 설명이 없는 거래 세부 정보를 자주 접합니다. 복구 옵션이 제한적이어서 대부분의 오류를 되돌릴 수 없습니다.
Cyfrin Updraft의 강좌는 계정 추상화가 해결하고자 하는 문제를 나열하고 더 우아한 솔루션의 필요성을 명확히 합니다.
계정 추상화란 무엇인가?
이더리움 계정 추상화는 이더리움 개선 제안 EIP-4337에 설명되어 있으며, 이를 통해 스마트 계약이 주요 계정 유형이 됩니다. 이는 보안과 유연성을 높이며 다중 서명 승인 및 소셜 복구 메커니즘과 같은 기능을 제공합니다. 그 결과 고급 기능을 갖춘 사용자 친화적인 계정을 만들 수 있습니다.
ERC-4337 계정 추상화
ERC-4337은 이더리움 핵심 프로토콜을 변경하지 않고 작동하는 계정 추상화 제안입니다. 대신 ERC-4337은 중앙화된 대체 메모리 풀을 중심으로 추가 인프라 계층을 만듭니다. 이 계층을 통해 스마트 계약이 **UserOperations**와 상호 작용하고 이를 확인, 실행할 수 있습니다. 이러한 특수한 유사 거래 객체를 통해 스마트 계약이 주요 계정이 될 수 있습니다. 동시에 **Bundlers**는 이를 수집, 집계하고 블록체인에 제출합니다.
이 솔루션의 5가지 구성 요소를 자세히 살펴보겠습니다:
UserOperation은 사용자가 시작한 거래를 나타내는 구조입니다. 혼란을 피하기 위해 "거래"라고 불리지 않습니다. 익숙한 필드(발신자, 대상 주소, 데이터 페이로드, gas 수수료 매개변수, 서명, nonce)가 포함되어 있지만 기능별 추가 필드도 도입되었습니다. 서명 필드 사용은 프로토콜이 아닌 각 계정 구현에 의해 결정됩니다. 이러한 작업은 일반 이더리움 거래와 분리된 "대체 메모리 풀"에 들어갑니다.

Bundlers는 전문 이더리움 노드입니다. 이들은 alt-mempool이라는 독립 메모리 풀을 모니터링하고 여러 UserOperations를 하나의 거래로 결합합니다. 그런 다음 이를 블록체인에 제출하고 거래 수수료를 지불합니다. 보상으로 이러한 작업을 처리하여 수수료를 받습니다.
EntryPoint는 UserOperations를 확인하고 스마트 계정에 전달하여 실행하는 싱글톤 스마트 계약입니다. 각 CA가 gas 수수료를 지불할 수 있는 충분한 자금을 보유하고 있는지 확인합니다. 확인 후 거래를 실행하고 사용자 계정에서 자금을 공제합니다. 그런 다음 Bundler에게 gas 수수료를 환불합니다. 그러나 EntryPoint 계약 논리는 Paymasters를 지원합니다.
Paymaster 계약은 발신자가 아닌 거래 gas 수수료를 지불합니다. 이 설계를 통해 gas 수수료 없이 유연한 지불 정책
可选的 Aggregator 将所有用户签名合并为一个。这使得一组 UserOperations 的验证可以更高效地作为一个整体进行,而不是逐个验证。使用 Aggregator 有助于降低交易成本并提高处理速度。
账户抽象是如何工作的?
以下工作流程展示了这五个组件如何交互:
用户创建 UserOperations 对象。
Bundlers 将多个 UserOperations 组合成一个交易并发送到 EntryPoint 合约。
EntryPoint 启动验证,该验证在 CA 上实现。然后,它通过调用在 CA 上实现的 `execute()` 函数来处理交易。
UserOperations 被执行,触发状态变化。
可选地,Aggregator 聚合签名验证,并由 Paymaster 处理交易费用。

在解释了账户抽象之后,接下来看看它为什么至关重要。
账户抽象的主要好处
区块链账户抽象在三个主要领域带来了重大改进。
更强的安全性
账户抽象通过以下方式提高了安全性:
多重签名支持: 用户可以创建规则,要求多个人在交易执行之前进行批准。每个签名者拥有不同的权限,账户所有者控制支出限额和条件。这防止了未经授权的支出,并保护免受黑客攻击。
社交恢复: 账户持有人选择可信赖的个人(称为"守护者"),如果访问丢失,他们可以共同批准账户恢复。例如,5 位指定守护者中的 3 位可能需要批准恢复。时间锁实现额外保护,通过延迟大额转账消除了因遗忘密码或丢失密钥而造成永久性损失的风险。
更好的密钥管理: 用户可以通过硬件密钥或生物识别技术访问他们的账户。由于使用了多因素认证,即使一种方法被破坏,账户也依然安全。这增强了安全性而不会增加复杂性。
改善用户体验
Web3 账户抽象在三个方面改变了用户与加密货币的交互方式:
简单的入门: 新用户可以使用基本的电子邮件或社交登录开始,系统在后台处理复杂的钱包创建。这使得加密货币的使用与任何移动应用一样简单。没有人需要理解私钥或助记词。
灵活的支付: 用户不再需要持有 ETH 来支付 gas 费用,并且可以用任何 ERC-20 代币 来覆盖 gas 成本。应用程序可以通过赞助交易为其用户支付费用。企业可以为其团队管理费用。
智能交易: 用户可以将多个操作组合成一个批量交易。一个批准覆盖整个操作集,系统找到最佳 gas 价格。这节省了每次交互的时间和金钱。
先进功能
账户抽象通过两个主要升级实现了尖端功能:
可编程规则: 用户可以设置每日支出限额,安排未来的支付,并为不同类型的交易配置规则。例如,小额支付可能只需要一个签名,而大额转账则需要多个批准。
自动化操作: 智能合约功能无需用户输入处理定期支付,复杂交易按照精确顺序执行。用户还可以为特殊情况创建自己的规则。

那么,让我们看看这些理论优势是如何在现实世界中显现的。
现实世界中的账户抽象用例
账户抽象增加价值的显著领域包括:
智能合约钱包:Argent 具有社交恢复、gas 抽象和其他智能功能。Safe 提供多重签名支持、交易批处理和高级控制。
企业:Visa 利用账户抽象改善以太坊上的加密支付。Paymaster 合约覆盖费用,使交易对用户免费,类似于一些借记卡的工作方式。
Web3 游戏:账户抽象消除了加密复杂性,使游戏内购买成为可能,同时管理玩家的 gas 成本。
去中心化金融(DeFi): 平台利用账户抽象启动一键交易和批量批准,同时优化交易成本。

那么,你如何获取更多信息?
开始使用账户抽象
开发者资源
一个好的起点是 EIP-4337 在以太坊官网的条目。它涵盖了使用替代内存池进行账户抽象的动机、规范和基本原理。在那里,你还可以找到参考实现和安全考虑。
接下来,探索 Cyfrin 的全面 账户抽象库 在 GitHub 上。它包含快速入门指南、示例部署和常见问题解答。除此之外,通过我们在 Cyfrin Updraft 上的 全面课程部分 深入了解账户抽象。
但你可能仍然想知道如何构建和部署可编程账户功能。
实施考虑
账户抽象实施的两种主要方法:
以太坊使用外部捆绑器和入口合约
ZKsync 将账户抽象直接构建到链中
如前所述,在以太坊上,用户将操作发送给捆绑器,捆绑器再将其转发给入口合约。入口合约验证并执行交易。而在 ZKsync 上,用户直接将交易发送到链上,由系统合约处理验证和执行。
这两种方法都允许钱包定义交易批准的自定义规则,例如要求多个签名或使用社交登录。
结论
账户抽象改变了用户与区块链的互动方式。它为加密钱包增加了现代金融管理功能,允许用户恢复丢失的账户、设置消费限额,并使用任何代币支付费用。
像 Visa 这样的主要公司今天正在使用账户抽象。游戏使用它来简化复杂性。DeFi 应用使交易变得更加简单。
工具已经存在。标准有效。现在,开发者可以为每个人构建更好的加密应用。实现 web3 的愿景,了解如何将 账户抽象 构建到你的项目中。