홈
AI AI
속보
심층
이벤트
Pro
더보기
자금 조달 정보
특집
온체인 생태계
용어
팟캐스트
데이터
OPRR
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%
XRP
$2.25
2.07%
DOGE
$0.325
2.23%
USDC
$0.999
3.05%

Bitroot의 병렬화된 EVM 기술에 대한 심층 분석: 고성능 블록체인 아키텍처 설계 및 구현

이 글을 읽으려면 54 분
Bitroot의 성공은 기술 혁신에만 있는 것이 아니라 혁신을 실용적인 엔지니어링 솔루션으로 전환하는 능력에도 있습니다.
원문 출처: Bitroot


소개: 블록체인 성능 병목 현상 극복을 위한 기술적 혁신


10년 이상 블록체인 기술이 발전해 온 과정에서 성능 병목 현상은 대규모 애플리케이션 개발을 가로막는 핵심 장애물이었습니다. 이더리움은 초당 15건의 트랜잭션만 처리할 수 있으며, 확인 시간은 최대 12초에 달합니다. 이러한 성능으로는 끊임없이 증가하는 애플리케이션 수요를 충족할 수 없습니다. 기존 블록체인의 직렬 실행 모드와 제한된 컴퓨팅 파워는 시스템 처리량을 심각하게 제한합니다. Bitroot는 이러한 교착 상태를 해결하기 위해 개발되었습니다. 파이프라인 BFT 합의 메커니즘, 낙관적 병렬화 EVM, 상태 샤딩, BLS 서명 집계라는 네 가지 주요 기술 혁신을 통해 Bitroot는 최종 확인에 400밀리초, TPS 25,600이라는 획기적인 성능을 달성하여 블록체인 기술의 대규모 애플리케이션 개발을 위한 엔지니어링된 기술 솔루션을 제공합니다. 이 글에서는 Bitroot의 핵심 기술 아키텍처 설계 개념, 알고리즘 혁신, 그리고 엔지니어링 실무 경험을 체계적으로 설명하여 고성능 블록체인 시스템을 위한 완벽한 기술 청사진을 제시합니다.


I. 기술 아키텍처: 계층 설계의 엔지니어링 철학


1.1 5계층 아키텍처 시스템


Bitroot는 고전적인 계층 아키텍처 패러다임을 채택하여 아래에서 위로 명확한 기능과 역할을 가진 5개의 핵심 계층을 구성합니다. 이러한 설계는 모듈 분리를 효과적으로 구현할 뿐만 아니라 시스템의 확장성과 유지 보수성을 위한 견고한 기반을 제공합니다.


전체 시스템의 초석인 스토리지 계층은 상태 데이터를 유지하는 역할을 합니다. 향상된 Merkle-Patricia Trie 구조를 사용하여 상태 트리 관리를 구현하고, 증분 업데이트와 빠른 상태 증명 생성을 지원합니다. 블록체인이 직면하는 일반적인 상태 팽창 문제를 해결하기 위해 Bitroot는 네트워크 전반에 걸쳐 대용량 데이터 샤드를 저장하고 해시 참조만 온체인에 저장하는 분산 저장 시스템을 도입했습니다. 이러한 설계는 전체 노드의 저장 공간 부담을 효과적으로 완화하여 일반 하드웨어가 네트워크 검증에 참여할 수 있도록 합니다.


네트워크 계층은 강력한 P2P 통신 인프라를 구축합니다.


노드 검색은 Kademlia 분산 해시 테이블을 사용하여 수행되고 메시지 전파는 GossipSub 프로토콜을 통해 처리되어 네트워크 전체에 효율적인 정보 전달을 보장합니다. 특히, 대규모 데이터 전송 요구 사항을 충족하기 위해 네트워크 계층은 특별히 최적화된 대용량 데이터 패킷 전송 메커니즘을 제공하여 단편화된 전송 및 중단점 재개를 지원하여 데이터 동기화 효율성을 크게 향상시킵니다. 합의 계층은 Bitroot의 성능 혁신의 핵심입니다. 파이프라인 BFT 합의 메커니즘과 BLS 서명 집계 기술을 통합하여 파이프라인 합의 프로세스를 구현합니다. 합의와 실행을 긴밀하게 결합하는 기존 블록체인과 달리, Bitroot는 완전한 분리를 실현합니다. 합의 모듈은 트랜잭션 순서를 신속하게 결정하는 데 집중하고, 실행 모듈은 백그라운드에서 트랜잭션 로직을 병렬로 처리합니다. 이러한 설계 덕분에 트랜잭션 실행이 완료될 때까지 기다리지 않고 합의가 지속적으로 진행되어 시스템 처리량이 크게 향상됩니다.프로토콜 계층은 Bitroot 기술 혁신의 정점을 보여줍니다. 완벽한 EVM 호환성을 달성하여 이더리움 생태계 내에서 스마트 컨트랙트의 원활한 마이그레이션을 보장할 뿐만 아니라, 더 중요한 것은 병렬 실행 엔진을 구현한다는 점입니다. 3단계 충돌 감지 메커니즘을 통해 기존 EVM의 단일 스레드 한계를 극복하고 멀티코어 프로세서의 컴퓨팅 잠재력을 최대한 발휘합니다. 애플리케이션 계층은 개발자에게 풍부한 툴체인과 SDK를 제공하여 블록체인 애플리케이션 개발의 진입 장벽을 낮춥니다. DeFi 프로토콜, NFT 마켓플레이스, DAO 거버넌스 시스템 등 개발자는 기본 기술 세부 사항을 깊이 파고들 필요 없이 표준화된 인터페이스를 통해 애플리케이션을 빠르게 구축할 수 있습니다.


그래프 TB

하위 그래프 "Bitroot 5계층 아키텍처"

A[애플리케이션 계층 
DeFi 프로토콜, NFT 마켓, DAO 거버넌스
툴체인, SDK] B[프로토콜 계층
EVM 호환성, 병렬 실행 엔진
3단계 충돌 감지] C[합의 계층
파이프라인 BFT
BLS 서명 집계] D[네트워크 계층
Kademlia DHT
GossipSub 프로토콜] E[스토리지 계층
Merkle Patricia Trie
분산 스토리지] end A --> B B --> C C --> D D --> E 스타일 A 채우기:#e1f5fe 스타일 B 채우기:#f3e5f5 스타일 C fill:#e8f5e8 스타일 D fill:#fff3e0 스타일 E fill:#fce4ec


1.2 설계 철학: 절충을 통한 최적의 솔루션 찾기


아키텍처 설계 과정에서 Bitroot 팀은 수많은 기술적 절충에 직면했으며, 각각의 결정은 시스템의 최종 형태에 지대한 영향을 미쳤습니다.


성능과 탈중앙화의 균형은 블록체인 설계에서 끊임없이 논의되는 주제입니다. 기존 퍼블릭 체인은 궁극적인 탈중앙화를 추구하면서 성능을 희생하는 경우가 많았습니다. 반면 고성능 컨소시엄 체인은 중앙화를 희생해야 했습니다. Bitroot는 듀얼 풀 스테이킹 모델을 통해 현명한 균형점을 찾았습니다. 검증자 풀은 합의 및 네트워크 보안을 담당하여 핵심 메커니즘의 탈중앙화를 보장하고, 컴퓨터 풀은 연산 작업 실행에 집중하여 더 나은 성능을 갖춘 노드에서 실행될 수 있도록 합니다. 두 풀 간의 동적 전환은 고성능 노드의 컴퓨팅 파워를 최대한 활용하는 동시에 시스템의 보안과 분산화를 모두 보장합니다.호환성과 혁신 간의 균형은 설계의 지혜를 시험합니다. 완전한 EVM 호환성은 이더리움 생태계와의 원활한 통합을 의미하지만, EVM 설계의 제약도 따릅니다. Bitroot는 점진적인 혁신 경로를 선택했습니다. 기존 스마트 계약의 무비용 마이그레이션을 보장하기 위해 핵심 EVM 명령어 세트와의 완전한 호환성을 유지하는 동시에, 명령어 세트를 확장하여 새로운 기능을 도입하고 향후 기술 발전을 위한 충분한 공간을 확보하는 것입니다. 이러한 설계는 생태계 마이그레이션 비용을 줄이고 기술 혁신의 문을 열어줍니다. 보안과 효율성의 균형은 병렬 실행 시나리오에서 특히 중요합니다. 병렬 실행은 성능을 크게 향상시킬 수 있지만, 상태 접근 충돌 및 경합 조건과 같은 새로운 보안 문제를 야기합니다. Bitroot는 3단계 충돌 감지 메커니즘을 사용하여 실행 전, 실행 중, 실행 후에 감지 및 검증을 수행하여 고도로 병렬화된 환경에서도 시스템의 상태 일관성과 보안을 유지합니다. 이러한 다층 보호 메커니즘을 통해 Bitroot는 보안을 희생하지 않고 최고의 성능을 추구합니다.


II. 파이프라인 BFT 합의: 직렬화 제약 극복


2.1 기존 BFT의 성능 딜레마


1982년 램포트 등이 제안한 이후, 비잔틴 장애 허용(BFT) 합의 메커니즘은 분산 시스템에서 장애 허용의 이론적 초석이 되었습니다. 그러나 보안과 일관성을 추구하는 반면, 기존 BFT 아키텍처는 세 가지 근본적인 성능 한계를 노출합니다.


직렬화가 주요 병목 현상입니다. 기존 BFT는 합의 프로세스를 시작하기 전에 각 블록이 이전 블록이 완전히 확인될 때까지 기다려야 합니다. 텐더민트를 예로 들면, 텐더민트의 합의는 제안(Propose), 사전 투표(Prevote), 사전 커밋(Precommit)의 세 단계로 구성됩니다. 각 단계는 검증자 노드의 3분의 2 이상이 투표할 때까지 기다려야 하며, 블록은 엄격하게 직렬화됩니다. 노드에 고성능 하드웨어와 충분한 네트워크 대역폭이 장착되어 있더라도 이러한 리소스를 사용하여 합의 프로세스를 가속화할 수는 없습니다.

이더리움의 PoS는 한 라운드의 확인(confirmation)을 완료하는 데 12초가 걸립니다. 솔라나는 PoH 메커니즘을 통해 블록 생성 시간을 400밀리초로 단축하지만, 최종 확인에는 여전히 2~3초가 걸립니다. 이러한 직렬 설계는 합의 효율성 향상 가능성을 근본적으로 제한합니다. 통신 복잡도는 노드 수에 따라 2차적으로 증가합니다. n개의 검증자 노드가 있는 네트워크에서 각 합의 라운드는 O(n²) 메시지 전달이 필요합니다. 즉, 각 노드는 다른 모든 노드에 메시지를 보내고 모든 노드로부터 동시에 메시지를 수신해야 합니다. 네트워크가 100개의 노드로 확장되면 단일 합의 라운드에서 거의 10,000개의 메시지를 처리해야 합니다. 더 심각한 것은 각 노드가 O(n²)개의 서명을 검증해야 하며, 검증 오버헤드는 노드 수에 따라 선형적으로 증가합니다. 대규모 네트워크에서 노드는 실제 상태 전이 계산보다는 메시지 처리 및 서명 검증에 상당한 시간을 소비합니다.낮은 리소스 사용률은 성능 최적화를 저해합니다. 최신 서버는 일반적으로 멀티 코어 CPU와 고대역폭 네트워크를 갖추고 있지만, 기존 BFT의 설계 철학은 1980년대 싱글 코어 시대에서 유래했습니다. 노드가 네트워크 메시지를 기다리는 동안 CPU는 대부분 유휴 상태입니다. 반대로, 서명 검증을 위한 집중적인 계산 중에는 네트워크 대역폭이 완전히 활용되지 않습니다. 이러한 불균형적인 리소스 사용은 전반적인 성능 저하로 이어지며, 더 나은 하드웨어를 사용하더라도 성능 향상은 매우 제한적입니다. 2.2 파이프라인: 병렬 처리의 기술 파이프라인 BFT의 핵심 혁신은 합의 프로세스를 파이프라인화하여 서로 다른 높이의 블록이 병렬로 합의에 도달할 수 있도록 하는 것입니다. 이 설계는 최신 프로세서의 명령어 파이프라인 기술에서 영감을 받았습니다. 한 명령어가 실행 단계에 있을 때 다음 명령어는 동시에 디코딩될 수 있으며, 그 다음 명령어는 페치 단계에 있습니다. 파이프라인 BFT의 기반은 4단계 병렬 메커니즘입니다. 합의 프로세스는 제안(Propose), 사전 투표(Prevote), 사전 커밋(Precommit), 커밋(Commit)의 네 가지 독립적인 단계로 나뉩니다. 핵심 혁신은 이 네 단계의 중복 실행에 있습니다.블록 N-1이 Commit 단계에 진입하면 블록 N은 동시에 Precommit을 거칩니다.블록 N이 Precommit 단계에 진입하면 블록 N+1은 동시에 Prevote를 거칩니다.블록 N+1이 Prevote 단계에 진입하면 블록 N+2는 Propose를 시작할 수 있습니다.이러한 설계를 통해 합의 프로세스는 조립 라인처럼 지속적으로 작동하여 언제든지 여러 블록이 다른 단계에서 병렬로 처리됩니다.Propose 단계에서 리더 노드는 거래 목록, 블록 해시 및 이전 블록에 대한 참조를 포함하여 새 블록을 제안합니다.공정성을 보장하고 단일 실패 지점을 방지하기 위해 리더는 검증 가능한 난수 함수(VRF)를 통해 선출됩니다.VRF의 난수는 이전 블록의 해시 값을 기반으로 하므로 아무도 리더 선출 결과를 예측하거나 조작할 수 없습니다.Prevote 단계는 검증 노드가 제안된 블록을 처음 수락했는지 확인합니다. 제안을 수신한 노드는 블록의 적법성, 즉 트랜잭션 서명이 유효한지, 상태 전이가 올바른지, 블록 해시가 일치하는지 여부를 검증합니다. 검증이 성공하면 노드는 블록 해시와 자체 서명이 포함된 사전 투표 메시지를 브로드캐스트합니다. 이 단계는 본질적으로 네트워크 내 충분한 노드가 블록을 지지하는지 확인하기 위한 투표입니다. 사전 커밋 단계는 더 강력한 커밋 의미론을 도입합니다. 노드가 사전 투표의 3분의 2 이상을 수집하면 네트워크 내 노드 과반수가 블록을 지지한다고 확신하고 사전 커밋 메시지를 브로드캐스트합니다. 사전 커밋은 커밋을 의미합니다. 노드가 사전 커밋을 전송하면 같은 높이의 다른 블록에 투표할 수 없습니다. 이러한 단방향 커밋 메커니즘은 이중 투표 공격을 방지하고 합의의 보안을 보장합니다.커밋 단계는 최종 확인 단계입니다. 노드가 사전 커밋의 3분의 2 이상을 수집하면 블록이 네트워크 합의를 달성하여 공식적으로 로컬 상태로 커밋되었음을 확신하게 됩니다. 이 시점에서 블록은 최종 확인 단계에 도달했으며 롤백할 수 없습니다. 네트워크 분할이나 노드 장애가 발생하더라도 커밋된 블록은 취소될 수 없습니다.


 그래프 TB

제목 파이프라인 BFT 병렬 메커니즘

날짜 형식 X

축 형식 %s

섹션 블록 N-1 제안 :done, prop1, 0, 1

사전 투표 :done, prev1, 1, 2

사전 커밋 :done, prec1, 2, 3

커밋 :done, comm1, 3, 4

섹션 블록 N

제안 :done, prop2, 1, 2

사전 투표 :done, prev2, 2, 3

사전 커밋 :done, prec2, 3, 4

커밋 :active, comm2, 4, 5

섹션 블록 N+1

제안 :done, prop3, 2, 3

사전 투표 :done, prev3, 3, 4

사전 커밋 :active, prec3, 4, 5

커밋: comm3, 5, 6

섹션 블록 N+2

제안: 완료, prop4, 3, 4

사전 투표: 활성, prev4, 4, 5

사전 커밋: prec4, 5, 6

커밋: comm4, 6, 7


상태 머신 복제 프로토콜은 분산 시스템에서 일관성을 보장합니다. 각 검증자 노드는 현재 처리 높이, 라운드, 현재 단계를 포함한 합의 상태를 독립적으로 유지합니다. 노드는 메시지 교환을 통해 상태를 동기화합니다. 더 높은 높이의 메시지가 수신되면 노드는 자신이 뒤처져 있음을 인지하고 처리 속도를 높여야 합니다. 동일한 높이이지만 다른 라운드에서 수신된 메시지가 수신되면 노드는 새로운 라운드에 진입할지 여부를 결정합니다.


상태 전환 규칙은 시스템의 보안과 활성 상태를 보장하기 위해 신중하게 설계되었습니다. 노드가 높이 H에서 유효한 제안을 수신하면 사전 투표 단계로 진행합니다. 충분한 사전 투표를 수집한 후 사전 커밋 단계로 진행합니다. 충분한 사전 커밋을 수집한 후 블록을 커밋하고 높이 H+1로 진행합니다. 단계 전환이 제한 시간 내에 완료되지 않으면 노드는 라운드를 늘리고 다시 시작합니다. 이 제한 시간 메커니즘은 비정상적인 상황에서 시스템이 영구적으로 중단되는 것을 방지합니다.


지능형 메시지 스케줄링은 메시지 처리의 정확성을 보장합니다. 파이프라인 BFT는 높이 기반 우선순위 메시지 큐(HMPT)를 구현하여 메시지의 블록 높이, 라운드 및 단계를 기반으로 우선순위를 계산합니다. 더 높은 높이의 메시지는 더 높은 우선순위를 가지므로 합의가 지속적으로 진행될 수 있습니다. 동일한 높이 내에서 라운드와 단계는 우선순위에도 영향을 미쳐 오래된 메시지가 현재 합의를 방해하지 않도록 합니다.


메시지 처리 전략 또한 신중하게 설계되었습니다. 미래의 메시지(현재 높이보다 높음)는 노드의 진행 상황을 따라잡기 위해 대기열에 캐시됩니다. 현재 높이의 메시지는 합의를 주도하기 위해 즉시 처리됩니다. 심각하게 오래된 메시지(현재 높이보다 높음)는 메모리 누수 및 잘못된 계산을 방지하기 위해 삭제됩니다. 2.3 BLS 서명 집계: 암호화 혁신 기존 ECDSA 서명 체계에서 n개의 서명을 검증하려면 O(n)의 시간 복잡도와 저장 공간이 필요합니다. 100개의 검증 노드가 있는 네트워크에서 각 합의는 100개의 서명을 검증해야 하며 서명 데이터는 약 6.4KB를 차지합니다. 네트워크가 확장됨에 따라 서명 검증 및 전송은 심각한 성능 병목 현상이 됩니다. BLS 서명 집계 기술은 암호화 수준에서 혁신을 가져옵니다. BLS12-381 타원 곡선을 기반으로 Bitroot는 진정한 O(1) 서명 검증을 달성합니다. 즉, 검증 노드 수에 관계없이 집계된 서명 크기는 96바이트로 일정하게 유지되므로 검증을 위해 한 번의 페어링 작업만 필요합니다. BLS12-381 곡선은 128비트 보안 수준을 제공하여 장기적인 보안 요구 사항을 충족합니다. 이 곡선은 G1과 G2라는 두 그룹과 대상 그룹 GT를 정의합니다. G1은 각 요소가 48바이트를 차지하는 공개 키를 저장하고, G2는 각 요소가 96바이트를 차지하는 서명을 저장합니다. 이러한 비대칭 설계는 검증 성능을 최적화합니다. 페어링 작업에서 G1 요소의 계산 비용이 더 낮으며, 공개 키를 G1에 배치함으로써 이러한 특성을 활용할 수 있습니다. 서명 집계의 수학적 원리는 페어링 함수의 쌍선형 성질에 기반합니다. 각 검증 노드는 자신의 개인 키를 사용하여 메시지에 서명하고 G2 그룹에 서명 지점을 생성합니다. 여러 서명을 수집한 후 그룹 연산을 통해 이를 합산하여 집계된 서명을 얻습니다. 집계된 서명은 G2 그룹에서 여전히 유효한 지점이며, 일정한 크기를 유지합니다. 검증 과정에서는 집계된 서명과 집계된 공개 키가 페어링 방정식을 충족하는지 확인하기 위해 한 번의 페어링 연산만 필요합니다. 이는 모든 원본 서명의 유효성을 검증하기에 충분합니다.임계값 서명 방식은 시스템의 보안과 내결함성을 더욱 강화합니다. 샤미르 비밀 공유를 사용하면 개인 키는 n개의 공유로 나뉘며, 원본 개인 키를 재구성하려면 최소 t개의 공유가 필요합니다. 즉, t-1개의 노드가 손상되더라도 공격자는 완전한 개인 키를 얻을 수 없습니다. 동시에 t개의 정직한 노드가 온라인 상태인 한 시스템은 정상적으로 작동할 수 있습니다. 비밀 공유 구현은 다항식 보간법을 기반으로 합니다. 개인 키를 상수항으로 하고 다른 계수는 무작위로 선택된 t-1차 다항식을 생성합니다. 각 참여자는 특정 지점에서 다항식의 값을 공유로 받습니다. 모든 t개의 공유는 라그랑주 보간법을 사용하여 원본 다항식을 재구성하여 개인 키를 얻을 수 있습니다. t개 미만의 공유는 개인 키에 대한 정보를 얻을 수 없습니다. 합의 과정에서 검증 노드는 자신의 공유를 사용하여 메시지에 서명하고 서명 공유를 생성합니다. t개의 서명 공유를 수집한 후, 라그랑주 보간 계수를 사용하여 가중치를 부여하고 집계하여 완전한 서명을 얻습니다. 이 방식은 보안을 보장하는 동시에 O(1) 검증 복잡도를 달성합니다. 검증자는 각 공유 서명을 개별적으로 검증할 필요 없이 집계된 단일 서명만 검증하면 됩니다. 2.4 합의와 실행의 분리: 분리의 힘 기존 블록체인은 합의와 실행을 긴밀하게 결합시켜 상호 제약 조건을 야기합니다. 합의는 실행이 완료될 때까지 기다려야 진행될 수 있지만, 실행은 합의의 직렬화 요구 사항에 의해 제한됩니다. Bitroot는 합의와 실행을 분리하여 이러한 병목 현상을 해결합니다. 비동기 처리 아키텍처는 이러한 분리의 기반입니다. 합의 모듈은 트랜잭션 순서를 결정하고 신속하게 합의에 도달하는 데 중점을 둡니다. 실행 모듈은 백그라운드에서 트랜잭션 로직을 병렬로 처리하여 상태 전환을 수행합니다. 두 모듈은 메시지 큐를 통해 비동기 방식으로 통신합니다. 합의 결과는 큐를 통해 실행 모듈로 전달되고, 실행 결과는 큐를 통해 합의 모듈로 다시 피드백됩니다. 이러한 분리 설계는 실행 완료를 기다리지 않고도 합의를 계속 진행할 수 있도록 합니다. 리소스 분리는 성능을 더욱 최적화합니다. 합의 모듈과 실행 모듈은 리소스 경합을 방지하기 위해 독립적인 리소스 풀을 사용합니다. 합의 모듈은 고속 네트워크 인터페이스와 전용 CPU 코어를 탑재하여 네트워크 통신 및 메시지 처리에 중점을 둡니다. 실행 모듈은 대용량 메모리와 멀티코어 프로세서를 탑재하여 연산 집약적인 상태 전환에 중점을 둡니다. 이러한 특화 덕분에 각 모듈은 하드웨어 성능을 최대한 활용할 수 있습니다. 일괄 처리 메커니즘은 파이프라인의 효과를 증폭시킵니다. 리더 노드는 전체 합의를 위해 여러 블록 제안을 일괄 처리로 패키징합니다. 일괄 처리를 통해 k 블록의 합의 오버헤드가 분산되어 블록당 평균 확인 지연 시간이 크게 단축됩니다. 동시에 BLS 서명 집계 기술은 일괄 처리와 완벽하게 호환됩니다. 일괄 처리의 블록 수에 관계없이 집계된 서명 크기는 일정하며 검증 시간은 거의 일정합니다.


2.5 성능: 이론에서 실제로의 도약


표준화된 테스트 환경(AWS c5.2xlarge 인스턴스)에서 Pipeline BFT는 뛰어난 성능을 보여주었습니다.


지연 성능: 5노드 네트워크의 평균 지연 시간은 300밀리초였고, 21개 노드에서는 400밀리초로만 증가했습니다. 지연 시간은 노드 수에 따라 천천히 증가하여 좋은 확장성을 검증했습니다.


처리량 성능: 최종 테스트 결과는 25,600 TPS에 도달하여 파이프라인 BFT 및 상태 샤딩 기술을 통해 고성능 혁신을 달성했습니다.


성능 향상: 기존 BFT와 비교하여 지연 시간은 60%(1초 → 400밀리초) 감소했고, 처리량은 8배(3,200 → 25,600 TPS) 증가했으며, 통신 복잡도는 O(n²)에서 O(n²/D)로 최적화되었습니다.



III. EVM의 낙관적 병렬화: 멀티코어 컴퓨팅 파워의 잠재력 발휘


3.1 EVM 직렬화의 역사적 부담


이더리움 가상 머신(EVM)은 초기 설계에서 시스템 구현을 단순화하기 위해 글로벌 상태 트리 모델을 채택했습니다. 모든 계정 및 계약 상태는 단일 상태 트리에 저장되며 모든 트랜잭션은 엄격하게 직렬로 실행되어야 합니다. 이러한 설계는 비교적 단순한 블록체인 애플리케이션 초기에는 허용 가능했지만, DeFi 및 NFT와 같은 복잡한 애플리케이션이 등장하면서 직렬 실행은 성능 병목 현상이 되었습니다.


상태 접근 충돌은 직렬화의 근본 원인입니다. 두 트랜잭션이 완전히 관련이 없더라도(앨리스가 밥에게 자금을 이체하고, 찰리가 데이비드에게 자금을 이체하는 경우) 여전히 직렬로 처리해야 합니다. EVM은 트랜잭션이 어떤 상태에 접근할지 미리 결정할 수 없기 때문에 모든 트랜잭션이 충돌할 수 있다고 보수적으로 가정할 수밖에 없으며, 이로 인해 직렬 실행이 강제됩니다. 동적 종속성은 문제의 복잡성을 심화시킵니다.


스마트 계약은 입력 매개변수를 기반으로 액세스할 주소를 동적으로 계산할 수 있으며, 컴파일 시점에 종속성을 결정할 수 없습니다. 예를 들어, 프록시 계약은 사용자 입력에 따라 다른 대상 계약을 호출할 수 있으며, 실행 전에는 상태 액세스 패턴을 완전히 예측할 수 없습니다. 이로 인해 정적 분석이 사실상 불가능해져 안전한 병렬 실행이 어려워집니다. 롤백의 높은 비용 때문에 낙관적 병렬 처리가 어려워집니다. 낙관적 병렬 실행 시도 후 충돌이 발견되면 영향을 받는 모든 트랜잭션을 롤백해야 합니다. 최악의 경우, 전체 배치를 다시 실행해야 하므로 컴퓨팅 리소스가 낭비되고 사용자 경험에 심각한 영향을 미칩니다. 안전성을 보장하면서 롤백의 범위와 빈도를 최소화하는 것은 EVM 병렬화의 핵심 과제입니다.

3.2 3단계 충돌 감지: 보안과 효율성의 균형 유지


Bitroot는 3단계 충돌 감지 메커니즘을 통해 병렬 실행의 효율성을 극대화하는 동시에 보안을 보장합니다. 이 세 단계는 각각 실행 전, 실행 중, 실행 후에 감지 및 검증을 수행하여 다층 보안 네트워크를 구축합니다.


1단계: 실행 전 검사 정적 분석을 통해 충돌 발생 가능성을 줄입니다. 종속성 분석기는 트랜잭션 바이트코드를 분석하여 잠재적으로 접근 가능한 상태를 식별합니다. 표준 ERC-20 전송의 경우, 송신자와 수신자의 잔액에 접근하는 사용자를 정확하게 식별할 수 있으며, 복잡한 DeFi 계약의 경우 최소한 주요 상태 접근 패턴을 식별할 수 있습니다.


개선된 카운팅 블룸 필터(CBF)는 빠른 검사 메커니즘을 제공합니다. 기존 블룸 필터는 요소 추가만 지원하고 삭제는 지원하지 않습니다. Bitroot의 CBF(Counting Bloom Filter)는 각 위치에 대한 카운터를 유지하여 요소의 동적 추가 및 삭제를 지원합니다.


개선된 CBF(Counting Bloom Filter)는 빠른 스크리닝 메커니즘을 제공합니다. 기존 블룸 필터는 요소 추가만 지원하고 삭제는 지원하지 않습니다. Bitroot의 CBF는 각 위치에 대한 카운터를 유지하여 요소의 동적 추가 및 삭제를 지원합니다.


CBF는 128KB의 메모리만 사용하고 4개의 독립적인 해시 함수를 사용하며, 오탐률을 0.1% 미만으로 유지합니다. CBF를 통해 시스템은 두 트랜잭션의 상태 접근 충돌 여부를 신속하게 파악할 수 있습니다. 지능형 그룹화 전략은 트랜잭션을 병렬로 실행할 수 있는 배치로 구성합니다. 시스템은 트랜잭션을 그래프의 노드로 모델링하고, 잠재적 충돌이 있는 두 트랜잭션을 간선을 통해 연결합니다. 탐욕적 색상 지정 알고리즘을 사용하여 그래프를 색칠하여 동일한 색상의 트랜잭션을 안전하게 병렬로 실행할 수 있도록 합니다. 이 방법은 정확성을 보장하는 동시에 병렬성을 극대화합니다. 두 번째 단계: 실행 중 모니터링은 트랜잭션 실행 중에 동적 감지를 수행합니다. 트랜잭션이 실행 전 검사를 통과하더라도 실제 실행 중에는 예측 범위를 벗어난 상태에 접근할 수 있으므로 런타임 충돌 감지가 필요합니다. 세분화된 읽기-쓰기 잠금은 동시성 제어를 제공합니다. Bitroot는 거친 계약 수준 잠금 대신 주소 및 슬롯 기반 잠금을 구현합니다. 읽기 잠금은 여러 스레드가 동시에 보유할 수 있으므로 동시 읽기가 가능합니다. 쓰기 잠금은 단일 스레드만 보유할 수 있으며 모든 읽기 잠금을 제외합니다. 이러한 세분화된 잠금 메커니즘은 보안을 보장하는 동시에 병렬성을 극대화합니다. 버전 관리 상태 관리는 낙관적 동시성 제어를 구현합니다. 각 상태 변수에 대한 버전 번호가 유지되며, 읽기 상태의 버전은 트랜잭션 실행 중에 기록됩니다. 실행 후 모든 읽기 상태의 버전이 동일한지 확인합니다. 버전 번호가 변경된 경우 읽기-쓰기 충돌을 나타내므로 롤백 및 재시도가 필요합니다. 이 메커니즘은 데이터베이스의 다중 버전 동시성 제어(MVCC)를 차용했으며 블록체인 시나리오에서도 동일하게 효과적입니다. 동적 충돌 처리는 세분화된 롤백 전략을 사용합니다. 충돌이 감지되면 전체 배치가 아닌 직접적으로 충돌하는 트랜잭션만 롤백됩니다. 시스템은 정밀한 종속성 분석을 통해 롤백된 트랜잭션에 종속된 트랜잭션을 식별하여 롤백 범위를 최소화합니다. 롤백된 트랜잭션은 실행 대기열에 다시 추가되어 다음 배치에서 실행됩니다.


3단계: 실행 후 검증을 통해 최종 상태 일관성 보장. 모든 트랜잭션이 실행된 후, 시스템은 전역 일관성 검사를 수행합니다. 상태 변경의 머클 트리 루트 해시를 계산하고 이를 예상 상태 루트와 비교하여 상태 전환의 정확성을 보장합니다. 동시에 모든 상태 변경의 버전 일관성을 검증하여 버전 충돌이 발생하지 않도록 합니다.


상태 병합은 원자성을 보장하기 위해 2단계 커밋 프로토콜을 사용합니다. 준비 단계에서는 모든 실행 엔진이 실행 결과를 보고하지만 커밋하지는 않습니다. 커밋 단계에서는 코디네이터가 모든 결과의 일관성을 확인한 후 전역적으로 커밋합니다. 실행 엔진 중 하나라도 실패를 보고하면 코디네이터는 상태 일관성을 보장하기 위해 전역 롤백을 실행합니다. 이 메커니즘은 분산 트랜잭션의 고전적인 설계를 차용하여 시스템 안정성을 보장합니다.



 lowchart TD

A[트랜잭션 배치 입력] -->

B[1단계: 실행 전 검사] B -->

C{정적 분석 
CBF 충돌 감지} C -->|충돌 없음| D[지능형 그룹화
탐욕적 색상 알고리즘] C -->|충돌 가능성| E[보수적 그룹화
직렬 실행] D --> F[2단계: 실행 중 모니터링] E --> F F --> G[세분화된 읽기-쓰기 잠금
버전 관리 상태 관리] G --> H{충돌 감지 여부} 로우차트 TD A[트랜잭션 배치 입력] --> B[1단계: 실행 전 스크리닝] B --> C{정적 분석
CBF 충돌 감지} C -->|충돌 없음| D [지능형 그룹화
탐욕적 색상 알고리즘] C -->|충돌 가능성| E [보수적 그룹화
직렬 실행] D --> F [2단계: 실행 중 모니터링] E --> F F --> G [세분화된 읽기-쓰기 잠금
버전 기반 상태 관리] G --> H{충돌 감지?}

3.3 스케줄링 최적화: 모든 코어를 바쁘게 유지하기


병렬 실행의 효율성은 병렬 처리 수준뿐만 아니라 부하 분산 및 리소스 활용도에도 영향을 받습니다. Bitroot는 각 CPU 코어의 효율적인 작동을 보장하기 위해 여러 스케줄링 최적화 기법을 구현합니다. 작업 훔치기 알고리즘은 부하 불균형 문제를 해결합니다. 각 작업자 스레드는 자체적인 양방향 큐를 유지하며 큐의 맨 앞에서 작업을 가져와 실행합니다. 스레드의 큐가 비어 있으면, 스레드는 임의로 사용 중인 스레드를 선택하여 큐의 맨 뒤에서 작업을 "훔칩니다". 이 메커니즘은 동적 부하 분산을 달성하여 일부 스레드는 유휴 상태이고 다른 스레드는 사용 중인 상황을 방지합니다. 테스트 결과 작업 훔치기는 CPU 사용률을 68%에서 90%로 증가시키고 전체 처리량을 약 22% 증가시키는 것으로 나타났습니다. NUMA 인식 스케줄링은 메모리 액세스 패턴을 최적화합니다. 최신 서버는 NUMA(Non-Unified Memory Access) 아키텍처를 사용하는데, 이 아키텍처에서는 NUMA 노드 간 메모리 액세스 지연 시간이 로컬 액세스보다 2~3배 더 높습니다. Bitroot의 스케줄러는 시스템의 NUMA 토폴로지를 감지하고, 작업자 스레드를 특정 NUMA 노드에 연결하며, 로컬 메모리에 액세스하는 작업의 우선순위를 지정합니다. 동시에 계정 주소의 해시 값을 기반으로 상태가 여러 NUMA 노드로 분할되고, 특정 계정에 액세스하는 트랜잭션은 해당 노드에서 실행되도록 우선순위가 지정됩니다. NUMA 인식 스케줄링은 메모리 액세스 지연 시간을 35% 줄이고 처리량을 18% 증가시킵니다. 동적 병렬 처리 조정은 다양한 워크로드에 맞춰 조정됩니다. 높은 병렬 처리가 항상 좋은 것은 아닙니다. 과도한 병렬 처리는 잠금 경합을 증가시켜 실제로 성능을 저하시킬 수 있습니다. Bitroot는 CPU 사용률, 메모리 대역폭 사용률, 잠금 경합 빈도와 같은 지표를 실시간으로 모니터링하여 병렬로 실행되는 스레드 수를 동적으로 조정합니다. CPU 사용률이 낮고 잠금 경합이 심하지 않으면 병렬 처리가 증가하고, 잠금 경합이 빈번하면 경합을 줄이기 위해 병렬 처리가 감소합니다. 이러한 적응형 메커니즘을 통해 시스템은 다양한 워크로드에서 자동으로 성능을 최적화할 수 있습니다. 3.4 성능 혁신: 이론에서 실제까지 검증 표준화된 테스트 환경에서 EVM의 낙관적 병렬화는 상당한 성능 향상을 보여줍니다. 간단한 전송 시나리오: 16스레드 구성에서 TPS가 1,200에서 8,700으로 증가하여 7.25배 속도 향상을 달성했으며 충돌률은 1% 미만이었습니다. 복잡한 계약 시나리오: 충돌률이 5-10%인 DeFi 계약에서 16스레드가 여전히 5,800TPS를 달성했으며, 직렬 800TPS에 비해 7.25배 향상되었습니다. AI 컴퓨팅 시나리오: 충돌률이 0.1% 미만인 경우 16스레드가 600TPS에서 7,200TPS로 급증하여 12배 속도 향상을 달성했습니다.


지연 시간 분석: 평균 엔드 투 엔드 지연 시간은 1.2초이며, 병렬 실행에 600밀리초(50%), 상태 병합에 200밀리초(16.7%), 네트워크 전파에 250밀리초(20.8%)가 소요됩니다.


IV. 상태 샤딩: 수평 확장을 위한 최고의 솔루션


4.1 상태 샤딩 아키텍처 설계


상태 샤딩은 Bitroot가 수평 확장을 달성하기 위한 핵심 기술입니다. 블록체인 상태를 여러 샤드로 나눔으로써 병렬 처리 및 저장이 가능합니다.


샤딩 전략: Bitroot는 계정 주소 해시 기반 샤딩 전략을 채택하여 계정 상태를 여러 샤드에 분산합니다. 각 샤드는 독립적인 상태 트리를 유지하며, 샤드 간의 상호 작용은 샤드 간 통신 프로토콜을 통해 이루어집니다.


샤드 조정: 샤드 코디네이터는 샤드 간의 트랜잭션 라우팅 및 상태 동기화를 관리하는 데 사용됩니다.


샤드 조정: 샤드 코디네이터는 샤드 간의 트랜잭션 라우팅 및 상태 동기화를 관리합니다.


샤드 조정:


5.2 확장성 테스트 결과


최종 테스트 결과: 25,600 TPS, 1.2초 지연 시간, 85% 리소스 활용도로 파이프라인 BFT와 상태 샤딩 기술의 효과를 검증했습니다.


성능 비교: 500 TPS의 동일한 규모에서 기존 BFT와 비교했을 때 Bitroot는 51배의 성능 향상을 달성하여 기술 혁신이 가져온 상당한 이점을 보여주었습니다.


VI. 애플리케이션 시나리오 및 기술 전망


6.1 핵심 애플리케이션 시나리오


DeFi 프로토콜 최적화: 병렬 실행 및 빠른 확인을 통해 고빈도 거래 및 차익거래 전략을 지원하고, 가스비를 90% 이상 절감하여 DeFi 생태계의 번영하는 발전을 촉진합니다.


DeFi 프로토콜 최적화: 병렬 실행 및 빠른 확인을 통해 고빈도 거래 및 차익거래 전략을 지원하고, 가스비를 90% 이상 절감하여 DeFi 생태계의 번영하는 발전을 촉진합니다.


NFT 마켓 및 게임: 높은 처리량으로 대규모 NFT 일괄 채굴을 지원하고, 저지연성 확인으로 기존 게임과 유사한 사용자 경험을 제공하여 NFT 자산 유동성을 증진합니다. 엔터프라이즈 애플리케이션: 투명한 공급망 관리, 디지털 신원 인증, 데이터 소유권 확인 및 거래는 엔터프라이즈 디지털 혁신을 위한 블록체인 인프라를 제공합니다. 6.2 기술적 과제 및 발전 현재 과제: 상태 팽창으로 인해 저장 메커니즘의 지속적인 최적화가 필요함; 샤드 간 통신 복잡성으로 인해 추가적인 개선이 필요함; 병렬 실행 환경의 보안으로 인해 지속적인 감사가 필요함. 미래 방향: 머신러닝을 통해 시스템 매개변수를 최적화함; 하드웨어 가속을 통해 TPU 및 FPGA와 같은 전용 칩을 통합함; 크로스 체인 상호운용성을 통해 통합된 서비스 생태계를 구축함. 6.3 기술적 가치 요약 핵심 혁신: 파이프라인 BFT는 기존 BFT보다 30배 빠른 400ms 확인 속도 달성; EVM의 낙관적 병렬화를 통해 7.25배 성능 향상; 상태 샤딩을 통해 선형 확장 지원. 실용적 가치: 완벽한 EVM 호환성을 통해 무비용 마이그레이션 보장; 벤치마크 테스트를 통해 25,600 TPS 처리량 및 90% 비용 절감 검증; 완전한 고성능 블록체인 생태계 구축. 표준 기여: 업계 기술 표준 확립 촉진; 오픈소스 기술 생태계 구축; 이론 연구를 엔지니어링 실무로 전환하여 고성능 블록체인의 대규모 적용을 위한 실현 가능한 경로 제공. 결론: 고성능 블록체인의 새로운 시대를 열다 Bitroot의 성공은 기술 혁신뿐만 아니라 혁신을 실용적인 엔지니어링 솔루션으로 전환한 데 있습니다. 파이프라인 BFT, 낙관적 병렬화 EVM, 상태 샤딩이라는 세 가지 주요 기술 혁신을 통해 Bitroot는 고성능 블록체인 시스템을 위한 완벽한 기술 청사진을 제공합니다.


이 기술 솔루션은 성능과 탈중앙화의 균형, 호환성과 혁신의 통합, 그리고 보안과 효율성의 조화를 이룹니다. 이러한 기술적 절충안의 지혜는 시스템 설계뿐만 아니라 엔지니어링 실무의 모든 세부 사항에도 반영됩니다.


더욱 중요한 것은 Bitroot가 블록체인 기술 대중화를 위한 기술적 기반을 제공한다는 것입니다. 고성능 블록체인 인프라를 통해 누구나 복잡한 탈중앙화 애플리케이션을 구축하고 블록체인 기술이 가져오는 가치를 누릴 수 있습니다. 이 대중화된 블록체인 생태계는 기술적 실험에서 대규모 애플리케이션으로 블록체인 기술을 확장하여 전 세계 사용자에게 더욱 효율적이고 안전하며 신뢰할 수 있는 블록체인 서비스를 제공할 것입니다.


블록체인 기술의 급속한 발전과 애플리케이션 시나리오의 지속적인 확장 속에서 Bitroot의 기술 솔루션은 고성능 블록체인 개발을 위한 중요한 기술 참고 자료와 실질적인 지침을 제공할 것입니다. 가까운 미래에 고성능 블록체인이 디지털 경제의 중요한 인프라가 되어 인간 사회의 디지털 전환에 강력한 기술 지원을 제공할 것이라고 믿을 만한 이유가 있습니다.


이 기사는 제출된 글이며 BlockBeats의 견해를 대변하지 않습니다.


BlockBeats 공식 커뮤니티에 참여하세요:

Telegram 구독 그룹:https://t.me/theblockbeats

Telegram 토론 그룹:https://t.me/BlockBeats_App

Twitter 공식 계정:https://twitter.com/BlockBeatsAsia

举报 오류 신고/제보
문고 선택
새 문고 추가
취소
완료
새 문고 추가
자신만 보기
공개
저장
오류 신고/제보
제출