BlockChain Core - Sharding on Blockchain 4
포스트
취소

BlockChain Core - Sharding on Blockchain 4


자료 : SoK: Sharding on Blockchain
지난 포스트 - SoK: Sharding on Blockchain 3



2.3 Scalability in Sharding Blockchain 본문


2.3 Scalability in Sharding Blockchain

The blockchain scalability can be evaluated by two metrics: transaction throughput (e.g., the maximum rate at which the blockchain can process transactions) and latency (e.g., the time to confirm that a transaction has been included in the blockchain). Blockchain with message communication com- plexity O(n) per node, where n is the number of participating nodes, is typically referred to as a “scalable" blockchain since its throughput will not decrease with the number of par- ticipating nodes and the communication capacities in the network. Sharding is one such solution that fairly and ran- domly divides the network into small shards with vanishing probability of any shard having an overwhelming number of adversaries.

In general, when considering scalability in sharding, it is restricted to approaches targeting the blockchain’s core design, e.g., on-chain solutions, rather than techniques that delegate to parallel off-path blockchain instances such as sidechains (one of the off-chain solutions) [12]. Sharding based blockchain systems typically operate in epochs (e.g., one epoch specifies the maximum time to form one block): the assignment of nodes to committees is valid only for the duration of that epoch. The number of committees scales linearly to the amount of computational power available in the system, and the number of nodes within a committee can be flexible. Thus, as more nodes join the network, the trans- action throughput increases without adding to the latency, since messages needed for consensus are decoupled from computation and broadcast of the final block to be added to the blockchain. However, sharding a blockchain is difficult because it must ensure some properties, e.g., a transaction (i.e., spending some cryptocurrencies) is only executed once on the entire network. If a transaction that should happen only once executes more than once, it goes into a situation of double spending [116]. Thus, we need to understand the essential components on sharding-based blockchain system.

2.3 Scalability in Sharding Blockchain

블록체인의 확장성은 두 가지 지표.

거래 처리량(예: 블록체인이 거래를 처리할 수 있는 최대 속도)지연 시간(예: 거래가 블록체인에 포함된 것이 확인되는 시간)로 평가될 수 있다. 예를 들어, 메시지 통신 복잡도가 노드당 O(n)인 블록체인은 주로 “확장 가능한(scalable)” 블록체인이라고 부른다.

여기서 n은 참여하는 노드의 수이며, 이러한 블록체인은 참여하는 노드의 수나 네트워크의 통신 용량에 따라 처리량이 감소하지 않는다.

샤딩은 네트워크를 공정하고 무작위로 작은 샤드로 나누는 해결책 중 하나이며, 어떤 샤드도 압도적인 수의 악의적인 참여자를 갖지 않는 확률이 거의 없도록 합니다.


샤딩 기반 블록체인 시스템에서 확장성을 고려할 때

일반적으로, 샤딩에서 확장성을 고려할 때는 사이드체인(오프체인 솔루션 중 하나)과 같은 기술이 아닌, 온체인 솔루션과 같은 블록체인의 핵심 설계를 대상으로 하는 접근 방식으로 제한이 있다.

  • 샤딩 기반 블록체인 시스템은 일반적으로 에포크(예: 한 블록을 형성하는 최대 시간)로 작동
  • 노드들의 위원회 할당은 해당 에포크의 기간 동안만 유효
  • 위원회의 수는 시스템에서 사용 가능한 계산 능력에 선형적으로 확장되며, 위원회 내의 노드 수는 유연하게 조정될 수 있다.
  • 따라서 더 많은 노드가 네트워크에 참여하면 거래 처리량이 증가하지만 지연 시간은 추가되지 않는다. 왜냐하면 합의에 필요한 메시지가 계산과 최종 블록의 브로드캐스트와 분리되기 때문.
  • 그러나 블록체인의 샤딩은 어려운 작업이며, 전체 네트워크에서 거래(예: 암호화폐 소비)가 한 번만 실행되도록 보장해야 한다. 한 번만 실행되어야 하는 거래가 여러 번 실행되면 이중 지불(double spending) 상황에 빠지게 되지 때문이다.



다음에 계속…

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.