
블록체인
Sharding샤딩
샤딩(Sharding)은 블록체인 네트워크를 여러 개의 샤드(Shard)로 분할해 각 샤드가 트랜잭션을 병렬로 처리함으로써 전체 처리량을 향상시키는 확장성 기술이다. 원래 분산 데이터베이스에서 유래한 개념이다.
기본 원리
샤딩의 구성 요소
| 요소 | 역할 |
|---|---|
| 비콘 체인 (Beacon Chain) | 샤드 간 조율, 검증자 배정 |
| 샤드 체인 (Shard Chain) | 실제 트랜잭션 처리 |
| 크로스샤드 통신 | 샤드 간 데이터 전달 |
샤딩의 어려움
크로스샤드 트랜잭션
서로 다른 샤드의 자산을 교환할 때 복잡한 조율이 필요하다. 원자성(Atomicity) 보장이 어렵다.
데이터 가용성
검증자가 자신이 배정된 샤드 데이터만 처리하므로 전체 데이터 가용성 확보가 과제다.
단일 샤드 공격
특정 샤드에 악의적 노드가 집중될 위험이 있다. 검증자 무작위 배정으로 방어한다.
Ethereum의 샤딩 계획
이더리움은 단계적 샤딩을 계획 중이다.
| 단계 | 내용 |
|---|---|
| Danksharding (현재) | 블롭(Blob) 데이터를 위한 데이터 샤딩 |
| Proto-Danksharding (EIP-4844) | L2 비용 대폭 절감 |
| Full Danksharding (미래) | 완전한 데이터 가용성 샘플링 |
실행 샤딩은 Layer 2 롤업으로 대체되는 방향이다.
관련 개념
- •Layer 2 — 이더리움의 실질적 확장성 솔루션
- •Ethereum — 샤딩을 계획 중인 주요 체인
- •합의 메커니즘 — 샤딩과 연계된 블록체인 합의
참고문헌
- •Buterin, V. (2020). Why sharding is great
- •Ethereum Sharding Docs