풀 18
채굴자 없음
워커 없음
암호화폐 채굴 기초

블록 안에 있는 것: 헤더, 높이, 크기, 블록 보조금

마지막 업데이트: 2026년 8월 15일

블록은 작은 고정 헤더와 거래로 이루어진 본문으로 구성됩니다. 둘을 구분하면 채굴이 실제로 무엇을 해시하는지, 그리고 그 이유를 알 수 있습니다.

두 부분 중 해시되는 것은 하나뿐

블록은 헤더와 본문으로 이루어집니다. 본문은 트랜잭션들이며, 체인이 얼마나 붐비는지에 따라 몇백 바이트일 수도 있고 몇 MB일 수도 있습니다. 헤더는 블록의 고정된 요약이며, 대부분의 체인에서 정확히 80바이트입니다.

채굴은 헤더만 해시하고 다른 것은 해시하지 않습니다. 이것이 이 글에서 가장 쓸모 있는 사실입니다. 그렇지 않으면 불가능해 보이는 일을 설명해 주기 때문입니다. 채굴 프로그램은 초당 수십억 가지 변형을 시도하는데, 시도할 때마다 트랜잭션으로 가득 찬 블록을 다시 해시해야 한다면 그렇게 할 수 없습니다. 실제로는 그럴 필요가 없습니다. 다시 해시하는 것은 80바이트뿐입니다.

헤더의 여섯 필드

헤더에는 버전, 이전 블록의 해시, 머클 루트, 타임스탬프, 난이도 비트, nonce가 들어 있습니다. 각각 존재하는 이유가 있으며, 그중 두 개가 대부분의 일을 합니다.

이전 블록 해시가 블록들을 체인으로 만듭니다. 각 헤더는 바로 앞의 블록을 가리키므로, 오래된 블록을 고쳐 쓰면 그 해시가 바뀌고, 그러면 다음 헤더가 깨지고, 그다음 헤더도 깨져서 최신 블록까지 이어집니다. 작업 증명(PoW)의 보안 논리 전체가 이 필드 하나에 담겨 있습니다.

머클 루트는 본문의 모든 트랜잭션을 요약하는 하나의 해시입니다. 트랜잭션 하나를 단 1바이트만 바꿔도 머클 루트가 바뀌고, 그러면 헤더가 바뀌어서, 지금까지 시도한 모든 해시가 쓸모없어집니다. 그래서 80바이트가 어떤 크기의 블록이든 정직하게 대표할 수 있습니다.

블록 그림: 버전, 이전 블록 해시, 머클 루트, 타임스탬프, 난이도 비트, nonce를 담은 고정 80바이트 헤더와, 그 아래 첫 항목이 coinbase 트랜잭션인 가변 크기 본문, 그리고 블록 높이, 블록 크기, 블록 해시를 가리키는 설명
헤더는 고정되어 있고 작습니다. 본문은 나머지 전부입니다. 높이는 어느 쪽에도 저장되지 않습니다. 높이는 위치입니다.

난이도 비트는 해시가 그보다 낮아야 하는 목표값을 압축된 형태로 나타냅니다. 타임스탬프는 블록이 만들어진 대략적인 시각이며, 정확하지 않아도 됩니다. nonce는 채굴 프로그램이 자유롭게 바꿀 수 있는 필드이며, 이것 덕분에 탐색이 가능합니다.

nonce는 바닥나지만 괜찮습니다

nonce는 작은 카운터이며, 최신 채굴기는 nonce가 담을 수 있는 모든 값을 거의 즉시 다 써 버립니다. 막다른 길처럼 들리지만 그렇지 않습니다. nonce는 가장 바꾸기 편한 것일 뿐, 바꿀 수 있는 유일한 것이 아니기 때문입니다.

nonce가 바닥나면 채굴 프로그램은 헤더에 들어가는 다른 것을 바꿉니다. 타임스탬프를 움직일 수 있습니다. coinbase 트랜잭션을 조금 바꿀 수도 있는데, 그러면 머클 루트가 바뀌어 완전히 새로운 헤더를 탐색할 수 있게 됩니다. 풀에서는 이것이 바로 extranonce의 용도입니다. 풀이 채굴 프로그램마다 다른 시작점을 나눠 주어서, 어느 두 프로그램도 같은 숫자를 계산하지 않게 합니다.

높이는 필드가 아니라 위치입니다

블록 높이는 어떤 블록 앞에 블록이 몇 개 있는지를 나타냅니다. 제네시스 블록의 높이는 0이고, 다음 블록은 1이며, 이런 식으로 이어집니다. 풀의 블록 페이지와 모든 블록 탐색기에서 각 항목 옆에 보이는 숫자가 이것입니다.

높이가 실제로는 헤더에 저장되지 않는다는 점을 알아 둘 만합니다. 높이는 블록이 체인에서 차지하는 위치로부터 도출됩니다. 대부분의 최신 체인에서는 높이가 coinbase 트랜잭션에도 기록되는데, 이는 높이가 다른 두 블록이 바이트 단위로 똑같아지는 일이 없도록 나중에 추가된 규칙입니다. 하지만 블록의 높이가 얼마인지에 대한 공식적인 답은 여전히 그 위치입니다.

그래서 컨펌을 이야기할 때도 높이로 말하는 것이 자연스럽습니다. 6블록 깊이에 묻힌 트랜잭션은 그 블록의 높이가 최신 블록보다 6 낮은 트랜잭션이며, 블록이 하나 더 쌓일 때마다 그것을 고쳐 쓰는 비용은 그만큼 더 커집니다.

크기는 본문이며, 채워지는 것도 본문입니다

블록 크기는 사실상 본문의 크기입니다. 본문에 비하면 헤더는 무시해도 될 만큼 작기 때문입니다. 어떤 체인에 블록 크기 제한이 있다고 할 때, 그것은 헤더가 아니라 트랜잭션을 몇 개나 담을 수 있는지를 말하는 것입니다.

가득 찬 블록과 빈 블록은 정확히 같은 양의 채굴 작업이 필요합니다. 난이도는 블록을 찾기가 얼마나 어려운지를 정하고, 크기는 블록이 얼마나 많이 담는지를 정합니다. 둘은 서로 관계가 없으며, 둘을 혼동하는 것이 수수료에 대한 잘못된 직관의 큰 원인입니다.

크기가 실제로 영향을 주는 것은 수수료 시장입니다. 들어가려는 트랜잭션이 담을 수 있는 양보다 많으면 더 높은 수수료를 제시한 트랜잭션이 먼저 들어가고, 블록 안의 수수료 합계가 올라갑니다. 이는 블록이 지급하는 금액에 그대로 반영됩니다.

coinbase 트랜잭션과 블록 보조금

모든 블록의 첫 번째 트랜잭션은 특별합니다. 보내는 사람이 없고, 무에서 코인을 만들어 내며, 그 코인을 블록을 만든 사람에게 지급합니다. 이를 coinbase 트랜잭션이라고 하며, 같은 이름의 거래소와는 아무 관계가 없습니다.

이 트랜잭션이 지급하는 것은 블록 보조금에 블록 안의 다른 모든 트랜잭션의 수수료를 더한 금액입니다. 블록 보조금은 새로 발행되는 부분으로, 체인의 발행 일정에 따라 정해지며 대부분의 코인에서 시간이 지나면서 줄어듭니다. 수수료는 사용자가 트랜잭션이 포함되도록 붙인 금액입니다. 둘을 합친 것이 블록 보상입니다.

풀에서는 coinbase가 풀에 지급되고, 풀은 그 보상을 해당 라운드에 셰어를 기여한 모든 사람에게 나눠 줍니다. 이것은 돌아가는 길이 아닙니다. 나눌 수 없는 한 번의 지급으로 들어오는 보상을 풀이 여러 사람에게 지급할 수 있는 방법이 바로 이것입니다.

채굴하는 동안 이것이 왜 중요한가

블록의 구조를 알고 나면 세 가지가 분명해지며, 이 세 가지는 끊임없이 질문으로 나옵니다.

  • 새 블록이 작업을 즉시 무효로 만드는 이유. 이전 블록 해시 필드가 바뀌었으므로 탐색하던 헤더는 더 이상 존재하지 않습니다. 그 뒤에 그 헤더로 제출하는 것은 모두 스테일 셰어이며, 아무리 빨라도 이것은 바뀌지 않습니다.
  • 풀이 새 작업을 그렇게 자주 보내는 이유. 풀이 포함하려는 새 트랜잭션마다 머클 루트가 바뀌고, 더 새로운 템플릿에는 수수료가 더 많이 들어 있어 같은 작업량으로 더 많은 보상을 받습니다.
  • 수익 추정에 블록 크기가 전혀 나오지 않는 이유. 수익은 난이도, 블록 보조금, 수수료로 정해지며, 본문이 몇 바이트였는지와는 상관이 없습니다.

이 풀의 블록 페이지에는 높이, 보상, 발견된 시각이 표시됩니다. 위의 모든 내용 중 쓸모 있는 부분을 한 행으로 줄인 것입니다. 나머지는 블록 탐색기에서 볼 수 있으며, 그 블록의 보상을 지급한 coinbase 트랜잭션도 볼 수 있습니다.

직접 해 볼 준비가 되셨나요?
풀 개요에서 코인을 고르고 채굴 방법 가이드를 열면 바로 실행할 수 있는 명령어를 받을 수 있습니다.
풀 선택