검수요청.png검수요청.png

"트랜잭션 샤딩"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(차이 없음)

2019년 8월 12일 (월) 17:13 판

질리카(Zilliqa) 로고
질리카(Zilliqa) 로고와 글자

트랜잭션 샤딩이란 2016년 질리카팀이 공동 저술한 학술 논문에서 처음 제시 된 샤딩기술의 하나이다.

개요

트랜잭션 샤딩은 2016년 질리카팀이 공동 저술한 학술 논문에서 처음 제시 된 샤딩기술의 하나이다. 트랜잭션 해시의 마지막 몇 비트를 기반으로 샤드를 결정하고 트랜잭션의 유효성을 확인한다[1]

장점

2016년 질리카팀이 공동 저술한 학술 논문에서 처음 제시 된 샤딩기술의 하나인 트랜잭션 샤딩은 트랜잭션의 유효성을 확인하는데 활용된다. 트랜잭션 샤딩에서는 블록체인 네트워크의 노드들이 서로 다른 샤드로 분할되고, 각각의 샤드가 처리 과정을 거쳐 서로 다른 트랜잭션의 부분 집합에 대해서 합의에 도달한다 서로 연결되지 않은 트랜잭션의 부분 집합들이 병렬식으로 처리되는 이 방식에서 트랜잭션 처리량은 수천 배까지 상당하게 끌어올릴 수 있다.

문제점

사용자가 악의적인 경우, 동일한 두 입력이지만 출력이 다른 트랜잭션을 생성할 수 있다. 또한 이중 지출을 방지하기 위해 유효기간이 진행되는 동안에 샤딩이 된 조각의 노드들은 서로 간에 통신이 필요하다. 통신은 그 만큼의 시간과 비용이 따르게 된다.[1] 또한 현재의 주류 공개형 블록체인 상에서는, 트랜잭션, 스마트 컨트랙트 그리고 다양한 상태의 저장(storing)에 대한 책임을 모든 공개 노드들이 떠맡는다 이것은 블록체인을 지속적으로 운영하기 위해 요구되는 저장 공간의 측면에서 엄청난 비용을 발생시킨다.[2] 그리고 네트워크가 과부하 되는 문제가 있으면 노드가 많아지면 개별 노드에 대한 해킹 가능성이 증가한다.[3]

대안

  • PBFT(Practical Byzantine Fault Tolerance)
PBFT는 보안문제를 해결하기 위해 나온 해결책이다. 질리카는 PBFT를 채택하여 보안문제를 해결했다. PBFT의 보안 검증 순서를 보면 다음과 같다. 이러한 과정은 PoW를 통해 각 마이크로블록을 검증하고 검증된 블록이 최종 단계에서 종합된 형태로 검증되는 방식을 말한다.[3]
  1. 트랜잭션이 생성되고 트랜잭션을 검증할 샤드에 전송된다.
  2. 트랜잭션이 샤딩을 통해 마이크로블록, Microblock 형태로 분할되며 각 마이크로블록은 여러 노드로 전송된다.
  3. 각 샤드는 받은 마이크로블록을 검증해 검증이 완료된 블록을 DS 위원회, DS Committee로 최종 검증을 위해 보낸다.
  4. DS 위원회는 마이크로블록을 종합해 하나의 블록으로 합치며 마지막으로 블록의 최종 검증을 한다.
  • 상태 샤딩(State Sharding)
상태 샤딩은 저장 공간의 엄청난 비용을 해결하기 위해 나온 샤딩 전략이다. 전체 저장소를 여러 파편들로 나누고 여러 샤드들이 서로 다른 파트를 저장하게 하는 것이다 그러면 모든 노드는 전체 블록체인 상태(state)가 아닌 소속된 샤드의 데이터 처리만 책임지면 된다.[2]

각주

  1. 1.0 1.1 sobly tv, 〈샤딩이란? 쉽게 이해해보자〉, 《미디엄》, 2018-09-03
  2. 2.0 2.1 phuzion7, 〈블록체인 샤딩의 3가지 형태: BlockChain Sharding〉, 《DailyCoinNews》, 2018-12-31
  3. 3.0 3.1 ICO of KOREA, 〈Zilliqa, 질리카(ZIL) 분석/ 샤딩의 원조는 나야!〉, 《네이버블로그》, 2018-06-07

참고자료

  검수요청.png검수요청.png 이 트랜잭션 샤딩 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.