프루닝 노드 (Pruned Node)
프루닝 노드는 블록체인 전체를 검증하되, 검증이 끝난 오래된 블록 데이터는 삭제하고 최근 블록과 UTXO 집합만 보관해 저장 공간을 줄인 풀 노드입니다. '가지치기된 노드'라는 직역 대신 개발자들은 '프루닝 노드'라고 부릅니다.
자세히 알아보기
비트코인 풀 노드는 제네시스 블록부터 모든 블록을 내려받아 하나하나 검증합니다. 전체 블록 데이터는 수백 기가바이트에 이르러 일반 노트북이나 소형 기기에서는 부담이 큽니다. 그런데 새 트랜잭션을 검증하는 데 실제로 필요한 것은 과거 블록 원본이 아니라 '현재 쓸 수 있는 출력의 목록'인 UTXO 집합입니다. 프루닝 노드는 이 점을 이용합니다. 모든 블록을 똑같이 검증한 뒤, UTXO 집합에 반영된 오래된 블록 파일은 삭제하고 설정한 용량만큼의 최근 블록만 남깁니다.
비트코인 코어는 0.11 버전(2015년)부터 prune 옵션으로 이 기능을 제공하며, 남겨 둘 블록 데이터의 목표 크기를 MiB 단위로 정합니다. 최소값은 550MiB로, 체인 재구성에 대비해 최근 블록 일부는 항상 보관합니다.
중요한 점은 프루닝 노드의 보안 수준이 아카이브(전체 보관) 노드와 같다는 것입니다. 모든 블록을 직접 검증했으므로 다른 노드를 신뢰할 필요가 없고, 경량 클라이언트(SPV)와 달리 합의 규칙 위반도 스스로 걸러냅니다. 다만 몇 가지 제약이 있습니다. 다른 노드에 과거 블록을 제공할 수 없어 새 노드의 초기 동기화를 도울 수 없고, 오래된 지갑을 가져와 과거 거래 내역을 다시 스캔하려면 블록을 다시 내려받아야 합니다. 모든 트랜잭션 조회용 색인(txindex)과도 함께 쓸 수 없습니다.
블록체인·암호화폐에서는
프루닝은 개인이 자신의 노드로 트랜잭션을 검증하는 진입 장벽을 낮춥니다. 저장 공간이 작은 기기에서도 풀 노드를 운영해 지갑을 연결하면, 제3자 서버에 내 주소를 알리지 않고 잔액과 거래를 확인할 수 있습니다. 반대로 블록 탐색기, 거래소, 분석 서비스처럼 과거 데이터를 자주 조회해야 하는 곳은 전체 기록을 보관하는 아카이브 노드를 운영합니다. 이더리움에서도 클라이언트가 오래된 상태 데이터를 정리하는 상태 프루닝을 지원하며, 오래된 블록 기록을 일반 노드가 보관하지 않도록 하는 방향의 논의가 이어지고 있습니다.
쉽게 말하면
모든 영수증을 하나하나 확인해 가계부를 정확히 맞춘 뒤, 오래된 영수증 원본은 버리고 현재 잔액표만 보관하는 것과 같습니다.
예시
비트코인 코어 설정 파일에 prune=10000을 넣으면, 노드는 전체 체인을 검증하면서도 블록 데이터는 약 10GB 정도만 보관합니다.
이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.