샤딩도 종류가 다양한가요?
쿼크체인이라는 코인이 병렬적 확장성 기술인 샤딩을 사용하고 있는데 루트체인과 샤드가 들어있는 체인 두개의 계층으로 나뉘어서
이를 통해 샤드 및 크로스 샤드의 두가지 트랜잭션을 처리함으로써 일반적인 메인 샤딩 메인넷보다 뛰어난 성능을 발휘한다고 나와 있는데요
이거는 샤딩의 종류가 다른건가요?아니면 단순히 샤딩의 계층을 나눠서 샤딩을 더 효율적으로 사용한 형식인가요?
샤딩이란 무엇일까?
샤딩이란, 단일의 데이터를 다수의 데이터 베이스로 쪼개어 나누는 것을 말합니다. 특히, 단일의 데이터 베이스에서 저장하기 너무 클 때 사용합니다. 이렇게 데이터를 구간 별로 쪼개어 나눔으로써 노드에 무겁게 가지고 있던 데이터를 빠르게 검증할 수 있어 빠른 트랜잭션 속도를 가질 수 있게 됩니다. 또한, 샤드란 샤딩을 통해 나누어진 블록들의 구간 (혹은 Epoch)을 '샤드'라고 부릅니다.샤딩의 종류
-네트워크 샤딩
-트랜잭션 샤딩
-스테이트 샤딩네트워크 샤딩의 특징과 단점
네트워크 샤딩은 임의로 네트워크가 무작위로 노드를 샘플링하여 블록 단위로 샤드를 형성합니다. 하지만, 네트워크가 샤드의 구성원에 대한 동의를 구하지 않아 구성원들이 원하는 방향으로 가지 않는 경우, 구성원들의 불만을 해결하지 못한다는 단점을 가지고 있습니다.트랜잭션 샤딩의 특징과 단점
트랜잭션 샤딩은 트랜잭션 해시의 마지막 몇 비트를 기반으로 샤드를 결정하고 트랜잭션의 유효성을 확인합니다. 하지만, 사용자가 악의적인 경우, 동일한 두 입력이지만 출력이 다른 트랜잭션을 생성할 수 있습니다. 또한 이중 지출을 방지하기 위해 유효기간이 진행되는 동안에 샤딩이 된 조각의 노드들은 서로 간에 통신이 필요합니다. (통신은 그만큼의 시간과 비용이 따르게 됩니다.)스테이트 샤딩의 특징과 단점
스테이트 샤딩은 account-based model입니다. 상태가 지정된 블록체인에서이 특정 샤드는 상태의 일부만을 유지합니다. 하지만, 교차분할 트랜잭션을 수행하지 못하도록 제한이 되어있습니다. 또한 시스템의 상태가 모든 샤드에 복제되어 있지 않기 때문에 네트워크는 더 이상 오프라인 샤드에 대한 트랜잭션의 요효성을 검사하지 못하게 됩니다. 오프라인 샤드를 유지하기 위해 백업 노드를 갖게된다면 중앙집중식이 되어 보안성에 위협이 됩니다. 네트워크가 한 번씩 재편성될 때 한 번에 네트워크를 전환하게 되면 일부 동기화가 완료될 때까지 전체 시스템을 사용할 수 없게 될 수도 있습니다.이와 같이 샤딩기술에도 다양한 종류의 샤딩이 있으며, 쿼크체인도 새로운 방식의 샤딩기술을 이용한다고 보면 됩니다.