용어집 / 노드와 소프트웨어
가지치기 노드
- 가지치기 노드란 무엇입니까?
- 가지치기 노드는 블록체인 전체를 검증한 뒤 더 이상 필요 없는 오래된 블록 파일을 삭제하는 노드로, 전체 검증은 그대로 유지하면서 아카이브만 포기합니다.
BIP-159에 명시되어 있습니다.
가지치기는 디스크 공간을 얻는 대신 기록을 포기하는 것이며, 보안에서는 아무것도 잃지 않습니다. Bitcoin Core는 2015년 7월 12일에 출시된 버전 0.11.0부터 이를 지원했고, 허용되는 가장 작은 설정은 최근 블록을 약 550 MiB 정도 디스크에 보관합니다. 이용자는 여전히 제네시스 블록부터 앞으로 나아가며 모든 규칙을 확인합니다. 다만 각 블록을 다 쓴 뒤에는 그냥 버립니다.
작동 방식
가지치기는 검증 이후에 이루어지며, 검증을 대신하지 않습니다.
가지치기 노드는 체인 전체를 순서대로 내려받고 모든 서명, 모든 수수료, 모든 규칙을 아카이브 노드와 똑같이 검증합니다. 달라지는 것은 정리 작업입니다. 블록의 효과가 미사용 출력 데이터베이스에 반영되고 나면, 원본 블록 파일과 그 실행 취소 파일이 오래된 것부터 디스크에서 삭제됩니다. 검증된 결과는 남고, 그 서류는 남지 않습니다.
예산은 메비바이트 단위로 정합니다. 550이 하한이며 그보다 작은 값은 거부됩니다. 소프트웨어가 다시 내려받지 않고도 체인 재구성을 처리하려면 최근 블록을 충분히 확보해 두어야 하기 때문입니다. 1로 설정하면 수동 모드가 켜지며, 이용자가 직접 pruneblockchain 명령을 호출하기 전까지는 아무것도 삭제되지 않습니다.
줄어들지 않는 숫자가 하나 있는데, 바로 미사용 출력 집합입니다. 이 데이터베이스는 전체 원장의 작업 상태, 곧 지금 사용할 수 있는 모든 코인이며, 시간이 아니라 사용량에 따라 커집니다. 가지치기는 여기에 손대지 않으므로, 가지치기 노드는 설정값의 550 MiB가 아니라 여전히 수 기가바이트를 차지합니다.
작동하지 않게 되는 것이 네 가지입니다. 가지치기 깊이보다 오래된 트랜잭션은 지갑에서 다시 스캔할 수 없으므로, 아주 오래된 시드 문구를 가져오려면 처음부터 다시 동기화해야 합니다. 트랜잭션 인덱스를 만들 수 없어 다른 사람을 위한 블록 탐색기나 Electrum 서버를 운영할 수 없습니다. 뒤처진 피어에게 과거 블록을 제공할 수 없지만, BIP159를 사용하면 가장 최근의 288개 블록, 약 이틀 분량을 제공하겠다고 알릴 수 있으며 Bitcoin Core는 버전 0.16.0부터 이를 신호해 왔습니다. 그리고 나중에 전체 아카이브로 돌아가려면 내려받기를 처음부터 다시 시작해야 합니다.
확인할 수 있는 곳
가지치기는 거의 모든 플러그 앤 플레이 방식 노드 기기의 기본 설정이며, Raspberry Pi로 이 작업이 가능한 이유이기도 합니다.
산술이 논거의 전부입니다. 전체 아카이브는 2026년 8월에 759 GB를 넘어섰고 계속 늘어나는 반면, 가지치기 노드는 버리려던 노트북의 내장 드라이브에 넉넉히 들어갑니다. 자신의 결제를 직접 검증하고 낯선 사람의 서버에 주소를 계속 노출하는 일을 그만두려는 대다수 사람에게는 이것이 요구 사항의 전부입니다. 네트워크의 기록을 제공하는 일은 별도의 예산이 드는 별개의 취미입니다.
함정은 지갑입니다. 먼저 가지치기를 하고 나중에 오래된 지갑을 가져오면, 해당 코인이 들어 있는 블록이 이미 없으므로 노드가 코인 찾기를 거부합니다. 가지치기가 시작되기 전에 지갑을 설정하거나, 생성일이 가지치기 깊이보다 뒤에 있는 디스크립터를 사용하십시오.
가지치기 노드 vs 경량 클라이언트
가지치기 노드와 경량 클라이언트는 모두 작은 디스크에 들어가지만, 검증을 한 쪽은 하나뿐입니다. 가지치기 노드는 2009년 이후의 모든 블록을 직접 검증했고 영수증을 보관하지 않을 뿐이며, "이 결제는 유효한가"에 대한 답은 자신의 산술에서 나옵니다. 경량 클라이언트는 아무것도 검증하지 않고 서버에 묻는데, 그 답을 검증할 방법이 없으므로 이용자는 그대로 받아들입니다. 비슷한 저장 공간은 정반대의 신뢰 모델을 가리며, 저장 공간만 보고 둘 중 하나를 고르는 사람은 잘못된 숫자를 비교하고 있는 것입니다.