EIP-8250 키드 논스: 프레임 트랜잭션의 독립 실행 차선
EIP-8250 키드 논스가 프레임 트랜잭션에 독립 논스 영역을 만드는 원리와 프라이버시 활용, 남은 위험을 설명합니다.

이더리움에서는 하나의 트랜잭션이 지연되면 같은 송신자가 보낸 다음 트랜잭션까지 줄줄이 막힐 수 있어요. 개인 지갑에도 불편하지만, 여러 사용자가 일부러 하나의 송신자 주소를 공유하는 프라이버시 프로토콜이나 릴레이에서는 구조적인 병목이 됩니다. EIP-8250은 크립토 지갑 보안 흐름에 하나의 번호표 대신 여러 독립 차선을 주자는 제안이에요.
Important
2026년 10월 3일 기준 EIP-8250은 이더리움 메인넷 기능이 아닌 **초안(Draft)**입니다. 이더리움 재단은 Hegotá 프레임 코어에서 A등급, 즉 우선순위가 높고 출시가 기대되는 제안으로 평가했어요. 하지만 우선순위 결정은 활성화가 아닙니다. 명세, 포크 범위, 일정은 바뀔 수 있어요.
EIP-8250은 무엇을 바꾸나요?
일반 이더리움 계정에는 트랜잭션을 보낼 때마다 증가하는 논스(Nonce)가 있어요. 다음 트랜잭션은 계정이 기대하는 번호를 사용해야 합니다. 서명된 트랜잭션이 반복 실행되는 재생 공격(Replay Attack)을 막지만, 모든 요청을 한 줄로 세우는 결과도 만들어요.
번호표 한 롤만 쓰는 바쁜 창구를 떠올려 보세요. 41번 업무가 멈추면 42번은 자기 일이 독립적이어도 앞설 수 없습니다. EIP-8250은 EIP-8141 프레임 트랜잭션에 한해 번호표 롤을 여러 개로 나눠요. 각 라벨이 **논스 키(Nonce Key)**이고, 키마다 별도 순번을 가집니다.
초안은 프레임 트랜잭션의 단일 nonce 필드를 두 필드로 바꿔요.
nonce_keys: 엄격한 오름차순으로 정렬된 1~16개의 256비트 키nonce_seq: 해당 트랜잭션이 선택한 모든 키가 공유하는 64비트 순번
키 0은 호환성 차선이에요. nonce_keys == [0]이면 기존 계정 논스를 사용합니다. 0이 아닌 키는 프로토콜이 전용 NONCE_MANAGER 시스템 컨트랙트에 보관하는 독립 순번을 선택해요.
독립 논스 영역은 어떻게 작동하나요?
하나의 공유 송신자에 두 프레임 트랜잭션이 대기 중이라고 해볼게요.
| 트랜잭션 | 논스 키 | 순번 | 관계 |
|---|---|---|---|
| 출금 A | [101] | 0 | B와 독립 |
| 출금 B | [202] | 0 | A와 독립 |
키 집합이 겹치지 않으므로 출금 A가 포함돼 키 101을 소비해도 출금 B는 무효가 되지 않아요. 반대로 둘 다 키 101과 순번 0을 골랐다면, 해당 상태를 먼저 사용한 트랜잭션 뒤에는 같은 버전을 그대로 쓸 수 없습니다. 다음으로 유효한 순번이나 교체 규칙이 필요해요.
프로토콜은 송신자와 각 논스 키를 조합해 스토리지 슬롯을 계산합니다. 선택한 모든 키의 현재 값이 nonce_seq와 같은지 확인한 뒤, 프레임 트랜잭션의 결제 승인 단계에서 순번을 함께 올려요. 논스 소비와 승인은 원자적(Atomic)으로 묶입니다. 관련 승인 효과와 논스 갱신이 함께 적용되거나, 둘 다 적용되지 않는 구조예요.
이것은 재생 영역의 분리입니다. 자동 병렬 실행, 포함 보장, 프라이버시 보호막을 의미하지 않아요. 서로 다른 논스 키를 쓴 트랜잭션도 같은 잔액, 컨트랙트 스토리지, 페이마스터(Paymaster) 정책을 건드리면 충돌할 수 있습니다.
프라이버시 시스템과 스마트 월렛에 왜 필요한가요?
프라이버시 애플리케이션은 온체인 활동을 한 사람의 공개 주소와 바로 연결하지 않기 위해 여러 사용자가 하나의 공개 송신자를 공유하기도 해요. 단일 논스는 이 구조에 운영상 병목을 만듭니다. 한 사용자의 출금이 먼저 포함되면, 증명과 자금이 무관한 다른 대기 출금까지 오래된 논스가 될 수 있어요.
EIP-8250을 쓰는 애플리케이션은 널리파이어(Nullifier)처럼 영역이 분리된 식별자에서 별도 키를 만들 수 있습니다. 널리파이어는 일회용 물품 보관소 번호표와 비슷해요. 비밀 자체를 공개하지 않고도 권리가 이미 사용됐음을 표시합니다. 검증 로직이 순번 0의 미사용 키를 요구한다면, 성공한 결제 승인이 그 키를 한 번 소비한 것으로 기록할 수 있어요.
세션 키(Session Key)나 릴레이 송신자도 같은 분리의 이점을 얻을 수 있습니다. 서로 다른 세션이 하나의 기존 논스를 두고 경쟁하지 않고 각 논스 영역을 사용할 수 있어요. 개념은 ERC-4337 스마트 계정의 키·순번 논스와 닮았지만, EIP-8250은 필드를 명시적으로 나누며 제안된 네이티브 프레임 트랜잭션 모델에 연결됩니다.
이 제안이 해결하지 않는 것
‘독립’이라는 말의 범위를 정확히 봐야 해요.
첫째, 현재 초안은 EIP-8141 공개 멤풀(Public Mempool)의 ‘송신자당 대기 프레임 트랜잭션 1개’ 지침을 유지합니다. 키드 논스는 프로토콜 차원의 순서 병목을 없애지만, 같은 송신자의 여러 요청을 동시에 전파하려면 향후 키 인식 멤풀 정책이 별도로 필요해요.
둘째, 논스 키는 트랜잭션 페이로드에 공개됩니다. 서로 다른 키가 재생 순서의 결합은 끊지만 어떤 키가 선택됐는지는 숨기지 않아요. 프라이버시는 논스 필드가 아니라 애플리케이션 전체 설계와 증명에서 나와야 합니다.
셋째, 논스 영역이 달라도 경제적 상태는 분리되지 않습니다. 두 요청은 재생 관점에서 독립적이어도 같은 ETH 잔액이나 토큰 허용량(Allowance)을 두고 경쟁할 수 있어요. 지갑과 빌더는 최신 상태를 기준으로 전체 트랜잭션을 시뮬레이션해야 합니다.
마지막으로 영구 상태가 생겨요. 0이 아닌 키를 처음 사용할 때마다 NONCE_MANAGER에 슬롯 하나가 만들어지고 초안의 상태 가스(State Gas)를 냅니다. 항목은 삭제되지 않아요. 가격이 스팸을 제한하지만, 애플리케이션도 무한히 새 라벨을 만들지 않는 키 전략을 가져야 합니다.
리스크와 보안 경계
EIP-8250은 보안 배관에 가까운 기능이라 작은 실수가 미묘한 취약점으로 이어질 수 있어요.
- 초안·포크 위험: 필드 구조, 비용, 활성화 세부사항, Hegotá 범위가 메인넷 전에 바뀔 수 있습니다.
- 불완전한 권한 검증:
nonce_seq == 0만 확인하면 안전하지 않아요. 일회용 키 애플리케이션은 송신자, 전체 키 집합 해시, 의도한 순번을 함께 인증해야 합니다. - 키 추가 공격: 여러 키를 담을 수 있는데 첫 키만 검증하면 공격자가 승인되지 않은 키를 추가해 함께 소비할 수 있어요.
- 공개 메타데이터: 논스 키는 공개되므로 잘못된 파생 방식이 프라이버시 증명 밖에서 연결 정보를 노출할 수 있습니다.
- 영구 스토리지: 새 키의 첫 사용은 프로토콜 관리 스토리지와 상태 가스 비용을 남겨요.
- 예상과 다른 취소: 기존 계정 논스가 같은 트랜잭션을 보내도 0이 아닌 키 영역의 대기 요청은 취소되지 않습니다.
CREATE주소 변화: 키드 트랜잭션은 결제 승인 시 기존 논스를 올리지 않아요. 작업이CREATE주소에 의존하면 다른 트랜잭션이 기존 논스를 바꿔 결과 주소를 바꿀 수 있습니다. 명세는 이런 경우CREATE2나 기존 논스의 명시적 인증을 권고해요.- 공유 상태 충돌: 키가 달라도 잔액 부족, 페이마스터 거절, 컨트랙트 되돌림, 애플리케이션 경쟁 조건은 남습니다.
논스 소비는 결제 승인에 속하므로 일부 뒤쪽 프레임이 실패한 뒤에도 유지될 수 있어요. 애플리케이션은 승인 뒤 되돌림 경로를 줄이고, 사용자에게 교체 규칙을 명확히 설명해야 합니다.
Hegotá 절차에서의 현재 상태
이더리움 재단의 2026년 9월 Hegotá EIP 등급표는 EIP-8250에 A등급을 부여하고 프레임 코어로 분류했어요. 같은 문서는 EIP-8141을 S등급 실행 레이어 헤드라이너로 정하고, 프레임 트랜잭션이 EIP-8250 및 EIP-8272와 하나의 코어 패키지로 출시되는 방향을 설명합니다.
단순한 로드맵 언급보다 강한 신호지만, EIP 자체는 여전히 초안이고 활성화 타임스탬프도 TBD예요. 정확한 해석은 이렇습니다. 프로토콜 기여자들은 Hegotá 포함을 기대하며 고우선순위 의존 항목으로 다루고 있지만, 정식 명세와 네트워크 활성화는 아직 끝나지 않았어요.
사용자가 지금 EIP-8250을 켜거나 지갑을 이전하거나 별도 서명을 할 필요는 없습니다. 메인넷에서 ‘키드 논스를 해제하라’며 서명을 요구하는 사이트는 이 초안 기능을 활성화하는 것이 아니에요.
빌더 체크리스트
배포된 지갑 기능이 아니라 설계를 검토하는 단계라면 다음을 확인하세요.
- 오래된 필드 구조를 복사하지 말고 최신 EIP 원문을 읽으세요.
- 전체
(sender, nonce_keys, nonce_seq)범위를 재생 공격 방지 단위로 다루세요. - 여러 키를 허용한다면 정규화된 키 집합 해시 전체를 인증하세요.
- 키 파생 식별자에 도메인 분리(Domain Separation)를 적용하고 결과가 키
0이면 거부하세요. - 키 집합이 달라도 공유 잔액, 스토리지, 페이마스터 상태를 모델링하세요.
- 교체, 체인 재구성(Reorg), 포크 경계, 승인 뒤 실패를 테스트하세요.
- 첫 사용 상태 가스를 계산하고 무제한 키 생성을 피하세요.
- 지갑 UI와 개발 문서에서 초안 지원을 실제 출시처럼 표현하지 마세요.
자주 묻는 질문
EIP-8250은 이더리움 메인넷에서 쓸 수 있나요?
아니요. 2026년 10월 3일 기준 초안입니다. 이더리움 재단은 Hegotá 프레임 코어와 함께 출시할 것으로 기대하지만, 실제 네트워크 업그레이드가 발표·활성화되기 전까지 초안을 라이브 기능으로 보면 안 돼요.
키드 논스를 쓰면 트랜잭션이 비공개가 되나요?
아니요. 키는 공개됩니다. 여러 사용자가 공유 송신자를 쓰는 프라이버시 시스템에서 하나의 논스 줄 때문에 서로 막히는 문제를 줄일 뿐, 자체적으로 기밀성을 제공하지 않아요.
키가 다르면 두 트랜잭션은 항상 함께 실행되나요?
아니요. 재생 순번은 독립적이지만 같은 잔액, 컨트랙트 상태, 결제자를 건드릴 수 있습니다. 독립 논스는 하나의 의존성만 없애요.
ERC-4337 논스와 같은 구조인가요?
개념은 비슷해요. 둘 다 키와 순번을 분리합니다. ERC-4337은 24바이트 키와 8바이트 순번을 한 필드에 넣고, EIP-8250 초안은 프레임 트랜잭션을 위해 명시적인 32바이트 키와 64비트 순번을 사용해요.
기존 방식의 같은 논스 취소가 가능한가요?
대기 트랜잭션이 0이 아닌 키를 사용한다면 불가능해요. 관련 멤풀 교체 규칙에 따라 같은 키드 식별자를 사용하거나, 겹치는 키 영역을 의도적으로 소비하는 트랜잭션이 필요합니다.
마무리
EIP-8250은 한 송신자의 논스를 한 줄 계산대에서 라벨이 붙은 여러 차선으로 바꿉니다. 공유 송신자, 프라이버시 널리파이어, 세션 키, 릴레이에 유용하지만 더 큰 프레임 트랜잭션 설계 안에서만 작동해요. 재생 순서는 분리해도 잔액, 스토리지, 기밀성, 구현 위험까지 분리하지는 않습니다.
개발 전에는 최신 공식 명세와 업그레이드 공지를 확인하세요. 이 글은 정보 제공 목적이며 투자 조언(NFA)이 아닙니다. 크립토 트랜잭션은 되돌릴 수 없을 수 있어요. 잃어도 되는 금액만 사용하고 반드시 스스로 조사하세요(DYOR).
함께 읽으면 좋은 글

EIP-8141 프레임 트랜잭션: 네이티브 계정 추상화 가이드
EIP-8141 프레임 트랜잭션이 검증·가스 결제·실행을 어떻게 분리하고 네이티브 계정 추상화를 구현하려는지 알아봅니다.

계정 추상화란? 스마트 월렛(ERC-4337) 완벽 정리 (2026)
계정 추상화와 ERC-4337 스마트 월렛의 작동 원리를 쉽게 설명해요. 시드리스 복구, 가스리스 거래, 패스키까지 — 2026년 더 똑똑한 크립토 지갑 완벽 가이드.

EIP-7906 트랜잭션 어설션: 실행 결과를 커밋 전에 검증하는 법
EIP-7906 트랜잭션 어설션이 잔액·스토리지·코드·이벤트 변화를 커밋 전에 검사하는 원리와 POST_TX 구조, 한계를 설명합니다.
관련 주제 살펴보기

이더리움 트랜잭션 대기 중: 원인 진단·속도 높이기·취소 방법
이더리움 트랜잭션이 대기 중인 이유와 논스·가스비의 관계를 알아보고, 기다리기·속도 높이기·취소 중 안전한 대응을 선택해 보세요.

이더리움 글램스테르담 업그레이드: ePBS·BAL과 확정된 사실
글램스테르담은 2026년 4분기 예정이에요. 확정된 범위, 세폴리아 일정, ePBS, 블록 레벨 접근 리스트와 남은 변수를 설명합니다.