궁금한 주제를 찾아보세요

비트코인, 스테이블코인, 온체인 데이터처럼 주제로 검색하세요.

다시 읽을 이야기

저장한 글은 이 브라우저에만 보관됩니다.

기초지식코인 기초

이더리움 거래가 대기할 때 nonce와 교체 거래 읽기

같은 계정의 이더리움 거래가 nonce 순서대로 처리되는 이유와 pending·queued 상태, 동일 nonce 교체 거래를 안전하게 읽는 방법을 설명합니다.

순서대로 늘어선 인물과 교체되는 블록으로 이더리움 nonce를 표현한 그림
주제의 이해를 돕기 위해 imagegen으로 제작한 AI 생성 개념 일러스트
먼저 읽는 핵심

nonce는 주소 전체가 아니라 발신 계정별 거래 순서를 나타낸다.
낮은 nonce의 빈틈이 있으면 뒤 번호 거래가 queued로 남을 수 있다.
교체 전에는 같은 nonce·수취 주소·value·data와 새 수수료 상한을 대조한다.

nonce는 한 계정이 보낸 거래에 순서대로 붙는 번호입니다. 낮은 nonce 거래가 대기하면 더 높은 nonce 거래도 그 앞 거래가 처리될 때까지 실행되지 못할 수 있습니다. 교체는 같은 nonce로 더 경쟁력 있는 수수료 조건의 새 거래를 보내는 방식이며, 확정 전에는 원본과 교체본 중 하나만 최종 포함됩니다.

nonce는 한 계정이 보낸 거래의 순번이다

ethereum.org의 거래 문서는 nonce를 계정에서 순차적으로 증가하는 거래 번호로 설명합니다. 같은 외부 소유 계정이 처음 보내는 거래가 nonce 0이면 다음 거래는 1을 사용합니다. 이 순서는 한 서명 키에서 나온 거래가 중복 실행되는 것을 막고, 동일 nonce를 둘 이상의 거래가 동시에 확정하지 못하게 합니다.

nonce는 네트워크 전체의 거래 번호가 아니며 받는 주소의 번호도 아닙니다. 발신 주소마다 독립적으로 계산합니다. 지갑 두 개에서 같은 시드를 동시에 사용하거나 자동화 프로그램과 브라우저 지갑이 같은 계정으로 전송하면 서로의 pending 상태를 모르고 같은 nonce를 선택할 수 있으므로 충돌을 확인해야 합니다.

이더리움 nonce 상태를 읽는 기준
상황 의미 점검
latest nonce보다 같은 번호 이미 확정됐을 가능성 블록 영수증 확인
다음 연속 번호 처리 가능한 pending 후보 수수료 조건 확인
앞 번호가 비고 더 높은 번호 queued 가능성 누락된 낮은 nonce 찾기
동일 nonce 거래 여러 개 교체 경쟁 해시와 입력 데이터 비교

낮은 nonce가 막히면 뒤 거래도 기다린다

계정 상태가 다음에 nonce 8을 요구하는데 nonce 8 거래의 수수료가 너무 낮고 nonce 9·10을 연달아 보냈다면, 뒤 거래가 높은 수수료를 제시해도 보통 8보다 먼저 계정 상태에 적용될 수 없습니다. 노드나 탐색기는 8을 pending, 뒤 번호를 queued로 분류할 수 있습니다. 화면 용어는 서비스마다 다르지만 순서 의존성은 같습니다.

이때 nonce 10의 수수료만 계속 올려도 빈틈이 해소되지 않을 수 있습니다. 가장 낮은 미처리 nonce와 해당 거래가 어느 노드에 보이는지 먼저 찾습니다. 탐색기 하나에서 보이지 않는다고 거래가 완전히 사라졌다고 단정하지 말고 지갑의 활동 내역과 다른 RPC의 pending transaction count를 함께 확인합니다.

뒤 거래를 빠르게 하려면 가장 낮은 미처리 nonce부터 찾아야 한다.

JOBCOIN 해설

교체 거래는 같은 nonce로 경쟁한다

거래 속도 높이기는 같은 nonce를 사용하고 더 높은 수수료 조건을 제시하는 새 서명 거래를 만드는 방식입니다. 원본과 교체본은 같은 계정 순번을 차지하므로 둘 다 정상 확정될 수 없습니다. 하지만 여러 노드가 서로 다른 후보를 보고 있을 수 있어 교체 직후 원본 해시와 새 해시가 모두 pending처럼 보일 수 있습니다.

취소 버튼도 대개 프로토콜 차원의 삭제가 아닙니다. 동일 nonce로 본인 주소에 0 ETH를 보내는 새 거래를 만들어 원본보다 먼저 포함되도록 경쟁시키는 방식입니다. 원본이 먼저 확정되면 취소본은 실패하고, 이미 확정된 거래는 nonce 교체로 되돌릴 수 없습니다.

  • 가장 낮은 미처리 nonce를 확인한다.
  • 새 거래가 원본과 같은 nonce인지 확인한다.
  • 수취 주소·value·calldata가 의도대로인지 대조한다.
  • maxFeePerGas와 priority fee, 예상 총비용을 확인한다.

EIP-1559 수수료 필드를 함께 읽는다

형식 2 거래는 maxFeePerGas와 maxPriorityFeePerGas를 사용합니다. EIP-1559는 실제 우선 수수료가 사용자가 정한 상한과 기본 수수료의 차이에 의해 제한되는 구조를 정의합니다. 교체 거래에서 상한만 높이고 priority fee가 충분하지 않거나, 기본 수수료가 상한보다 높아지면 원하는 속도를 얻지 못할 수 있습니다.

지갑은 노드의 교체 규칙을 만족하도록 두 값을 조정하지만 사용자는 새 최대 비용을 확인해야 합니다. gas limit 전체에 maxFeePerGas를 곱한 값은 최악 조건의 상한을 이해하는 데 도움이 되고, 실제 비용은 사용 gas와 블록의 기본 수수료·팁으로 결정됩니다. 상한 전액이 자동으로 모두 지출되는 것은 아닙니다.

수동 nonce 입력은 기록을 남기고 한 번에 처리한다

고급 설정에서 nonce를 직접 바꾸면 빈 nonce를 건너뛰거나 이미 확정된 번호를 재사용할 수 있습니다. 먼저 발신 주소, 체인 ID, latest와 pending transaction count, 지갑의 미확인 거래 목록을 기록합니다. 여러 RPC 공급자가 서로 다른 pending 풀을 볼 수 있으므로 값이 다르면 왜 다른지 확인하고 무작정 가장 큰 숫자를 선택하지 않습니다.

교체 거래를 보낸 뒤에는 새 해시와 원본 해시를 모두 저장하고, 어느 것이 블록에 포함됐는지 영수증으로 확인합니다. 스마트 계약 호출이라면 수취 계약 주소뿐 아니라 함수와 토큰 수량도 다시 검토합니다. 단순히 nonce가 같다는 이유만으로 원본과 동일한 의도의 거래라고 볼 수 없습니다.

확정·실패·드롭 상태를 구분한다

confirmed는 블록과 영수증이 있고 거래 실행 결과를 확인할 수 있는 상태입니다. failed 영수증은 nonce가 소비됐지만 계약 실행이 되돌려진 경우일 수 있습니다. dropped는 특정 노드의 풀에서 사라졌다는 관측일 뿐 다른 곳에서 재전파될 가능성을 완전히 배제하지 않습니다. replaced는 같은 nonce의 다른 거래가 선택됐다는 서비스 해석입니다.

문제 해결의 끝은 지갑 배지 색이 아니라 체인의 계정 nonce와 거래 영수증입니다. 낮은 nonce가 확정 또는 유효하게 교체되면 뒤 거래가 차례로 처리될 수 있습니다. 큰 금액이나 계약 호출에서는 성급한 재전송으로 중복 의도를 만들지 말고, 각 nonce마다 허용하려는 동작 하나만 남았는지 확인합니다.

자주 묻는 질문

같은 nonce 거래가 둘 다 확정될 수 있나요?

같은 계정 상태에서 동일 nonce는 한 번만 소비되므로 둘 다 정상 확정될 수 없습니다. 먼저 포함된 거래가 순번을 차지합니다.

nonce가 높은 거래의 가스비만 올리면 앞 거래를 건너뛰나요?

일반적으로 아닙니다. 가장 낮은 미처리 nonce가 먼저 처리되어야 하므로 그 거래 또는 같은 nonce 교체본을 점검해야 합니다.

취소 거래는 원본을 삭제하나요?

삭제하지 않습니다. 같은 nonce의 새 거래가 원본보다 먼저 포함되도록 경쟁하는 방식이며 성공을 보장하지 않습니다.

직접 확인한 자료

자료 확인 2026.09.27
  1. Transactionsethereum.org
  2. EIP-1559: Fee market changeeips.ethereum.org
AI 활용 안내

이 글은 AI로 초안을 구성한 뒤 공개 원문과 기술 문서를 대조해 작성했습니다. 대표 이미지는 AI 생성 개념 일러스트이며 실제 사건 사진이나 가격 차트가 아닙니다.

이해를 위한 정보 콘텐츠

이 글은 특정 자산의 매수·매도 또는 수익을 권유하지 않습니다. 자료의 발표 시점과 이후 변경 사항을 함께 확인해 주세요.

편집 원칙과 정정 안내 →