병렬 EVM과 그 생태에 대한 심층적인 논의

이 기사는 기계로 번역되었습니다
원문 표시

이더 가상 머신 EVM

EVM 대 Solidity

스마트 계약 작성은 블록체인 개발자에게 필수적인 기술입니다. 엔지니어는 Solidity 또는 기타 고급 언어를 사용하여 비즈니스 로직을 구현할 수 있습니다. 그러나 EVM은 Solidity를 직접 해석할 수 없습니다. 가상 머신이 실행할 수 있는 저수준 언어(opcode/bytecode)로 코드를 컴파일해야 합니다. 이 변환을 자동화하는 도구가 존재하므로 개발자가 컴파일 프로세스를 이해할 필요성이 줄어듭니다.

변환으로 인해 추가 오버헤드가 발생하지만 낮은 수준의 코딩 경험이 있는 엔지니어는 Opcode를 사용하여 Solidity에서 직접 프로그램 로직을 작성하여 효율성을 극대화하고 가스 소비를 줄일 수 있습니다. 예를 들어 OpenSea의 Seaport 프로토콜은 인라인 어셈블리를 광범위하게 사용하여 사용자의 가스 오버헤드를 최소화합니다.

EVM 성능 차이: 표준 및 구현

"실행 계층"이라고도 알려진 EVM은 컴파일된 스마트 계약 연산 코드가 최종적으로 계산되고 처리되는 곳입니다. EVM에서 정의한 바이트코드는 업계 표준입니다. 이더 Layer 2 네트워크에서 사용하든 다른 독립 블록체인에서 사용하든 EVM 표준과의 호환성을 통해 개발자는 여러 네트워크에서 스마트 계약을 효율적으로 배포할 수 있습니다.

EVM 바이트코드 표준을 준수하면 EVM이라는 가상 머신이 만들어지지만 구현 방법은 매우 다양할 수 있습니다. 예를 들어 이더 의 Geth 클라이언트는 Go에서 EVM 표준을 구현하는 반면 이더 Foundation의 Ipsilon 팀은 C++ 구현을 유지합니다. 이러한 다양성으로 인해 다양한 엔지니어링 최적화 및 맞춤형 구현이 가능해졌습니다.

병렬 EVM 기술

역사적으로 블록체인 커뮤니티는 주로 합의 알고리즘의 혁신에 중점을 두어 왔으며, Solana, Avalanche 및 EOS와 같은 프로젝트는 실행 계층보다는 합의 메커니즘으로 더욱 유명해졌습니다. 이러한 프로젝트는 실행 계층의 혁신에 기여하지만, 해당 프로젝트의 성과는 합의 알고리즘에서만 비롯되는 것으로 잘못 생각되는 경우가 많습니다.

실제로 고성능 블록체인에는 가장 약한 링크 원칙과 유사하게 혁신적인 합의 알고리즘과 최적화된 실행 계층이 필요합니다. 합의 알고리즘만 개선하는 EVM 블록체인의 경우 성능을 향상하려면 더 강력한 노드가 필요합니다. 예를 들어, 바이낸스 스마트 체인(BSC)은 가스 한도인 2000TPS 이하에서 블록을 처리하며, 이를 위해서는 이더 풀 노드보다 몇 배 더 큰 머신이 필요합니다. Polygon은 이론적으로 최대 1000TPS를 지원하지만 실제 성능은 기대에 미치지 못하는 경우가 많습니다.

병렬 처리 요구 사항

대부분의 블록체인 시스템에서 트랜잭션은 단일 코어 CPU와 유사하게 순차적으로 실행되며, 현재 계산이 완료된 후에만 다음 계산이 시작됩니다. 이 접근 방식은 간단하고 시스템 복잡성이 낮지만 인터넷 규모의 사용자 기반으로 확장하기에는 충분하지 않습니다. 멀티 코어 CPU 병렬 가상 머신으로 전환하면 여러 트랜잭션을 동시에 처리하여 처리량을 크게 늘릴 수 있습니다.

병렬 실행은 동일한 스마트 계약에 기록된 동시 트랜잭션을 처리하는 등 엔지니어링 문제를 야기합니다. 이러한 갈등을 해결하려면 새로운 메커니즘을 고안해야 합니다. 관련되지 않은 스마트 계약을 병렬로 실행하면 병렬 처리 스레드 수에 비례하여 처리량이 향상됩니다.

병렬 EVM의 혁신

병렬 EVM은 블록체인 시스템의 실행 계층 최적화를 목표로 하는 일련의 혁신을 나타냅니다. Monad를 예로 들면 주요 혁신은 다음과 같습니다.

  • 병렬 트랜잭션 실행: Monad는 낙관적 병렬 실행 알고리즘을 사용하여 여러 트랜잭션을 동시에 처리할 수 있습니다. 이 접근 방식은 동일한 초기 상태에서 트랜잭션을 시작하고 해당 입력과 출력을 추적하며 각 트랜잭션에 대한 임시 결과를 생성합니다. 모나드는 입력이 현재 처리 중인 트랜잭션의 출력과 관련되어 있는지 확인하여 다음 트랜잭션을 실행할지 여부를 결정합니다. 관계가 있는 경우 다음 트랜잭션은 현재 트랜잭션이 완료될 때까지 기다립니다. 관계가 없으면 시스템은 원래 순서대로 다음 거래를 처리합니다. 이 접근 방식은 트랜잭션 처리 성능을 크게 향상시키고 시스템 대기 시간을 줄입니다.

  • 지연된 실행: Monad의 합의 메커니즘에서 노드는 이러한 트랜잭션을 실행하기 위해 마스터 노드나 검증자 노드를 요구하지 않고도 트랜잭션의 공식적인 순서 달성합니다. 처음에는 마스터 순서 거래를 주문하고 해당 주문에 대해 노드 간 합의에 도달합니다. 모나드는 트랜잭션을 즉시 실행하지 않고 독립적인 채널로 실행을 연기하여 블록 시간 활용을 극대화하고 전반적인 실행 효율성을 향상시킵니다.

  • 사용자 정의 상태 데이터베이스(Monad DB): Monad DB는 Merkle 트리를 SSD에 직접 저장하여 상태 저장 및 액세스를 최적화합니다. 이러한 직접 저장 방식은 읽기 증폭 효과를 최소화하고 상태 액세스 속도를 높여 스마트 계약 실행을 더 빠르고 효율적으로 만듭니다. Monad DB는 기존 데이터베이스의 비효율성을 줄여 병렬 트랜잭션 실행 중에 상태 변수의 빠른 검색을 보장합니다.

  • 고성능 합의 메커니즘(Monad BFT): Monad BFT는 HotStuff 합의 메커니즘의 개선된 버전으로, 선형 통신 복잡성을 지닌 전 세계적으로 분산된 수백 개의 노드 간의 동기화를 지원합니다. 이는 파이프라인 투표 단계를 사용하여 투표 프로세스의 여러 단계가 겹칠 수 있도록 하여 지연을 줄이고 합의 효율성을 높입니다. 이러한 수정을 통해 대규모 분산 작업을 처리하는 네트워크의 능력이 크게 향상되었습니다.

도전

병렬 EVM의 기술적 과제

순차적 트랜잭션 실행의 병목 현상은 CPU 및 상태 읽기/쓰기 프로세스와 관련이 있습니다. 이 접근 방식은 간단하고 안정적이지만 병렬 실행에서는 실행 전 또는 실행 후 충돌 검사가 필요한 잠재적인 상태 충돌이 발생합니다. 예를 들어 가상 머신이 각각 트랜잭션을 처리하는 4개의 병렬 스레드를 지원하는 경우 모든 트랜잭션이 동일한 Uniswap 풀과 상호 작용할 때 충돌이 발생합니다. 이러한 상황에서는 효율적인 병렬 처리를 보장하기 위해 신중한 충돌 감지 및 해결 메커니즘이 필요합니다.

병렬 EVM 구현의 기술적 차이점 외에도 팀은 종종 상태 데이터베이스의 읽기/쓰기 성능을 재설계 및 향상하고 Monad의 MonadDb 및 MonadBFT와 같은 호환 가능한 합의 알고리즘을 개발합니다.

과제와 고려사항

병렬 EVM의 두 가지 주요 과제는 이더 의 장기적인 엔지니어링 가치 포착과 노드 중앙 집중화입니다. 현재 개발 단계는 아직 지적 재산을 보호하기 위한 완전한 오픈 소스가 아니지만, 이러한 세부 사항은 결국 테스트넷과 메인넷이 출시되면 공개될 것이며 이더 이나 다른 블록체인에 흡수될 위험이 있습니다. 신속한 생태계 개발은 경쟁 우위를 유지하는 데 핵심이 될 것입니다.

노드 중앙화는 모든 고성능 블록체인의 과제이며, 무허가성, 무신뢰성 운영이라는 "블록체인 트릴레마"와 고성능 요구 사항 간의 균형이 필요합니다. "하드웨어 요구 사항당 TPS"와 같은 지표는 특정 하드웨어 조건에서 블록체인의 효율성을 비교하는 데 도움이 될 수 있습니다. 하드웨어 요구 사항이 낮을수록 노드가 더 탈중앙화 될 수 있기 때문입니다.

병렬 EVM의 환경

Monad 외에도 병렬 EVM 환경에는 Sei, MegaETH, Polygon, Neon EVM, BSC 및 Paradigm의 ​​Reth 클라이언트도 포함됩니다. Monad, Sei, Polygon 및 BSC는 레이어 1 블록체인인 반면 MegaETH는 레이어 2 솔루션일 수 있습니다. Neon EVM은 Solana 네트워크를 기반으로 하고 Reth는 오픈 소스 클라이언트이며 MegaETH의 개발은 부분적으로 Reth를 기반으로 합니다.

병렬 EVM의 주요 조건은 EVM 호환 네트워크입니다. Solana, Aptos, Fuel 및 Sui와 같은 네트워크는 병렬 실행을 사용하지만 EVM이 아닌 네트워크이기 때문에 병렬 EVM 프로젝트로 간주되지 않습니다.

현재 기존 병렬 EVM 네트워크는 세 가지 유형으로 나눌 수 있습니다.

  • 병렬 실행 기술을 통해 업그레이드된 EVM은 레이어 1 네트워크**와 호환됩니다**: 이러한 네트워크는 처음에는 병렬 실행을 채택하지 않았으며 병렬 EVM을 지원하는 기술을 통해 반복적으로 업그레이드되었습니다. 예를 들어 Polygon은 2022년에 병렬 EVM 업그레이드를 완료했으며 Fantom의 향후 Fantom Sonic 업그레이드도 병렬 실행을 도입할 예정입니다.

  • EVM은 처음부터 병렬 실행 기술을 사용하는 레이어 1 네트워크**(예: Monad, Sei V2 및 Artela)와 호환됩니다.

  • EVM이 아닌 병렬 실행 기술을 사용하는 레이어 2 네트워크**: 여기에는 Solana Neon, Eclipse 및 Lumio와 같은 확장 지향 레이어 2 EVM 호환 체인이 포함됩니다. 이러한 네트워크는 EVM을 플러그형 실행 모듈로 추상화하여 필요에 따라 최상의 "VM 실행 계층"을 선택할 수 있도록 하여 병렬 기능을 활성화합니다. 예를 들어 Lumio의 결제 레이어는 이더 에 있지만 실행 레이어는 Solana VM, Move VM, EVM 등을 사용할 수 있습니다.

프로젝트

Monad: 최고의 병렬 EVM

Monad는 10,000TPS 도달을 목표로 EVM 병렬 실행 및 파이프라인 아키텍처를 최적화하여 기존 EVM의 확장성 문제를 해결하는 것을 목표로 합니다. 4월 9일, Monad는 Paradigm이 주도하는 2억 2,500만 달러의 자금 조달을 완료했으며, 가치 평가액은 30억 달러에 달했습니다. 이전에는 작년 2월 초기 자금 조달 라운드에서 1,900만 달러를 조달하여 총 자금 조달 금액이 2억 4,400만 달러에 달해 현재까지 가장 많은 자금을 지원받고 가장 가치가 높은 병렬 EVM 프로젝트가 되었습니다. Monad의 창립 팀에는 시장을 만드는 거대 기업인 Jump Trading의 구성원이 포함되어 있습니다. 창립자 Keone Hon은 Jump Trading에서 8년 동안 연구 이사로 근무했으며, 공동 창립자 James Hunsaker는 그곳의 수석 소프트웨어 엔지니어이자 Pyth Network의 핵심 유지관리자였습니다. Monad의 내부 테스트넷은 3월에 출시되었으며 몇 달 내에 대중에게 공개될 것으로 예상됩니다.

Sei: 병렬 EVM 네트워크 Sei V2 출시

Sei는 원래 거래에 초점을 맞춘 레이어 1 네트워크였으며 DeFi, DEX 및 게임과 같은 고급 거래 애플리케이션 인프라를 제공했습니다. 작년 11월 Sei는 Sei V2로의 포괄적인 업그레이드를 발표하여 최초의 고성능 병렬 EVM이 되었으며 TPS를 12,500으로 늘렸습니다. 병렬 EVM 테스트 네트워크는 올해 2월에 출시되어 EVM 애플리케이션의 원클릭 마이그레이션을 지원합니다. 메인넷은 올해 상반기에 온라인화될 예정이다. 올해 3월 Sei는 병렬 처리 기술을 사용하여 레이어 2 및 롤업 네트워크를 지원하기 위해 Parallel Stack 오픈 소스 프레임 출시했습니다.

Artela: EVM++ 이중 가상 머신을 통해 실행 계층 강화

Artela는 EVM을 확장하여 병렬 실행을 지원함으로써 레이어 1 네트워크의 확장성을 잠금 해제하는 것을 목표로 합니다. Artela는 EVM++(EVM + WASM)을 구축함으로써 EVM 블록체인 성능과 네트워크 실행 효율성을 향상시키는 것을 목표로 합니다. 핵심 팀원은 Ant Chain 출신입니다. 공개 베타 네트워크는 온라인 상태이며 Artela 생태계 인센티브 계획 "르네상스 플랜"은 4월에 출시되었습니다.

Canto: 병렬 EVM 기술 소개

Canto는 DeFi 애플리케이션용으로 특별히 설계된 Cosmos SDK를 기반으로 구축된 EVM 호환 레이어 1 네트워크입니다. Canto는 지난 3월 네트워크 성능을 향상시키기 위해 병렬 실행 EVM 기술을 도입하는 것을 목표로 하는 Cyclone Stack 개발 프로그램을 발표했습니다.

Neon: Solana EVM 호환성 솔루션

Neon EVM은 솔라나 네트워크에 구축된 병렬 EVM이며 최초의 솔라나 EVM 호환 솔루션입니다. 이를 통해 Solidity 및 Vyper EVM 개발자는 한 번의 클릭으로 DApp을 Solana에 배포하고 Solana의 높은 처리량과 낮은 가스 요금을 누릴 수 있습니다. Neon EVM은 EVM 네트워크와 유사한 트랜잭션을 Solana 트랜잭션으로 캡슐화하여 실행함으로써 트랜잭션 속도를 높여 TPS가 2,000을 초과합니다.

Eclipse: SVM을 이더 으로 가져오기

Eclipse는 Solana Virtual Machine(SVM)으로 구동되는 롤업 레이어 2 모듈형 범용 솔루션입니다. Eclipse는 ETH를 가스로 사용하여 이더 에서 트랜잭션 데이터를 정산하지만 실행 계층은 SVM 환경에서 실행됩니다. Solana에 EVM을 제공하는 Neon과 달리 Eclipse는 SVM을 이더 에 제공하여 Solana의 SVM에서 트랜잭션을 실행하는 이더 Ethereum에 정착합니다. Eclipse는 최근 Hack VC 등이 주도하는 시리즈 A 자금에서 5천만 달러를 모금했습니다. 메인넷은 곧 개발자들에게 공개될 것으로 예상됩니다.

Lumio: 모듈식 VM 레이어 2

Lumio는 모듈식 VM Layer 2 네트워크이자 SuperLumio라는 Optimism 하이퍼링크의 일부인 OP Stack을 기반으로 구축되었습니다. Aptos VM, Move VM 및 Solana VM과 같은 고성능 가상 머신을 기존의 주요 이더 및 Bitcoin Layer 2 네트워크에 제공하도록 설계되었습니다. Eclipse와 마찬가지로 Lumio는 결제 계층으로 이더 또는 Bitcoin 사용을 지원하며 실행 계층에서는 병렬 실행을 위해 Aptos VM 및 Solana VM과 같은 가상 머신을 사용할 수 있습니다.

결론적으로

블록체인 기술이 발전함에 따라 고성능을 달성하기 위해서는 실행 계층과 합의 알고리즘에 집중하는 것이 똑같이 중요합니다. 병렬 EVM과 같은 혁신은 처리량과 효율성을 높이는 유망한 솔루션을 제공하여 블록체인의 확장성을 높이고 광범위한 사용자 기반을 지원할 수 있게 만듭니다. 이러한 기술의 개발 및 구현은 블록체인 생태계의 미래를 형성하고 해당 분야의 발전과 적용을 촉진할 것입니다.

참고자료:

출처
면책조항: 상기 내용은 작자의 개인적인 의견입니다. 따라서 이는 Followin의 입장과 무관하며 Followin과 관련된 어떠한 투자 제안도 구성하지 않습니다.
라이크
즐겨찾기에 추가
코멘트