Blockchain & Decentralized Web
신뢰의 전산화인 블록체인 합의 알고리즘(PoW, PoS), 스마트 컨트랙트 물리, 그리고 분산 원장 기술(DLT)을 다루는 학습 노드입니다.
Article
M
Me
hyunyoun's Blog
web-emerging-technologieswebemerging-technologiesphysical-systemsblockchaindecentralized-webblockchain-physicsblockchain-architecture8 min read
1. Overview
탈중앙화 웹 및 블록체인 물리(Decentralized Web & Blockchain Physics)는 중앙 집중화된 서버(DB) 없이, 서로를 믿지 않는 전 세계의 노드들이 데이터의 무결성과 순서를 암호학적으로 합의해내는 전산학적 신뢰 구축 메커니즘을 다룹니다.
기존 웹(Web 2.0)이 아마존이나 구글의 거대한 물리적 서버에 데이터를 의탁했다면, 블록체인(Web3)은 데이터가 해시 체인(Hash Chain)으로 맞물려 과거 기록을 위조하려면 그 이후의 모든 블록을 다시 채굴해야 하는 비가역적(Irreversible) 수학 물리를 띱니다. 학습자는 작업 증명(PoW)에서 CPU를 갈아 넣어 51% 공격을 방어하는 물리적 에너지 한계와 지분 증명(PoS)의 경제적 페널티(Slashing)를 분해하고, 스마트 컨트랙트(Smart Contract)라는 가상 머신(EVM)에서 코드가 곧 법(Code is Law)이 되어 실행을 보장하는 스마트 계약의 물리적 제약 조건을 체화합니다.
2. Scope & Boundaries
In-Scope
- 블록체인 물리(Chain Physics): 블록 구조, 머클 트리(Merkle Tree), 암호학적 해시 체이닝, Nonce.
- 합의 알고리즘(Consensus): PoW(작업 증명) 난이도 조절, PoS(지분 증명), BFT(비잔틴 장애 허용).
- 실행 환경(Execution): 스마트 컨트랙트, EVM(Ethereum Virtual Machine), 가스(Gas) 비용 모델, 튜링 완전성 제어.
- 네트워크 동기화: P2P 가십(Gossip) 프로토콜, 멤풀(Mempool) 대기열, 상태 트리(State Trie) 무결성.
Out-of-Scope
- 암호 화폐 차트 분석 및 투자: 코인 가격 예측이나 경제학적 투자 기법 전산학 범위 밖.
- 웹 백엔드 트랜잭션 (ACID): 일반적인 관계형 데이터베이스(MySQL)의 락킹(Locking) 및 롤백 메커니즘 04-03. Data Consistency & Isolation 영역으로 위임.
Boundaries
- 블록체인 vs 분산 시스템 (14-01-01 vs 07-01): 일반적인 분산 시스템(07-01)은 '서로 믿을 수 있는' 구글의 내부 서버 1,000대가 장애(Crash)를 극복하고 고가용성을 유지하는 Paxos/Raft 물리라면, 블록체인(14-01-01)은 '서로 언제든 배신할 수 있는' 악의적 노드들 사이에서 비잔틴 장애(Byzantine)를 방어하며 1개의 진실을 합의해내는 제로 트러스트(Zero Trust) 물리입니다.
3. Counterexample
- 공짜 무한 루프의 환상 (Infinite Loop Fallacy): 스마트 컨트랙트를 짤 때 일반 백엔드처럼
while(true)같은 무한 루프를 방치하는 행위. 블록체인에서는 모든 노드가 내 코드를 똑같이 실행해야 하므로, 무한 루프에 빠지면 전 세계 네트워크가 멈춥니다. 이를 방지하기 위해 스마트 컨트랙트는 연산마다 물리적인 주유비(Gas)를 지불하게 강제하며, 가스가 떨어지면 실행을 롤백(Revert)시켜 네트워크 붕괴를 막습니다. - 수정 가능한 데이터 (Mutable State Fallacy): 배포한 스마트 컨트랙트에 치명적인 보안 버그(예: Reentrancy 해킹)가 발견되었을 때, 서버 코드를 고치듯 덮어쓰기(Update)를 시도하는 무지. 블록체인에 한 번 올라간 코드와 데이터는 물리적으로 절대 수정 불가능(Immutable)합니다. 변경이 필요하다면 프록시 컨트랙트(Proxy Pattern)를 미리 뚫어두어 논리적인 라우팅 주소만 갈아끼우는 우회로를 짜야 합니다.
4. Prerequisites
- 비대칭키 암호학과 해시 (Basic): RSA/ECC와 SHA-256이 데이터의 위변조를 어떻게 막는지 알아야 머클 트리를 이해할 수 있습니다. (10-01. Cryptography)
- 분산 시스템 이론 (Recommended): CAP 정리와 비잔틴 장군 문제(Byzantine Generals Problem)를 알아야 PoW가 왜 위대한 수학적 타협인지 깨닫게 됩니다. (07-01. Distributed Physics)
5. Learning Map
6. Learning Topics
Basic
Core Topic 01: 머클 트리와 체인(Chain) 물리
- Why to Learn: 중앙 DB가 없는데도 어떻게 내 통장 잔고가 조작되지 않았는지 100% 확신할 수 있는 암호학적 수학을 이해하기 위함입니다.
- What to Learn: Hash Function(SHA-256), Block Header, Merkle Root, Nonce, Genesis Block.
- How to Learn: 1번 블록의 해시값이 2번 블록의 헤더에 박혀 있기 때문에, 누군가 1번 블록의 글자 하나만 바꿔도 2번, 3번, 4번 블록의 해시값이 도미노처럼 깨져버리는 물리적 연쇄 붕괴 구조를 그림으로 추적합니다.
- Implement: 파이썬이나 자바스크립트로 간단한 Block 클래스를 만들고, 이전 블록의
hash와 현재data를 섞어 내hash를 만드는 50줄짜리 미니 블록체인 객체 모델링 작성.
Core Topic 02: 비잔틴 장애 허용(BFT)과 PoW/PoS 합의
- Why to Learn: 51%의 악당이 가짜 장부를 우기려 할 때, 네트워크가 이를 어떻게 수학적으로 거부하고 물리적으로 방어하는지 알기 위해서입니다.
- What to Learn: Byzantine Generals Problem, Proof of Work (PoW), Difficulty Target, Proof of Stake (PoS), Slashing.
- How to Learn: PoW에서 정답(Nonce)을 찾기 위해 CPU를 불태워야만 발언권이 주어지는 '비용 강제 물리'와, PoS에서 자신의 전 재산(Stake)을 걸고 거짓말을 하면 재산을 몰수당하는(Slash) '경제적 페널티 물리'를 비교 분석합니다.
- Implement: PoW 시뮬레이터를 작성하여, 해시값 앞자리에 0이 4개 나오는 Nonce를 찾기 위해 CPU가 수십만 번의 연산을 도는 채굴(Mining) 과정을 콘솔 로그 타임스탬프로 측정.
Recommended
Core Topic 03: 가상 머신(EVM)과 가스(Gas) 역학
- Why to Learn: 누군가 고의로 짠 악성 무한 루프 코드가 이더리움 네트워크 전체 서버를 다운시키는 것을 막는 중단 장치(Halting Problem 회피)를 이해하기 위함입니다.
- What to Learn: Ethereum Virtual Machine(EVM), Gas Limit, Base Fee, Opcodes, Solidity.
- How to Learn: 스마트 컨트랙트에서 배열에 데이터를 한 줄 추가할 때마다(
SSTORE) 메모리 가격(가스비)이 기하급수적으로 폭등하는 EVM 바이트코드 물리표를 보고, 일반적인 배열 조작 방식을 어떻게 회피해야 하는지 분석합니다. - Implement: 리믹스(Remix IDE)에서 Solidity로 투표 컨트랙트를 짜고 배포한 뒤, 함수 호출 시 지불되는 실제 트랜잭션 가스(Gas Used)가 코드를 리팩토링함에 따라 어떻게 줄어드는지 벤치마킹.
Core Topic 04: L2 스케일링과 영지식 증명(ZKP)
- Why to Learn: 초당 수만 건을 처리하는 비자(Visa) 카드에 비해 턱없이 느린 블록체인 메인넷의 속도를 끌어올리기 위한 압축 기술을 익히기 위함입니다.
- What to Learn: Layer 2, Optimistic Rollup, ZK-Rollup (Zero-Knowledge Proof), SNARKs/STARKs.
- How to Learn: 1만 건의 거래를 메인넷(L1)에서 하나하나 검증하면 하루 종일 걸리지만, L2 서버가 1만 건을 연산한 뒤 "내가 제대로 계산했다"는 하나의 작은 수학적 증명(ZKP)만 L1에 던져 확인받는 무결성 압축 물리학을 뜯어봅니다.
- Implement: (이론 및 아키텍처) 비밀번호를 상대방에게 알려주지 않고도 "내가 비밀번호를 알고 있음"을 수학적으로 증명하는 알리바바 동굴 비유(ZKP)를 트랜잭션 무결성 검증 아키텍처 다이어그램으로 설계.
7. Terminology
8. References
Primary References
- [CS2023: Security & Parallel Computing] — 비잔틴 장애 허용(BFT) 알고리즘 분산 합의 및 암호학적 해시 체인 무결성 보장.
- [SWEBOK v3: Software Security] — 스마트 컨트랙트 모듈의 불변성(Immutability)에 따른 런타임 보안 패치 한계점 및 감사(Audit) 설계.
Secondary References
- [Mastering Ethereum (Andreas M. Antonopoulos)] — EVM 옵코드(Opcode) 가스 비용 모델 및 재진입(Reentrancy) 공격의 스택 프레임 물리.
- [Bitcoin: A Peer-to-Peer Electronic Cash System] — 나카모토 사토시의 PoW 논문; 롱기스트 체인(Longest Chain) 룰에 의한 확률적 파이널리티(Finality) 증명.
Industry References
- [Ethereum Foundation: Smart Contract Security] — 프록시 패턴(Proxy Pattern)을 이용한 스마트 컨트랙트 논리적 업그레이드 바인딩.
- [Matter Labs: ZK-Rollups Architecture] — L1(메인넷) 데이터 가용성(Data Availability) 확보와 L2 오프체인 연산 압축 분할.
9. Final Checklist
Primary Checklist
- 블록체인에서 과거 블록의 트랜잭션 하나를 위조할 경우, 그 이후에 연결된 모든 블록의 해시값이 틀어지며 네트워크(노드)에서 물리적으로 거부당하는 체인 붕괴를 설명할 수 있는가?
- PoW(작업 증명)와 PoS(지분 증명)가 비잔틴 장애(악의적 해커)를 방어하기 위해 각각 '에너지 낭비'와 '자본 몰수'라는 물리적 페널티를 어떻게 활용하는지 비교했는가?
Secondary Checklist
- 스마트 컨트랙트를 작성할 때 무한 루프(
while(true))나 방대한 배열 순회를 넣을 경우, 가스(Gas) 고갈로 인해 트랜잭션이 런타임 롤백(Revert)되는 EVM의 할팅(Halting) 방어를 뚫지 않게 최적화했는가? - 블록체인에 한 번 배포된 스마트 컨트랙트는 절대 코드를 수정할 수 없다는 불변성(Immutability) 제약을 극복하기 위해 프록시(Proxy) 업그레이드 패턴 아키텍처를 설계했는가?
Industry Checklist
- 스마트 컨트랙트 내에서
call.value()로 외부 송금 시, 잔고 차감 전 외부 악성 컨트랙트가 다시 내 함수를 호출해 돈을 털어가는 재진입(Reentrancy) 공격을 Check-Effects-Interactions 패턴으로 락(Lock)을 걸어 차단했는가? - 이더리움 메인넷(L1)의 느린 트랜잭션 속도를 해결하기 위해 도입된 ZK-Rollup이 1만 건의 거래를 오프체인에서 연산한 뒤 하나의 영지식 증명(SNARK)으로 압축해 L1에 던지는 구조적 이득을 측정했는가?