블록체인 거래에서 논스란 무엇인가
논스는 Ethereum 같은 계정 기반 블록체인에서 각 트랜잭션의 순서를 정하고 식별하는 계정별 카운터이며, 공백이 생기면 뒤따르는 트랜잭션들이 멈춥니다.

모든 블록체인이 이렇게 작동하는 것은 아니지만, 계정 기반 네트워크에서는 이 숫자가 결제 자체의 일부입니다. 대부분의 지갑이 자동으로 설정하므로 결제가 막히기 전까지는 눈에 띄지 않습니다.
논스는 어떻게 트랜잭션 순서를 유지하나요?
각 주소는 자체 카운트를 운영하며, 결제가 확정될 때마다 숫자가 하나씩 올라갑니다. 트랜잭션은 해당 주소의 다음 미사용 논스일 때만 확정될 수 있습니다. 노드는 미래의 논스를 보관할 수 있지만, 빠진 논스보다 먼저 확정하지는 않습니다.
- 미래의 논스는 대기열에서 기다립니다.
- 공백은 이후의 모든 트랜잭션을 막습니다.
- 비어 있는 슬롯을 채우면 대기 중인 트랜잭션들이 처리됩니다.
논스가 잘못되면 어떻게 되나요?
논스가 너무 낮으면 계정이 이미 채운 자리를 가리키므로 노드가 결제를 거부합니다. 논스가 너무 높으면 보통 앞선 숫자가 확정될 때까지 대기열에 들어갑니다. 카운트가 따라잡아야 결제가 정산됩니다.
멈춘 트랜잭션은 어떻게 대체하나요?
같은 논스를 재사용하는 새 트랜잭션을 보내면 네트워크는 둘 중 하나만 유지합니다. Ethereum에서는 대체하려면 더 높은 가스 가격이 필요하며, 보통 총 수수료가 더 큰 것이 아니라 최소 10퍼센트 이상 높아야 합니다.
대체는 원본이 대기 중일 때만 작동합니다. 원본이 확정되면 그 논스는 소진됩니다.
트랜잭션 논스 vs 채굴 논스
두 숫자는 이름만 같을 뿐입니다. 트랜잭션 논스는 한 계정의 결제를 추적하고, 채굴 논스는 해시가 목표값을 충족할 때까지 채굴자가 블록 헤더에서 바꾸는 값입니다.
자주 묻는 질문
계정 카운트가 한 단계만 움직이므로 하나만 확정될 수 있습니다. 다른 하나는 두 번째 결제로 처리되지 않고 버려집니다.
이미 브로드캐스트한 논스는 바꿀 수 없습니다. 지갑은 같은 논스를 사용하는 새 트랜잭션으로 대체하거나, 자신의 주소로 0값 전송을 보내 취소할 수 있습니다.
아닙니다. Ethereum 같은 계정 기반 체인은 논스를 사용하지만, Bitcoin은 미사용 출력을 추적합니다.
지갑은 보통 이를 읽어 확인 전에 보여줍니다. 블록 탐색기도 해당 주소의 트랜잭션 수를 표시합니다.






