저자: 0xNatalie 출처: ChainFeeds Reseach
ERC-4337은 계정 추상화를 위한 애플리케이션 레이어 표준이고, EIP-3074는 EVM을 직접 수정하는 프로토콜 레이어 표준이며, EIP-7702는 그 중간에 위치하여 임시로 EOA에 스마트 컨트랙트를 부여하는 표준입니다.
EIP-3074는 올해 4월 이더리움의 다음 하드포크 계획에 포함되었으며, 이 제안은 외부 소유 계정(EOA)이 스마트 콘트랙트에 거래 권한을 위임하여 사용자에게 더 편리한 경험을 제공하는 것을 목표로 합니다. 그러나 이 기능에 대해 커뮤니티에서는 서명이 오용될 경우 계정 전체 자금이 위험에 처하고 피싱 공격자에게 기회를 제공할 수 있다는 우려를 제기하는 회원들도 많았습니다. 보안을 더욱 강화하기 위해 비탈릭 부테린은 최근 커뮤니티에서 광범위한 논의를 불러일으킨 EIP-3074의 대안으로 EIP-7702를 제안했습니다.
EIP-7702는 계정 추상화를 개선하기 위해 새로운 거래 유형을 도입합니다. 이 새로운 트랜잭션 유형은 외부 소유 계정(EOA)이 트랜잭션 중에 일시적으로 스마트 컨트랙트의 특성을 채택했다가 트랜잭션이 종료된 후 원래 상태로 되돌아갈 수 있도록 합니다. 그렇다면 계정 추상화 제안인 ERC-4337, EIP-3074, EIP-7702의 차이점은 무엇일까요?
ERC-4337: 애플리케이션 레이어에서의 계정 추상화 표준
ERC-4337: 대체 멤풀 사용 을 사용하세요. 비탈릭이 제안한 ERC-4337은 애플리케이션 레이어 표준으로, 스마트 컨트랙트 계정에 EOA에서 시작된 트랜잭션의 특성을 부여하는 것이 주요 목표입니다. 이는 스마트 콘트랙트가 사용자의 계정처럼 작동할 수 있도록 하는 엔트리포인트라는 스마트 콘트랙트를 도입하여 사용자가 계정과 같은 스마트 콘트랙트를 운영하여 자산과 트랜잭션을 관리할 수 있도록 하는 것을 의미합니다. 이를 통해 다중 서명, 자동화된 거래 실행 등과 같은 복잡한 로직을 구현할 수 있습니다.
주요 기능:
포크를 굳힐 필요가 없습니다. 포크: ERC-4337은 구현을 위해 하드 포크가 필요하지 않으며 이더넷 프로토콜을 변경할 필요가 없습니다.
호환성: 이 접근 방식은 기존 EOA 시스템과 호환되므로 전환이 더 원활하게 이루어질 수 있습니다.
목적: 계정 추상화를 구현하여 스마트 컨트랙트를 트랜잭션 처리 및 검증을 위한 계정으로 사용할 수 있도록 하는 것입니다.
본질: 스마트 컨트랙트 계정에 EOA로 시작된 트랜잭션의 속성을 부여합니다.
EIP-3074: 권한 부여 및 에이전트 실행
EIP-3074: AUTH 및 AUTHCALL 옵코드. EIP-3074는 이더리움 연구자인 샘 윌슨, 고 이더리움 개발자 매트 가넷 등이 제안한 것으로, 제안서 초안 작성에 비탈릭의 관여 없이 EOA가 자신의 권한을 스마트 컨트랙트에 위임할 수 있는 접근 방식이며, 두 개의 새로운 opcode:AUTH
와 AUTHCALL
를 도입하여 스마트 컨트랙트가 일괄 처리 거래와 가스 요금 후원 등 EOA를 대신해 작업을 수행할 수 있도록 합니다. 이는 이더리움의 가상 머신에 큰 변화입니다.
주요 기능:
위임 메카니즘 : EOA는 AUTH
옵코드를 통해 스마트 컨트랙트를 승인한 다음 AUTHCALL
를 통해 해당 스마트 컨트랙트가 자신을 대신하여 작업을 수행하도록 할 수 있습니다.
보안 문제: 위임 메커니즘은 악성 컨트랙트에 권한이 부여될 경우 자금 도난으로 이어질 수 있으므로 보안 문제를 일으킬 수 있습니다.
목적: 스마트 컨트랙트에 일시적으로 권한을 위임할 수 있도록 하여 EOA의 기능을 강화합니다.
본질: 두 개의 옵코드를 추가하여 EVM을 업그레이드합니다.
EIP-7702: 임시 스마트 컨트랙트화된 EOA
EIP-7702: 트랜잭션의 EOA 계정 코드 설정. 비탈릭은 첫 번째 저자로서 5월 7일에 이 제안을 발표했습니다. EIP-3074의 대안으로, EIP-7702는 EOA가 거래 중에 스마트 컨트랙트 기능을 일시적으로 채택할 수 있는 메커니즘을 도입합니다. 이러한 방식으로 EOA는 단일 트랜잭션이 실행되는 동안 스마트 컨트랙트 지갑으로 전환하고 트랜잭션이 완료된 후 다시 정상 상태로 되돌릴 수 있습니다. 또한 EIP-7702는 이미 EOA의 코드를 일시적으로 변경할 수 있는 프레임워크를 제공하기 때문에, 트랜잭션 종료 시 코드를 지우지 않는 설정을 통해 EOA를 스마트 컨트랙트 계정으로 영구적으로 변환할 수 있는 EIP-5003을 EIP-7702 위에 구현하는 것이 비교적 간단해집니다.
주요 기능:
임시 변환: EOA의 스마트 컨트랙트 코드가 거래 중에 특정 작업을 수행하도록 일시적으로 권한이 부여됩니다.
높은 호환성: EIP-7702는 ERC-4337의 스마트 컨트랙트 지갑 코드와 호환성이 높으며, 이미 작성 및 배포된 ERC-4337용 스마트 컨트랙트 코드를 직접 활용할 수 있으므로 기존 계정 추상화 노력을 재사용하고 기존 계정 시스템을 분할할 필요가 없습니다.
새로운 옵코드 도입 필요 없음: EIP-3074와 달리 EIP-7702는 프로토콜 계층 표준이지만 이더리움 가상 머신을 영구적으로 변경하지 않고 트랜잭션에 스마트 컨트랙트 코드를 일시적으로 적용합니다.
목적: EIP-3074와 ERC-4337의 기능을 결합하여 보다 유연하고 호환 가능한 계정 추상화 체계를 제공합니다.
본질: 스마트 컨트랙트 코드의 임시 적용.
EIP-7702는 새로운 옵코드 도입을 피하면서 계정 추상화 최종 게임 구현에 더 잘 대비할 수 있는 EIP-3074와 유사한 기능을 구현하는 방법을 제공합니다. 계정 추상화의 최종 게임이란 이더의 모든 계정이 기존 EOA에 의존하지 않고 스마트 컨트랙트 지갑을 사용해 자산과 거래를 관리하는 미래의 예상되는 상태를 뜻합니다. 스마트 컨트랙트 지갑의 보편적 계정 사용 시나리오를 계정 추상화의 '최종 게임'이라고 하며, EIP-7702는 현재의 문제를 해결할 뿐만 아니라 향후 가능한 계정 모델과의 호환성을 고려하여 설계함으로써 장기적인 유효성과 유용성을 보장합니다.