블록체인 핵심 원리와 아키텍처


  # 블록체인 핵심 원리와 아키텍처

블록체인(Blockchain)은 P2P(Peer-to-Peer) 네트워크 상에서 참여자 전원이 합의를 통해 동일한 거래 장부를 공유하고 암호학적으로 검증하는 **분산 원장 기술(Distributed Ledger Technology, DLT)**입니다.

<img src="/media/wiki/blockchain_architecture.jpg" alt="블록체인 아키텍처 및 분산 네트워크 구조" class="img-responsive img-fluid" style="max-width: 100%; border-radius: 8px; margin: 15px 0;" />

[TOC]

---

## 1. 블록체인의 데이터 구조와 암호학적 기초

### 1.1 블록(Block)의 구성 요소
블록체인의 기본 단위인 블록은 크게 **블록 헤더(Block Header)**와 **블록 바디(Block Body)**로 구성됩니다.

1. **블록 헤더 (Block Header - 통상 80바이트)**
   * **Version**: 소프트웨어/프로토콜 버전
   * **Previous Block Hash**: 이전 블록 헤더의 SHA-256 해시값 (블록들을 단방향 체인 형태로 결속)
   * **Merkle Root**: 블록 바디에 포함된 모든 트랜잭션 해시들의 머클 트리 루트 해시값
   * **Timestamp**: 블록이 생성된 시각 (유닉스 시간)
   * **Bits (Target Difficulty)**: 채굴 난이도를 나타내는 압축된 타겟값
   * **Nonce (Number used ONCE)**: 작업증명 조건을 만족하기 위해 증가시키는 카운터 변수
2. **블록 바디 (Block Body)**
   * 검증되어 블록에 최종 기록된 트랜잭션들의 원본 데이터 목록

### 1.2 암호학적 해시 함수 (Cryptographic Hash Function)
블록체인 무결성의 핵심은 **단방향 암호화 해시 함수** (예: 비트코인의 SHA-256, 이더리움의 Keccak-256)입니다.
* **단방향성 (Pre-image Resistance)**: $y = H(x)$에서 결과값 $y$를 통해 원본 데이터 $x$를 역산하는 것이 수학적으로 불가능함.
* **충돌 저항성 (Collision Resistance)**: $H(x_1) = H(x_2)$가 되는 서로 다른 입력값 $x_1, x_2$를 찾는 것이 계산적으로 불가능함.
* **눈사태 효과 (Avalanche Effect)**: 입력 데이터 중 단 1비트만 변경되어도 출력되는 해시값은 완전히 무작위로 변경됨.

### 1.3 머클 트리 (Merkle Tree)와 SPV 노드
머클 트리는 모든 트랜잭션을 2개씩 짝지어 해시화하여 최종 단 하나의 루트 해시(Merkle Root)를 도출하는 이진 트리 구조입니다.
* **검증 복잡도 $O(\log N)$**: 블록 내에 수천 개의 트랜잭션이 있어도 특정 트랜잭션의 포함 여부를 $O(\log N)$ 단계의 머클 경로(Merkle Proof)만으로 초고속 검증할 수 있습니다.
* **SPV(Simple Payment Verification) 라이트 노드**: 전체 블록체인(수백 GB)을 다운로드하지 않고 블록 헤더(수십 MB)만 보유한 채 스마트폰 등 저용량 디바이스에서 트랜잭션을 안전하게 검증할 수 있는 기반이 됩니다.

---

## 2. 합의 알고리즘 (Consensus Mechanism) 심층 비교 및 비판

합의 알고리즘은 중앙 관리자가 없는 분산 환경에서 "어떤 블록이 정당한 장부인가"를 결정하는 규칙입니다.

<div class="table-responsive">
<table class="table table-bordered">
<thead>
<tr>
<th>합의 방식</th>
<th>장점</th>
<th>단점 및 비판적 한계</th>
<th>대표 사례</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>PoW (작업증명)</strong></td>
<td>수학적 검증의 완결성, 최고 수준의 위변조 방어력, 무허가성 보장</td>
<td>막대한 전력 낭비, 초당 처리량(TPS) 한계, ASIC 채굴기 기반 채굴풀의 중앙화 과점</td>
<td>비트코인(BTC), 라이트코인(LTC), 카스파(KAS)</td>
</tr>
<tr>
<td><strong>PoS (지분증명)</strong></td>
<td>전력 소모 99.9% 절감, 빠른 블록 생성 주기, 슬래싱(Slashing)을 통한 경제적 징벌</td>
<td>부의 집중(자본이 많은 검증자가 더 많은 보상 획득), Nothing at Stake 위험, 스테이킹 풀(Lido 등)의 과점</td>
<td>이더리움(ETH), 카르다노(ADA), 폴카닷(DOT)</td>
</tr>
<tr>
<td><strong>DPoS (위임지분증명)</strong></td>
<td>초고속 TPS(수천 건 이상), 저렴한 가스비</td>
<td>검증 노드 수의 제한(보통 21~100개), 소수 대표 노드 간의 담합 및 검열 저항성 상실</td>
<td>이오스(EOS), 트론(TRX)</td>
</tr>
<tr>
<td><strong>PBFT / BFT 계열</strong></td>
<td>즉각적인 블록 완결성(Finality - 포크가 발생하지 않음)</td>
<td>노드 간 통신량 복잡도 $O(N^2)$로 인해 참여 노드 수 확장에 치명적 제약</td>
<td>코스모스(Tendermint), 클레이튼(Klaytn)</td>
</tr>
</tbody>
</table>
</div>

### 2.1 PoS의 구조적 쟁점: 검증자 카르텔과 검열 리스크
PoS는 친환경적이고 효율적이지만, 대규모 유동성 스테이킹 프로토콜(예: Lido) 및 대형 중앙화 거래소(Binance, Coinbase)로 스테이킹 지분이 쏠리는 현상이 발생합니다. 
이로 인해 특정 국가(예: 미국 재무부 OFAC)의 규제 준수 요청에 따라 특정 트랜잭션을 블록에서 배제하는 **온체인 검열(MEV-Boost OFAC Compliance)** 문제가 실재하는 위협으로 대두되었습니다.

---

## 3. 블록체인 트릴레마와 확장성 솔루션

블록체인 트릴레마(Blockchain Trilemma)는 비탈릭 부테린이 제시한 개념으로, **탈중앙성(Decentralization), 보안성(Security), 확장성(Scalability)**의 3가지 속성을 동시에 완벽하게 달성하기 어렵다는 원리입니다.

```
            탈중앙성 (Decentralization)
                  /                 /                  /      (비트코인/이더리움)   (솔라나/DPoS)
              /                     /            보안성 (Security) ------- 확장성 (Scalability)
```

### 3.1 레이어 2 (Layer 2) 롤업(Rollup) 아키텍처
트릴레마를 극복하기 위해 연산(Execution)은 레이어 2에서 고속 처리하고, 보안 및 최종 합의(Settlement & Data Availability)는 레이어 1(이더리움)에 맡기는 롤업이 주류로 자리잡았습니다.

1. **옵티미스틱 롤업 (Optimistic Rollup - Arbitrum, Optimism)**
   * **원리**: L2 트랜잭션이 모두 정당하다고 "낙관적"으로 가정하고 L1에 기록합니다.
   * **검증 방식**: 누군가 부정한 트랜잭션을 발견하면 7일 이내에 **사기 증명(Fraud Proof)**을 제출하여 롤백시킵니다.
   * **단점**: L1으로 자금을 출금할 때 7일간의 분쟁 유예 기간(Challenge Window)이 소요됩니다.
2. **ZK 롤업 (Zero-Knowledge Rollup - zkSync, Starknet, Scroll)**
   * **원리**: 암호학적 **영지식 증명(SNARK / STARK)**을 사용하여 수천 건의 트랜잭션 유효성을 단 하나의 증명(Proof)으로 압축해 L1에 검증합니다.
   * **장점**: 즉각적인 완결성(Finality)과 출금 지연 없음, 최고 수준의 보안.
   * **단점**: ZK 증명 생성에 막대한 연산 자원과 고난도의 수학적 회로(Circuit) 구현이 요구됩니다.

---

## 4. 주요 블록체인 공격 벡터와 보안 취약점

1. **51% 공격 (Majority Attack)**
   * 네트워크 전체 연산력(PoW) 또는 스테이킹 지분(PoS)의 과반을 장악하여 과거 블록을 재작성하고 **이중 지불(Double Spending)**을 감행하는 공격. 해시레이트가 낮은 알트코인에서 주로 발생합니다.
2. **롱 레인지 공격 (Long-Range Attack)**
   * PoS 체인에서 과거에 지분을 보유했던 검증자가 과거 특정 시점부터 별도의 체인을 생성하여 사후 조작하는 공격. 체크포인트(Weak Subjectivity) 도입으로 방어합니다.
3. **MEV (Maximal Extractable Value)**
   * 블록 생성자나 봇이 멤풀(Mempool)에 대기 중인 트랜잭션의 순서를 임의로 재배치하거나 삽입(Front-running, Sandwich Attack)하여 차익을 편취하는 현상.