How Monad Works: A Deep Dive into Its Innovative Architecture
2025-02-19
모나드는 탈중앙화를 손상시키지 않으면서 높은 성능을 제공하도록 설계된 최첨단 블록체인 플랫폼입니다. 원활한 재배치를 지원하도록 설계되었습니다.EVM-equivalent bytecode 및 Cancun 분기와 같은 고급 기능을 갖추어 이더리움의 opcode 및 gas 매핑 표준과 완벽하게 호환됩니다. 500ms의 블록 시간과 1초 이내의 최종성을 달성하는 Monad의 설계는 효율성, 확장성, 전 세계적으로 분산된 검증자 네트워크에 중점을 두고 있습니다.
더 읽기: 모나드 에어드랍이란 무엇인가요?
핵심 요점:
- EVM 호환성 및 빠른 최종성:Monad은 EVM 바이트코드 재배치와 이더리움 표준 옵코드를 지원하며, 블록을 500ms마다 전달하고 1초 이내에 최종화합니다.
- 혁신적인 합의 및 실행:그것의 MonadBFT 합의 메커니즘, 비동기 실행 및 낙관적 병렬 실행 모델은 적당한 하드웨어로 높은 처리량을 가능하게 합니다.
- 효율적인 데이터 전송 및 상태 관리:RaptorCast 프로토콜과 MonadDb는 네트워크 대역폭과 상태 접근을 최적화하여, 신속한 데이터 복구와 저장 오버헤드를 감소시킵니다.
네트워크 매개 변수 및 요약
모나드Ethereum과 여러 측면에서 유사한 아키텍처—예를 들어, opcode-to-gas 매핑과 RPC 적합성—로 운영되지만, 여러 향상된 기능을 추가로 제공합니다. 이 네트워크는 EVM 바이트코드를 재컴파일 없이 재배포할 수 있도록 지원하며, Cancun 포크 향상 기능(TSTORE, TLOAD, MCOPY)을 제공하고 테스트넷에서 높은 블록 가스 한도를 유지합니다. 블록은 매 500ms마다 생성되며, 블록 N+2에서 확정성이 확인되는 시스템으로, 대략 55개의 전 세계적으로 분산된 초기 검증자 세트에서 더 많은 풀로 규모가 확장됨에 따라 고도의 트랜잭션 볼륨을 처리할 수 있도록 설계되었습니다.
절약 및 분산화
Monad의 중심에는 접근 가능하고 분산화된 상태로 효율적인 알고리즘을 통해 높은 성능을 달성하는 목표가 있습니다. 이 플랫폼은 비교적 소박한 하드웨어 요구 사항을 가진 노드에서 실행되도록 최적화되어 있습니다. 예를 들어, 32GB RAM, 듀얼 2TB SSD, 100 Mbps 대역폭, 16코어 4.5 GHz 프로세서를 갖춘 기계를 약 $1500에 조립할 수 있습니다. 이러한 접근 방식은 고성능 컴퓨팅이 선택된 몇몇에게만 제한되지 않고, 다양하고 글로벌한 검증자 세트에 걸쳐 분산됨을 보장합니다.
노드 아키텍처
모든 Monad 노드는 세 가지 주요 구성 요소로 구성되어 있습니다:
- monad-bft:합의 프로세스를 처리합니다.
- 모나드-실행:트랜잭션 실행 및 상태 전환을 관리합니다.
- monad-rpc:사용자 읽기/쓰기 작업을 처리합니다.
검증자는 100명에서 200명 사이로, 합의에 적극적으로 참여하고, 투표권이 없는 전체 노드는 네트워크 트래픽을 모니터링하고 모든 거래를 실행하여 전체 상태 복제를 유지합니다.
합의 메커니즘: MonadBFT
MonadBFT는 플랫폼의 합의 과정의 중추 역할을 합니다. 선형 통신 복잡성을 특징으로 하며, 검증자 수가 증가하더라도 효율적으로 확장됩니다. 이상적인 "해피 패스" 시나리오에서는 리더가 모든 노드에 블록 제안을 방송하고, 이에 따라 노드들이 다음 리더에게 증명서를 보냅니다. 이러한 증명서는 BLS 서명을 사용하여 Quorum Certificate(QC)로 집계되며, 이는 빠르고 신뢰할 수 있는 블록 확정을 보장하는 효율적인 "팬 아웃, 팬 인" 접근 방식을 가능하게 합니다.
RaptorCast: 효율적인 블록 전파
높은 트랜잭션 처리량에 의해 생성되는 막대한 데이터 양을 관리하기 위해, Monad는 RaptorCast 프로토콜을 활용합니다. 이 혁신적인 시스템은 소멸 코딩을 사용하여 큰 블록을 작은 청크로 분할합니다. 각 청크는 두 단계의 브로드캐스트 트리를 통해 전송되며, 처음에는 하나의 검증자에게 수신되고 그 후 다른 검증자들에게 전파됩니다. 이렇게 함으로써 리더의 업로드 용량이 제한적이더라도 모든 검증자가 원래의 블록을 효율적으로 재구성할 수 있게 됩니다.
거래 수명 주기
몬네드의 거래는 잘 정의된 프로세스를 따릅니다:
- 제출:사용자는 트랜잭션을 RPC 노드에 보냅니다.
- 전파:RPC 노드는 보류 중인 거래를 다음 세 명의 예정된 리더에게 전달합니다.
- 포함:리더는 트랜잭션을 자신들의 메모리 풀에 추가하고, 가스 단위당 수수료와 같은 기준에 따라 이를 블록 제안에 포함시킵니다.
- 마무리:네트워크에서 블록이 제안되고 검증되면, 합의에 도달하고 MonadBFT 프로세스를 통해 블록이 최종화됩니다.
이 타겟팅된 포워딩 전략은 네트워크 혼잡을 최소화하면서도 적시에 거래 처리를 보장합니다.
리더 선출 및 에포크
각 에포크 동안—약 하루 동안 지속—리더는 검증자의 지분 가중치에 기반한 결정론적 의사 난수 함수에 의해 선택됩니다. 초기에는 리더 역할이 테스트넷에서 허가된 형식이지만, 곧 지분 매커니즘이 완전한 탈중앙화된 리더 선출 과정을 가능하게 할 것입니다. 검증자 지분 가중치는 에포크가 시작되기 한 번 미리 고정되어서 리더 일정에서 공정성과 예측 가능성을 보장합니다.
비동기 실행
Monad은 비동기 실행을 활용하여 합의와 실행을 분리합니다. 이 모델에서는 거래를 실행하기 전에 합의가 이루어져 이 프로세스를 "파이프라인"으로 처리할 수 있습니다. 검증인들은 거래의 유효성(서명, 넌스, 데이터 비용)을 확인하지만 블록 확정 후 전체 실행을 지연시킵니다. 이러한 분리는 상당한 실행 시간을 절약하여 전체 처리량을 향상시킵니다.
상태 검증을 위한 지연된 머클 루트
비동기 실행으로 인해 Monad의 블록 제안은 상태 트리의 머클 루트를 즉시 포함하지 않습니다. 대신 몇 블록 전(현재 세 블록의 지연으로 설정됨)의 지연된 머클 루트가 포함됩니다. 이 메커니즘은 안전망을 제공하며, 계산 오류로 인한 불일치가 발생할 경우, 노드는 사전에 정해진 지연 후에 로컬 상태와 비교하여 이를 감지할 수 있습니다.
투기적 실행
성능을 더욱 최적화하기 위해 노드는 추측 실행에 참여합니다. 비록 공식적으로 실행되는 블록은 두 블록 전에 확정된 블록뿐이지만, 노드는 더 새로운 블록에서 보류 중인 트랜잭션을 사전 실행합니다. 이러한 추측적인 접근 방식은 노드가 거의 최신 상태를 유지할 수 있게 해주며, 이는 더 빠른 트랜잭션 시뮬레이션과 원활한 사용자 경험에 도움을 줍니다.
낙관적 병렬 실행
낙관적 병렬 실행은 Monad의 트랜잭션 처리에서 핵심 혁신입니다. 트랜잭션은 동시에 실행되어 저장 슬롯 읽기 및 쓰기를 기록하는 "계류 결과"를 생성합니다. 이러한 결과는 일렬로 커밋되어 마치 트랜잭션이 하나씩 처리된 것처럼 일관성을 보장합니다. 이 방법은 충돌이 발생하더라도 대부분의 트랜잭션이 최대 두 번 실행되도록 하여 효율성을 극대화하면서 정확성을 손상시키지 않습니다.
MonadDb: 최적화된 상태 관리
MonadDb는 토착 Merkle 트리에 상태를 저장하도록 설계된 Monad의 맞춤형 데이터베이스입니다. 전통적인 데이터베이스에 존재하는 추가적인 간접 계층을 제거함으로써, MonadDb는 I/O 작업을 최소화하고 Merkle 루트 계산을 가속화합니다. 비동기 I/O 및 병렬 상태 조회에 대한 지원은 낙관적인 병렬 실행과 완벽하게 시너지 효과를 내어, 일반적으로 상태 접근과 관련된 병목 현상을 크게 줄입니다.
노드를 부트스트래핑: 상태 동기화 및 블록 동기화
높은 처리량과 긴 거래 기록을 감안할 때, 새로운 노드들은 일반적으로 모든 블록을 제네시스부터 재생하기보다는 피어와 동기화하여 그들의 상태를 초기화합니다. Monad는 statesync를 사용하며, 여기서 노드는 피어로부터 최신 상태 스냅샷을 요청하고, blocksync를 사용하여 누락된 블록을 검색하여 공백을 채웁니다. 이 과정은 새로운 노드들이 네트워크에 빠르게 가입하여 최신 상태를 유지할 수 있도록 보장합니다.
자주 묻는 질문 (FAQs)
Q1: Monad의 합의 메커니즘은 무엇이 독특한가요?
A1: MonadBFT는 선형 통신 복잡도와 파이프라이닝된 “팬 아웃, 팬 인” 접근 방식으로 구별되며, 이를 통해 많은 수의 검증자가 있는 경우에도 빠르고 확장 가능한 합의를 가능하게 합니다.
Q2: Monad는 블록 전파를 효율적으로 어떻게 보장합니까?
A2: RaptorCast 프로토콜을 통해 Monad는 블록을 더 작은 청크로 나누기 위해 지우기 코딩을 사용하여 리더의 업로드 부담을 줄이고 네트워크 전반에 걸쳐 신뢰할 수 있는 전송을 보장합니다.
Q3: MonadDb는 시스템에서 어떤 역할을 하나요?
A3: MonadDb는 네이티브 머클 트라이(Merkle trie)를 유지함으로써 상태 저장을 최적화합니다. 이는 상태 조회를 가속화하고, I/O 작업을 줄이며, 플랫폼의 낙관적인 병렬 실행 모델을 보완합니다.
면책 조항: 이 기사 내용은 재정 또는 투자 조언을 구성하지 않습니다.
