💡 핵심 인사이트
샤딩(Sharding)은 전 세계 수만 대의 노드가 1개의 똑같은 원장(장부)을 복사해 들고 있는 비효율을 깨고, 거대한 전체 장부를 여러 개의 작은 조각(Shard)으로 찢어 노드들이 분업하여 처리하게 만드는 레이어 1(L1) 본연의 확장성 기술입니다.
마트의 계산대 1개를 10개로 늘려 손님을 분산 결제시키는 것과 같은 직관적인 병렬 처리 기법입니다.


Ⅰ. 기존 블록체인의 병목 (단일 큐 문제)

비트코인과 이더리움 1.0은 완벽한 보안을 위해 네트워크에 참여하는 모든 컴퓨터(수만 대)가 전 세계에서 발생하는 모든 거래를 빠짐없이 전부 저장하고 일일이 처음부터 끝까지 직접 계산(검증)했습니다. 이 방식은 가장 안전하지만, 컴퓨터가 1만 대가 있든 100만 대가 있든 결국 처리 속도는 네트워크에서 가장 느린 1대의 컴퓨터 속도(15 TPS)에 맞춰지는 끔찍한 병목을 낳습니다.


Ⅱ. 샤딩(Sharding)의 원리와 평행 우주

데이터베이스의 '수평 파티셔닝(Horizontal Partitioning)' 개념을 블록체인에 도입한 것이 샤딩입니다. 이더리움 2.0 로드맵의 최종 목적지이기도 합니다.

  1. 상태 공간의 분할: 100만 명의 지갑 주소와 거래 장부를 통째로 100개의 조각(Shard)으로 쪼갭니다. (예: 샤드1은 A~C 주소, 샤드2는 D~F 주소 담당)
  2. 노드의 분업(병렬 처리): 수만 대의 노드들도 100개의 그룹으로 쪼개어 각 샤드에 배정합니다. 이제 노드들은 전 세계 거래를 다 알 필요 없이, 자기가 맡은 샤드(조각) 구역 안에서 일어나는 거래만 독립적으로 빠르게 검증하고 기록합니다.
  3. 효과의 곱셈: 15 TPS를 처리하는 샤드(계산대)가 64개로 늘어나 동시에 병렬로 가동되면, 전체 네트워크의 속도는 $15 \times 64 = 960$ TPS로 기하급수적으로 폭증합니다.

Ⅲ. 샤딩의 난제와 해결책

아이디어는 쉽지만 블록체인에서 이를 구현하는 것은 엄청난 수학적 난제(악마의 기술)를 동반합니다.

1. 크로스 샤드 통신 (Cross-Shard Communication)

  • 샤드 1(한국)에 있는 A가 샤드 2(미국)에 있는 B에게 돈을 보낸다면? 두 장부가 찢어져 있으므로 서로 통신하여 A의 돈을 빼고 B의 돈을 늘려주는 복잡한 비동기 통신 문제가 발생합니다. 돈이 복사되는 버그(이중 지불)가 터지기 가장 쉬운 약점입니다.
  • 해결책: 모든 샤드들의 결과만 요약해서 묶어주고 교통정리를 해주는 중앙 관제탑 역할의 **'비컨 체인(Beacon Chain)'**을 둡니다.

2. 1% 공격 리스크 (단일 샤드 탈취)

  • 전체 네트워크를 장악하려면 51%의 해시파워가 필요하지만, 네트워크를 100개로 쪼개면 해커는 전체 파워의 단 1%만 집중 포화해도 특정 샤드 1개를 완벽히 장악하여 장부를 조작할 수 있습니다.
  • 해결책: 노드들이 특정 샤드에 고정되지 않고, 비컨 체인이 주기적으로(예: 1시간마다) 노드들을 섞어서 무작위로 다른 샤드에 강제 재배치하여 해커가 작당 모의를 할 시간을 주지 않습니다.

📢 섹션 요약 비유: 샤딩은 **'동네 우체국 분업 시스템'**입니다. 예전엔 우체부 1만 명이 전국 편지를 모두 읽고 똑같은 장부에 적느라 1장 쓰는 데 10분이 걸렸다면, 샤딩은 전국을 100개 구역으로 쪼개서 각자 자기 동네 편지만 빠르게 처리하고, 마지막에 요약본만 서울 본청(비컨 체인)에 합치는 초고속 병렬 업무 방식입니다.