# 초기 블록 다운로드 (Initial Block Download, IBD)

초기 블록 다운로드(IBD)는 새로 설치했거나 오래 꺼져 있던 풀 노드가 제네시스 블록부터 현재 최신 블록까지 블록을 내려받아 검증하며 네트워크를 따라잡는 과정입니다.

## 자세히 알아보기

풀 노드는 다른 누구도 믿지 않고 모든 블록과 트랜잭션을 스스로 검증해야 합니다. 그래서 처음 시작할 때는 블록 0(제네시스 블록)부터 차례로 블록을 받아 작업증명, 서명, 스크립트, 이중 지불 여부를 확인하면서 UTXO 집합(사용되지 않은 출력 목록)을 직접 만들어 갑니다. 이 과정이 끝나야 노드는 "가장 많은 작업량이 쌓인 체인(최적 체인)"의 끝(tip)에 도달하고 정상 운영 상태가 됩니다.

비트코인 코어는 0.10 버전부터 **헤더 우선 동기화**를 씁니다. 먼저 가벼운 블록 헤더만 받아 최적 헤더 체인을 확정한 뒤, 블록 본문은 여러 피어에서 병렬로 받아 속도를 높입니다. 또 `assumevalid` 설정으로 소프트웨어에 지정된 블록 이전 구간의 서명 검사를 생략해 시간을 줄입니다(작업증명과 나머지 규칙 검사는 그대로 수행). 노드는 최신 블록의 시각이 현재보다 많이 뒤처져 있으면(기본 24시간) 스스로 IBD 상태로 판단합니다.

IBD 시간은 CPU, 디스크(SSD 권장), 메모리(`dbcache`), 네트워크 속도에 크게 좌우되며, 수백 GB의 데이터를 받아야 하므로 몇 시간에서 며칠이 걸릴 수 있습니다. 디스크가 부족하면 오래된 블록을 지우는 **가지치기(pruned) 노드**로 운영할 수 있지만, IBD 자체는 똑같이 전체를 검증합니다.

## 블록체인·암호화폐에서는

비트코인뿐 아니라 이더리움 클라이언트도 비슷한 초기 동기화를 거치며, 스냅 동기화처럼 상태 데이터를 내려받아 시간을 줄이는 방식을 제공합니다. 거래소나 스캐너가 자체 노드를 새로 띄울 때 IBD가 끝나기 전까지는 잔고·입금 확인을 신뢰할 수 없습니다.

### IBD를 빠르게 끝내는 방법

- 저장 장치는 HDD보다 SSD를 씁니다. 수많은 UTXO 조회와 쓰기가 일어나므로 디스크 속도가 가장 큰 병목이 되는 경우가 많습니다.
- 메모리가 넉넉하면 비트코인 코어의 `dbcache` 값을 늘려 디스크 쓰기 횟수를 줄입니다. IBD가 끝난 뒤에는 다시 줄여도 됩니다.
- 안정적인 네트워크와 충분한 수의 피어 연결을 유지합니다.
- 다른 사람이 만든 블록체인 데이터 사본을 그대로 복사하는 방법은 검증을 건너뛰는 것이므로, 풀 노드의 의미가 약해진다는 점을 알아야 합니다.

IBD 중인 노드는 최신 상태가 아니므로, 지갑 잔고 표시나 입금 확인이 실제와 다를 수 있습니다. 동기화가 완료될 때까지 거래 판단에 쓰지 않는 것이 안전합니다.

## 쉽게 말하면

오래된 독서 모임에 새로 가입한 회원이 지금까지 읽은 책을 처음부터 모두 직접 읽고 내용이 맞는지 확인한 뒤에야 토론에 끼는 것과 같습니다.

---
출처: https://achivx.kr/glossary/initial-block-download-ibd-%EC%B5%9C%EC%B4%88-%EB%B8%94%EB%A1%9D-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C-ibd/ · ACHIVX 용어 사전 · 수정일 2026-10-20
