Level Tree

MEVerse의 핵심 기술 중 하나인 '레벨트리'를 통해 검증속도가 5배 이상 향상 가능합니다.

1) 기존의 '머클 트리'란?

머클 트리는 비트코인이나 이더리움 같은 기존 블록체인 네트워크의 핵심 요소입니다.

전통적인 블록체인에서 머클트리 데이터 구조는 데이터가 P2P(peer-to-peer)로 전달되거나 Cassandra와 같은 분산 데이터베이스에서 데이터 교환 시 내용 검증에 사용됩니다. 이는 노드가 1MB 이상과 같이 비교적 큰 용량을 처리해야 할 때 주로 사용됩니다. 그리고 머클트리 전체가 아닌 일부만 알고 있는 경우, 확실하게 검증을 수행하기 어렵습니다. 따라서 올바른 검증을 위해선 머클트리 전부가 매번 필요하며, 정확도를 유지하기 위해 지속적으로 많은 양의 계산이 필요합니다. 머클트리 경로가 실용적인 수준에서 검증을 보증해 준다 하더라도 SPV(Simple Payment Verification)를 수행하는데 훨씬 많은 메모리가 필요하며 더 많은 계산을 필요로 합니다.

2) MEVerse의 '레벨 트리'는?

MEVerse는 레벨 트리라는 새로운 구조를 사용합니다. 이 구조에서는 블록 16개를 묶어 Hash 하고, 해당 Hash를 16개 단위로 다시 Hash 합니다. 이것은 보다 효율적인 시스템으로, 거래의 Hash 프로세스를 수학적으로 단순화하여 각 레벨이 16개의 하위 요소를 가지는 트리를 만듭니다. 이 트리 시스템을 사용하면 루트가 1개, 레벨 1이 16개, 레벨 2가 256개, 레벨 3은 4,096개이고 트랜잭션의 전체 목록은 65,535개(직렬화 단계에서 2 Bytes를 사용하여 최대 개수를 제한함으로 거래 Count 변수가 0-62,535만 표현 가능)가 됩니다. 훨씬 적은 메모리와 계산 리소스를 사용함으로써 모바일 장치에서도 트리를 저장하고 전체적으로 더 낮은 리소스와 네트워크 통신으로 거래 검증을 보증합니다.

라이트 노드에서는 전체 트리가 아닌 LEVEL 트리를 저장하고, 풀 노드에 필요한 정보를 요청하는 방식을 사용합니다. 레벨 3 트리 데이터가 저장되면 특정 거래를 검색하고 유효성을 확인하기 위해 오직 16개의 hash와 1개의 거래만 가져오면 검증이 가능합니다. 이를 통해 매우 낮은 메모리로도 사용 가능하며 동시에 매우 빠른 속도로 거래를 검증할 수 있습니다.

Last updated