"샤딩"의 두 판 사이의 차이
(→특징) |
(→특징) |
||
12번째 줄: | 12번째 줄: | ||
* '''주요 용어''' | * '''주요 용어''' | ||
: Collation : 샤드 체인에서 메인 체인의 블록과 같은 역할을 하며, 크게 collation header와 트랜잭션 목록으로 구성된다. | : Collation : 샤드 체인에서 메인 체인의 블록과 같은 역할을 하며, 크게 collation header와 트랜잭션 목록으로 구성된다. | ||
− | |||
: Collation header : collation을 구성하는 정보를 담고있으며, proposer의 sign을 거쳐 메인 체인에 제출 하고, 트랜잭션 목록은 collation에 담긴 트랜잭션들의 목록이다. | : Collation header : collation을 구성하는 정보를 담고있으며, proposer의 sign을 거쳐 메인 체인에 제출 하고, 트랜잭션 목록은 collation에 담긴 트랜잭션들의 목록이다. | ||
− | |||
: Proposer : 제안자라는 뜻으로 트랜잭션들을 모아 proposal을 만들고 collator에게 제출 하며, Proposal은 검증되지 않은 collation이다. | : Proposer : 제안자라는 뜻으로 트랜잭션들을 모아 proposal을 만들고 collator에게 제출 하며, Proposal은 검증되지 않은 collation이다. | ||
− | |||
: Collator : Proposer가 제출한 proposal을 검증한다. period 마다 한 샤드에는 여러 collator들이 배정되는데 이들은 해당 period에 진입하기 일정 기간 이전에 무작위로 선정 된다. | : Collator : Proposer가 제출한 proposal을 검증한다. period 마다 한 샤드에는 여러 collator들이 배정되는데 이들은 해당 period에 진입하기 일정 기간 이전에 무작위로 선정 된다. | ||
− | |||
: Executor : Collation header를 메인체인의 SMC (Sharding Manager Contract) 에 전달 하고, 샤드 체인의 실제 state가 변경된다. (Executor는 샤딩 phase 3에 등장) | : Executor : Collation header를 메인체인의 SMC (Sharding Manager Contract) 에 전달 하고, 샤드 체인의 실제 state가 변경된다. (Executor는 샤딩 phase 3에 등장) | ||
− | |||
: Period : 메인 체인에서 샤드 체인의 collation header를 제출 받는 주기 이며, 단위는 메인 체인에서의 블록의 개수로 PERIOD_LENGTH = 5 라면 5개의 블록이 생성되는 것이 1 period이다. | : Period : 메인 체인에서 샤드 체인의 collation header를 제출 받는 주기 이며, 단위는 메인 체인에서의 블록의 개수로 PERIOD_LENGTH = 5 라면 5개의 블록이 생성되는 것이 1 period이다. | ||
2019년 7월 30일 (화) 10:19 판
샤딩(sharding)이란 하나의 거대한 데이터베이스나 네트워크 시스템을 여러 개의 작은 조각으로 나누어 분산 저장하여 관리하는 것을 말한다.
개요
샤딩은 전체 네트워크를 분할한 뒤 트랜잭션을 영역별로 저장하고 이를 병렬적으로 처리하여 블록체인에 확장성을 부여하는 On-Chain 솔루션 으로 데이터를 샤드라는 단위로 나눠서 저장 및 처리 하며 샤딩 개념의 근원은 데이터베이스 샤딩에 있고, 데이터베이스 샤딩이란 대용량의 데이터를 처리하기 위해 테이블을 수평 분할하여 데이터를 분산 저장하고 처리하는 것이다.[1]
등장배경
샤딩은 블록체인 시스템의 확장성(scalability) 문제를 해결하기 위한 방법 중 하나이다. 확장성은 시간이 지남에 따라 생겨나는 변화를 받아들이는 능력이다.[2] 시간이 지남에 따라 블록체인 기반 서비스는 대체로 사용자 수가 증가하기 때문에, 확장성 문제란 결국 더 많은 사용자들이 만들어내는 트랜잭션을 블록체인 시스템으로 처리할 수 있는 능력의 문제이다. 대개 블록체인의 확장성 지표로 TPS를 사용한다. TPS는 Transaction per Second의 약자로서 1초당 처리할 수 있는 트랜잭션의 개수를 나타내는 단위이다. 기존 비트코인과 이더리움의 경우 확장성 문제가 심각하여, TPS를 획기적으로 증가시키기 위한 다양한 방법이 고안되고 있는데, 그 중 대표적인 것이 샤딩이다. 샤딩은 플라즈마, 라이덴 네트워크 등과 마찬가지로 확장성 문제를 해결하기 위해 제안된 솔루션이고, 플라즈마, 라이덴 네트워크는 Off-chain 솔루션인 반면 샤딩은 On-chain 솔루션 이며, On-chain 솔루션이란 메인체인 자체의 프로토콜을 변경시켜서 메인체인의 성능을 향상시키는 방법을 말한다. On-chain 솔루션을 적용하기 위해서는 메인 네트워크의 하드 포크가 필수적 으로 Off-chain 솔루션이 메인체인 바깥에 다른 시스템을 추가하여 해결하기 때문에 하드 포크가 필요없는 것과 대비 되는데 확장성 문제 솔루션 중 하나로, 이더리움이 PoS (Proof of Stake) 합의 알고리즘으로 전환할 것을 기반으로 설계되었다.[1]
특징
- 주요 용어
- Collation : 샤드 체인에서 메인 체인의 블록과 같은 역할을 하며, 크게 collation header와 트랜잭션 목록으로 구성된다.
- Collation header : collation을 구성하는 정보를 담고있으며, proposer의 sign을 거쳐 메인 체인에 제출 하고, 트랜잭션 목록은 collation에 담긴 트랜잭션들의 목록이다.
- Proposer : 제안자라는 뜻으로 트랜잭션들을 모아 proposal을 만들고 collator에게 제출 하며, Proposal은 검증되지 않은 collation이다.
- Collator : Proposer가 제출한 proposal을 검증한다. period 마다 한 샤드에는 여러 collator들이 배정되는데 이들은 해당 period에 진입하기 일정 기간 이전에 무작위로 선정 된다.
- Executor : Collation header를 메인체인의 SMC (Sharding Manager Contract) 에 전달 하고, 샤드 체인의 실제 state가 변경된다. (Executor는 샤딩 phase 3에 등장)
- Period : 메인 체인에서 샤드 체인의 collation header를 제출 받는 주기 이며, 단위는 메인 체인에서의 블록의 개수로 PERIOD_LENGTH = 5 라면 5개의 블록이 생성되는 것이 1 period이다.
종류
- 데이터베이스 샤딩(database sharding) : 하나의 거대한 데이터베이스 테이블을 수평 분할(horizontal partitioning)하여 여러 개의 작은 단위로 나눈 후, 물리적으로 다른 위치에 분산하여 저장·관리하는 기술이다. 이 때 수평 분할된 1개의 작은 테이블을 샤드(shard)라고 한다.
- 네트워크 샤딩(network sharding) : 블록체인 기반 암호화폐를 채굴하기 위한 네트워크를 샤드(shard)라는 작은 노드 그룹으로 나누어 관리하는 기술이다.
활용
싱가포르의 신슈 동이 개발한 암호화폐인 질리카(Zilliqa)는 샤딩 기술을 활용함으로써 트랜잭션 처리 속도를 획기적으로 향상시켰다. 질리카의 샤딩 기술은 네트워크 샤딩(network sharding), 트랜잭션 샤딩(transaction sharding), 연산 샤딩(computational sharding)과 같은 다양한 형태로 구성되어 있다. 그 중 가장 중요한 건 네트워크 샤딩인데, 네트워크 샤딩은 질리카 채굴 네트워크를 샤드(shard)라는 작은 노드 그룹으로 나눌 수 있는 메커니즘이다. 이 네트워크 샤딩은 질리카를 확장시킬 수 있는 도구로서, 이 샤딩을 활용하게 되면 초당 수천 건의 트랜잭션 처리가 가능해진다.
대안
사례
각주
- ↑ 1.0 1.1 오세진, 〈블록체인 확장성 솔루션 시리즈 4–1 :: Sharding 샤딩〉, 《medium》, 2018-06-08
- ↑ 고란 기자, 〈성공한 플랫폼은 보이지 않는다〉, 《중앙일보》, 2018-10-17
참고자료
- "Shard (database architecture)", Wikipedia
- sobly tv, 〈샤딩이란? 쉽게 이해해보자〉, 《미디엄》, 2018-09-03
- 고란 기자, 〈성공한 플랫폼은 보이지 않는다〉, 《중앙일보》, 2018-10-17
- 핵심만 콕콕! 암호화폐 분석, 〈이더리움의 샤딩(Sharding) 기술은 무엇인가? 이더리움의 진화〉, 《블록센스》, 2018-06-30
- 오세진, 〈블록체인 확장성 솔루션 시리즈 4–1 :: Sharding 샤딩〉, 《medium》, 2018-06-08
같이 보기