들어가며 — 은행 장부는 지울 수 있다
은행은 장부를 수정할 수 있습니다. 오류가 생기면 정정하고, 법원 명령이 있으면 동결하고, 시스템 오류가 생기면 롤백합니다. 이것이 가능한 이유는 장부가 중앙 서버에 저장되어 있고, 그 서버를 통제하는 기관이 있기 때문입니다.
비트코인 블록체인은 다릅니다. 2009년 1월 3일 첫 번째 블록이 생성된 이후 지금까지 단 한 건의 거래도 수정되거나 삭제된 적이 없습니다. 15년이 넘는 시간 동안 수억 건의 거래가 기록됐고, 그 모든 것이 그대로 남아있습니다.
왜 블록체인은 한 번 쓴 것을 지울 수 없을까요? 단순히 "여러 컴퓨터에 복사되어 있어서"라는 설명으로는 충분하지 않습니다. 진짜 이유는 블록 구조 자체에 있습니다.
오늘은 블록체인이 물리적으로, 수학적으로 어떻게 불변성을 보장하는지 구조적으로 정리합니다.

목차
- 블록체인이란 무엇인가 — 정확한 정의
- 블록 하나의 해부 — 무엇이 들어있나
- 해시포인터 — 블록을 연결하는 수학적 사슬
- 왜 과거 블록을 수정하면 들키는가
- 머클 트리 — 수천 건의 거래를 하나의 해시로
- 제네시스 블록 — 모든 것의 시작
- 분산 저장 — 복사본이 수만 개인 이유
- 51% 공격 — 불변성이 깨지는 유일한 조건
- 블록체인 탐색기로 직접 확인하기
- 프라이버시 문제 — 투명성의 양면
- 필자의 생각
1. 블록체인이란 무엇인가 — 정확한 정의
블록체인(Blockchain)은 단어 그대로 블록(Block)들이 체인(Chain)처럼 연결된 구조입니다.
비트코인 블록체인은 모든 비트코인 거래를 기록하는 투명하고 탈중앙화된 원장의 기능을 수행합니다. 이는 전 세계의 컴퓨터(또는 노드)의 네트워크로 유지됩니다.
여기서 핵심 단어는 세 가지입니다.
투명(Transparent): 누구나 모든 거래를 볼 수 있습니다. 특정 주소에 얼마가 들어오고 나갔는지 전 세계 누구나 확인할 수 있습니다.
탈중앙화(Decentralized): 하나의 중앙 서버가 아니라 전 세계 수만 개의 노드가 같은 기록을 보관합니다. 그중 하나를 해킹해도 나머지가 살아있습니다.
원장(Ledger): 회계 장부입니다. "A가 B에게 0.5 BTC를 보냈다"는 기록의 집합입니다. 단, 이 장부는 수정이 불가능합니다.
2. 블록 하나의 해부 — 무엇이 들어있나
블록체인은 블록들의 연결입니다. 먼저 블록 하나에 무엇이 들어있는지 봅니다.
블록 헤더(Block Header)
이전 블록의 해시(Previous Block Hash), 머클 루트(Merkle Root, 이 블록의 모든 거래를 하나로 요약한 값), 타임스탬프(Timestamp, 블록이 생성된 시간), 논스(Nonce, 3편에서 배운 채굴 퍼즐 답), 난이도 목표(Difficulty Target)가 담깁니다.
블록 바디(Block Body)
이 블록에 포함된 거래(Transaction) 목록입니다. 현재 블록당 약 2,000~3,000건의 거래가 담깁니다.
블록 하나의 크기는 약 1~4MB 수준입니다. 10분마다 하나씩 생성되므로, 현재까지 약 85만 개 이상의 블록이 쌓여 있습니다.
3. 해시포인터 — 블록을 연결하는 수학적 사슬
블록체인 불변성의 핵심이 여기 있습니다.
각 블록의 헤더에는 이전 블록의 해시값이 포함됩니다. 이것을 해시포인터(Hash Pointer)라고 합니다.
3편과 7편에서 배운 해시 함수의 특성을 기억하시나요? 입력이 조금만 바뀌어도 출력(해시값)이 완전히 달라집니다. 그리고 해시값을 보고 원래 입력을 역산하는 것은 불가능합니다.
이것이 왜 중요한가
블록 100이 블록 99의 해시값을 담고 있습니다. 블록 101은 블록 100의 해시값을 담고 있습니다. 이렇게 체인처럼 연결됩니다.
이제 누군가 블록 99의 거래 내역을 수정하려 한다고 가정합니다. 거래 내역이 바뀌면 블록 99의 해시값이 완전히 달라집니다. 그러면 블록 100에 저장된 "이전 블록 해시"가 블록 99의 새 해시와 일치하지 않습니다. 블록 100이 무효가 됩니다. 블록 101에 저장된 "이전 블록 해시"도 블록 100의 새 해시와 맞지 않습니다. 블록 101도 무효가 됩니다.
즉 블록 99 하나를 수정하면, 그 이후에 쌓인 수십만 개의 블록이 전부 무효가 됩니다. 수정하려면 블록 99부터 현재 블록까지 모든 블록을 다시 채굴해야 합니다. 이것이 현실적으로 불가능하기 때문에 블록체인은 불변입니다.
4. 왜 과거 블록을 수정하면 들키는가
구체적인 예시로 봅니다.
2020년에 "철수가 영희에게 1 BTC를 보냈다"는 거래가 블록 600,000에 기록됐다고 가정합니다. 누군가 이 기록을 "철수가 영희에게 0 BTC를 보냈다"로 수정하려 합니다.
수정 시도의 결과
블록 600,000의 내용이 바뀌면 블록 600,000의 해시값이 달라집니다. 블록 600,001은 이전 블록(600,000)의 해시를 담고 있는데, 이제 그 해시가 달라졌으므로 블록 600,001도 재작성해야 합니다. 재작성하려면 작업증명(채굴) 퍼즐을 다시 풀어야 합니다. 블록 600,001을 재작성하면 블록 600,002도 재작성해야 합니다. 2026년 현재 블록체인은 약 85만 블록 이상입니다. 블록 600,000부터 85만 번까지 약 25만 개의 블록을 전부 다시 채굴해야 합니다.
이것이 얼마나 어려운가
전 세계 모든 채굴자가 초당 약 1,000 EH/s(엑사해시)의 연산을 하고 있습니다. 하나의 공격자가 이 모든 채굴자들보다 빠르게 25만 개의 블록을 다시 채굴하는 것은 현재 기술로 불가능합니다.
5. 머클 트리 — 수천 건의 거래를 하나의 해시로
블록 하나에 수천 건의 거래가 담깁니다. 이 모든 거래를 효율적으로 요약하는 구조가 **머클 트리(Merkle Tree)**입니다.
작동 원리
각 거래의 해시를 만듭니다. 두 거래의 해시를 합쳐서 상위 해시를 만듭니다. 이 과정을 반복해서 최종적으로 하나의 해시(머클 루트)를 만듭니다.
이 머클 루트가 블록 헤더에 포함됩니다. 블록에 담긴 수천 건의 거래 중 단 하나라도 변조하면 머클 루트가 달라지고, 그러면 블록 헤더 전체가 달라져 이후 모든 블록이 무효가 됩니다.
머클 트리의 또 다른 장점
특정 거래가 특정 블록에 포함됐는지 확인하는 데 전체 블록체인 데이터 없이도 빠르게 검증할 수 있습니다. 이것을 SPV(Simplified Payment Verification)라고 하며, 모바일 지갑 앱이 전체 블록체인을 다운로드하지 않고도 작동하는 원리입니다.
6. 제네시스 블록 — 모든 것의 시작
블록체인의 첫 번째 블록을 **제네시스 블록(Genesis Block)**이라고 합니다.
2009년 1월 3일 사토시 나카모토가 만든 블록 0번입니다. 이 블록은 이전 블록이 없으므로 "이전 블록 해시" 값이 64개의 0으로 채워져 있습니다.
제네시스 블록에는 유명한 메시지가 숨겨져 있습니다. 블록 데이터 안에 영국 더 타임스 2009년 1월 3일 자 헤드라인이 인코딩 되어 있습니다. "Chancellor on brink of second bailout for banks"(재무장관, 은행 2차 구제금융 직전). 사토시가 중앙화된 금융 시스템에 대한 비판 의식을 담아 남긴 메시지입니다.
이 제네시스 블록부터 현재까지의 모든 블록이 해시포인터로 연결된 것이 바로 비트코인 블록체인입니다.
7. 분산 저장 — 복사본이 수만 개인 이유
해시포인터 구조만으로도 수정이 어렵지만, 분산 저장이 두 번째 보안 계층을 제공합니다.
비트코인 네트워크에는 전 세계에 약 15,000~20,000개의 풀노드(Full Node)가 운영됩니다. 각 풀노드는 비트코인 창세기부터 현재까지 모든 블록의 완전한 사본을 보유합니다.
이것이 의미하는 것
만약 공격자가 특정 노드를 해킹해서 그 노드의 블록체인 데이터를 수정했다고 가정합니다. 나머지 수만 개의 노드는 여전히 원본 데이터를 갖고 있습니다. 새 거래를 전파하거나 새 블록을 만들 때 노드들이 서로 비교하면 수정된 데이터는 즉시 거부됩니다.
단순히 "여러 곳에 복사되어 있다"는 것이 블록체인의 핵심이 아닙니다. 해시포인터 연결 구조 덕분에 어느 노드든 수정을 시도하면 즉각 탐지됩니다. 분산 저장은 이 탐지를 더욱 확실하게 만드는 추가 보장입니다.
8. 51% 공격 — 불변성이 깨지는 유일한 조건
블록체인 불변성이 이론적으로 깨질 수 있는 유일한 시나리오를 솔직하게 다룹니다.
만약 하나의 주체가 전체 네트워크 해시레이트의 51% 이상을 통제한다면, 이론적으로 과거 블록을 수정하고 더 긴 체인을 만들어 유효한 것처럼 속일 수 있습니다. 비트코인 프로토콜은 항상 "더 긴 체인이 유효한 체인"이라는 규칙을 따르기 때문입니다.
현실적으로 가능한가
현재 비트코인 네트워크 해시레이트는 약 961~1,000 EH/s(엑사해시)입니다. 이 중 51%를 확보하려면 전 세계 ASIC 채굴기 상당 부분을 직접 사들이거나 임대해야 합니다. 그 비용은 현재 수조 원 이상으로 추정됩니다.
설령 51%를 확보했다 해도, 공격에 성공하면 비트코인 신뢰가 붕괴해 가격이 폭락합니다. 공격자가 보유한 비트코인과 채굴 장비 가치도 함께 폭락합니다. 공격의 경제적 인센티브 자체가 사라집니다.
이것이 비트코인이 실제로 51% 공격을 받은 적이 없는 이유입니다. 소규모 알트코인은 해시레이트가 작아 51% 공격 사례가 있었지만, 비트코인은 해시레이트 규모 자체가 방어막입니다.
9. 블록체인 탐색기로 직접 확인하기
이 모든 것을 직접 눈으로 확인할 수 있습니다.
**블록체인 탐색기(Blockchain Explorer)**는 비트코인 블록체인의 모든 데이터를 웹 브라우저에서 볼 수 있게 해주는 도구입니다.
대표적인 탐색기는 mempool.space, blockchain.com/explorer, blockstream.info입니다.
탐색기에서 확인할 수 있는 것
특정 주소의 모든 거래 내역과 잔액을 볼 수 있습니다. 특정 거래의 상태(컨펌 수, 수수료, 금액, 수신 주소)를 확인할 수 있습니다. 특정 블록의 내용(포함된 거래 수, 채굴자, 크기, 블록 해시, 이전 블록 해시)을 볼 수 있습니다. 제네시스 블록(블록 0)부터 현재 블록까지 모든 블록을 직접 검색할 수 있습니다.
직접 해보기
mempool.space에 접속해서 상단 검색창에 "0"을 입력하거나 블록 높이 0을 검색하면 제네시스 블록을 직접 볼 수 있습니다. 블록 데이터 안에서 타임스탬프(2009-01-03 18:15:05 UTC)와 앞서 언급한 더 타임스 헤드라인 인코딩도 확인할 수 있습니다.
10. 프라이버시 문제 — 투명성의 양면
블록체인의 투명성은 장점이지만 동시에 한계이기도 합니다.
모든 거래가 공개된다는 것은 누구나 특정 주소의 거래 내역 전체를 볼 수 있다는 뜻입니다. 이름은 없지만 주소와 거래 내역의 패턴, 거래소 입출금 내역 등을 조합하면 실제 신원을 추적하는 것이 가능합니다.
특히 업비트나 빗썸 같은 거래소는 KYC(신원 인증)를 요구하므로, 거래소 주소와 개인 지갑 주소를 연결하면 신원 파악이 가능합니다. 이것이 27편에서 다룬 UTXO 관리와 10편의 개인 지갑 사용이 중요한 또 다른 이유입니다.
완전한 익명성이 필요하다면 모네로(Monero) 같은 프라이버시 코인이 별도로 설계되어 있습니다. 비트코인은 익명(Anonymous)이 아니라 가명(Pseudonymous) 시스템입니다.
11. 필자의 생각
💡 "변경 불가능한 기록"이라는 개념 자체가 혁명이다
인류 역사에서 장부는 항상 수정될 수 있었습니다. 왕이 명령하면, 법원이 판결하면, 해커가 침입하면 기록을 바꿀 수 있었습니다. 비트코인 블록체인은 처음으로 "수학적으로 수정이 불가능한 기록"을 구현했습니다. 이것은 기술적 혁신이기도 하지만 철학적 혁신이기도 합니다. 권력이나 물리적 강제력이 아니라 수학이 기록을 보호한다는 것입니다.
💡 해시포인터 하나가 만드는 연쇄 효과
이 글에서 가장 중요한 개념은 해시포인터라고 생각합니다. 단순히 "이전 블록을 가리킨다"는 것이지만, 이 구조 때문에 과거 블록 하나를 바꾸면 이후 모든 블록이 연쇄적으로 무효화됩니다. 이 아이디어는 단순하지만 우아합니다. 복잡한 암호화 프로토콜 없이, 해시 함수의 일방향 특성 하나로 불변 장부를 구현했습니다. 3편에서 배운 작업증명과 11편의 공개키 암호화, 그리고 이번 해시포인터 세 가지가 합쳐져서 비트코인이라는 시스템이 만들어집니다.
💡 제네시스 블록의 메시지가 지금도 유효한 이유
2009년 1월 3일 사토시가 블록 데이터에 숨긴 더 타임스 헤드라인은 단순한 타임스탬프가 아닙니다. "은행 구제금융"에 대한 비판이자, 이 시스템이 왜 만들어졌는지에 대한 선언이었습니다. 17년이 지난 지금, 그 메시지는 블록 0번에 영구적으로 남아있습니다. 아무도 지울 수 없습니다. 이것이 블록체인 불변성의 가장 시적인 증명입니다.
자주 묻는 질문 (FAQ)
Q1. 비트코인 블록체인 전체 데이터는 얼마나 큰가요?
2026년 현재 약 550~600GB 수준입니다. 풀노드를 운영하려면 이 데이터를 모두 다운받아야 합니다. 다만 모바일 지갑처럼 가벼운 클라이언트는 머클 트리 구조를 활용해 전체 데이터 없이도 검증이 가능합니다.
Q2. 블록체인에 기록된 내 거래를 지울 수 있나요?
불가능합니다. 이것이 블록체인의 근본적 특성입니다. 잘못 보낸 거래도, 실수로 만들어진 거래도 한 번 블록에 포함되면 영구적으로 남습니다. 이것이 7편에서 강조한 "보내기 전 주소를 세 번 확인하라"는 원칙의 이유입니다.
Q3. 비트코인 외의 블록체인도 같은 구조인가요?
기본 원리(해시포인터로 블록 연결)는 비슷하지만 세부 구조가 다릅니다. 이더리움은 계정 기반 모델과 스마트 컨트랙트를 추가했습니다. 일부 블록체인은 PoS(지분증명)으로 작업증명 없이 합의합니다.
Q4. 비트코인 블록체인은 해킹된 적이 있나요?
비트코인 블록체인 자체는 해킹된 적이 없습니다. 해킹 피해는 항상 거래소, 개인 지갑, 스마트 컨트랙트 코드 등 블록체인 '위'에 있는 서비스에서 발생했습니다. 블록체인 프로토콜 자체의 취약점을 이용한 공격은 지금까지 성공한 사례가 없습니다.
Q5. 블록체인 탐색기에서 내 개인키도 볼 수 있나요?
아닙니다. 블록체인 탐색기에서는 공개 정보인 주소, 거래 내역, 잔액만 볼 수 있습니다. 개인키는 블록체인에 기록되지 않으며 탐색기에서 절대 보이지 않습니다.
결론 — 수학이 역사를 지키는 시스템
비트코인 블록체인을 한 문장으로 정리합니다.
"각 블록이 이전 블록의 해시값을 담는 해시포인터 구조 덕분에 과거 블록 하나를 수정하면 이후 모든 블록이 무효화되고, 전 세계 수만 개 노드가 원본을 보관하므로 사실상 수정이 불가능한 불변 장부다."
핵심 세 가지입니다. 해시포인터가 수정을 불가능하게 만들고, 작업증명이 수정 비용을 천문학적으로 높이고, 분산 저장이 수정 시도를 즉각 탐지합니다.
이 세 가지가 결합해 17년 동안 한 건의 수정도 없는 역사상 가장 신뢰할 수 있는 장부가 만들어졌습니다.
다음 14편에서는 비트코인 하드포크 vs 소프트포크 — 업데이트가 어떻게 이뤄지는가를 다룹니다.
※ 이 글은 정보 제공을 목적으로 작성된 것이며, 특정 자산에 대한 투자를 권유하지 않습니다. 투자에 대한 모든 결정과 책임은 투자자 본인에게 있습니다.
'비트코인기초,암호화폐정보' 카테고리의 다른 글
| 내가 직접 노드를 운영해야 하는 이유 — 풀노드 원리와 2026년 실전 가이드 (0) | 2026.07.05 |
|---|---|
| 하드포크·소프트포크, 블록 크기 전쟁 — 탭루트가 남긴 교훈 [14편] (0) | 2026.07.04 |
| 금고에 열쇠를 두 개 채우다 — 멀티시그(다중서명)의 원리와 내가 써야 하는 경우 [12편] (0) | 2026.07.02 |
| 소유권의 진짜 의미 — 개인키·공개키·주소, 세 개의 자물쇠가 만드는 신뢰의 수학 [11편] (0) | 2026.07.01 |
| 업비트에 두면 안 되는 이유 — 거래소 지갑 vs 개인 지갑 완전 비교와 금액별 보관 전략 [10편] (0) | 2026.06.30 |