
EIP-7377: EOA에서 스마트 계약 지갑으로 이전하는 길을 열어주는 선구자
글: David

지난 몇 달 동안 계정 추상화(Account Abstraction)와 스마트 계약 지갑에 대한 논의가 매우 뜨거웠다.
이더리움 생태계의 급속한 발전과 함께 통일되고 원활한 사용자 경험을 실현하는 것이 점점 더 중요해지고 있다. 이더리움 2.0 로드맵에서 계정 추상화는 머지(Merge), 샤딩(Sharding)과 동등한 중요성을 갖는 핵심 요소로 자리 잡고 있다.
비탈릭 부테린(Vitalik Buterin) 역시 트위터를 통해 스마트 계약 지갑이 EOA 지갑보다 더 나은 사용자 경험을 제공한다고 언급한 바 있다.

암호화폐에 익숙한 숙련자들에게는 EOA 지갑 사용이 이미 익숙할 수 있다. 하지만 새로운 사용자를 유치한다는 관점에서 보면, EOA 지갑은 사용자 인터페이스와 이해 난이도 측면에서 여전히 문제점이 존재한다. 헷갈리는 서명 방식, 가스비를 어디서 구해야 하는지, "행동 = 트랜잭션"이라는 하드코어 논리 등이 대표적이다.
따라서 커뮤니티 내에서는 EOA 계정에서 스마트 계약 지갑으로의 원활한 전환 필요성이 공감대를 형성하게 되었으며, 이는 일종의 정치적 정확성(political correctness)으로 자리 잡았다.
하지만 암호화폐 세계에서 유행하는 정보들은 일반적으로 이야기(story)에는 집중하지만 구현 방법에는 거의 주목하지 않는다.
우리 모두 스마트 계약 지갑이 EOA보다 낫다는 것을 알고 있다고 가정하자. 방향은 분명하지만, 그 길을 어떻게 걸어가야 할까? 다리는 어디에 있는가?
더 어려운 문제는 경로 의존성(path dependency)이 초래한 현실이다. 내 EOA 계정에는 다양한 자산이 이미 존재하는데, 지금 당신이 말하기를 스마트 계약 계정으로 옮기라고 한다면 번거롭지 않을까?
우리는 이러한 전환을 어떻게 효과적으로 실현할 수 있을까? 사용자의 자산 이전을 어떻게 간편하게 만들 수 있을까?
세상에는 본래 길이 없다. 누군가 미리 길을 깔아두지 않는 한 말이다.
최근 EIP-7377 제안은 이러한 문제에 대한 하나의 가능성을 제시하고 있다. Go Ethereum 개발자 매트 가넷(Matt Garnett)이 제안한 이 내용은 EOA 계정이 일회성 트랜잭션을 통해 영구적으로 스마트 계약 지갑으로 전환할 수 있도록 새로운 유형의 트랜잭션을 추가하는 것을 목표로 하고 있으며, 이더리움 계정 추상화를 추진하는 데 있어 실현 가능한 경로를 제공한다.

EIP-7377 제안의 동기
2015년 이후로 스마트 계약 지갑은 이더리움의 사용자 경험 문제를 해결하는 중요한 수단으로 여겨져 왔다. EOA 계정에 비해 스마트 계약 지갑은 더 높은 수준의 프로그래밍이 가능하며, 복잡한 메커니즘 설계, 보안성 및 사용자 친화성 향상을 실현할 수 있다.
그러나 역사적인 이유로 현재 이더리움 네트워크 전체를 살펴보면 여전히 소수의 사용자만이 스마트 계약 지갑을 사용하고 있으며, 대부분의 자산은 여전히 EOA 계정에 보관되어 있다. 이는 이더리움 발전의 장애물로 작용하고 있다.
자산이 축적될수록 사용자가 기존 EOA 계정에 있는 모든 자산을 새 스마트 계약 주소로 수동으로 이전하는 것은 비용과 작업 절차 측면에서 매우 어렵다.
따라서 EIP-7377의 목적은 프로토콜 수준에서 EOA에서 스마트 계약 지갑으로의 이전 메커니즘을 제공함으로써 이러한 현실적 요구를 해결하고 원활한 전환을 가능하게 하는 것이다. 이를 통해 기존 사용자의 이전 의지를 크게 높일 수 있을 뿐 아니라, 신규 사용자 입장에서도 계정 추상화가 아직 보편화되지 않은 상황에서 실용적인 EOA 전환 방안을 제공할 수 있다.
EIP-7377 기술 구현의 쉬운 설명
그렇다면 이 제안은 구체적으로 EOA에서 스마트 계약 지갑으로의 전이를 어떻게 실현하는가?
기술 포럼의 원문 게시물에서 저자는 간략한 설명을 제공했다.

이 요약의 핵심은 EIP-7377이 "이전 트랜잭션" 전용의 새로운 트랜잭션 유형 0x04를 도입한다는 점이다.
원문의 기술적 표현으로 말하면 다음과 같다.
"이 트랜잭션은 상태 트리(state tree) 내 발신 계정의 code 필드를 코드 저장소에 지정된 코드를 가리키는 포인터로 설정한다. 동시에 이전 트랜잭션은 발신 계정의 스토리지 값을 직접 설정할 수도 있다. 트랜잭션 내 storage 필드는 키-값 쌍으로 발신 계정의 스토리지 트리에 기록된다. 또한 코드 저장은 인라인 코드 대신 포인터를 사용하는데, 이는 공유 코드 재사용이 가능하여 중복을 줄이고 상태 트리 크기를 최적화하는 장점이 있다."

이러한 기술적 설명은 기술적 배경이 없는 사람에게는 매우 난해하다. 일부 기술 전문가들과 공개 자료를 참고한 후, 우리는 기술 세부 사항을 최대한 단순화하고 비유적 접근을 통해 EIP-7377을 빠르게 이해하려 시도한다.
-
EIP-7377은 특수한 유형의 트랜잭션을 제안하는데, 이를 일종의 "이전 카드(migration card)"로 이해할 수 있다.
-
일반 사용자는 이 '이전 카드' 트랜잭션을 실행하기만 하면 계정 내 자산을 스마트 계약 지갑으로 이전할 수 있다.
-
이는 마치 기존 웹사이트 계정에 사용자 이름, 비밀번호, 프로필 사진 등의 정보가 들어있는 상황인데(기존 EOA에는 토큰 이름, 수량, 체인, 가스 한도 등이 있음), 해당 사이트의 기능이 마음에 들지 않아 완전히 새로운 사이트로 이전하고 싶은 경우와 같다.
-
이주를 쉽게 하기 위해 새 사이트에서는 '이전 카드'라는 서비스를 제공한다. 사용자는 새 사이트에 이 '이전 카드'를 제출하기만 하면 계정 정보가 자동으로 복사되며, 신구 계정 데이터가 바로 연결된다. 일일이 수작업으로 데이터를 옮기는 것보다 훨씬 편리하다.
-
또한 보안을 위해 '이전 카드'는 일회용이며, 반복적인 이전이나 데이터 조작은 불가능하다. 그리고 새 사이트는 일부 오래된 사이트의 검증 규칙을 계승하므로 다른 사용자는 당신이 신규 사용자인지 기존 사용자인지 구분할 수 없다.

이것이 EIP-7377이 기술적으로 달성하고자 하는 효과다. '이전 트랜잭션'이라는 특수한 '카드'를 활용해 계정 코드와 스토리지를 직접 조작함으로써 안전하고 효율적인 방식으로 EOA에서 스마트 계약 지갑으로의 원활한 전이를 실현하는 것이다.
물론 실제 이전 대상은 위의 비유 속 사용자 이름, 비밀번호, 프로필 사진이 아니라 암호화 자산과 관련된 다양한 정보들이다.

(참고: 비기술 전문가로서笔者는 제안의 모든 내용을 완벽히 이해하지 못했으며, 기술 전문가 분들의 추가적인 검토와 보완을 요청합니다. 원문 주소: https://eips.ethereum.org/EIPS/eip-7377?ref=newsletter.ether.fm)
EIP-7377의 잠재적 영향, 의미 및 리스크
EIP-7377이 제안한 EOA에서 스마트 계약 계정으로의 이전 방안은 장기적으로 이더리움 생태계에 긍정적인 영향을 미칠 것으로 보인다. 우리는 이것이 계정 추상화 실현을 추진하는 핵심 단계 중 하나가 될 수 있을 것으로 기대한다.
프로토콜 수준에서 지원되는 이러한 원활한 이전 방식은 사용자가 스마트 계약 지갑으로 전환하는 데 드는 어려움과 경로 의존성을 크게 줄일 수 있다. 암호화폐 사용자들은 일반적으로底层 기술에 능통하지 않으며, 자산 보호를 우선시하는 태도 때문에 적극적인 기술 혁신을 추구하지 않는다. 만약底层 프로토콜이 이미 "한 번 클릭으로 이전"을 지원한다면, 적절한 인센티브 활동과 사용자 친화적인 인터페이스가 뒷받침된다면 사용자의 이전 의지는 이론적으로 크게 증가할 것이다.
그러나 우리는 이러한 새로운 기능이 악의적인 공격에 이용될 가능성도 주의 깊게 살펴봐야 한다. 예상 가능한 악성 수단으로는 다음이 포함된다.
-
피싱 공격: 위조된 이전 트랜잭션을 만들어 피싱 링크를 통해 사용자가 해당 트랜잭션을 승인하도록 속여 자산을 불법적으로 이전하는 것.
-
악성 코드 삽입: 해커가 이전 과정에서 코드를 조작해 백도어를 설치함으로써 계정 제어권을 탈취하는 것.
-
반복 이전을 통한 자산 도난: 이전 트랜잭션이 한 번만 실행 가능하다는 제한을 이용해, 정상적인 이전 후 또 다른 이전 트랜잭션을 보내 실패했다고 속인 뒤 다시 승인을 유도하여 자산을 훔치는 것.
암호화 세계에서 단독의 프로토콜 업그레이드나 혁신이 궁극적인 비전을 즉각 실현할 수는 없다. 어두운 숲(Dark Forest) 환경 속에서 프로토콜 업그레드는 감사 강화, 신뢰 가능한 출처 검증, 보상 프로그램(bounty program) 등의 수단과 함께 이루어져야 이러한 위협을 방어하고 이전 트랜잭션의 보안을 확보할 수 있다.
마지막으로 우리는 다음과 같은 질문을 던져야 한다.
인프라와 프로토콜의 변화는 강력한 생태계 동력이 필요하다. 대규모로 EOA에서 스마트 계약 계정으로 전환하게 만드는 주체는 누구인가? 이전 과정에서 발생하는 기술적 리스크와 자산 보안 책임은 누가 지는가?
자유와 탈중앙화를 숭상하는 암호화 세계에서 이러한 시스템 업그레이드는 어떻게 커뮤니티의 합의와 협력을 이끌어낼 수 있을까?
이더리움 생태계는 거대하며 이해관계자가 다양하다. 비록 이러한 전환이 긍정적인 의미를 지닌다고 하더라도 다양한 집단으로부터 의문과 저항을 마주할 수 있다. 전환 과정의 계획과 세부 사항은 신중하게 설계되어야 하며, 커뮤니티의 합의를 얻고 사용자 이익이 해치지 않도록 해야 한다.
이상에서 현실로, 구상에서 실행으로 가는 길은 여전히 멀고도 험하다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News













