Ethereum 계정 추상화에 대한 ERC4337 검토 체계의 해석(1부)
머리말
첫 번째 레벨 제목
2023년 3월 1일 덴버에서 열린 WalletCon에서 이더리움 재단의 개발자들이 설계하고 구현한 ERC-4337 핵심 계약이 OpenZeppelin의 감사를 통과하고 다양한 테스트를 통과했다고 공식적으로 발표되었습니다. Ethereum 네트워크에서 Fangzhunet 및 여러 테스트넷은 Polygon, Optimism, Arbitrum, BNB Smart Chain, Avalanche 및 Gnosis Chain을 포함한 다양한 EVM 호환 체인에서 작동할 수 있습니다.

첫 번째 레벨 제목
1. 계정의 추상적 배경
보조 제목
1.1 재산권의 분리가 계정 추상화의 목표인 이유는 무엇입니까?
현재 이더리움에는 외부 계정(EOA)과 계약 계정(Contract Account)의 두 가지 유형의 계정이 있습니다. 외부 계정의 소유권과 서명 권한은 이론적으로 동일한 개별 단위가 보유하며, 간단히 말해서 개인 키를 보유한 사람은 계정의 "소유권"을 가질 뿐만 아니라 "모든 서명 및 양도" 권한을 가집니다. 자산". 따라서 이더리움의 현재 소유권 및 서명 권한이 통합되며 이러한 외부 계정(EOA) 설계는 논의할 가치가 있는 몇 가지 문제로 이어질 수 있습니다.
개인 키 보호 어려움: 사용자가 개인 키를 분실(분실, 해킹, 암호화 크랙)하면 모든 자산을 잃게 됩니다.
몇 가지 서명 알고리즘: 기본 프로토콜은 트랜잭션 확인을 위해 ECDSA 서명 및 확인 알고리즘만 사용할 수 있습니다.
높은 서명 권한: 기본 다중 서명 없음(다중 서명은 스마트 계약을 통해서만 협업을 달성할 수 있음), 단일 서명은 모든 작업을 수행할 수 있음
거래 개인 정보 공개: 일대일 거래는 계정 소유자의 개인 정보를 쉽게 분석할 수 있습니다.
둘째, 단순 계약 지갑(CA)에도 몇 가지 문제가 있습니다.
계약 지갑의 작업은 EOA(본질적으로 계약 호출)에 의해 시작되어야 하며 각 트랜잭션은 추가로 21,000 Gas를 소비합니다. (현재 Ethereum 트랜잭션의 검증 방법은 고정되어 있으며 유효한 ECDSA 서명, Nonce 값 및 충분한
EOA는 Gas를 지불하기 위해 충분한 ETH를 가지고 있거나(2개의 계정 관리) Gas를 지불하기 위해 Relayer에 의존해야 합니다(중앙화로 이어짐).
항소 제약으로 인해 일반 사용자가 Ethereum을 사용하기 어렵습니다.
첫째, 이더리움에서 애플리케이션을 사용하려면 사용자는 이더를 보유해야 합니다(이더 가격 변동의 위험을 감수해야 함).
다중 통화 제한: 거래 수수료는 ETH로만 지불할 수 있으며 일괄 거래는 지원되지 않습니다.
거래가 유효한 것으로 간주됩니다).
둘째, 사용자는 복잡한 수수료 논리를 처리해야 합니다.Gas price, Gas limit 및 트랜잭션 차단의 개념은 사용자에게 너무 복잡합니다.소유권(Owner)과 서명 권한(Signer)을 분리하면 위의 문제를 하나씩 해결할 수 있습니다.
추가 정보:
이더리움 계정 요약 4D 연구 보고서: 10개의 관련 EIP 제안 해체 및 일일 활성 사용자 수천만 명의 병목 현상을 해소하기 위한 7년의 여정
이더리움 계정 요약 4D 연구 보고서: 10개의 관련 EIP 제안 해체 및 일일 활성 사용자 수천만 명의 병목 현상을 해소하기 위한 7년의 여정
보조 제목
1.2 EIP-4337과 타협 솔루션의 비교
텍스트
1.2.1 타협 1-다중 서명 계약 지갑 솔루션다중 서명 지갑, 즉 다중 서명 기능을 구현하기 위해 스마트 계약을 사용하는 지갑 계약 계정입니다. 세이프 다중서명 지갑(구 그노이스 세이프)을 예로 들면 3인 공동 관리, 2인 서명 실행 거래(2-of- 3) Argent지갑도 비슷하고 혁신적이라 불리는 가디언메커니즘을 도입하여 좀 더 사용자 친화적인 것이 포인트 사용자는 다른 EOA 계정이나 이메일/휴대폰을 가디언으로 설정할 수 있으며 가디언은 거래를 허용하고 잠금을 설정할 수 있습니다. 지갑, 지갑 복구를 지원합니다. 이 접근 방식은 사용자에게 편리함을 제공하지만 지갑 소프트웨어, 지갑 계약 및 백엔드 프로그램의 복잡성으로 인해 해당 솔루션이 업계에서 표준 관행이 되기는 어렵습니다.
요컨대, 여기에 있는 많은 이점은 계약 자체의 고도로 사용자 정의 가능한 기능에서 비롯되며 동일한 단점은 관리자로서 EOA 계정에 따라 구동된다는 것입니다.이것은 본질적으로 서명 알고리즘의 한계입니다.계약서에 서명된 알고리즘에만 바인딩하면 됩니다.
(계약이 서명되지 않을 수 있지만 ECDSA 및 secp 256 k 1 서명에만 국한되지 않음) 서명 자체는 다양한 알고리즘으로 구현될 수 있으며 알고리즘마다 성능 및 상호 작용 모드가 다르며 이는 가져오기 핵심 변화는 서명 기능을 모바일 장치 측으로 더 잘 전송하여 휴대용 하드웨어 지갑을 구현하는 것과 같은 것입니다. 이 점의 주요 문제점은 Android 및 기타 장치가 너무 개방되어 개인 키를 휴대폰에 저장하는 것이 불가능하고 별도의 서명 칩이 필요하다는 것입니다.
텍스트
1.2.2 2위안 거래 기준 훼손
이 최적화 타협은 사용자가 온체인 행동을 수행하기 위해 기존 ETH를 처리 수수료로 의존해야 한다는 사실을 목표로 합니다.메타 트랜잭션 표준을 채택한 후
사용자 경험 측면에서: 사용자는 계정에 ETH가 없지만(실제로 폴리곤 체인이 없는 기본 토큰 MATIC) 웹 인터페이스를 통해 여전히 NFT를 캐스팅할 수 있습니다. 사용자는 서명만 하면 트랜잭션이 생성됩니다. , 실행을 위해 체인에 제출하십시오.
비하인드 스토리:
사용자는 구조화된 데이터에 서명하고, 데이터와 서명은 NFT 계약이 그에게 NFT를 캐스팅하도록 요구합니다.
데이터 및 서명은 중계자(Relayer)에게 전송됩니다.
오프체인 리피터(EOA 계정)는 체인에 대한 트랜잭션을 시작하고 체인의 신뢰할 수 있는 포워더 계약(포워더)으로 보냅니다.
NFT 계약은 사용자 정의되며, 이러한 방식으로 전달된 트랜잭션의 원래 개시자는 msg.sender가 아닌 사용자로 간주됩니다.

따라서 최종 NFT 계약에서 NFTmint를 실행하여 얻은 객체는 원래 표준의 트랜잭션 개시자가 아닙니다.
예를 들어, 최근 인기 있는 Lens 가스 프리 솔루션은 매우 표준적인 메타 트랜잭션 실행 모드이며 수천만 건의 결제 트랜잭션이 있었습니다.
이 체계는 작동하지만 두 가지 단점이 있습니다.
우리가 궁극적으로 상호 작용하는 계약(즉, NFT 계약)은 맞춤화되어야 합니다. 이로 인해 체인에 이미 존재하는 사용자 지정되지 않은 계약과 상호 작용할 수 없으므로 적용 범위가 크게 줄어듭니다.
추가 정보:
추가 정보:
https://research.web3 caff.com/zh/archives/4660
EIP-4337 표준 스마트 지갑 실행 연구 보고서: 4337 표준 예제 구현 프로세스 및 기회 토론에 대한 파노라마 프레젠테이션
첫 번째 레벨 제목
2. 4337이 재산권 분리를 실현할 수 있는 이유는 무엇입니까?
이제 탈 중앙화 분야에서는 자유로운 신뢰가 없으며 신원 확인은 암호 증명을 기반으로해야하므로 어떤 제안이 개인 키의 특정 감각을 관리하고 경험의 타협을 달성하기 위해 가장 먼저 깨뜨릴 것 즉, 현재 계정 권한이 너무 집중되어 전체 변환 방법은 대상 개체 또는 링크에 따라 세 가지 일반적인 방향으로 나눌 수 있습니다.
체인에서 트랜잭션 유형 변환(EIP-101, EIP-86, EIP-859, EIP-2718)
체인의 주요 개체 변환(EIP-2938, EIP-3074, EIP-3607, EIP-5003)

온체인 트랜잭션의 패키징 프로세스 변환(EIP-4337, EIP-5189)
아래 그림에서 EIP-4337 체계는 최신 로드맵에 포함되어 있으며 이더리움이 이 두 가지 경로에 대해 최종 결정을 내렸음을 선언합니다.EIP-4337은 AA를 위한 최고의 솔루션입니다.합의 계층 프로토콜 변경을 완전히 방지
, 표준에서 제안한 새로운 트랜잭션 개체인 UserOperation을 사용하여 사용자는 이 개체를 메모리 풀에 보내고 번들러는 트랜잭션을 실행하기 위해 광부 차원에서 계약을 일괄적으로 패키지화하고 전달합니다. 누구나 체인에서 계약을 개발할 수 있고 누구나 번들러를 직접 실행할 수 있는 탈중앙화 모델입니다.
2.1, 4337 작동 원리
최신 진행 상황이 직면한 어려움과 과제에 대한 후속 심도 있는 이해는 여전히 원칙에 대한 이해가 필요합니다.관련된 역할, 분업을 분류하고 전통적인 거래의 실행 프로세스를 비교해 봅시다.
텍스트

2.1.1, 4337 표준과 관련된 역할
ERC-4337에는 UserOperation, Bundler, EntryPoint, Wallet Contract 및 Paymaster Contract의 5가지 주요 구성 요소가 있습니다.
UserOperations는 계약 계정과의 트랜잭션을 수행하는 데 사용되는 의사 트랜잭션 개체인 사용자 작업 개체입니다. 이들은 제작자의 응용 프로그램에서 생성됩니다.
번들러 광부일 가능성이 있는 번들러는 mempool에서 UserOperations를 번들로 묶어 블록체인의 EntryPoint 계약 참가자에게 보냅니다.
지갑 계약은 사용자가 궁극적으로 소유하고 스마트 계약 계정에 속하는 온체인 ID입니다.
Paymaster 계약은 선택적 지불 스마트 계약입니다.

텍스트
2.1.2, 4337 트랜잭션 실행 프로세스
ERC-4337에 따른 트랜잭션이 어떤 것인지 정리하기 위해 이더리움 전송을 완료하는 과정을 다시 살펴보겠습니다.
지갑 열기: 사용자는 Metamask, Bitkeep, Bitizen 등과 같이 사용자가 보유한 개인 키 도구를 관리합니다(이 단계는 변경되지 않음).
트랜잭션 서명: 개인 키를 사용하여 UserOperation 사용자 작업 객체라고 하는 여러 새 필드에 서명합니다(명령은 변경되지 않지만 콘텐츠 필드는 변경되며 비 ECDSA 서명 알고리즘을 선택할 수 있음).
전송 트랜잭션: 번들러 또는 번들러라고 하며, 본질은 여전히 블록 생성을 담당하는 특정 채굴자에 의해 운영됩니다(전송은 변경되지 않고 전송 개체는 지정된 채굴자로 변경됨).
광부 패키징: 번들러가 사용자가 보낸 작업 서명을 분석하고 확인한 후 광부는 거래에 서명하여 사용자의 지시를 포장하고 사용자의 작업 지시를 특정 계약 지갑에 일괄 전달한 다음 계약에서 사용자의 작업을 확인합니다. 서명 및 실행(검토).
거래는 채굴자가 서명하고 전송하기 때문에 from은 채굴자이며 원래 사용자의 서명과 지침은 매개 변수 중 하나입니다.
패키지는 라우터로 스마트 계약에 전송되고 검증이 수행된 후 각 사용자의 독립 계약 지갑으로 전달됩니다.
진입점 계약 확인: EntryPoint는 트랜잭션 확인 및 실행 논리를 처리하는 스마트 계약입니다. 사용자의 계약 계정과 반복적으로 상호 작용하고 확인하여 체인의 최종 패키징이 성공해야 합니다. 그렇지 않으면 모든 트랜잭션이 롤백됩니다.
블록 생성 프로세스: 완전히 변경되지 않았습니다.
2.2 기능 예시: 진입점 계약
4337로 이동한 후 어떤 계정의 스케줄링이든 진입점 계약을 먼저 거쳐야 하는데 그가 해결해야 할 것은
사용자의 "지갑 계약"이 배포되지 않은 경우 UO의 initCode 필드를 사용하여 계약을 배포합니다(사용자는 최종 계약 기능을 사용자 정의할 수 있음).
순환 검증 조합 트랜잭션의 UserOperation
기존 오프체인 시뮬레이션 검증(eth 잔고, 토큰 잔고, 대리결제)
스테이킹 수수료 관리
사용자에게 요금을 청구하고 실패한 거래에 대해 번들러를 보상하기 위한 가스 비용을 계산합니다.
첫 번째 레벨 제목
3. ERC-4337에 계속 주목해야 하는 이유는 무엇입니까?
ERC-4337의 높은 개발 투자와 신속한 반복 진행은 ERC-4337이 신속하게 최종 제안이 될 수 있고 다양한 응용 프로그램에서 널리 수용될 수 있으며 사실상 업계 표준이 될 수 있음을 보여줍니다. 일반 사용자의 Web3 적용 임계값.
이때 애플리케이션이 ERC-4337과 호환되는지 여부는 전체 이더리움 생태계의 다른 구성 요소를 사용하여 빠르게 개발할 수 있는지 여부에 영향을 미칩니다. 후속 DApp 응용 프로그램도 계정 주체에서 ERC-4337로 전환한 사용자와 호환되어야 합니다.
궁극적으로 시장을 검증하는 것은 사용자 자신이며 구현 방식이 복잡하며 이는 응용 프로그램 측면에서만 복잡합니다.
사용자 자신의 경우 최종적으로 볼 수 있는 것은 다음과 같습니다.
10개 시장 앞에서도 장바구니와 유사한 매끄러운 거래 경험을 한 번의 거래로 패키징할 수 있습니다.
4337의 맞춤형 서명 알고리즘 기능을 통해 하드웨어 지갑을 휴대하지 않고 휴대폰 전용 보안 칩을 사용하여 보다 안전한 출입 출입,
더 몰입감 있는 게임 환경은 페이마스터의 결제 기능을 통해 30분 이내에 XX 금액을 초과하지 않는 거래는 서명이 면제되도록 정의하여 외부에서 게임이 중단되는 것을 방지할 수도 있습니다.
체인의 실제 주체는 사회적 상호 작용을 통해 복구할 수 있고, 개인 키 암호를 변경할 수 있으며, 거래 위험을 계층화하고 등급을 매길 수 있어 안전과 편의성을 양립할 수 있습니다.
이전 부분에서는 ERC-4337의 작동 메커니즘과 배경에 대해 자세히 설명했습니다."shisi"추천 코드에 대한 15일 멤버십 연장).
다음편에서는 현재 감사하는 방식의 장단점과 구현내역에 대해 자세히 설명하겠지만, 이더리움의 하부 레이어가 더 많이 포함되어 있어 가독성이 떨어지며 Web3 Caff 플랫폼의 연구 채널( 헤드에서 유료 리서치 플랫폼으로, 현재 6월 14일 팬에 의해 공개되고 있습니다.
추천 코드에 대한 15일 멤버십 연장).
https://cointelegraph.com/news/ethereum-erc-4337-smart-accounts-launch-at-walletcon-account-abstraction-is-here
https://blog.openzeppelin.com/eip-4337-ethereum-account-abstraction-incremental-audit/#conclusions
https://blog.openzeppelin.com/eth-foundation-account-abstraction-audit/
https://eips.ethereum.org/EIPS/eip-4337
https://hackmd.io/@erc 4337/test-suite
https://www.youtube.com/watch? v=eyT 6 WzJmWyc
https://notes.ethereum.org/@yoav/unified-erc-4337-mempool#What-does-censorship-resistance-require-of-ERC-4337
https://github.com/eth-infinitism/account-abstraction/issues/188
https://notes.ethereum.org/@yoav/unified-erc-4337-mempool
https://github.com/eth-infinitism/account-abstraction/blob/develop/reports/gas-checker.txt#enroll-beta


