Tech Lab2 min read
블록체인 코스 #5: 비트코인 블록 구조 가이드(헤더·바디 핵심)
비트코인 블록을 헤더·바디로 나눠 구조와 의미를 정리하고, 머클 루트·타임스탬프·난이도·논스의 역할과 1MB/4MB 차이를 도식과 표로 설명합니다.
#블록체인#비트코인#블록#구조#머클#루트#작업증명#코인베이스#트랜잭션
이 글을 통해 비트코인 블록의 헤더·바디 구조와 각 필드의 의미를 빠르게 파악하고, 검증 흐름과 용량 개념(1MB/4MB)을 실무 관점에서 이해할 수 있습니다.

블록은 왜 두 부분으로 나뉠까
- 헤더는 블록의 고유 식별자이자 체인 연결의 핵심 메타데이터입니다.
- 바디는 실제 트랜잭션 데이터 컨테이너로, 용량 변동의 주된 원인입니다.
- 이 분리 덕분에 헤더만으로도 검증·동기화 최적화가 가능합니다(예: SPV).
헤더: 80바이트 고정 설계
- 헤더는 80바이트로 고정되어, 네트워크 검증 비용을 예측 가능하게 유지합니다.
- 해시 대상이 되는 이 헤더가 작업증명(PoW) 난이도 충족 여부를 결정합니다.
- 필드들은 상호 보완적으로 무결성과 연결성을 제공합니다.
주요 필드 한눈에
- 이전 블록 해시: 직전 블록을 가리켜 체인 연결을 형성.
- 머클 루트: 바디의 모든 트랜잭션 해시를 요약한 루트 값.
- 타임스탬프: 블록 생성 시각(UNIX 초). 예:
1704531060. - 난이도 타깃: 현재 네트워크가 요구하는 해시 목표.
- 논스: 목표를 만족하는 해시를 찾기 위한 반복 시도 값.
- 버전: 프로토콜/소프트포크 신호 등 버전 정보.
바디: 트랜잭션 컨테이너
- 코인베이스 트랜잭션: 보상 지급(수수료 포함). 항상 첫 번째에 위치.
- 일반 트랜잭션: UTXO 이동 기록으로, 개수·크기가 유동적.
- 구조: 각 트랜잭션은 입력(Input)·출력(Output)과 잠금 스크립트 등 세부를 포함.

용량: 1MB vs 4MB(웨이트)
- “1MB”는 베이스 블록 크기를 의미하고, 세그윗 이후 블록 웨이트 4,000,000 단위(≈4MB) 가 적용됩니다.
- 헤더는 항상 80바이트, 나머지 공간은 트랜잭션 데이터가 차지합니다.
- 실제 처리량은 트랜잭션 유형·스크립트 길이·세그윗 사용 비율에 따라 달라집니다.
헤더 필드 요약 표
| 필드 | 크기(바이트) | 역할/의미 | 비고 |
|---|---|---|---|
| 버전 | 4 | 프로토콜/소프트포크 신호 | 정수 |
| 이전 블록 해시 | 32 | 체인 연결 및 무결성 | 256비트 |
| 머클 루트 | 32 | 트랜잭션 전체의 요약(루트 해시) | 256비트 |
| 타임스탬프 | 4 | 생성 시각(UNIX 초) | 예: 1704531060 |
| 난이도 타깃 | 4 | PoW 목표(압축 표현) | nBits |
| 논스 | 4 | 목표 해시 탐색용 카운터 | 마이닝 반복 |
검증 흐름 요약
- 노드는 새 블록을 수신하면 헤더 해시가 난이도 목표를 만족하는지 먼저 확인합니다.
- 머클 루트와 트랜잭션 목록을 대조해 무결성을 보장합니다.
- UTXO 규칙·서명·수수료 등을 검증 후 블록을 체인에 연결합니다.
주의: 헤더만으로 트랜잭션 유효성은 확정할 수 없습니다. SPV는 경량 검증이며, 필요 시 풀노드 검증이 권장됩니다.
팁: 타임스탬프 개념 배경은 내부 문서 “타임스탬프 역사” 에서 정리했습니다.
타임스탬프 역사