샤딩은 하나의 거대한 데이터에비스나 네티워크 시스템을 여러 조각으로 나누어 분산 저장하여 관리하는 것을 말한다. 샤딩을 통해 나누어진 블록들의 구간을 샤드라고 한다.
이를 통해 노드에 무겁게 가지고 있던 데이터를 빠르게 검증할 수 있어, 트랜잭션 속도를 향상시킬 수 있다.
대용량의 데이터를 처리하기 위해 테이블을 수평 분할하여 데이터를 분산 저장하고 처리하는 것을 일컫는다.
블록체인 에서는 전체 네트워크를 분할한 뒤 트랜잭션을 영역별로 저장한다. 그리고 이를 병력적으로 처리하여 블록체인에 확장성을 부여하는 온체인 솔루션으로 데이터를 샤드라는 단위로 나누어 저장 및 처리한다.
만약 10만큼의 데이터와 10명의 노드가 참여했다고 가정한다면 기존의 블록체인은 10명의 노드 개개인은 10만큼을 모두 가지고 있으면서 공유한다. 그러나 샤딩은 10을 조각내서 10명의 노드 개개인은 1만큼씩 보관함으로써 보관데이터가 가벼워져 거래처리 속도가 크게 향상된다.
플라즈마, 라이덴 네트워크는 오프체인 솔루션이지만 샤딩은 온체인 솔루션이며, 온체인 솔루션이란 메인 체인 자체의 프로토콜을 변경시켜서 메인체인의 성능을 향상하는 방법을 말한다.
온체인 솔루션을 적용하기 위해선 하드포크가 필수적으로 오프체인 솔루션이 메인체인 바깥에 다른 시스템을 추가하여 해결하기 때문에 하드 포크가 필요 없는 것과 대비된다.
특징
: 공개형 블록체인 맥락에서, 네트워크에 올려진 트랜잭션은 네트워크 상의 서로 다른 노드들로 이루어진 여러 샤드로 분할된다. 각각의 노드는 들어오는 트랜잭션들의 일부만을 처리할 수 있게되고, 네트워크 상에서 병렬식으로 다른 노드들에서도 똑같이 실행된다. 따라서, 네트워크는 여러 샤드로 쪼개면 동시에 더 많은 트랜잭션을 처리하고 증명할 수 있어 네트워크가 커질수록 점점 더 많은 트랜잭션 처리가 가능하게 되는 속성을 가진다.
이 속성을 병려릭 확장이라고도 한다. 샤딩은 데이터를 구간별로 쪼개 나눔으로써 노드에 무겁게 가지고 있던 데이터를 빠르게 검증할 수 있게 되며, 빠른 트랜잭션 속도를 가질 수 있다.
샤딩의 장점
샤딩의 문제점


