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