Categories: 블록체인 글

블록체인 입문 1편: “블록”이 도대체 뭔가요? — 장부부터 노드까지 제대로 파헤치기

시리즈: 파이썬 개발자가 블록체인을 파헤치다
기초 프로그래밍 지식이 있는 분들을 위한 시리즈입니다. 코드 예시도 나오지만, 읽는 것만으로도 충분히 이해할 수 있습니다.

블록체인, 이름부터 뜯어보자

“블록체인(Blockchain)”은 두 단어의 합성어입니다.

  • 블록(Block): 거래 기록을 담은 데이터 묶음
  • 체인(Chain): 이 블록들이 암호학적으로 연결된 구조

쉽게 말하면, 전 세계 노드들이 함께 관리하는 분산 장부(Distributed Ledger) 입니다. 중앙 서버가 없어도 위조가 불가능한 이유가 바로 이 구조에 있습니다.


블록의 실제 구조

블록 하나를 실제로 열어보면 크게 두 부분으로 나뉩니다.

┌──────────────────────────────────┐
│           블록 헤더               │
│  - 이전 블록 해시 (prevHash)      │  ← 체인 연결의 핵심
│  - 타임스탬프                     │
│  - 트랜잭션 머클루트 (Merkle Root)│
│  - 난이도 / Nonce                 │
├──────────────────────────────────┤
│         트랜잭션 목록             │
│  TX1: Alice → Bob  10 ETH        │
│  TX2: Charlie → Dave  5 ETH      │
│  TX3: ...                        │
└──────────────────────────────────┘

여기서 prevHash가 핵심이에요. 각 블록은 이전 블록 전체 내용의 해시값을 담고 있어서, 중간 블록 하나를 변조하면 그 이후 블록의 prevHash가 전부 맞지 않게 됩니다. 위조를 하려면 그 블록부터 현재까지의 모든 블록을 다시 계산해야 합니다.

머클 트리(Merkle Tree)란?

트랜잭션 목록을 효율적으로 검증하기 위한 구조입니다.

        [루트 해시]
       /           \
  [Hash AB]      [Hash CD]
  /      \       /      \
[Hash A][Hash B][Hash C][Hash D]
  |       |       |       |
 TX_A   TX_B   TX_C   TX_D

특정 트랜잭션 하나만 변조돼도 루트 해시가 바뀌기 때문에, 수천 개의 트랜잭션 중 특정 것만 빠르게 검증할 수 있습니다. 라이트노드가 이 방식을 활용합니다.


실제로 블록이 몇 개나 있을까?

ARK 블록체인을 예로 들어볼게요. 2017년 3월에 런칭한 체인입니다.

현재(2026년 6월) ARK 블록체인에는 약 3,620만 개의 블록이 있습니다.

# 계산해보면:
block_time = 8          # 초
seconds_per_day = 86400
daily_blocks = seconds_per_day / block_time  # 10,800개
years = 9
total = daily_blocks * 365 * years           # 약 3,550만개  ✓

비교해보면:

블록체인블록 생성 주기현재 블록 수
비트코인10분~85만 개
이더리움12초~2,000만 개
ARK8초~3,620만 개

풀노드 vs 라이트노드: 뭐가 다를까?

풀노드 (Full Node)

블록 #1부터 현재까지 전체 블록 데이터를 저장하고, 모든 트랜잭션을 직접 검증합니다.

저장 용량: ARK 기준 수십 GB
역할: 독립적 검증 가능 → 누구도 믿을 필요 없음
운영 비용: 서버 + 전기 (월 2,000원 ~ 수만 원)

라이트노드 (SPV Node)

블록 헤더만 저장하고, 트랜잭션 검증은 머클 증명을 이용해 풀노드에 의뢰합니다.

저장 용량: 풀노드의 수천분의 1
검증 방식: 머클 증명(Merkle Proof)으로 특정 트랜잭션만 확인
단점: 풀노드를 신뢰해야 함

지갑 앱 사용자

MetaMask, ARK 모바일 지갑 같은 앱은 블록을 하나도 저장하지 않고, 풀노드 서버에 RPC(Remote Procedure Call) 로 질의합니다.

앱 → RPC 요청 → 풀노드 서버 → 응답
"이 주소의 잔액이 얼마야?" "이 TX가 컨펌됐어?"

블록은 누가 만드나? — ARK의 DPoS

ARK는 DPoS(Delegated Proof of Stake) 방식을 씁니다.

ARK 토큰 보유자 투표
        ↓
득표 상위 51명 → Active Delegate 선출
        ↓
8초마다 한 명씩 돌아가며 블록 생성
(라운드마다 순서 랜덤 셔플)

Delegate가 자기 차례에 블록을 못 만들면 missed block으로 기록되고, 신뢰도가 떨어져 투표를 잃을 수 있습니다.

DPoS의 구조적 약점

51명이라는 숫자가 너무 적다는 점은 알고 있어야 합니다.

과반수 장악에 필요한 수: 26명
→ 대규모 자본이 ARK를 매수해 투표권 장악 시 가능
→ 실제로 EOS(2019), Steem(2020)에서 유사 사건 발생

반면 이더리움 PoS는 검증자가 100만 명 이상이라 이런 공격이 현실적으로 불가능합니다.


핵심 정리

개념설명
블록트랜잭션 묶음 + 이전 블록 해시
머클 트리트랜잭션 효율적 검증 구조
풀노드전체 블록 저장, 독립 검증
라이트노드헤더만 저장, 머클 증명 활용
DPoS투표로 선출된 소수 대표자가 블록 생성

다음 편 예고

2편에서는 이더리움 채굴(PoW)의 핵심인 Ethash 알고리즘을 파헤쳐봅니다. Cache → DAG → Hashimoto로 이어지는 구조와, GPU가 왜 필수였는지 코드 수준에서 살펴봅니다.


질문이나 피드백은 댓글로 남겨주세요. 최대한 빠르게 답변드릴게요!

Recent Posts

블록체인이 진짜 파는 것: “나는 못 고친다”

체인 위의 데이터 — 3부작 중 3편 · ChainLab 앞의 두 편은 배관에 관한 것이었습니다…

2개월 ago

데이터를 소비하는 것이 스마트컨트랙트일 때

체인 위의 데이터 — 3부작 중 2편 · ChainLab 1편에서 우리는 하나의 재정의에 도달했습니다. 블록체인은…

2개월 ago

무료 데이터를 블록체인에 얹어 판다는 것

체인 위의 데이터 — 3부작 중 1편 · ChainLab 솔깃한 아이디어가 하나 있습니다. 부동산 실거래가…

2개월 ago

한국에선 왜 아직? — 규제 이야기, 쉽게 (5/5)

기술은 세계 최고 수준인데, 왜 우리나라에선 AI 결제가 아직 잘 안 굴러갈까요? 답은 '실력'이 아니라…

2개월 ago

에스크로 — 돈을 안전하게 맡기는 금고, 그런데 왜 어려울까 (4/5)

중고거래 안전결제, 다들 써보셨죠? AI 결제에도 이게 필요합니다. 문제는, 생각보다 훨씬 까다롭다는 거예요. 중고거래를 떠올려…

2개월 ago

AP2 & MPP — ‘미리 허락받는’ 결제 vs ‘탭 열어두는’ 결제 (3/5)

앞 편의 x402가 자판기였다면, 이번 두 방식은 '용돈 한도'와 '술집 외상장부'에 가깝습니다. 앞 편 복습:…

2개월 ago