Ethereum 샤딩: 블록체인 샤딩 소개
작성자 Alchemy
블록체인 샤딩이란?
Ethereum 샤딩은 메인넷을 직접 확장하는 대신 레이어 2 확장을 지원하는 danksharding으로 대체되었습니다.
참고: 아래 글은 Ethereum 메인넷을 샤딩하려던 폐기된 계획을 개괄합니다. 일부 정보는 최신이 아닐 수 있습니다. Ethereum의 확장성 로드맵에 대한 최신 정보는 위에 링크된 danksharding 관련 글을 참고하시기 바랍니다.
블록체인 확장성 문제는 오랫동안 개발자 커뮤니티에서 논의되어 왔습니다. Ethereum과 같은 퍼블릭 블록체인 네트워크는 여러 노드가 트랜잭션을 검증해야 하므로 확장성에 한계가 있습니다.
예를 들어, Ethereum은 초당 약 10-13건의 트랜잭션을 처리할 수 있습니다. 이는 최대 24,000TPS를 처리할 수 있는 VISA 같은 중앙화 시스템과 비교하면 매우 낮은 수치입니다.
블록체인과 그 위에서 실행되는 탈중앙화 애플리케이션이 대중적으로 채택되려면 인구 규모에 걸맞은 확장성이 필요합니다.
레이어 2 블록체인 외에, 더 많은 사용자를 지원하도록 Ethereum을 확장하기 위한 방안으로 샤딩이 제안되었습니다. 샤딩의 개념은 메인 블록체인을 여러 개의 독립된 세그먼트로 분할하여 각 노드가 트랜잭션의 일부만 검증하면 되도록 하는 것입니다.
노드가 트랜잭션을 병렬로 검증하면 네트워크 처리량이 증가하고, 앱은 증가하는 사용자 수요에 맞춰 확장될 수 있습니다.
데이터베이스 샤딩이란?
데이터베이스 샤딩은 중앙화된 데이터베이스 관리에서 흔히 쓰이는 기법으로, 대규모 데이터베이스를 여러 서버에 병렬로 분산시켜 효율성과 애플리케이션 확장성을 높이기 위해 더 작은 단위("샤드")로 나누는 과정입니다.
소프트웨어를 사용하는 사용자나 실행되는 작업의 수가 늘어날수록 데이터베이스에 저장되는 데이터도 늘어납니다. 데이터베이스에 과부하가 걸리면 앱 성능이 저하되고 사용자 경험에도 악영향을 미칩니다. 따라서 데이터베이스의 부담을 덜고 로딩 시간을 개선하려면 샤딩이 필요합니다.
데이터베이스 샤딩 예시
한 도시에 거주하는 100,000명의 개인 정보를 담고 있는 데이터베이스가 있다고 가정해봅시다.
특정 개인의 정보를 찾으려면 약 100,000건의 트랜잭션을 계산해야 하는데, 이는 비용과 시간이 많이 드는 작업입니다.
그런데 이 큰 데이터베이스를 더 작은 데이터베이스로 분할하면 어떻게 될까요?
예를 들어, 특정 알파벳으로 시작하는 성을 가진 도시 거주자들을 별도의 서버로 그룹화하면, 정보를 찾는 데 필요한 컴퓨팅 자원이 줄어들고, 작업 완료에 걸리는 시간도 단축되며, 데이터베이스 관리도 더 쉬워집니다.
또 다른 데이터베이스 샤딩 예시는 다음과 같습니다:
샤드란?
"샤드"는 "전체의 작은 조각"을 의미합니다. 데이터베이스 관리에서 샤드는 별도의 서버에 호스팅되는 대규모 데이터베이스의 하위 집합입니다. 각 샤드는 데이터의 일부를 담고 있지만, 이들을 합치면 하나의 논리적 데이터셋을 형성합니다.
앞서 든 예시로 돌아가면, 성이 'A'로 시작하는 도시 거주자들을 위한 "샤드 1", 'B'로 시작하는 거주자들을 위한 "샤드 2" 등을 가질 수 있습니다.
이 논리적 샤드들을 모두 합치면 모든 도시 거주자의 기록을 담은 단일 데이터셋이 됩니다.
블록체인 네트워크에서의 샤딩
블록체인 네트워크의 샤딩도 중앙화된 데이터베이스와 동일한 방식을 따릅니다. 블록체인 네트워크를 "샤딩"하거나 여러 개의 독립된 세그먼트로 분할하면, 각 샤드는 블록체인 데이터의 일부를 저장하고 고유한 트랜잭션 집합을 처리하게 됩니다.
샤딩을 적용하면 블록체인 네트워크는 네트워크 지연 시간과 확장성을 개선할 수 있습니다.
블록체인 네트워크에서 샤딩이 해결하려는 문제는 무엇인가?
모든 노드가 트랜잭션의 유효성에 대해 합의(즉, 동의)해야 하기 때문에, 블록체인 네트워크는 한 번에 소량의 트랜잭션만 처리할 수 있습니다.
일반적으로 모든 노드는 블록체인의 전체 이력을 저장하고 모든 트랜잭션을 처리합니다. 이것이 바로 Ethereum이나 Bitcoin 같은 블록체인 네트워크를 "탈중앙화"되게 만드는 요소입니다.
모든 풀 노드가 네트워크의 전체 이력을 보유하고 있으면, 악의적인 행위자가 네트워크를 장악해 트랜잭션을 되돌리거나 조작하기가 더 어려워집니다.
다만 블록체인의 탈중앙화와 보안을 보장하는 데에는 확장성이라는 대가가 따릅니다.
샤딩된 블록체인에서는 노드가 블록체인의 전체 이력을 다운로드하거나 네트워크를 통과하는 모든 트랜잭션을 검증할 필요가 없으므로, 네트워크 효율이 높아지고 늘어나는 사용자 수요를 감당할 수 있도록 블록체인이 확장될 수 있습니다.

샤드 체인이란?
블록체인 네트워크의 맥락에서, 샤드 체인은 데이터의 일부를 담고 트랜잭션 처리 책임의 일부를 담당하게 됩니다.
샤드 체인은 독립적으로 작동하는 미니 블록체인들의 모음과 같으며, 보안을 유지하기 위해 각 샤드 체인은 Validator Manager Contract(VMC)를 통해 일정 간격으로 메인 체인(Beacon Chain)에 트랜잭션 기록을 제출합니다.
각 샤드 체인은 고유한 트랜잭션 이력과 새로운 트랜잭션을 검증하는 노드 집합을 갖게 되므로, 여러 샤드 체인이 동시에 실행되어 병렬 처리를 통해 네트워크 지연 시간과 처리량을 개선할 수 있습니다.

Ethereum에서의 샤딩이란?
Ethereum은 Ethereum PoS 업그레이드 이후 확장 솔루션으로 샤딩을 도입할 계획을 세웠습니다. 이 업그레이드는 Ethereum 1.0의 기능을 개선하기 위한 일련의 업그레이드입니다.
샤딩이 왜 필요한가?
Ethereum에 샤딩이 필요한 데에는 두 가지 주요 이유가 있습니다. 사용자 수의 기하급수적인 증가를 지원할 수 있어야 한다는 점, 그리고 규모가 커져도 탈중앙화를 유지해야 한다는 점입니다.
1. 늘어나는 사용자 수 지원
Ethereum의 현재 구조로는 사용량의 기하급수적인 증가를 감당할 수 없습니다.
현재 모든 Ethereum 노드는 스마트 컨트랙트 코드와 계정 잔액을 포함한 Ethereum Virtual Machine(EVM)의 전체 상태를 저장합니다.
게다가 트랜잭션은 순차적으로 실행되며 네트워크 전체의 확인이 필요합니다.
이렇게 순차적으로 트랜잭션을 처리하고 노드가 방대한 데이터 집합을 관리해야 하는 구조는 네트워크 속도를 떨어뜨립니다.
2. 규모가 커져도 탈중앙화 유지
노드가 블록체인의 전체 사본을 유지해야 한다는 요구사항은 중앙화 문제도 야기합니다. 이미 Ethereum 원장은 10테라바이트 이상의 저장 공간을 차지하고 있으며, 이는 일반 컴퓨터가 감당할 수 있는 용량의 10배에 달합니다.
Ethereum 블록체인이 계속 커지면 Ethereum 노드를 운영하기가 점점 어려워질 수 있고, 결국 소수의 노드만이 네트워크 보안을 담당하게 될 수 있습니다. 이는 Ethereum이 애초에 해결하려 했던 중앙화 및 단일 장애점 문제를 다시 불러와 그 가치를 떨어뜨립니다.
샤딩은 두 문제를 모두 해결할 수 있습니다.
샤딩은 노드가 서로 다른 트랜잭션을 동시에 검증할 수 있게 하여 확장성을 높이며, 트랜잭션 데이터를 더 작은 단위로 나누어 풀 노드 운영을 쉽게 만들어 중앙화 위험을 줄입니다.
Ethereum 샤딩 용어
샤딩의 작동 원리를 설명하기 전에, 몇 가지 주요 용어를 정리하겠습니다:
상태(State)
상태는 특정 시점에서 시스템에 대한 정보를 의미합니다. Ethereum에서 상태란 특정 시점에서의 네트워크에 대한 설명, 즉 컨트랙트 코드, 계정, 주소 잔액 등을 말합니다. 새로운 트랜잭션이 발생할 때마다 Ethereum의 상태가 변경됩니다.
머클 트리(Merkle tree)
머클 트리, 또는 머클 루트는 해시를 통해 대량의 정보를 저장하는 암호화 메커니즘입니다. 머클 트리/루트는 노드가 특정 데이터가 더 큰 구조의 일부인지 빠르게 검증할 수 있게 해주므로 Ethereum의 보안에 필수적입니다.
콜레이션(Collation)
콜레이션은 샤드 체인에서 수행되는 트랜잭션 그룹으로, 작업증명(PoW)에서의 블록과 유사한 개념입니다. 콜레이션은 메인 체인에 제출되어 서로 연결되면서 블록체인을 형성합니다.
콜레이션 헤더(Collation header)
콜레이션 헤더는 작업증명 합의 방식의 블록 헤더와 유사합니다. 콜레이션 헤더에는 다음과 같이 콜레이션 내부 정보에 대한 메타데이터가 포함됩니다:
- 해당 콜레이션이 속한 단일 샤드
- 상위(parent) 콜레이션의 루트 해시
- 콜레이션 내 모든 트랜잭션의 머클 루트
- 사전 상태 루트(pre-state root)와 사후 상태 루트(post-state root)
- 공증인(notaries)들의 서명
공증인(Notaries)
공증인은 샤드 체인에 무작위로 배정되어 제안된 콜레이션에 투표하는 검증자입니다. 이 투표를 "증명(attestation)"이라고 하며, 콜레이션의 유효성을 입증합니다. 모든 콜레이션은 합의 체인에 추가되기 전에 콜레이터의 3분의 2 이상이 서명해야 합니다.
제안자(Proposers)
제안자는 콜레이션을 생성하고 검증을 위해 제출하도록 선택된 콜레이터(또는 검증자)입니다. 제안자는 PoW 블록체인의 채굴자와 동일한 역할을 수행합니다.
위원회(Committees)
위원회는 샤드 블록의 유효성을 증명하는 검증자 또는 공증인들의 집합입니다. 이 위원회들은 일정 간격으로 무작위로 재구성되므로, 검증자는 자신이 어느 위원회에 속하게 될지 예측할 수 없습니다.
Ethereum 샤딩은 어떻게 작동하는가?
로드맵이 계속 지연되면서, Ethereum 커뮤니티는 샤딩 계획에서 벗어나 레이어 2 중심의 로드맵으로 방향을 전환했습니다. 이를 통해 핵심 개발자들은 The Merge라는 합의 업그레이드를 배포할 수 있었으며, 이는 네트워크의 합의 방식을 Proof-of-Stake로 전환한 업그레이드입니다.
Ethereum 샤딩 업그레이드는 원래 Ethereum 블록체인을 64개의 샤드 체인으로 분할할 계획이었습니다. 각 샤드 체인은 독립적인 상태를 가지며, 노드는 계정 잔액과 스마트 컨트랙트 코드의 일부만 저장하고 전체 트랜잭션 중 일부만 처리하게 됩니다.
Ethereum PoS 샤딩은 실제로 어떻게 작동했을까?
Ethereum에 10,000개의 검증자와 100개의 샤드 체인이 있다고 가정해봅시다.
의사 무작위(pseudorandom) 프로토콜을 통해, Validator Manager Contract(VMC)에 ETH를 예치한 자격을 갖춘 검증자들이 1번부터 100번 샤드에 배정됩니다.
샤드 1에서는 검증자(제안자)가 선택되어 새로운 트랜잭션들을 하나의 콜레이션으로 묶습니다.
다른 검증자(공증인)들은 이 콜레이션을 다운로드하여 트랜잭션의 유효성을 검증합니다.
공증인의 3분의 2가 해당 콜레이션을 증명하면, VMC를 통해 메인 체인에 제출됩니다.
여기서 주목할 점은 콜레이션 전체가 Beacon Chain에 추가되는 것이 아니라는 점입니다. 모든 샤드의 콜레이션을 일일이 검증하는 것은 어렵고 시간 낭비이기 때문입니다.
대신, 메인 체인의 검증자 노드는 각 콜레이션의 증명(서명)만 확인하여 유효성을 판단합니다.

콜레이션 헤더 덕분에 누구나 각 샤드의 활동을 검증할 수 있습니다.
콜레이션 헤더는 서로 다른 샤드의 상태와 트랜잭션을 나타내는 "크로스링크(cross-link)" 및 설명 역할을 합니다. 따라서 크로스 샤드 통신을 통해 모든 샤드에 직접 참여하지 않고도 Ethereum 네트워크 전체를 조망할 수 있습니다.
샤딩의 잠재적 단점
Ethereum 샤딩은 여러 이점을 약속했지만, 새로운 문제들도 함께 발생시켰습니다:
- 각 샤드를 운영하는 노드 수가 줄어들면서 51% 공격과 같은 악의적 행위가 더 쉬워짐
- 코드가 복잡해지면서 스마트 컨트랙트 보안 취약점 위험 증가
- 위원회 구성원들이 결탁하여 악의적인 트랜잭션을 메인 체인에 제출할 가능성

Ethereum 샤딩: 타임라인과 단계적 롤아웃
샤딩에 대한 논의는 최소 2013년부터 Ethereum 커뮤니티에서 계속 이어져 왔지만, 개발자들은 이를 구현하는 것을 미뤄왔습니다—여기에는 타당한 이유가 있습니다. 샤딩은 매우 복잡하며 새로운 위험을 수반하기 때문에, 문제점을 해결하기 위해서는 철저한 테스트가 필요합니다.
Ethereum.org에 따르면, 샤딩은 "The Merge"가 이루어진 이후에 Ethereum에 도입될 예정입니다. 참고로, Merge는 PoW 방식의 Ethereum 메인 네트워크(메인넷)가 Beacon Chain(PoS)과 통합되는 이벤트를 의미합니다.
Beacon Chain은 Casper proof-of-stake 시스템의 구현체이며, 제대로 작동하는 샤딩 시스템을 만드는 데 필요한 무작위성을 생성합니다. 이 체인은 2020년 12월 1일에 가동을 시작했습니다.
다음 섹션에서는 Ethereum 샤딩 구현에 대해 간략히 살펴보겠습니다:
[폐기됨] Ethereum 샤딩: 타임라인과 단계적 롤아웃
샤딩에 대한 논의는 2013년부터 Ethereum 커뮤니티에서 이어져 왔지만, Ethereum 개발자들은 샤딩이 매우 복잡하고 새로운 위험을 수반하여 성공적으로 출시하려면 철저한 테스트가 필요하다는 이유로 구현을 미뤄왔습니다.
Ethereum 샤딩 타임라인을 간략히 살펴보면 다음과 같습니다:
ETH 2.0 샤딩 타임라인은 어떻게 되는가?
Ethereum.org에 따르면, 샤딩은 "The Merge", 즉 PoW 방식의 Ethereum 메인 네트워크(메인넷)가 Beacon Chain과 통합된 이후에 Ethereum에 배포될 예정입니다.
샤딩 1단계
Ethereum의 예정된 업그레이드 타임라인에 따르면, 이 단계는 2023년경 시작될 가능성이 높습니다. 다만 샤딩 타임라인에 대한 구체적인 날짜는 아직 정해지지 않았습니다.
Ethereum 샤딩 1단계는 대략 다음과 같은 모습일 것으로 예상됩니다:
- 샤딩 프로세스 조율을 담당하는 Validator Manager Contract(VMC)가 Beacon Chain에서 호스팅됨
- ETH2 검증자가 되고자 하는 이들은 자격을 갖춘 검증자 풀에 추가되기 전에 스마트 컨트랙트에 32 ETH를 예치해야 함
- VMC가 일정 간격으로 검증자를 각 샤드에 배정하여 트랜잭션 콜레이션을 검증하고 합의 체인으로 처리하도록 함
- 샤드는 Ethereum 네트워크의 데이터 처리 능력을 높이기 위한 "데이터 저장소" 역할만 수행함
샤딩 2단계
ETH PoS 샤딩 업그레이드의 2단계는 개발자들 사이에서 일부 세부사항이 논의 중이라 아직 명확하게 정의되지 않았습니다. 다만 실제로는 다음과 같은 모습일 것으로 예상할 수 있습니다:
- 샤드가 데이터 계층에서 코드 실행 계층으로 전환됨—각 샤드는 독립적인 "상태"(즉, 고유한 스마트 컨트랙트, 계정 잔액, 주소 집합)를 가짐
- 각 샤드가 완전한 스마트 컨트랙트 및 dApp 지원을 갖춘 Ethereum Mainnet처럼 동작함
- 크로스 샤드 통신을 통해 서로 다른 샤드 체인의 사용자들이 가치를 교환할 수 있음
- 서로 다른 샤드 체인에서 실행되는 앱들이 크로스 샤드 통신을 이용해 서로 "소통"하고 상호작용할 수 있어 Ethereum의 확장성 기능이 개선됨
Ethereum 샤딩 - 맺음말
여러 샤드 체인이 동시에 실행되면 노드는 트랜잭션 처리 능력을 높일 수 있으며, 온체인에서 더 많은 데이터를 처리할 수 있게 됩니다.
앞선 예시를 계속 이어가면, 100개의 샤드 체인이 각각 초당 100건의 트랜잭션을 처리한다면 Ethereum 2.0은 10,000TPS를 달성할 수 있게 됩니다.
베이스 레이어 체인에 게시되는 샤드 관련 정보는 유효성에 대한 암호학적 증명인 콜레이션 헤더뿐이므로, 검증자 노드가 트랜잭션을 확인하고 합의 레이어 체인에 커밋하기가 더 쉬워집니다.
그 결과 트랜잭션 파이널리티가 더 빨라지고 네트워크 지연 시간이 개선됩니다.
추정치는 다양하지만, 샤딩 도입으로 Ethereum은 초당 수십만 건의 트랜잭션을 처리할 수 있도록 확장될 것으로 예상됩니다.
TPS가 높아지면 Ethereum은 사용량 급증과 수십억 명의 사용자를 감당하는 데 필요한 확장성을 앱에 제공할 수 있게 됩니다.
관련 개요
Ethereum2026년 7월 28일
Robinhood Chain에서 밈코인 출시하기
Foundry와 Alchemy RPC로 Robinhood Chain 메인넷에 고정 공급량 ERC20을 작성하고 배포하거나, Alchemy CLI를 사용해 코딩 에이전트에게 출시 전체를 맡기세요.
Ethereum2025년 11월 18일
Ethereum Fusaka 업그레이드란? 12개 EIP 개발자 가이드
Fusaka 업그레이드에 대한 실용적인 분석으로, 핵심 EIP 12개와 이들이 Ethereum 스택 전반의 데이터 가용성, 암호화, 가스 비용, 검증자 운영을 어떻게 변화시키는지 설명합니다.
Ethereum2025년 5월 19일
EIP-7702: Pectra 이후 Ethereum 개발자를 위한 빠른 통합 가이드
Ethereum이 EIP-7702라는 중요한 업그레이드를 앞두고 있습니다. 모든 개발자를 위한 통합 시 고려사항을 빠르게 정리한 가이드입니다.

블록체인 매직을 만드세요
Alchemy는 가장 강력한 Web3 개발자 제품 및 도구를 리소스, 커뮤니티, 그리고 전설적인 지원과 결합합니다.