밋업, 20190411, 플레타, 블록체인, 댑 생태계, 병렬샤딩, TXID, 트랜잭션서명, 다중체인, 샤드,레벨트리, 데이터, TPS, 블록구조, 인덱스용량, 블록헤더

3 years ago

플레타, 블록체인, 댑 생태계, 병렬샤딩, TXID, 트랜잭션, 다중체인, 샤드,레벨트리, 데이터
플레타 블록 구조 측면에서 블록 헤더 및 서명은 블록 트랜잭션 수와 함께 각각 고정 바이트이다. 트랜잭션 서명 및 트랜잭션 수는 블록의 이러한 요소에 비례한다. 이러한 방식으로 블록을 설계함으로써 병렬 처리를 위한 기반을 만들 수 있다. 예를 들어 시그니처 목록에서 레벨 3 오프셋을 가져올 수 있다. 16개의 트랜잭션을 가져와서 경량 스레드로 보낸다. 이 경량 스레드는 필요한 데이터를 효율적으로 전달할 수 있고 트랜잭션의 유효성을 검사하는데 사용할 수 있다. 이 프로세스를 사용하여 고속 검증으로 레벨 트리를 구축하여 검증 및 레벨 경로를 동시에 병렬 처리할 수 있다. 따라서 20,000TPS의 트랜잭션 속도를 달성할 수 있다. 이러한 블록 구조 재설계는 블록의 용량을 기존보다 43% 축소시키고 운용에 필요한 인덱스 용량을 줄일 수 있게된다. 이러한 블록 재설계는 거래 처리 속도를 1.8배 향상시켰다.

플레타 레벨트리(Fleta level tree)[13]
레벨트리
거래 검증 과정에 많이 쓰이는 머클트리(Merkle Tree) 방식이 아닌 레벨트리(Level Tree) 방식을 도입해 검증 구조의 용량을 90% 줄였다. 이러한 레벨트리 검증방식은 적은 데이터로 검증을 수행할 수 있게되어 데이터 검증 속도를 5배이상 향상 시켰다.

플레타 병렬 샤딩(Fleta parallel sharding)[14]
샤딩을 사용한 병렬 처리
트랜잭션의 병렬 처리(Multinode Parallel transaction processing)는 초고속 트랜잭션 처리를 실현하는 매우 중요한 기술이다. 거래는 일반적으로 사전 결정된 규칙에 따라 나뉘며 결과는 이중지불 방지 및 일련 번호 순서를 통해 수집 및 처리된다. 플레타 블록체인에서 각 샤드는 독립적으로 작동하는 대신 다른 샤드와 종속되거나 상호 연결되지 않는다. 즉, 각 샤드에는 자체 체인이 있으며 하나의 계정은 동일한 키와 주소를 가진 모든 샤드에 엑세스 할 수 있다.

트랜잭션 샤딩 기반 다중체인 : 단일 체인에 있는 트랜잭션 처리 구조와 달리 각 샤드에는 독립적인 블록체인이 있다. 따라서 샤드가 처리하는 트랜잭션은 각 샤드가 서로 영향을 받지 않고 병렬로 트랜잭션을 처리할 수 있는 독립 블록체인 내에서 유지 관리된다. 샤드 시스템은 기본적으로 이중 지출을 방지하도록 구성되어 있으며 각 샤드마다 고유한 블록체인이 있으므로 완전한 병렬 프로세스를 통해 처리 속도가 향상된다. 또한 플레타에서는 트랜잭션 처리 뿐 아니라 데이터 분할처리까지 지원하는 풀샤딩을 지원한다.
성능개량 : 초당 20,000회의 놀라운 속도를 달성할 수 있다. 플레타의 TXID는 TXID를 인덱싱하기 위해 블록의 높이와 블록 내의 트랜잭션 위치를 사용하여 트랜잭션 해시에서 고유하게 생성되므로 다른 블록체인 솔루션과 비교할 때 상당한 메모리를 절약한다. 이렇게 하면 큰 인덱스에 대한 필요성이 줄어들고 트랜잭션을 크게 검색할 때 요구가 줄어든다. 서명을 통해 확인이 이루어지기 때문에 내용을 위조하지 못하도록 하는 이점이 있다. 이를 통해 즉각적인 트랜잭션 검색, 필요한 인덱스 용량 감소 및 데이터 볼륨 감소가 가능하다.
다중 서명 : 플레타 트랜잭션에 여러 서명이 필요한 경우 여러 주소가 블록 출력에 배치될 수 있다. 트랜잭션을 완료하기 위해 필요한 모든 서명을 트랜잭션에 배치할 수 있다. 이 시스템은 다중 서명 구현의 복잡성을 크게 줄이고 유효성 검사 프로세스를 크게 단순화한다.
라이트노드
라이트노드를 사용하면 모바일 장치를 사용할 때 레벨 2까지의 데이터가 저장되는 반면, 레벨 3까지의 데이터는 PC를 사용하여 저장될 수 있다. 레벨 3 트리 데이터가 저장되면 특정 트랜잭션을 검색하고 유효성을 확인하기 위해 16개의 해시와 단일 트랜잭션만 필요하다. 이를 통해 미우 낮은 메모리 요구와 매우 빠른 속도로 트랜잭션을 검증할 수 있다.

트랜잭션
플레타 플랫폼에서 가능한 초당 트랜잭션 양은 궁극적으로 네트워크의 속도와 서명 검증 속도에 달려있다. ECDSA8 코어 표준은 1.4MB/s의 합리적인 네트워크 속도로 작동하는 8개의 코어를 기반으로 한 초당 23,000개의 트랜잭션을 물리적으로 제한할 수 있다. 따라서 플레타는 초당 20,000의 트랜잭션 속도를 안전하게 달성하는 것을 목표로 한다.

네트워크
플레타의 네트워크는 모든 위치의 피어가 균일하게 처리되도록 설계되었다. 이 네트워크 배포 방식을 통해 특정 방향으로 중앙 집중화를 방지할 수 있다. 거리는 ping에 의해 결정되며, 네트워크 거리는 각 피어의 최대 거리를 보장하여 가능한 한 균일하도록 설계된다. 이렇게 하면 네트워크의 거리 중심화 가능성이 줄어든다.

포크 방지
동일한 높이를 갖는 두 개의 블록이 관찰자 노드에 들어가면, 포크는 5개의 그룹으로부터 3개의 서명을 요구함으로써 검출될 수 있다. 따라서 관찰자 노드가 이러한 충돌을 감지하면 포크를 생성할 수 없다. 포뮬레이터 그룹이 거짓 보고서를 작성하면 구현된 프로토콜이 금지되어 허위 블록 생성에서 네트워크를 보호한다.

관찰자 노드를 통한 실시간 확인
플레타는 유효성 검사 프로세스의 속도를 높이기 위해 관찰자 노드를 개발했다. 관찰자 노드는 트랜잭션의 유효성 확인에만 전념하기 때문에 실시간 확인이 가능하다. 비트코인 및 이더리움과 같은 이전 블록체인 모델은 확인을 완료하는데 몇 분이 걸린다. 플레타는 실시간 확인을 통해 이 프로세스를 크게 가속화한다. 이 방법을 사용하면 5개의 관찰자 노드 중 3개가 서명을 만들기 위해 공식화 된 블록에 동의해야 한다. 포뮬레이터 그룹에 의해 결정된 일련의 그룹 일치는 노드 서명의 유효성 검사와 함께 블록 작성 프로세스에서 위조 또는 결탁을 방지한다.

다중체인 프로토콜
대부분의 코인들은 메인넷을 유지하는 하나의 메인체인으로 구성되어 있다. 모든 트랜잭션은 포리스트 데이터 구조에서 상호 참조되므로 각 트랜잭션의 유효성 검사에는 모든 트랜잭션의 전체 기록이 필요하다. 플레타 플랫폼의 다중체인 구조를 통해 각 디앱에는 별도의 관찰자 노드와 공식자가 있어 체인을 독립적으로 운영할 수 있다.

체인 층 분리 : 주 트랜잭션 체인과 데이터 체인은 분리되어 있다. 플레타의 토큰과 특유의 노드는 동기화 된 주 체인을 가짐과 동시에 토큰과 특정체인을 갖는다.
독립사슬 : 포뮬레이터는 PoF 시스템을 사용하여 열린 노드에서 작동하여 네트워크와 지속적으로 동기화되고 체인 진행을 유지한다. 포뮬레이터 그룹이 체인 작동에서 동기화되면 포뮬레이터는 확인을 수락할지 여부를 결정하여 동기화를 보장할 수 있다. 관측 노드는 분기 시스템이 동기식으로 계속 작동할 수 있도록 포크의 가능성을 없앰으로써 이 시스템을 보강한다. 주 체인에서 포뮬레이터를 사용하는 대신, 주 체인이 중지되는 경우에도 주 체인과 독립적으로 작동하도록 하위 체인에서 구성자를 구성할 수 있다.

Loading comments...