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
난이도 타깃4PoW 목표(압축 표현)nBits
논스4목표 해시 탐색용 카운터마이닝 반복

검증 흐름 요약

  • 노드는 새 블록을 수신하면 헤더 해시가 난이도 목표를 만족하는지 먼저 확인합니다.
  • 머클 루트와 트랜잭션 목록을 대조해 무결성을 보장합니다.
  • UTXO 규칙·서명·수수료 등을 검증 후 블록을 체인에 연결합니다.

주의: 헤더만으로 트랜잭션 유효성은 확정할 수 없습니다. SPV는 경량 검증이며, 필요 시 풀노드 검증이 권장됩니다.

팁: 타임스탬프 개념 배경은 내부 문서 “타임스탬프 역사” 에서 정리했습니다.
타임스탬프 역사

참고 링크

다음으로 읽어볼 글