Steemit Token LAB - Zilliqa 12회

in #token-lab6 years ago

소식

Zilliqa

  • 질리카Zilliqa는 블록체인 플랫폼을 지향합니다.
  • 공공 블록체인에 파편화(sharding) 개념을 도입해, 사용하는 유저의 수가 많아지면 그만큼 블록체인이 처리 가능한 거래량이 증가하는 플랫폼입니다. source
  • 2017년 9월 최초로 발행되었으며, 올해 3분기 메인넷 런칭 계획입니다.

특징

  • 블록 생성주기 : 2분
  • 채굴 가능
  • 초당 수천건 트랜잭션 처리 가능, VISA 및 MasterCard와 같은 기존 지불수단들과 경쟁 가능.
  • 트랜잭션 처리율은 네트워크 크기에 따라 증가.

샤딩이란?

  • 네트워크 샤딩(Network Sharding)
  • 트랜잭션 샤딩(Transaction Sharding)
  • 연산 샤딩(Computational Sharding)

네트워크 샤딩

  • 네트워크 샤딩은 질리카 네트워크를 샤드(Shard)라는 작은 노드 그룹으로 나눌 수 있는 메커니즘입니다.

  • 예를 들어 1000개의 노드로 구성된 네트워크를 100개의 노드로 구성된 10개의 샤드로 나눌 수 있습니다.
    1샤드 = 10노드

  • 각 샤드는 트랜잭션을 병렬로 처리합니다. 이러한 원리로 처리량은 샤드 수에 비례하여 증가합니다.

샤딩 구현의 어려움

  • Sybil 저항 : 개방적인 블록체인이므로 악의적인 노드(malicious nodes)도 있을 수 있습니다. 악의적인 노드는 시스템을 파괴하여 의사결정 과정에 영향을 미칩니다. 이를 Sybil 공격이라 합니다.

  • 샤드 생성 : 1000개의 노드가 있고, 이를 100개의 노드씩 10개의 샤드로 만듭니다. 이때, 어떻게 샤드를 만들어야 할까요? 어떤 노드가 어떤 샤드에 할당되어야 할까요?

  • 샤드 크기 : 100개의 노드가 구성된 1개의 샤드가 아니라 10개의 노드로 구성된 작은 샤드를 만들 수 있을까요? 안됩니다. 샤드 크기가 작을수록 공격자들이 제어권을 가져가기 쉽습니다. 샤드는 질리카 프로토콜의 합의 등을 실행하기 때문에, 저희는 악의적인 노드로 구성될지 모르는 작은 샤드를 바라지 않습니다.

샤딩 문제 해결

  • 시빌 공격 억제 : 시빌 공격을 막는 방법은 몇 가지가 있습니다. 노드에게 많은 암호화폐를 담보로 입금하도록 하는 방법이 있고, 작업 증명(PoW)을 하도록 하는 방법이 있습니다. 질리카는 작업증명을 사용합니다. 질리카 네트워크에 들어가기 위해 새로운 노드들은 작업증명을 해야 합니다. 기존에 있던 노드들은 작업증명의 유효성을 검증하고 새로운 네트워크의 합류 권한을 갖습니다. 작업 증명은 네트워크에 들어오기 위해서는 반드시 필요하며, 유효한 노드만 네트워크에 들어올 수 있습니다. 이는 무분별한 노드의 확장을 막을 수 있습니다.

  • 자동 샤드 생성 : 질리카가 PoW를 사용하는 것은 자동으로 샤드를 만들게 하는 것입니다. 질리카는 먼저 디렉토리 서비스 위원회(DS committee)라 불리는 특정 노드 집합을 선출합니다. 해당 선출은 PoW에 기반합니다. DS-epoch라 불리는 일정한 주기로 DS committee 가운데 멤버 하나가 퇴출되며 다른 새로운 멤버가 선출됩니다. (선입 선출 정책 사용)
    따라서 DS committee 규모는 항상 고정되어 있습니다. 위원회에 참여하는 새로운 노드는 작업 증명을 가장 빨리 하는 노드입니다. DS 위원회가 선출되면 샤딩 작업을 시작합니다. 네트워크에 있는 모든 다른 노드들은 다른 작업 증명을 수행합니다. 해당 작업 증명은 DS 위원회에서 유효성을 검증 받습니다. 작업 증명의 제출한 노드들은 임의적으로 특정 샤드에 할당됩니다. 작업 증명으로 제출한 마지막 몇 비트로 해당 노드가 어느 샤드에 할당될지 결정합니다.

  • 적정한 크기 선정 : 시스템 보안을 위해서는 적정한 샤드 크기를 선정하는 것이 중요합니다. 예를 들어 1000개 규모에 네트워크에서 75%가 정직한 노드이고, 25%가 악의적인 노드라고 가정합니다. 이 경우 다양한 크기로 샤드를 만들었을 때 악의적인 노드가 발생할 가능성이 얼마나 될까요? 예를 들어 샤드의 크기가 100노드인 경우, 1/3 이상이 악의적인 노드일 가능성은 4%입니다. 100노드 샤드 크기는 안전하다고 할 수 없습니다. 샤드가 커질수록 이러한 확률은 점점 떨어집니다.
    샤드의 크기가 600노드 이상인 경우, 1/3 이상이 악의적인 노드일 가능성은 백만 분의 1로 떨어집니다. 이러한 이유로 질리카는 최소 600노드 이상을 샤드 크기로 고려하였습니다. 이에 대해서는 샤딩 논문이 있으므로 읽어보시기 바랍니다.

합의(Consensus)

  • 샤드는 600개 이상으로 충분히 커야 합니다.
  • 질리카는 작업증명(PoW)을 사용하여 네트워크 샤딩을 수행합니다.
  • 네트워크 샤딩만으로는 높은 트랜잭션 처리율을 보장하지 못합니다. 다음 블록이 빠르게 생성되기 위해서는 각 샤드의 빠른 동의(Agreement)가 있어야 합니다. 질리카는 샤드 단위(600노드 이상)에서 각 샤드들이 합의에 도달하도록 합니다.
  • 비트코인과 이더리움이 사용하는 합의 프로토콜은 나카모토 합의(Nakamoto Consensus, 비트코인에 처음 사용된 합의 프로토콜로써 발명자인 사토시 나카모토의 이름에서 유래)

나카모토 합의

  • 네트워크가 일정한 시간 간격으로 리더를 선출하고, 리더는 다음 차례의 블록이라 확신하는 새 블록을 제안합니다.
  • 네트워크에 해당 블록을 중계(Broadcast)하면 노드들은 그 블록을 허용할지 거부할지를 결정합니다.
  • 나카모토 합의 핵심은 리더 선출 방식으로 작업 증명(PoW)을 가장 빠르게 완료한 노드가 리더가 됩니다. 정해진 시간에 단 한 명의 리더만 존재해야 합니다.
  • 작업증명은 연산 능력에 의존합니다. 나카모토 합의는 작은 샤드 사이즈를 작게 운영하는 질리카에 적합하지 않습니다. 질리카는 새로운 합의 프로토콜을 필요로 합니다.

PBFT 프로토콜

  • 각 샤드에서의 합의를 위해 질리카카 적용한 프로토콜입니다. 1999년 Castro와 Liskov에 의해 제안되었습니다. PBFT 프로토콜을 적용한 가장 큰 이유는 작은 크기의 샤드를 잘 활용할 수 있다는 점입니다. PBFT는 프토토콜 시작 전에 각 샤드의 노드 가운데 최대 1/3의 악의적인 노드가 있다고 가정합니다. 각 단계를 시작하고 진행하는 리더는 정직해야 합니다. 리더가 악의적인 경우 전체 합의 프로토콜을 멈추거나 교착상태에 빠지게 할 수 있습니다. 이 문제를 해결하기 위해 PBFT는 악의적인 리더를 다른 노드로 교체할 수 있는 뷰 체인지(View Change) 프로토콜을 제공합니다. PBFT 단계가 진행되지 않으면 각 노드는 리더를 변경하겠다고 알릴 수 잇으며, 노드 대다수가 결정하면 새로운 리더로 교체됩니다.

PBFT의 장점

거래소

  • 현재 ERC-20 토큰입니다.
  • 바이낸스와 후오비 등에 상장되어 있으며, 국내 거래소로는 고팍스에 5월 4일 처음으로 상장됩니다.

가격 동향

  • 2018년 5월 2일 현재 코인마켓캡 순위는 38위이며, 토큰의 가격은 1 ZIL 당 0.11달러입니다. 유통량은 현재 약 73억 개입니다.
  • 2018년 5월 5일 현재 코인마켓캡 순위는 30위로 올랐으며, 토큰 가격은 1 ZIL 당 0.14달러입니다.

사이트

Steemit Token LAB

  • 코인/토큰에 대해 의견 교류를 하는 장입니다.
  • 정보 및 의견 댓글(다른 글/기사 링크도 가능)에 대하여 10~100% 보팅해 드립니다.
  • 저자수익 중 STEEM 90%, SBD 85%를 투자하며, SBD 5%는 Token LAB 프로젝트를 위해 적립합니다. 투자금액 중 80%는 개인 기여도 대로 분배, 20%는 공동 분배합니다.
  • 적립금은 향후 코인/토큰 백서 번역 등을 위해 사용합니다. 현재까지 테조스와 대시 백서 번역이 완료되었습니다.
  • 아카이브 https://steemit.com/@token-lab
Sort:  
Loading...

https://steemit.com/coinkorea/@coolzero/zilliqa-etc-18-05-14
작년에 올라왔던 짤막한 소개영상들 다 이어 붙여서 자막한번 달아봤습니다.
컨센서스 프로토콜과 데이터플로우 언어 설명하는 2명의 영어발음들이 멋집니다.그래서 그부분의 번역은 크게 자신이 없네요.

어쨌든 컨펌에서 자유로운 블럭체인이라는게 인상깊네요.

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.032
BTC 63510.75
ETH 3065.54
USDT 1.00
SBD 3.82