RootData 2025 Top50 기관 & Top100 프로젝트 발표 【자세히 보기】
API RootData 앱 다운로드

기반 시설이 어떻게 계정 추상화를 통해 수십억 사용자에게 지원을 제공하는가

2024-09-19 11:26:30

공유하십시오

저자: BlockPI Network

상승장이나 하락장에 관계없이 이더리움 생태계는 지속적으로 구축되고 자기 최적화를 이루어 왔습니다. 그 중에서도 계정 추상화(Account Abstraction, AA)는 최근 몇 년 동안 중요한 발전을 이루었으며, 애플리케이션, 인프라, 사용자 및 개발자를 포함한 이더리움 생태계의 여러 부분에 침투했습니다. 우리는 AA의 대규모 채택이 블록체인 사용의 장벽을 전반적으로 낮추고, web2의 사용자 경험을 web3 산업에 도입할 것이라고 예상할 수 있습니다.

수십억 달러의 잠재적 가치가 있는 AA 시장의 기회를 잡기 위해 BlockPI는 AA를 인프라 서비스에 통합할 계획입니다. AA 분야에서 통합 혁신을 통해 BlockPI는 AA 사용자에게 더 편리하고 효율적인 블록체인 계약 지갑 계좌 상호작용 방식을 제공하고, 이 산업의 선두주자가 되기를 희망합니다.

이 글에서 BlockPI 팀은 AA에 대한 그들의 이해를 깊이 탐구하고, 인프라 서비스 제공자의 관점에서 생각을 공유할 것입니다.

EOA와 계약 지갑

상승장이나 하락장에 관계없이 이더리움 생태계는 지속적으로 구축되고 자기 최적화를 이루어 왔습니다. 그 중에서도 계정 추상화(Account Abstraction, AA)는 최근 몇 년 동안 중요한 발전을 이루었으며, 애플리케이션, 인프라, 사용자 및 개발자를 포함한 이더리움 생태계의 여러 부분에 침투했습니다. 우리는 AA의 대규모 채택이 블록체인 사용의 장벽을 전반적으로 낮추고, web2의 사용자 경험을 web3 산업에 도입할 것이라고 예상할 수 있습니다.

수십억 달러의 잠재적 가치가 있는 AA 시장의 기회를 잡기 위해 BlockPI는 AA를 인프라 서비스에 통합할 계획입니다. AA 분야에서 통합 혁신을 통해 BlockPI는 AA 사용자에게 더 편리하고 효율적인 블록체인 계약 지갑 계좌 상호작용 방식을 제공하고, 이 산업의 선두주자가 되기를 희망합니다.

이 글에서 BlockPI 팀은 AA에 대한 그들의 이해를 깊이 탐구하고, 인프라 서비스 제공자의 관점에서 생각을 공유할 것입니다.

1. EIP-86

2017년 Vitalik Buterin에 의해 처음 제안되었습니다. 이 제안은 서명 검증 및 nonce 검사를 "추상화"하는 것을 목표로 하는 일련의 변경 사항을 구현하여 사용자가 임의의 서명/nonce 검사를 실행할 수 있는 "계정 계약"을 생성할 수 있게 합니다.

2. EIP-2938

2020년에 제안되었습니다. 이 EIP의 제목은 계정 추상화(Account Abstraction)입니다. AA의 개념은 이 EIP에서 잘 설명되어 있습니다. 새로운 거래인 AA 거래를 도입하며, 거래는 진입점 주소(EntryPoint address)에서 시작되어 AA 계약 지갑을 호출합니다. EIP-2938은 통합된 규격을 제공하고 공식적으로 AA 계정 추상화를 이더리움 합의에 도입합니다. 구체적으로, 이더리움 합의에 두 개의 새로운 연산 코드, 세 개의 전역 변수 및 하나의 다른 유효 페이로드 구조를 도입합니다.

3. EIP-3074

2020년에 제안되었습니다. 이 EIP는 두 개의 EVM 명령어인 AUTH와 AUTHCALL을 도입합니다. AUTH는 ECDSA 서명에 따라 환경 변수를 설정하는 권한을 부여합니다. AUTHCALL은 권한이 부여된 계정이 호출을 전송합니다. 이는 스마트 계약이 EOA를 대신하여 거래를 전송할 수 있게 합니다. 그러나 이는 AA에 대한 완벽한 해결책은 아닙니다. 권한 부여 거래 과정에서 EIP-3074는 원주율 가치 전송에 대한 제한이 있습니다. 또한 사용자가 EOA에 대한 접근 권한을 잃으면 자산을 복구할 수 없습니다. 개인 키가 유출되면 사용자는 모든 자산을 새 계좌로 이전해야 합니다.

합의 계층에서 변경이 필요하거나 제안이 충분히 포괄적이지 않기 때문에 위의 제안은 공식적으로 이더리움 프로토콜에 포함되지 않았습니다. 따라서 이더리움 커뮤니티는 합의를 변경하지 않고 AA를 이더리움 프로토콜에 도입하는 방법을 계속 탐색하며, 궁극적으로 EIP-4337을 제안했습니다.

4. ERC - 4337

EIP-4337은 2021년 9월에 처음 제안되었으며, 2023년 3월에 ERC-4337로 승인되었습니다. 저자는 Vitalik Buterin, Yoav Weiss, Kristof Gazso, Namra Patel, Dror Tirosh, Shahaf Nacson 및 Tjaden Hess를 포함합니다.

EIP-4337은 이더리움 핵심 프로토콜을 변경하지 않고 AA를 도입할 수 있는 혁신적인 제안입니다. EIP-4337은 궁극적으로 ERC-4337 표준이 되었으며, 구축자는 이 표준을 활용하여 자신의 스마트 계약 지갑을 구현할 수 있습니다. 동시에 이 표준은 "Bundlers"와 "UserOperation mempool"을 포함한 몇 가지 추가 인프라를 도입합니다. 이렇게 함으로써, 실제로 블록체인 시스템의 상위 레이어에서 유사한 기능을 가진 이더리움 mempool을 복제합니다. 사용자가 제출하는 것은 더 이상 단일 거래가 아니라 UserOperation입니다. 여러 개의 UserOperations는 하나의 거래로 패키징되어 이더리움으로 전송될 수 있습니다.

ERC-4337의 핵심 역할과 정의

UserOperation: 사용자를 대신하여 전송되는 거래의 구조를 설명합니다. 혼동을 피하기 위해 "transaction"이라는 이름이 아닌, Bundler에 전송되어 다른 UserOperations와 함께 패키징되는 Bundle로 전송됩니다. 그런 다음 Bundle은 별도의 거래로 체인에 전송됩니다.

Sender: UserOperation을 전송하는 계약 계좌입니다. 이 지갑 계약은 ERC-4337 표준에 따라 IAccount 인터페이스를 구성해야 합니다.

EntryPoint: UserOperations 번들을 실행하는 전역 단일 계약입니다. Bundlers/Clients는 지원되는 EntryPoint를 화이트리스트에 추가합니다. 이 계약은 Infinitism 팀에 의해 감사되고 배포가 승인되며, 모든 UserOperations를 처리하고 Wallet Factory, Aggregator, Paymaster와 같은 다른 역할의 계약과 연결합니다. 이 계약은 EVM 호환 체인에서 동일한 주소를 가집니다.

Bundler: mempool에서 여러 UserOperations를 패키징하고 EntryPoint.handleOps() 거래를 생성하는 노드(현재 블록 생성 노드)입니다. Bundler 서비스는 블록체인 노드와 독립적으로 실행될 수 있으며, RPC를 통해 패키징된 UserOperations를 전송합니다.

Aggregator: 계정이 신뢰하는 보조 계약으로, 서명을 집계하는 데 사용됩니다. Bundlers/Clients는 지원되는 서명 집계기를 화이트리스트에 추가합니다. Aggregator는 ERC-4337 표준에 따라 IAggregator 인터페이스를 구성해야 합니다.

Paymaster: Gas를 대신 지불할 수 있는 스마트 계약입니다. EntryPoint 계약에 충분한 ETH를 예치하면 UserOperation의 Gas 비용을 지불할 수 있어 Gas 추상화를 효과적으로 구현합니다. Paymaster는 ERC-4337 표준에 따라 Paymaster 인터페이스를 구성해야 합니다. Paymaster는 Sender와 계약을 체결할 수 있습니다. 예를 들어, Sender가 Paymaster에 USDC를 지불하면 Paymaster는 ETH로 UserOperations의 Gas를 지불합니다. 사실, Paymaster는 ERC-20 토큰이나 다른 체인의 토큰을 포함하여 어떤 토큰도 지원할 수 있습니다.

Wallet Factory: ERC-4337 사용자를 위한 계약 지갑을 생성할 수 있는 스마트 계약입니다. Wallet Factory의 배포는 허가가 필요 없습니다. 체인상의 스마트 계약으로서, 그 코드는 공개되어 있으며 누구나 검토할 수 있습니다. 널리 사용되는 Wallet Factory는 전문가의 철저한 감사를 받아야 합니다.

아래 그림은 EntryPoint 계약이 다른 역할과 어떻게 상호작용하는지를 설명합니다.

Bundlers는 EntryPoint 계약의 handleOps 함수를 호출하며, 이 함수는 UserOperation을 입력으로 받습니다.

handleOps는 체인에서 UserOperation을 검증하고, 지정된 스마트 계약 지갑 주소로 서명되었는지 확인하며, 지갑이 Bundler를 보상할 수 있는 충분한 Gas를 가지고 있는지 확인합니다.

검증이 통과하면 handleOps는 UserOperation의 calldata에 정의된 함수와 입력 매개변수에 따라 스마트 계약 지갑 함수를 실행합니다.

한편, Bundler가 EOA를 사용하여 handleOps 함수를 트리거할 때 Gas 비용이 발생합니다. 스마트 계약 지갑은 자신의 계좌 잔액에서 Bundlers에게 Gas 비용을 지불하거나 Paymaster 계약에 대납을 요청할 수 있습니다. UserOperations는 충분한 Gas가 없으면 체인 외부의 검증 단계를 통과할 수 없으며, 체인에서 거래를 실행하기 전에 실패합니다. 충분한 Gas가 있더라도 UserOperations는 실행 중 런타임 오류 등의 이유로 실패할 수 있습니다. 하나의 UserOperation에 대해, 계약 실행의 성공 여부와 관계없이 EntryPoint 계약은 handleOps 함수를 트리거한 Bundler에게 Gas 비용을 지불합니다.

ERC-4337이 발효된 후, 사용자는 이제 두 가지 방법으로 블록체인 거래를 시작할 수 있습니다. 하나는 전통적인 방법으로, EOA가 직접 거래를 시작하는 것입니다. 다른 하나는 ERC-4337 표준을 사용하여 Bundler를 통해 UserOperation을 시작하는 것입니다. 이후 Bundler는 이를 다른 UserOperations와 패키징하여 체인으로 전송합니다. 다음 흐름도는 일반 EOA가 거래를 전송하는 것과 ERC-4337 계약 지갑이 UserOperation을 전송하는 것 사이의 차이를 설명합니다.

길은 이미 닦였지만, 많은 행인은 없다

ERC-4337은 사용자와 개발자가 이더리움에서 AA를 사용하고 구축할 수 있는 강력한 프레임워크를 제공합니다. 이 프레임워크는 중요한 발전이지만 여전히 해결해야 할 몇 가지 도전과 불확실성이 존재합니다.

AA의 채택은 아직 초기 단계에 있습니다. Dune ERC-4337 분석 패널에 따르면, 체인에서 실행된 UserOperations는 65k+에 불과하며, 그 중 90%는 Polygon에서 발생했습니다. 따라서 현재 실행된 UserOperation의 수는 여전히 매우 적으며, 대부분은 개발자의 테스트에서 비롯된 것이고, 실제 사용자로부터는 극히 일부만 발생하고 있습니다. 우리는 AA가 통합된 제품이 여전히 초기 단계에 있다는 것을 주목하고 있습니다. 현재 Bundlers는 전체적으로 여전히 손실 상태에 있으며, 현재 약 700개 이상의 MATIC의 손실을 보고하고 있습니다. 이는 주로 Polygon의 일부 Bundler가 필요한 Gas를 잘못 예측하여 EntryPoint가 반환하는 Gas가 제출된 Bundle이 소모하는 Gas보다 적게 발생했기 때문입니다. 이 문제는 Bundler 클라이언트 측에서 해결해야 합니다.

그 외에도 해결해야 할 몇 가지 문제가 있습니다. 그 중 하나는 Bundlers가 거래 실패를 처리하는 방법입니다.

여러 UserOperations를 함께 패키징한 후, Bundlers는 먼저 거래를 시뮬레이션하여 계약 실행 실패가 발생할지 여부를 감지하고, Sender 또는 Paymaster가 반환하는 Gas 비용이 지불한 Gas 비용보다 큰지 계산합니다.

이익이 발생할 경우, Bundler는 이 배치의 UserOperations를 하나의 거래로 블록 생성 노드에 제출합니다. 그러나 거래는 여전히 실패할 수 있으며, 이로 인해 Bundler는 Gas 비용을 지불하지만 EntryPoint로부터 Gas를 반환받지 못할 수 있습니다. 예를 들어, 사용자가 서로 다른 Bundlers에 작업을 보낼 수 있습니다. 이익이 발생할 가능성이 있고 시뮬레이션이 성공하면, Bundlers는 이를 체인에 제출합니다. 이 경우, 하나의 UserOperation이 서로 다른 Bundlers에 의해 블록 생성 노드에 동시에 제출되면, 오직 하나의 거래만 성공하게 되며, 이는 오직 하나의 Bundler만 EntryPoint로부터 Gas 비용을 반환받고, 나머지 모든 Bundler는 체인에 실패하여 Gas를 잃게 됩니다. 어떤 사람들은 이러한 행동이 악의적인 공격으로 간주되어야 하며, Bundler가 해당 Sender 주소를 차단하고 향후 요청을 거부할 수 있다고 주장할 수 있지만, 이는 합리적인 해결책이 아닙니다. 사용자가 의도치 않게 이러한 행동을 취할 수 있기 때문입니다. 이 문제는 코드에서 적절히 해결되어야 하며, 아마도 개발 중인 공공 mempool을 통해 구현될 수 있을 것입니다. 또한 거래가 성공적으로 제출되었고 시뮬레이션 결과 이익이 발생할 가능성이 있더라도, Bundlers는 갑작스러운 Gas 변동으로 인해 손실을 입을 수 있습니다.

또 다른 문제는 AA에서 얻을 수 있는 최대 추출 가치(MEV)입니다. 이더리움의 맥락에서 MEV는 일반적으로 채굴자나 다른 거래 처리자가 블록 내 거래의 순서를 조작하거나 블록에 자신의 거래를 삽입하여 추출하는 가치를 의미합니다. 누군가는 MEV의 논리가 AA에도 적용될 수 있다는 점을 주목할 수 있습니다. 이는 AA에서 Bundlers가 UserOps를 자유롭게 정렬할 수 있기 때문에 MEV를 얻을 가능성을 제공하기 때문입니다. 그러나 Bundler가 MEV를 추출할 수 있는지는 충분한 UserOperations를 패키징할 수 있는지에 달려 있습니다. 현재 전체 AA 시장은 여전히 초기 단계에 있으며, 따라서 Bundler MEV도 초기 단계로 간주될 수 있습니다. AA의 MEV는 두 가지 방향으로 발전할 가능성이 있습니다: 하나는 이더리움 메인넷과 유사하게 Flashbots, Ultra Sound 및 BloXroute와 같은 참여자가 포함되는 것이고, 다른 하나는 Bundler 합의를 형성하여 공정한 정렬을 시행하는 것입니다. 후자는 AA에서 MEV를 추출할 가능성을 완전히 제거할 것입니다.

미래 발전

공공 mempool

AA 생태계가 이미 운영되고 있지만, 여전히 많은 개발 작업이 남아 있습니다. 전체 AA 생태계에서 현재 가장 큰 결핍 부분은 공공 mempool입니다. Etherspot 팀, Skandha Bundler 클라이언트의 개발자는 현재 공공 mempool의 p2p 네트워크를 개발하고 있습니다. 공공 mempool의 p2p 네트워크는 올해 8월에 출시될 것으로 예상됩니다.

Bundle 알고리즘

이 과정에서 이더리움 재단은 여러 뛰어난 AA 개발 팀에 자금을 지원했습니다. 현재까지 여러 개의 Bundler 클라이언트가 개발되었으며, 그 중 일부는 이미 매우 성숙해졌습니다. 각각 Candide(파이썬으로 작성된 Voltaire Bundler), Pimlico(타입스크립트로 작성된 Alto Bundler), Etherspot(타입스크립트로 작성된 Skandha Bundler), Stackup(Go로 작성된 Stackup-Bundler) 등이 있습니다.

여기서 패키징 전략 문제에 대해 언급할 수 있습니다. 현재 UserOperations의 수가 적기 때문에 Bundlers는 고정된 시간 간격이나 각 Bundle에 일정 수의 UserOperations를 사용하는 간단한 패키징 논리를 사용할 수 있습니다. 그러나 UserOperations의 수가 증가함에 따라, 특히 공공 mempool이 도입된 이후에는 UserOperations를 선택하고 패키징하는 전략이 더욱 복잡해집니다. 그 이유는 간단합니다: AA 생태계에서는 블록체인 합의 프로토콜과 유사한 메커니즘이 부족하여 Bundler 집단이 어두운 숲이 되었고, 각 Bundler는 자신의 이익에 따라 작업을 우선 처리하며 서로 경쟁하기 때문입니다. 공공 mempool과 대조적으로, 개인 mempool은 더 일찍 등장할 가능성이 있습니다. 왜냐하면 공공 mempool에서 UserOperations를 패키징하는 것이 수익을 내지 못할 경우, 개인 mempool에서 UserOperations를 패키징하는 것은 여전히 수익을 낼 가능성이 있기 때문입니다. 이러한 경우, 해당 Bundler는 패키징할 때 다른 Bundler보다 더 경쟁력이 있습니다.

또한, 공공 mempool의 점진적인 보급에 따라, 그 안의 UserOperations는 다양한 특성을 가지며, 서로 다른 Gas 수익 기대치와 체인에서의 실행 복잡성을 포함합니다. Bundlers는 오프체인 시뮬레이션을 수행하여 다양한 UserOperations 조합의 수익성을 평가하고, 각자의 패키징 전략을 수립할 것입니다. 더 많은 UserOperations를 패키징하면 더 높은 수익을 창출할 수 있지만, 동시에 검증 실패의 위험도 증가합니다. 검증이 통과하더라도, 체인에서의 실행 실패 위험은 여전히 존재합니다. 반대로, 적은 수의 UserOperations를 패키징하는 경우는 그 반대입니다. Bundlers는 자신의 거래 Gas 매개변수를 설정해야 하며, 이는 블록 생성 노드가 이 거래를 실행하는 우선순위에 영향을 미칩니다. 서로 다른 예상 Gas 가격 및 Gas 변동성 조건에서, Bundlers는 서로 다른 패키징 전략을 가질 수 있습니다. 또한 이러한 검증 및 전략 계산은 로컬 하드웨어 계산 자원과 블록체인 노드 자원의 비용을 소모해야 합니다. 게다가, Bundlers는 사용자에게 좋은 사용자 경험을 제공하기 위해 노력해야 하며, 사용자가 UserOperation을 제출한 후 과도한 지연을 겪지 않도록 해야 합니다.

이러한 도전 과제의 해결책은 여전히 불확실하지만, 우리는 AA 산업의 발전과 개발자들의 공동 노력이 궁극적으로 이러한 문제를 해결할 것이라고 자신 있게 말할 수 있습니다.

인프라는 AA에 적응해야 한다

AA는 블록체인 거래 행동에 관련된 다양한 역할을 Sender, Bundlers, Gas 지불자, 계약 지갑, Signers로 추상화하여 사용자가 블록체인을 사용할 때 더 높은 자유도를 가질 수 있도록 합니다. 동시에 인프라 공급자는 시장에 대한 자신의 판단에 따라 이러한 서비스를 독립적으로 배포할 수 있습니다.

AA의 대규모 채택에 적응하기 위해, 인프라 제공자는 최소한 두 가지 기본 서비스를 제공해야 합니다: Bundler 서비스와 Paymaster 서비스입니다.

Bundler 서비스에서 인프라 제공자는 Bundlers와 함께 개인 mempool을 개발하여 좋은 사용자 경험을 제공해야 할 수 있습니다. 구체적으로, 인프라 제공자는 Bundler 서비스의 안정성을 보장하기 위해 다양한 Bundler 클라이언트를 통합해야 합니다. 이러한 Bundler 클라이언트는 현재 사용자에게 ERC-4337 핵심 개발 그룹이 제공하는 몇 가지 표준 JSON RPC 방법을 제공합니다. 앞으로 더 많은 RPC 방법이 사용자에게 제공될 것으로 예상됩니다. 인프라 서비스 제공자는 이 과정에서 이러한 방법에 대한 지원을 적시에 업데이트해야 합니다.

또한, Bundler API와 원시 노드 클라이언트 RPC 간의 최적화도 매우 중요합니다. 현재의 노드 클라이언트는 AA에 대해 최적화되지 않았습니다. 일부 Bundler API 방법은 노드가 AA에 대한 데이터 인덱스를 제공해야 합니다. 예를 들어, 현재 클라이언트는 해시를 통해 UserOperation을 검색할 때 모든 블록의 EntryPoint 계약 로그를 스캔해야 합니다. 데이터 인덱스가 부족하면 이 단일 요청의 하드웨어 자원 소모가 상당히 커지며, 요청의 반환 시간도 길어질 것입니다.

그 외에도, 사용자에게 Gas 없는 사용자 경험과 다양한 서비스를 제공하기 위해, 인프라 제공자는 다양한 Paymaster 서비스 제공자와 협력하여 서로 다른 Paymaster 서비스를 통합해야 합니다. 동시에 시장 수요에 따라 인프라 제공자는 기존 Paymaster 서비스를 기반으로 더 편리한 통합 솔루션을 설계할 수 있습니다. 서명 집계, 지갑 공장 등과 같은 다른 서비스도 인프라의 미래 발전과 통합의 잠재적 방향이 될 수 있습니다.

기반 시설이 어떻게 계정 추상화를 통해 수십억 사용자에게 지원을 제공하는가

펀딩 정보

더보기
$11M 10-10
$460M 10-10
$300M 10-10

최근 출시 토큰

더보기
Animus ANIMUS
10-08
10-08
10-08

𝕏 최신 관심

더보기