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

적응형 상태 샤딩

위키원
Asadal (토론 | 기여)님의 2019년 9월 20일 (금) 00:45 판 (같이 보기)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
이동: 둘러보기, 검색

적응형 상태 샤딩(adaptive state sharding)은 데이터를 노드에게 할당한 샤드(Shards)의 상태를 기록한 뒤 각 시점에 나누어 처리하는 방식으로 적응형 스테이트 샤딩이라고도 한다.

개요

샤딩(sharding)은 가장 주목받는 확장성 문제 해결책으로, 거래 데이터를 분할해 각 노드에 할당한 뒤 처리하는 기술이다. 엘론드(Elrond)는 기존 샤딩 기술을 응용한 적응형 상태 샤딩 기술을 개발하여, 데이터를 노드에 할당한 샤드(Shards)의 상태를 기록한 뒤 각 시점에 나누어 처리하는 방식이며, 적응형 스테이트 샤딩이라고도 불린다.[1]

블록체인 기술에서 간단히 말해서 샤드는 트랜잭션의 유효성을 검사할 수 있는 노드 그룹으로, 샤딩을 통합하는 블록체인을 통해 사용 가능한 유효성 검사기 노드와 같은 네트워크 리소스를 처리량에 사용할 수 있고, 확장성 문제에 대한 확고한 해결책이지만 제한된 성공으로 적용되었다. 엘론드는 새로운 샤드를 적극적으로 활성화하여 네트워크 수요에 적응할 수 있는 샤딩 메커니즘을 성공적으로 통합한 첫 번째 프로젝트로, 적응형 상태 샤딩은 네트워크 수요가 증가할 경우 샤드 수가 증가할 수 있는 네트워크를 만들고, 각 샤드는 트랜잭션을 처리하여 네트워크에서 사용 가능한 리소스를 효과적으로 사용하도록 보장한다.[2]

활용

엘론드

엘론드 프로젝트

엘론드(Elrond)는 새로운 블록체인 아키텍처로, 처리량과 실행 속도가 누적적으로 1,000배 향상되도록 설계되었으며, 이를 달성하기 위해 엘론드는 신속하고 효율적이며 안전한 합의 메커니즘을 토해 선형 확장성을 가능하게 하는 새로운 적응형 상태 샤딩 메커니즘과 지분증명(PoS)알고리즘의 두 가지 주요 혁신을 도입하였고, 엘론드는 초당 10,000회 이상의 트랜잭션(TPS)을 처리할 수 있으며, 대기 시간은 5초에 불과하여 국경 없는 무제한 인터넷 경제의 중추가 되고자 한다.

엘론드는 블록체인 확장성을 해결하기 위한 솔루션 중 하나인 샤딩 기술을 응용하여 적응형 상태 샤딩을 개발했다. 가상화폐가 실생활에 적용이 어려운 핵심 난제인 처리 속도 문제를 풀기 위한 관계자들의 노력은 지속되어왔으며, 적응형 상태 샤딩은 네트워크가 블록체인의 보안 및 분산화 이점을 희생하지 않고도 중앙 집중식 클라우드 네트워크와 경쟁할 수 있게 해 주는 첨단 형태의 스테이트 샤딩이다.

엘론드 샤딩 기반 퍼블릭 블록체인 플랫폼은 분산된 네트워크가 중앙 집중식 네트워크와 속도 및 보안 측면에서 경쟁할 수 있게 해주는 적응형 상태 샤딩 기술을 통해 블록체인 트랜잭션을 여러 노드로 분할한 샤드의 상태를 기록하여 각 시점에 나누어 처리한다.

엘론드는 신속하고 효율적이며 안전한 합의 메커니즘을 통해 선형 확장성을 가능하게 하는 새로운 적응형 상태 샤딩 메커니즘과 기존의 지분증명방식 알고리즘을 보완한 안정 지분증명(SPoS) 방식를 도입하여 노드를 랜덤하게 선정하여 트랜잭션을 처리하는 방식으로 엘론드는 자체 테스트 결과 초당 1만 회 이상 대기시간 5초의 트랜잭션을 처리하여 고성장 가능성을 보여주고 있다.[3]

샤딩은 데이터베이스에서 처음 사용되었으며, 여러 시스템에 데이터를 분산시키는 방법으로 적응형 상태 샤딩 기술은 블록체인에서 상태 및 트랜잭션 처리를 분할하여 각 노드가 다른 노드와 병렬로 모든 트랜잭션의 일부만 처리하도록 사용할 수 있어 시스템이 높은 안정성과 보안을 유지하도록 각 트랜잭션을 확인하는 충분한 수의 노드가 있는 한 블록체인을 샤드로 분할하면 많은 트랜잭션을 병렬로 처리할 수 ​​있으므로 트랜잭션 처리량과 효율성이 크게 향상된다. 샤딩은 유효성 검사기 네트워크가 확장됨에 따라 처리량을 늘릴 것이며, 이 속성은 가로 크기 조정이라고 한다.[4]

  • 중앙 집중식 네트워크
미래의 똑똑한 도시는 블록체인 기술 없이도 존재할 수 있다. 현재 웹 인프라는 중앙 집중식 클라우드 제공 업체에서 지원된다. 이러한 네트워크에는 사실상 무한한 수요를 지원하는 데 필요한 데이터 및 계산 능력이 있으나 중앙 집중식 상태는 몇 번이고 위험 요소로 판명되었으며, 중앙 집중식 네트워크에 대한 단일 공격은 그에 의존하는 모든 엔티티(개체)를 쇠약하게 한다. 이러한 취약한 컴퓨팅 리소스 소싱 상태는 스마트 경제에서 활용될 수 없고, 네트워크의 분산 상태가 공격에 취약해짐에 따라 블록체인 기술이 중앙 집중식 인프라보다 우월하지만, 블록체인 네트워크가 기존의 중앙 집중식 네트워크와 효과적으로 경쟁하기 위해서는 기술이 적응력이 있어야 한다. 대량 소비 애플리케이션 및 플랫폼에 전력을 공급하기 위해 구축된 대부분의 최신 클라우드 서비스와 SaaS는 적응적이며, 네트워크는 수요에 맞게 조정하여 즉각적인 네트워크 수요를 지원하는 데 필요한 리소스 양을 중계한다. 기존 스마트 계약 네트워크에는 이 기능이 부족하지만, 하모니(Harmony)는 상태 샤딩을 사용하여 적응 가능한 네트워크를 제공하고, 활성 노드에 대한 네트워크의 낮은 진입 장벽으로 인해 처리량 요구가 증가함에 따라 필요한 자원 공급을 제공하기 위해 더 많은 샤드를 활성화 할 수 있다. 그 결과, 네트워크는 네트워크 수요와 병행하여 적응성을 달성 할 수 있다.[5]
  • 중앙 집중식 상대방에 비해 처리량 비교
블록체인 샤딩을 위한 최적의 접근 방식은 세 가지 샤딩 유형(네트워크, 통신, 트랜잭션, 프로세싱, 상태, 스토리지) 모두의 이점을 고려해야 한다. 확장성 및 처리량 증가에 대한 엘론드의 접근 방식인 적응형 상태 샤딩은 세 가지 샤딩 유형을 모두 샤드 내부의 통신을 개선하고 병렬처리를 통해 성능을 높이고 스토리지를 줄이며 거의 선형으로 확장하는 솔루션으로 결합하는데, 사용 가능한 리소스 유효성 검사기 노드 및 네트워크 사용량에 따라 샤드 수가 동적으로 변경되도록 하면, 처리량뿐만 아니라 효율성에도 큰 영향을 미친다. 적응형 상태 샤딩 메커니즘은 샤드 수가 계산되면 이진 트리 구조를 기반으로 하고, 이 숫자는 계정 주소를 샤드에 결정적으로 매핑하는 데 사용된다. 샤드의 트랜잭션 발송은 발신자와 수신자 계정 주소를 지정된 샤드에 매핑하여 결정적으로 수행되며, 당사 솔루션의 거의 선형적인 확장성은 중앙 집중식 솔루션의 처리량을 능가하는 백본을 제공한다.[6]
  • 런치패드 프로젝트
바이낸스의 CEO이자 설립자인 창펑자오는 바이낸스 런치패드에서 블록체인 기술 확장 및 대용량 채택 준비와 관련된 문제를 해결하기 위한 인프라 프로젝트를 지속해서 지원하며, 엘론드팀은 분산된 네트워크가 중앙 집중식 네트워크와 속도 및 보안 측면서 경쟁할 수 있게 해 주는 적응형 상태 샤딩 개념을 제안 함으로써 이문제를 비범한 방법으로 해결하고, 블록체인 공간에서 새로운 성능 기준을 수립하고 있으며, 트랜잭션 처리를 병렬화하고 처리량과 실행 속도가 1,000배 향상되면 분산 응용 프로그램의 모든 것이 바뀔 것이라고 말했다.[3]
  • 엘론드 샤딩 접근
네트워크, 트랜잭션 및 상태 샤딩 결합의 복잡성을 처리하는 동안 엘론드의 접근 방식은 다음 목표를 염두에두고 설계되었다. 아래 그림은 엘론드 적응형 상태 샤딩 접근법이다.[4]
  1. 가용성에 영향을 미치지 않는 확장성 : 샤드 수를 늘리거나 줄이면 가동 중지 시간을 발생시키지 않거나 상태를 업데이트하는 동안 노드를 최소화하지 않고도 무시할 정도로 작은 노드 부근에 영향을 미쳐야한다.
  2. 디스패치 및 즉각적인 추적성 : 트랜잭션의 대상 샤드를 찾는 것은 결정론적이며 계산하기 쉽지 않으므로 통신 라운드가 필요 없다.
  3. 효율성 및 적응성 : 샤드는 가능한 항상 균형을 유지해야한다.
엘론드 적응형 상태 샤딩 접근법
  • 엘론드 샤딩 접근 방법설명
네트워크의 노드 수가 변경되고 블록체인 활용에 필요한 경우 총 샤드 수가 변경된다. 노드 수가 하나의 에포크에서 다른 임계값으로 임계값 이상 증가하고 블록당 평균 트랜잭션 수가 더 큰 경우 임계값 수 또는 노드 수가 임계값 아래로 감소하는 경우에, 엘론드는 초당 수천 트랜잭션 이상으로 처리량을 늘리고 크로스 샤드 통신을 줄이는 것이 주요 목표이므로 현재 트랜잭션에 포함된 샤드를 자동으로 결정하고 그에 따라 트랜잭션을 라우팅하는 디스패치 메커니즘을 제안하며, 디스패처는 거래 발신자, 수신자의 계정 주소를 고려한다. 결과는 트랜잭션이 발송될 샤드 수이다. 전체 샤딩 체계는 계정 주소를 분산하고 확장성을 선호하며 상태 전이를 처리하는 이진 트리 구조를 기반으로 하고, 트리의 표현은 아래 그림에서 볼 수 있다.
트리 구조
제시된 트리 구조는 결정적 매핑에 사용되는 계정 주소 공간의 논리적 표현이다. 예를 들어, 샤드 할당과 형제 계산 등 이진 트리의 잎은 ID 번호가 있는 샤드를 나타내고, 루트(노드, 샤드 0)에서 시작하여 샤드, 리프(a)가 하나만 있으면 모든 계정 주소가 이 주소에 매핑되고 모든 트랜잭션이 여기에서 실행되며, 최적의 샤드 수에 대한 공식이 2개의 샤드(b)의 필요성을 지시하면, 어드레스 공간은 어드레스의 마지막 비트에 따라 동일한 부분으로 분할될 것이다. 최적의 샤드 수가 2의 거듭제곱이 아닌 경우 때때로 나무의 균형이 맞지 않을 수도 있어, 이 경우 마지막 레벨의 잎에만 영향을 미치며, 샤드 수가 2의 거듭제곱에 도달하면 구조가 다시 균형을 맞춘다. 이진 트리의 균형이 맞지 않으면 가장 낮은 레벨에 있는 샤드의 샤드 노드 주소 공간이 한 레벨 더 높아 지므로 이 샤드에 할당된 활성 노드의 수수료 수입이 낮아질 수 있어, 블록 보상은 영향을 받지 않는다. 그러나 이 문제는 각 샤드 노드의 3분의 1이 각 에포크에 무작위로 재분배되고 트리 레벨에 따라 노드의 균형 잡힌 분포를 가짐으로써 해결된다.
모든 리프에서 시작하여 루트를 향해 분기를 진행하는 트리를 보면 분기의 인코딩은 해당 리프, 샤드에 의해 처리된 관련 원래 트랜잭션이 있는 계정 주소의 마지막 n 비트를 나타내고, 뿌리에서 잎까지 다른 방향으로 이동하면 정보는 구조의 진화, 형제 샤드, 분할된 부모 샤드와 관련이 있다. 이 계층 구조를 사용하면 최적의 샤드 수가 증가할 때 분할되는 샤드 또는 Nsh가 감소할 때 병합될 샤드를 쉽게 계산할 수 있으며, 전체 상태 샤딩 메커니즘은 주소와 관련 상태를 항상 같은 샤드 내에 유지함으로써 이 구조의 이점을 얻는다. Nsh를 알고 있으면 모든 노드가 통신 없이 재분배 프로세스를 따를 수 있다. 새 샤드에 대한 ID 할당은 점진적으로 이루어지며 샤드 수를 줄이면 더 높은 번호의 샤드가 제거된다. 예를 들어 Nsh에서 Nsh-1로 갈 때 두 개의 샤드가 병합되며 제거할 샤드는 가장 높은 번호의 샤드이다(shmerge = Nsh-1). shmerge가 병합될 샤드 번호를 찾기는 쉽지 않으며, 트리 구조에 따르면 결과 샤드에는 형제 번호가 있다.[7]

각주

  1. 최희우 기자, 〈샤딩 기반 퍼블릭 블록체인 ‘엘론드(Elrond)’, 바이낸스 런치패드 오른다〉, 《더노디스트》, 2019-06-25
  2. Minjun, 〈Elrond : 개발자 친화적 인 블록 체인〉, 《미디엄》, 2019-05-23
  3. 3.0 3.1 스톡프로, 〈엘론드(Elrond)샤딩 기반 퍼블릭 블록체인 바이낸스 런치패드〉, 《네이버 블로그》, 2019-06-29
  4. 4.0 4.1 엘론드 Docs 공식 홈페이지 - https://docs.elrond.com/learn/adaptive-state-sharding
  5. HATU, 〈블록 체인의 도약 : 적응 형 상태 샤딩〉, 《스팀잇》, 2019-05-14
  6. 엘론드 공식 홈페이지 - https://elrond.com/technology#adaptive-state-sharding
  7. Paradigm, 〈Elrond: High-throughput public blockchain with Adaptive State Sharding〉, 《미디엄》, 2019-07-31

참고자료

같이 보기


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