글 작성자 0xjs@GoldenFinance
2024년 4월 12일 이더리움 183차 ACDE 회의에서 EIP-3074가 다음 이더리움 하드포크인 펙트라 업그레이드(프라하 업그레이드라고 함)에 공식적으로 포함되었습니다.
그 결과 EIP-3074는 이더 커뮤니티의 주목을 받았습니다. 이더 커뮤니티의 많은 사람들은 이 EIP가 사용자가 EVM 체인에서 상호작용하는 방식을 영원히 바꾸어 지갑 사용자 경험을 더 간단하고 저렴하며 강력하게 만들 것이라고 믿고 있습니다.
EIP-3074란 무엇인가요?
EIP-3074란 무엇인가요?
한 문장 설명:EIP-3074는 단일 거래 승인, 일괄 거래, 지갑 자산 복구, 스폰서 거래 등을 수행할 수 있는 기능을 포함하여 스마트 계약 기능(예: 계정 추상화)으로 EOA 지갑에 힘을 실어줍니다.
이더넷 연구자이자 Go 이더리움 개발자 샘 윌슨 등이 제안한 EIP-3074는 두 개의 새로운 EVM 옵코드인 AUTH와 AUTHCALL을 추가하여 기존 EOA를 스마트 콘트랙트로 전환합니다. 이 두 가지 옵코드는 함께 작동하여 스마트 콘트랙트가 EOA를 대신하여 작동할 수 있도록 합니다.
AUTH 옵코드(0xf6): 이 옵코드는 사용자가 EOA의 개인 키를 사용하여 수행해야 하며 특정 메시지(커밋)를 재정의해야 하는 ECDSA 서명을 확인하여 특정 EOA를 승인할 수 있도록 합니다.
AUTHCALL 옵코드(0xf7): 이 옵코드는 승인된 스마트 컨트랙트가 EOA의 계정에서 트랜잭션을 시작할 수 있도록 합니다. 기존 CALL 옵코드와 비슷하게 작동하지만, 컨트랙트 자체 대신 승인된 EOA를 발신자로 사용합니다.
AUTH는 사용자의 서명과 예상 동작을 받고, 서명이 올바른지 확인합니다. 변수를 설정하여 txn의 원래 주소를 명시하고 스마트 컨트랙트가 EOA를 대신하여 작업을 수행할 수 있도록 하여 권한 위임 제어를 가능하게 합니다. 그런 다음 AUTHCALL은 실제 msg.sender 대신 발신자 주소를 호출자로 사용하여 대상 컨트랙트를 호출합니다.
EIP-3074 워크플로우 및 새로운 사용 사례
다음:
이미지 src="https://img.jinse.cn/7208995_watermarknone.png" title="7208995" alt="" IjotiUlBkPqthaPCQBK80zL3IL62c92lJSPXAZcv.png">
사용자가 메시지(트랜잭션이 아닌 체인 아래)에 서명하고 ---> 사용자 또는 개시자가 메시지를 호출자 컨트랙트에 트랜잭션으로 보내고 ---> 호출자는 AUTH와 AUTHCALL을 사용하여 유효성을 검사하고 호출합니다. 주소를 발신자로 사용
이 새로운 트랜잭션 플로우에는 다음과 같은 여러 사용 사례가 있습니다.
사용 사례 1: 스폰서 트랜잭션. 밥의 지갑에 이더리움이 없다고 가정할 때, 앱은 이더리움을 구매하거나 연결할 필요 없이 밥의 거래에 가스를 제공할 수 있습니다. 이는 대량 소매 채택을 얻는 데 큰 도움이 될 수 있습니다.
사용 사례 2: 단일 트랜잭션에서 여러 작업을 수행하는 기능. 현재 유니스왑에서 토큰을 스왑하려면 먼저 사용자가 자신의 토큰을 사용하도록 유니스왑을 승인한 다음 실제 스왑을 실행해야 하지만, EIP-3074를 사용하면 두 작업을 하나의 트랜잭션으로 일괄 처리할 수 있습니다.
사용 사례 3: 자산 복구. 사용자가 개인 키를 분실했을 때 소셜 복구를 사용해 자산을 복구할 수 있도록 특별한 발신자 컨트랙트를 설정할 수 있습니다. 소셜 복구 조건이 충족되면 호출자에게 서명을 제출하여 자산을 이동할 수 있습니다.
이더넷에서 EIP-3074는 무엇을 의미하나요?
EIP-3074 이전: 스마트 컨트랙트는 사용자가 스마트 컨트랙트와 상호작용할 때 트랜잭션에 서명해야 했습니다. 따라서 사용자는 매일 수행하는 온체인 작업에 대해 메시지 서명에 참여해야 했습니다.
EIP-3074 이후: 사용자는 키를 한 번 서명하고 스마트 컨트랙트에 사용자 지갑에서 트랜잭션에 서명할 수 있는 권한을 부여할 수 있습니다. 사용자는 자신의 키로 이 권한에 서명하면 모든 준비가 완료됩니다. 사용자가 스마트 컨트랙트와의 상호작용에 대해 걱정할 필요 없이 한 세션에 서명하고 전체 게임을 플레이할 수 있는 웹 3.0 게임의 획기적인 전환점이 될 것입니다.
컨트랙트 수준에서 업그레이드되는 ERC-4337과 달리, EIP-3074는 EVM 명령 수준에서 업그레이드되어 사용자가 스마트 컨트랙트의 기능을 즐길 수 있도록 특별한 추가 설정이 필요하지 않다는 장점이 있습니다. 예를 들어, 이전 섹션에서 언급한 세 가지 사용 사례는 이더넷 사용자 경험을 크게 향상시킬 것입니다.
이러한 장점에 비해 EIP-3074의 단점은 무엇일까요
가장 큰 단점은 발신자입니다. 발신자 계약은 완전히 검증되어야 하고, 확장할 수 없으며, 신뢰할 수 없어 사용자의 돈을 쉽게 도난당할 수 있습니다.
또한 기존의 재입력 검사 중 일부는 EIP-3074에 적용되지 않을 수 있습니다.
이 변경 사항을 추가하기 위해 하드포크가 필요했는데, EIP-3074에 추가된 두 개의 새로운 옵코드로 인해 하드포크가 필요했습니다. 이것이 EIP-3074가 지연되고 ERC4337이 먼저 채택된 이유 중 하나입니다.
반면 계정 추상화 ERC-4337은 하드포크가 필요하지 않으며 순전히 컨트랙트 및 오프체인 시스템 변경입니다.