저자: 0xNatalie 출처: ChainFeeds
3년여의 강수량과 개선 끝에 EIP-3074는 이더리움 183차 ACDE 회의에서 이더리움 커뮤니티의 광범위한 지지를 받아 다음 이더리움 하드포크에 공식 포함되었습니다.EIP-3074는 이더리움 연구자인 샘 윌슨, 고 이더리움 개발자 매트 가넷 등에 의해 제안되었습니다. 등이 제안한 것으로, 추가 컨트랙트를 배포하고 수동으로 마이그레이션할 필요 없이 외부 소유 계정(EOA)이 스마트 컨트랙트 지갑처럼 작동할 수 있도록 하는 데 중점을 두고 있습니다. 패러다임의 CTO인 조지오스 콘스탄토풀로스는 "지갑 사용자 경험이 10배 향상될 것"이라고 말했습니다. 그렇다면 EIP-3074는 어떻게 작동할까요? 그리고 ERC-4337과 어떻게 다를까요?
EIP-3074는 EVM의 업그레이드입니다
EOA(외부 소유 계정)는 사용자가 직접 제어하고 관리하는 이더리움의 계정 유형으로 메타마스크와 같은 인기 토큰 지갑에서 생성되는 계정과 같은 것입니다. MetaMask.EIP-3074와 같은 계정은 두 가지 새로운 이더 가상머신 명령인 AUTH와 AUTHCALL을 도입하여 EOA가 스마트 컨트랙트에 연결하고 트랜잭션의 제어권을 스마트 컨트랙트에 넘길 수 있도록 합니다.
AUTH 지시어: ECDSA 서명을 검증하고 서명 결과에 따라 컨텍스트 변수 "authorized"
를 설정하는 데 사용됩니다. 서명이 유효하고 서명자의 주소가 지정된 승인된 주소와 일치하면 "authorised
"가 승인된 주소로 설정됩니다. 이러한 방식으로 AUTH 지시문을 사용하면 스마트 컨트랙트가 EOA를 대신하여 작업을 수행할 수 있으므로 권한 제어를 위임할 수 있습니다.
AUTHCALL 명령어: 외부 호출을 실행하는 데 사용되는 기존 CALL 명령어와 유사합니다. 차이점은 AUTHCALL은 이전에 AUTH 명령어로 설정한 인증 주소를 발신자 주소로 사용한다는 것입니다. 즉, AUTHCALL은 컨트랙트 자체가 아닌 승인된 EOA를 발신자로 사용합니다.
전체 프로세스는 사용자가 승인 메시지에 서명하고, 인보커 컨트랙트가 이를 수신하여 검증하고, 인보커 컨트랙트가 AUTH 및 AUTHCALL 명령을 사용하여 트랜잭션을 EOA로 전송하고, 사용자의 개인 키를 사용하지 않고 사용자를 대신하여 트랜잭션을 실행한 후 결과를 사용자에게 반환하는 순서로 진행됩니다. 인보커 컨트랙트는 사용자의 개인 키를 직접 사용하지 않고 사용자를 대신하여 트랜잭션을 수행하기 위해 AUTH 및 AUTHCALL 명령을 사용하여 트랜잭션을 EOA로 전송합니다.
ERC-4337과의 차이점
ERC-4337은 프로토콜 수준이며 합의 계층을 변경할 필요가 없고, 계정 추상화를 구현하는 것이 주요 목표입니다. 주요 목표는 스마트 콘트랙트가 자금을 직접 소유하고 이더 계정과 유사한 기능을 가질 수 있도록 계정 추상화(AA)를 구현하는 것입니다. 즉, 스마트 콘트랙트 계정이 EOA가 개시한 트랜잭션의 특성을 가질 수 있도록 하는 것입니다.
그리고 EIP-3074는 이더리움 하드포크를 통해 구현되어야 하며, 주요 목표는 EOA 스마트 콘트랙트와 유사한 기능을 제공하고, 스마트 콘트랙트에 대한 제어권을 위임하고, 스마트 콘트랙트가 사용자를 대신해 거래할 수 있도록 하며, 일괄 거래, 스폰서 거래(즉, 가스 비용을 지불하는 제3자가 거래를 실행하기 위해 가스 비용을 지불하는 제삼자) 등을 지원합니다. EOA가 스마트 컨트랙트 지갑으로 기능하지만, 계정은 여전히 EOA입니다. 키를 도난당하면 완전히 손실된다는 뜻입니다. (계정 복구를 위한 특별 계약이 설정되어 있지 않은 한)
왜 중요한가요?
다중 체인 시대에는 모든 체인에 ERC-4337을 지원하려면 많은 개발 작업이 필요합니다. 또한 EOA 사용자가 자신의 계정을 스마트 컨트랙트로 마이그레이션할 수 있도록 하기 위해 제안된 'EIP-7377'과 같은 마이그레이션 트랜잭션은 사용자가 수동으로 마이그레이션 트랜잭션을 보내야 합니다. 반면, EIP-3074는 EOA가 모든 체인에서 직접 사용할 수 있고 사용자가 수동으로 마이그레이션할 필요가 없는 스마트 컨트랙트의 기능을 갖도록 허용합니다.
다른 제안에 비해 EIP-3074의 장점은 간단하고 효율적이며, 사용자가 스마트 컨트랙트의 힘을 누릴 수 있는 추가 프로세스가 필요하지 않다는 것입니다. 이전에는 이더 커뮤니티에서 EIP-3074의 기술적 보안에 대한 우려가 있었으나, 개선과 테스트를 거쳐 이더 생태계의 여러 영역에 영향을 미칠 다음 이더 업그레이드에 EIP-3074를 추가하는 것에 대해 광범위한 커뮤니티 지지를 받고 있습니다.
예를 들어, 탈중앙 금융 영역에서 EIP-3074의 일괄 거래 기능은 유동성 공급자와 트레이더의 효율성을 크게 개선하고 참여 비용을 절감할 것입니다. 또한 사용자 계정이 거래를 실행할 수 있는 권한을 부여함으로써 DeFi 앱이 스폰서 역할을 하고 사용자에게 가스 수수료를 지불할 수 있어 사용자가 DeFi 상품을 사용하는 문턱을 낮추고 DeFi의 대량 채택을 촉진할 수 있습니다.
풀체인 게임 분야에서는 EIP-3074를 통해 사용자가 제3자(인보커)에게 자신의 계정을 운영하도록 승인할 수 있으므로 사용자가 온체인 확인을 확인하고 각 거래마다 가스 수수료를 지불해야 하는 문제를 피할 수 있습니다. 게임 개발자나 기타 제3자가 사용자 대신 거래를 실행할 수 있으며, 사용자는 한 번만 승인하면 되므로 거래 프로세스가 간소화되고 게임의 원활성이 향상됩니다.
잠재적 위험
이더 트랜잭션에서 노드 검증자는 트랜잭션을 올바르게 처리하기 위해 거래의 세부 사항을 정확히 알고 있어야 합니다. 이는 네트워크의 보안과 안정성을 보장합니다. EIP-3074에서는 스마트 컨트랙트가 EOA를 대신하여 거래를 실행할 수 있으며, 스폰서 거래가 포함될 경우 다른 컨트랙트나 계정과 상호작용하면 거래 실행 전후에 계정 상태가 변경되어 노드 검증자가 거래의 영향을 정확하게 예측하기 어렵고 네트워크 불일치의 보안 위험이 발생할 수 있습니다.
또한, 사용자가 서명을 통해 제3자에게 계정 운영을 승인할 수 있지만, 이는 제3자(Invoker)가 사용자 계정을 어느 정도 운영할 수 있다는 의미이기도 하므로 잠재적인 보안 문제가 발생할 수 있습니다. 제3자의 액세스 권한이 남용되거나 해킹될 경우 사용자의 자금과 개인정보가 위험에 처할 수 있습니다.