논스

용어요약

Nonce

논스(Nonce)는 암호화나 블록체인 연산에서 단 한 번만 사용하도록 정해진 임의의 숫자로, 특히 채굴 과정에서 조건에 맞는 해시값을 찾기 위해 계속 바꿔 대입하는 값을 가리킨다.

1.개요

논스(Nonce)는 'number used once'(한 번만 사용되는 숫자)의 줄임말로, 암호학과 블록체인에서 한 차례의 연산에만 쓰이도록 지정된 임의의 값이다. 같은 논스를 반복해서 쓰지 않는다는 점이 핵심이며, 이를 통해 재전송 공격을 막거나 매번 다른 계산 결과를 만들어 낸다.

블록체인 맥락에서 논스가 가장 널리 알려진 곳은 작업증명 방식의 채굴이다. 비트코인 같은 네트워크에서 블록 헤더에는 논스라는 32비트 필드가 들어 있으며, 채굴자는 이 값을 0부터 하나씩 바꿔 가며 블록 전체를 SHA 해시 함수에 넣는다. 그렇게 나온 해시값이 네트워크가 정한 목표치보다 작아지는 논스를 찾아내면 유효한 블록으로 인정받는다.

2.상세

채굴자는 조건을 만족하는 논스를 미리 계산할 방법이 없으므로, 수많은 값을 무작위에 가깝게 대입하며 반복 시도하는 수밖에 없다. 이 '단순 반복 계산'이 곧 작업증명이 요구하는 연산 비용이며, 정답 논스를 찾는 데 성공한 채굴자만 블록 생성 권한과 보상을 얻는다. 검증하는 쪽은 제시된 논스를 한 번만 해시에 넣어 보면 되므로, 찾기는 어렵지만 확인은 쉬운 비대칭 구조가 성립한다.

32비트 논스만으로는 탐색 공간이 부족한 경우가 많아, 실제 채굴에서는 코인베이스 트랜잭션 안의 이른바 '엑스트라논스(extra nonce)'를 함께 조정해 탐색 범위를 넓힌다. 한편 이더리움 등 계정 기반 네트워크에서는 논스가 다른 의미로도 쓰이는데, 각 계정이 보낸 트랜잭션의 순번을 뜻하며 같은 트랜잭션이 중복 처리되는 것을 방지한다.

3.관련

논스를 반복 대입해 정답을 찾는 방식은 작업증명의 핵심 원리이며, 이러한 에너지 집약적 계산을 피하기 위해 등장한 대안이 지분증명이다. 논스 대입 결과를 판정하는 해시 연산에는 SHA 계열 함수가 널리 쓰인다.

이 문서 인용하기
토큰포스트 위키, “논스”, 2026-07-28 수정, https://wiki.tokenpost.kr/w/nonce

문단 3개 · 연표 0건 · 각주 0