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

엘론드

위키원
wjddn843 (토론 | 기여)님의 2019년 9월 20일 (금) 11:01 판 (안정지분증명(SPoS))
이동: 둘러보기, 검색
엘론드(Elrond) 로고
엘론드(Elrond) 로고 및 글자

엘론드(Elrond)는 샤딩(Sharding) 기반의 퍼블릭 블록체인 플랫폼이다. 또한, 블록체인 확장성을 해결하기 위한 솔루션 중 하나인 샤딩 기술을 응용하여 적응형 상태 샤딩(Adaptive State Sharding)기술을 개발했다.[1]

개요

엘론드는 블록체인 확장성 해결에 초점을 맞춘 샤딩 기반의 퍼블릭 블록체인 플랫폼이다. 보안성, 효율성, 상호 운영성 등 여러 문제점을 해결하기 위해 샤딩 기술을 적용하여 적응형 상태 샤딩 기술을 개발했다. 적응형 상태 샤딩 기술을 통해 블록체인 트랜잭션을 여러 노드로 분할한 샤드(Shards)의 상태를 기록하여 각 시점에 나누어 처리한다. 또한, 기존의 지분증명(Proof of Stake; PoS) 방식의 알고리즘을 보완한 안정지분증명 방식(Secure Proof of Stake, SPoS)를 도입하여 노드를 랜덤하게 선정하여 트랜잭션을 처리한다. 엘론드는 2019년 1분기와 2분기에 테스트넷 자체 검사에서 초당 10,000회 이상의 트랜잭션(TPS)을 처리한 바 있으며, 비트토렌트(BTT), 페치에이아이(Fetch.AI), 셀러 네트워크(Celer Network), 하모니(Harmony)에 이어 바이낸스 런치패드의 5번째 토큰 판매 프로젝트로 진행된다.[1]

특징

안정지분증명(SPoS)

엘론드의 합의에 대한 접근 방식은 무작위 검증 인의 선택, 스테이크 및 등급을 통한 적격성을 합의 그룹에 대한 최적의 차원으로 결합하여 이루어진다.[2]

  1. 한 샤드의 노드 중에서 블록 생성에 참여하는 합의 그룹이 랜덤으로 선정된다. 여기서 해당 샤드의 모든 노드가 블록 생성에 참여하지 않는 이유는 블록 전파 범위를 줄여서 속도를 향상시키기 위함이며, 지분증명에서 파생된 알고리즘인만큼 랜덤으로 합의 그룹을 선정하는 과정에 스테이킹 수량이 가중치로 산정된다. 엘론드는 여기서 스테이킹 수량뿐만 아니라 '레이팅(Rating)'이라는 값도 적용되는데, 레이팅은 각 노드별로 부여되는 값으로 네트워크에서 악의적인 행동을 할 시 차감된다. 레이팅 낮을 수록 블록 제안자로 선정될 확률이 낮아지며, 일정 수치 이하로 내려갈 경우 해당 노드가 스테이킹을 목적으로 예치한 코인을 몰수한다.
  2. 합의 그룹의 노드 중 한 노드가 블록 제안자(block proposer)로 선정되어 블록을 생성한다.
  3. 생성된 블록은 합의 그룹의 노드들의 프랙티컬 비잔틴 장애 허용(Practical Byzantine Fault Tolerance; PBFT)으로 인하여 즉시 완결성을 갖게 된다.[3]

적응형 상태 샤딩

  • 엘론드 샤딩 접근
네트워크, 트랜잭션 및 상태 샤딩을 결합하는 복잡성을 처리하는 동안 엘론드의 접근 방식은 다음 목표를 염두에두고 설계되었다.
  1. 가용성에 영향을 미치지 않는 확장성 : 샤드 수를 늘리거나 줄이면 상태를 업데이트하는 동안 다운 타임을 발생시키거나 최소화시키지 않으면서 무시할 정도로 작은 노드 부근에 영향을 미쳐야한다.
  2. 파견 및 즉각적인 추적성 : 거래의 목적지 샤드를 찾는 것은 결정론적이며 계산하기가 쉽지 않으므로 통신 라운드가 필요하지 않다.
  3. 효율성 및 적응성 : 샤드는 가능한 한 항상 균형을 유지해야 한다.
  • 방법
노드 수가 하나의 에폭에서 다른 임계 값으로 임계 값 이상 증가하고 블록 당 평균 트랜잭션 수가 더 큰 경우, 임계 값 수 또는 노드 수가 임계 값 아래로 감소하는 경우에 네트워크의 노드 수가 변경되고 블록 체인 활용에 필요한 경우 총 샤드 수가 변경된다. 엘론드는 초당 수 천 트랜잭션 이상으로 처리량을 늘리고 크로스 샤드 통신을 줄이는 것이 주요 목표이므로 현재 트랜잭션에 포함된 샤드를 자동으로 결정하고 그에 따라 트랜잭션을 라우팅하는 디스패치 메커니즘을 제안한다. 디스패처는 거래 발신자/수신자의 계정 주소를 고려하며, 결과는 트랜잭션이 발송될 샤드의 수이다. 전체 샤딩 체계는 계정 주소를 분산하고 확장성을 선호하며 상태 전이를 처리하는 이진 트리 구조를 기반으로 한다.
트리 구조는 결정적 매핑에 사용되는 계정 주소 공간의 논리적 표현일 뿐이다. 예를 들어, 샤드 할당, 형제 계산 등. 이진 트리의 잎은 샤드의 ID 번호를 나타낸다. 루트(노드/샤드 0)에서 시작하여 샤드/리프(a)가 하나만 있으면 모든 계정 주소가 이 주소에 매핑되고 모든 트랜잭션이 여기에서 실행된다. 또한, 최적의 샤드 수에 대한 공식이 2개의 샤드의 필요성을 지시하면, 어드레스 공간은 어드레스의 마지막 비트에 따라 동일한 부분으로 분할될 것이다. 최적의 샤드 수가 2의 거듭 제곱이 아닌 경우 때때로 나무의 균형이 맞지 않을 수도 있다. 이 경우 마지막 레벨의 잎에만 영향을 미친다. 샤드 수가 2의 거듭 제곱에 도달하면 구조가 다시 균형을 맞춘다. 이진 트리의 균형이 맞지 않으면 가장 낮은 레벨에있는 샤드의 샤드 노드 주소 공간이 한 레벨 더 높아지므로 이 샤드에 할당 된 활성 노드의 수수료 수입이 낮아질 수 있다. 블록 보상은 영향을 받지 않는다. 그러나 이 문제는 각 샤드 노드의 3분의 1이 각 에폭(임의로 섹션에 자세히 설명)에 무작위로 재분배되고 트리 레벨에 따라 노드의 균형 잡힌 분포를 가짐으로써 해결된다.
모든 리프에서 시작하여 루트를 향해 분기를 진행하는 트리를 보면 분기의 인코딩은 해당 리프/샤드에 의해 처리된 원래 트랜잭션이 있는 계정주소의 마지막 n비트를 나타낸다. 뿌리에서 잎까지 다른 방향으로 이동하면 정보는 구조의 진화, 형제 샤드, 분할된 부모 샤드와 관련이 있다. 이 계층 구조를 사용하면 최적의 샤드 수(이하 Nsh)가 증가 할 때 분할 되는 샤드 또는 Nsh때 병합할 샤드감소는 쉽게 계산할 수 있다. 전체 상태 샤딩 메커니즘은 주소와 관련 상태를 항상 같은 샤드 내에 유지함으로써 이 구조의 이점을 얻는다. Nsh를 알고 있으면 모든 노드가 통신없이 재분배 프로세스를 따를 수 있다. 새 샤드에 대한 ID 할당은 점진적으로 이루어지며 샤드 수를 줄이면 더 높은 번호의 샤드가 제거된다. 예를 들어, Nsh 에서 Nsh-1 로 갈 때 두 개의 샤드가 병합되고 제거 될 샤드는 가장 높은 번호의 샤드이다.(shmerge = Nsh-1) shmerge가 병합될 샤드 번호를 찾는 것은 쉽지 않다. 트리 구조에 따르면 결과 샤드에는 형제의 번호가 있다.
  • 샤드 중복
블록 체인에서 샤드에 온라인 노드 수가 충분하지 않거나 분배가 지리적으로 지역화 된 경우 상태 샤딩이 샤드 실패에 취약하다. 하나의 샤드에 장애가 발생하는 경우(샤드에 접속할 수 없거나 모든 노드가 오프라인이거나 컨센서스에 도달 할 수 없음, 노드의 1/3 이상이 응답하지 않는 경우) 전체 아키텍처가 수퍼에만 의존 할 위험이 높다. 전체 노드, 모든 샤드의 모든 블록을 완전히 다운로드하여 모든 것을 완전히 검증한다. 엘론드의 프로토콜에는 마지막 트리 수준의 샤드를 적용하여 형제의 상태를 유지함으로써 상태 유지 구조에 상충 관계를 도입하는 보호 메커니즘이 있다.
  • 상황 전환
샤드 퍼블릭 블록 체인의 보안을 유지하려면 컨텍스트 전환이 중요하다. 이것은 임의의 기준에 의해 고정된 시간 간격으로 샤드간에 활성 노드를 재 할당하는 것이다. 엘론드의 접근 방식에서 컨텍스트 전환은 보안 향상을 나타내지만 여러 상태 간의 일관성을 유지하는 데 필요한 복잡성을 증가시킨다. 활성 노드를 이동하려면 상태, 블록 체인 및 트랜잭션을 새 샤드의 적격 노드와 함께 다시 동기화해야하므로 상태 전환은 성능에 가장 큰 영향을 미친다. 각 시대가 시작될 때 활기를 유지하기 위해이 노드 중 1/3 미만 만이 샤드에 균일하게 재분배된다. 이 메커니즘은 악의적 인 그룹을 형성하는 데 매우 효과적이다.
  • 공증(Meta) 체인
모든 네트워크 및 글로벌 데이터 작업(네트워크에 참여하는 노드, 네트워크를 떠나는 노드, 적격 유효성 검사기 목록 계산, 샤드 대기 목록에 노드 할당, 유효하지 않은 블록에 대한 특정 샤드 문제의 블록에 대한 합의 동의)은 메타 체인에서 공증된다. 메타 체인 합의는 다른 모든 샤드와 통신하고 크로스 샤드 작업을 용이하게하는 다른 샤드에 의해 실행된다. 모든 에폭의 모든 라운드마다, 메타 체인은 다른 샤드로부터 블록 헤더를 수신하고 필요한 경우 유효하지 않은 블록의 문제에 대한 증거를 받는다. 이 정보는 컨센서스를 실행해야하는 메타 체인의 블록으로 집계된다. 크로스 샤드 트랜잭션을 안전하게 처리하기 위해 컨센서스 그룹에서 블록이 확인되면 샤드는 블록, 미니 블록, 적격 유효성 검사기, 대기 목록의 노드 등에 대한 정보를 요청할 수 있다.[2]

각주

  1. 1.0 1.1 SHAWN LEE, 〈엘론드, 바이낸스 런치패드 통해 토큰 판매〉, 《티스토리》, 2019-06-26
  2. 2.0 2.1 Paradigm, 〈Elrond: High-throughput public blockchain with Adaptive State Sharding〉, 《Medium》, 2019-07-31
  3. 쿤안, 〈엘론드 코인이란?〉, 《코박》, 2019-07-03

참고자료

같이 보기


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