블록체인은 거래를 기록하기 위한 탈중앙화된 분산 원장이다. 이것은 암호화 요소를 활용하여 참여 노드 간에 유지되고 공유된다.
합의 알고리즘은 모든 노드가 고유한 순서에 따라 기록을 추가하는데 동의하도록 보장한다.
그러나 현재 블록체인은 확장성 문제에 직면했다. 이 문제를 해결하기 위해 오프체인 및 방향성 비순환 그래프(DAG) 솔루션과 같은 다양한 방법이 제안되었다.
하지만 DAG는 기생 사슬을 형성하는 등의 단점이 있다.
샤딩은 블록체인의 확장성과 성능 문제를 모두 극복할 수 있는 좋은 후보로 떠오르고 있으나, 샤딩 프로토콜을 체계적으로 분석한 연구는 없다.
본 논문은 블록체인 샤딩 기술에 대한 체계적이고 종합적인 리뷰를 제공한다.
블록체인은 분산 원장을 구현하는 핵심 기술이 되었다.
블록체인은 신뢰하지 않는 참여 노드들이 신뢰할 수 있고 불변하는 서비스를 제공할 수 있도록 한다.
분산 원장은 처음에 데이터의 위변조 방지 로그로 사용되었다.
SUNDR, SPORC, Tamper-Evident Logging
블록체인은 암호화폐의 성공으로 대중화되었으며, 안전한 다자간 연산과 비잔틴 결함을 허용하는 복제 서비스를 위한 분산 프로토콜의 전통이 되었다.
블록체인을 사용하면 당사자 그룹이 공유 상태를 유지하고, 교환을 중재하며, 안전한 컴퓨팅 엔진을 제공하는 신뢰할 수 있는 제 3자 역할을 할 수 있다.
결함이 있는 경우에도 많은 노드가 합의에 도달해야만 하는 것은 블록체인에서 가장 중요한 문제 중 하나이다.
현재 합의 알고리즘은 복잡성 때문에 소규모 시스템에만 적용할 수 있으며, 확장성은 대규모 애플리케이션에 블록체인을 도입하기 전에 해결해야 할 문제이다.
최근 오프체인, DAG, 샤딩 등 참여 노드가 전체 트랜잭션의 일부만 획득하도록 허용하여 scale-out 방식의 처리를 하기 위한 솔루션이 제안되고 있다.
오프체인 솔루션은 포크의 영향을 많이 받으며, DAG 레이아웃의 트랜잭션은 체인 구조로 구성되지 않는다.