샤딩은 블록체인의 확장성을 해결하기 위한 기술 중에 하나입니다. 현재까지 확장성 문제에 대한 유력한 해법이라는 평가를 받고 있습니다.
확장성 문제는 블록체인 시스템을 사용하는 이들이 늘어나면서 이에 따른 트랜잭션을 얼마큼 효과적으로 처리할 수 있는지를 말합니다.
보통 블록체인의 확장성 지표로 TPS(Transaction per Second)를 거론합니다. TPS는 1초당 처리할 수 있는 트랜잭션이 얼마나 되는지를 가늠하는 단위입니다.
기존 비트코인과 이더리움은 확장성 문제가 큰 걸림돌로 작용했고 TPS를 크게 증가시킬 방법 중에 하나로 샤딩이 개발된 것입니다.
샤딩은 데이터베이스 샤딩과 네트워크 샤딩, 트랜잭션 샤딩, 연산 샤딩 등으로 구분하기도 합니다. 데이터베이스 샤딩은 데이터베이스의 양이 방대해질 경우 효과적인 관리를 위해 데이터를 분할해 사용하는 방식입니다.
블록체인 상에서 샤드(Shards)라 불리는 작은 노드 그룹을 다수의 하위 상태로 분할한 뒤 각 샤드에서 거래를 수행할 수 있게 합니다. 병렬처리로 확장성 문제를 해결하는 것입니다.
만약 100개의 트랜잭션이 있다면 이를 10개씩 분할해 각각의 샤드를 생성하고 10개 샤드를 동시에 실행하면서 효율성을 꾀할 수 있습니다. 쉽게 보면 다이어리의 월별과 일별로 나눠 찾고자 하는 목록을 단숨에 열어볼 수 있는 것과 비슷한 개념입니다.
네트워크 샤딩은 블록체인 기반의 암호화폐를 채굴하기 위해 네트워크를 샤드로 나뉘어 관리하는 것을 말합니다. 데이터베이스 샤딩과 기술적인 차이는 크게 없습니다.
쿼크체인은 샤딩을 도입해 확장성 문제를 해결해 주목을 받았습니다. 메인체인은 두 층(레이어)으로 구성돼 첫 번째 레이어는 탄성 샤딩 블록체인(샤드)를 적용하고 있습니다. 두 번째 레이어는 샤드 블록을 확인하는 루트 블록체인을 적용하는 구조입니다.
쿼크체인은 이론상으로 1만4000TPS가 실현 가능해 블록체인 금융 거래 시스템의 완벽한 구현의 중요한 초석을 놓았다는 호평을 이끌어냈습니다. 현재는 쿼크체인보다 더 높은 TPS 구현 움직임도 이어지고 있어 샤딩의 높은 기술력이 한 단계 업그레이드될 것으로 기대를 모으고 있습니다.