[Xangle Digest]
※해당 컨텐츠는 8월 9일 외부에서 기발간 된 컨텐츠입니다. 컨텐츠에 대한 추가적인 주의사항은 본문 하단에서 확인해주세요.
목차
계정 추상화 배경
계정 추상화는 어떻게 하면 가능할까?
ERC-4337 계정 추상화는 어떻게 동작할까?
EOA 계정과 Smart Contract
Problem1 : Smart Contract can’t generate Transaction.
Problem 2: Contract Deploy
맺으며
본 글은 CURG에서 기획한 계정 추상화(Account Abstraction) 시리즈 첫 번째로, 계정 추상화 기술의 동기와 현재 표준이 된 ERC-4337에 대해 개괄적으로 다루고, 이에 대한 구현 방식과 기술적 세부 내용을 살펴본다. 다음 편에서는 가스비 대납 솔루션 Paymaster와 가스비 최적화를 위한 Aggregator를 살펴보고, 실제 계정 추상화를 구현한 프로젝트를 리뷰할 예정이다.
계정 추상화 배경
이더리움은 상태 전이 시스템(State Transition System)이며, 상태 전이 요청은 계정을 중심으로 이루어진다. 계정의 분실은 상태 전이 요청(트랜잭션)을 할 수 없게 되며, 계정 정보(Mnemonic or Private Key)의 보관은 이더리움 환경에서 매우 중요하다. Vitalik은 자신의 블로그에 2019년 소셜 복구 기능을 제공하는 지갑 테스트에 관한 경험과 그에 대한 교훈을 작성하였다. 교훈은 다음과 같다. “비밀 공유 기반 오프체인 소셜 복구는 매우 취약하며, 복구를 위한 별도의 앱은 분실이 쉽고, 별도의 중앙 집중식 커뮤니케이션 채널은 여러 종류의 문제가 발생할 수 있다. 대신 guardians를 추가하는 방식은 이더리움 주소를 제공해야 하고, ERC-4337 계정 추상화 지갑을 사용하는 스마트 컨트랙트에 의하여 복구가 되어야 한다. guardians는 이더리움 지갑을 잃어버리지 않으면 되는데, 이는 이미 다른 이유로 신경 쓰고 있는 부분이다.”
계정 추상화 지갑 사용은 계정 복구와 같은 UX(User Experience)의 변화를 가능하여지도록 한다. 블록체인 사용에 있어서 여전히 많은 불편함이 존재하고, 이는 사용자들이 블록체인 기술을 사용하면서 쉽게 적응하지 못하도록 하고 있다. 계정 추상화는 무엇이며, 어떤 사용 사례가 이 아이디어의 동기가 되었을까? 다음은 계정 추상화 아이디어의 동기가 된 UseCase들이다.
- Multisig
- Cryptography other than ECDSA
- Privacy solutions
- On-chain DEXes
Multisig
출처: Coindesk.com (작성: Colin Harper)
Multisig(다중 서명) 지갑이나 Smart Contract 지갑(예, 소셜 복구)들은 거래 수수료를 지불하기 위해 소량의 이더리움을 저장하는 별도의 계정(EOA)이 필요하며, 시간이 지남에 따라 해당 계정이 이더리움을 재충전해야 하는 불편한 구조로 되어 있다. 다른 계정에 의하여 거래 수수료를 대납 될 수 있다면, 별도의 계정에 이더리움을 재충전해야 하는 불편함을 개선할 수 있다.