샤딩은 전체 네트워크를 분할한 뒤 트랜잭션을 영역별로 저장하고 이를 병렬적으로 처리하여 블록체인에 확장성을 부여하는 On-Chain 솔루션입니다. 쉽게 설명하면 데이터를 샤드라는 단위로 나눠서 저장 및 처리하는 것이죠. 샤딩 개념의 근원은 데이터베이스 샤딩에 있습니다. 데이터베이스 샤딩이란 대용량의 데이터를 처리하기 위해 테이블을 수평 분할하여 데이터를 분산 저장하고 처리하는 것입니다.
이더리움에서의 샤딩은 메인 체인을 k개의 샤드로 분할합니다. 각 샤드는 네트워크 상의 전체 트랜잭션을 나눠서 병렬적으로 처리게 됩니다. 이는 기존에 하나의 메인 체인이 모든 트랜잭션을 순차적으로 처리하던 것과 대비되죠. 결과적으로 네트워크의 전체 처리량은 샤드의 배수만큼 향상됩니다. 예를 들어, 100개의 트랜잭션이 있을 때, 10개의 샤드 체인이 있다면 각각의 샤드 체인이 평균적으로 10개씩의 트랜잭션을 동시에 처리하게 되죠.
샤딩은 phase 1부터 6까지 단계별로 로드맵이 제안되어 있으며 현재까지도 개발이 진행되며, 발전을 거듭하고 있습니다.