병렬 EVM: 획기적인 고성능 레이어 1 기술

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

블록체인의 병렬 기술은 이미 흔한 주제이지만, 현재는 실체가 없는 Aptos의 Block-STM 메커니즘으로 대표되는 낙관적 실행 모델의 변형과 모방에 불과합니다. 획기적인 성격을 띠고 있어 인기를 지속하기 어렵다. 미래에는 더 많은 신흥 Layer1 프로젝트가 병렬 EVM 경쟁에 참여할 것이며 일부 기존 Layer1 프로젝트도 EVM 병렬 업그레이드 또는 EVM 호환 솔루션을 구현할 예정이며 두 방향 모두 동일한 목표로 이어지며 더 많은 성능 향상이 새로 탄생할 것입니다. 그것에 대한 이야기.

작성자: XiaozhuWeb3

표지: UnsplashShubham Dhage 사진

EVM: 이더 의 핵심

병렬 EVM: 획기적인 고성능 레이어 1 기술

EVM(Ethereum Virtual Machine, 이더 Virtual Machine)은 이더 의 핵심이며 스마트 계약 실행 및 트랜잭션 처리를 담당합니다.

가상 머신은 일반적으로 "하이퍼바이저"(예: VirtualBox) 또는 전체 운영 체제 인스턴스(예: Linux용 KVM)에 의해 실제 컴퓨터를 가상화하는 데 사용됩니다. 이들은 각각 실제 하드웨어, 시스템 호출 및 기타 커널 기능의 소프트웨어 추상화를 제공해야 합니다.

EVM은 보다 제한된 도메인에서 작동합니다. 이는 단지 컴퓨팅 엔진이므로 JVM(Java Virtual Machine) 사양과 유사한 컴퓨팅 및 스토리지에 대한 추상화를 제공합니다. 높은 수준의 관점에서 볼 때 JVM은 기본 호스트 운영 체제 또는 하드웨어와 독립적인 런타임 환경을 제공하여 다양한 시스템 간의 호환성을 가능하게 하도록 설계되었습니다. 마찬가지로 EVM은 일반적으로 Solidity에서 컴파일되는 자체 바이트코드 명령 세트를 실행합니다.

EVM은 준튜링(quasi-Turing) 완전 상태 머신입니다. 모든 실행 단계는 제한된 리소스 가스를 소비하므로 주어진 스마트 계약 실행은 제한된 수의 계산 단계로 제한되어 실행 프로세스에서 발생할 수 있는 오류를 방지합니다. 무한 루프로 인해 전체 이더 플랫폼이 중지됩니다.

EVM에는 스케줄링 기능이 없습니다. 이더 의 실행 모듈 블록에서 트랜잭션을 하나씩 꺼내고 EVM은 이를 순차적으로 실행하는 역할을 합니다. 최신 세계 상태는 실행 과정에서 수정되며, 트랜잭션이 실행된 후 블록이 완료된 후 상태가 누적되어 최신 세계 상태에 도달합니다. 다음 블록의 실행은 이전 블록 실행 이후의 세계 상태에 엄격하게 의존하므로 이더 트랜잭션의 선형 실행 프로세스는 병렬 실행에 맞게 최적화될 수 없습니다.

병렬 EVM: 획기적인 고성능 레이어 1 기술

이런 의미에서 이더 프로토콜은 트랜잭션이 순서대로 실행되도록 규정합니다. 순차적 실행은 트랜잭션과 스마트 계약이 결정적인 순서로 실행될 수 있도록 하고 보안을 보장하지만, 높은 부하에 직면할 때 네트워크 정체와 지연을 일으킬 수 있으며, 이것이 이더 큰 성능 병목 현상을 겪는 이유입니다. Layer2 Rollup 확장이 필요합니다. .

고성능 레이어 1에 대한 병렬 접근 방식

병렬 EVM: 획기적인 고성능 레이어 1 기술

대부분의 고성능 레이어 1은 이더 병렬 처리를 처리할 수 없다는 점을 기반으로 자체 최적화 솔루션을 설계합니다. 여기서는 실행 레이어의 최적화, 즉 가상 머신과 병렬 실행에 대해서만 설명합니다.

가상 기기

EVM은 이더 의 해싱 알고리즘을 더 쉽게 처리할 수 있도록 256비트 가상 머신으로 설계되었으며 명시적으로 256비트 출력을 생성합니다. 그러나 실제로 EVM을 실행하는 컴퓨터는 스마트 계약을 실행하기 위해 256비트 바이트를 로컬 구조에 매핑해야 하므로 전체 시스템이 매우 비효율적이고 비실용적입니다. 따라서 가상 머신 선택 측면에서 고성능 레이어 1은 EVM보다는 WASM, eBPF 바이트코드 또는 Move 바이트코드 기반의 가상 머신을 사용할 가능성이 더 높습니다.

WASM은 크기가 작고, 로드가 빠르고, 이식성이 뛰어나며, 샌드박스 보안 메커니즘을 기반으로 하는 바이트코드 형식입니다. 개발자는 다양한 프로그래밍 언어(C/C++, Rust, Go, AssemblyScript, JavaScript 등)를 사용할 수 있습니다. .) 스마트 계약을 작성한 다음 이를 WASM 바이트코드로 컴파일하고 실행합니다. WASM은 EOS, Dfinity, Polkadot(Gear), Cosmos(CosmWasm), Near 등을 포함한 많은 블록체인 프로젝트에서 표준으로 채택되었습니다. 이더 또한 이더 의 실행 계층이 보다 효율적이도록 하기 위해 향후 WASM을 통합할 것입니다. 완전히 탈중앙화 컴퓨팅 플랫폼으로 적합합니다.

이전에 BPF(Berkeley Packet Filter, Berkeley Packet Filter)로 알려진 eBPF는 원래 네트워크 데이터 패킷의 효율적인 필터링을 위해 사용되었습니다. 나중에 eBPF로 발전하여 더 풍부한 명령어 세트를 제공하고 소스 코드를 변경하지 않고도 작업을 수행할 수 있습니다. . 시스템 커널이 동적으로 개입하여 동작을 수정합니다. 나중에 이 기술은 커널에서 나와 높은 성능, 보안 및 이식성을 갖춘 사용자 모드 eBPF 런타임을 개발했습니다. 솔라나에서 실행된 스마트 계약은 SBF(eBPF 기반) 바이트코드로 컴파일되어 블록체인 네트워크에서 실행됩니다.

Move는 유연성, 보안 및 검증 가능성에 중점을 두고 Diem이 설계한 새로운 스마트 계약 프로그래밍 언어입니다. Move 언어는 자산과 거래의 보안 문제를 해결하여 자산과 거래를 엄격하게 정의하고 통제할 수 있도록 설계되었습니다. Move의 바이트코드 검증기는 Move 바이트코드를 분석하고 필요한 유형, 메모리 및 리소스 안전 규칙을 준수하는지 확인하는 정적 분석 도구입니다. 스마트 계약 수준에서 구현하고 런타임에 확인할 필요가 없습니다. Aptos는 Diem Move를 상속하고 Sui는 Sui Move의 자체 맞춤형 버전을 통해 스마트 계약을 작성합니다.

병렬 실행

블록체인에서의 병렬 실행은 관련 없는 트랜잭션을 동시에 처리하는 것을 의미합니다. 관련되지 않은 트랜잭션을 서로 영향을 주지 않는 이벤트로 처리합니다. 예를 들어 두 사람이 서로 다른 거래소에서 토큰을 거래하는 경우 두 사람의 거래가 동시에 처리될 수 있습니다. 그러나 동일한 플랫폼에서 거래되는 경우 특정 순서에 따라 거래를 실행해야 할 수도 있습니다.

병렬 실행을 달성하는 데 있어 가장 큰 과제는 어떤 트랜잭션이 관련이 없고 어떤 트랜잭션이 독립적인지 결정하는 것입니다. 대부분의 고성능 계층 1은 상태 액세스 방법과 낙관적 병렬 모델이라는 두 가지 방법을 사용합니다.

상태 액세스 방법은 각 트랜잭션이 액세스할 수 있는 블록체인 상태의 어느 부분을 미리 알아야 어떤 트랜잭션이 독립적인지 분석할 수 있습니다. 대표적인 솔루션으로는 솔라나(Solana)와 수이(Sui)가 있습니다.

솔라나에서 프로그램(스마트 계약)은 트랜잭션 전반에 걸쳐 지속되는 상태에 자체적으로 액세스(읽기 또는 쓰기)할 수 없다는 점에서 상태 비저장입니다. 솔라나의 각 트랜잭션은 트랜잭션 처리 런타임이 데이터 일관성을 보장하면서 겹치지 않는 트랜잭션이 병렬로 실행되도록 예약할 수 있도록 트랜잭션 실행 중에 액세스할 계정을 지정해야 합니다.

Sui Move에서 각 스마트 계약은 기능 및 구조 정의로 구성된 모듈 입니다. 구조는 함수에서 인스턴스화되며 함수 호출을 통해 다른 모듈 에 전달될 수 있습니다. 런타임에 저장된 구조 인스턴스는 객체로 사용됩니다. Sui에는 소유자 객체, 공유 객체, 불변 객체라는 세 가지 유형의 객체가 있습니다. Sui의 병렬화 전략은 Solana의 전략과 유사하며 트랜잭션은 어떤 객체에서 작동할지 지정해야 합니다.

낙관적 병렬 모델은 모든 거래가 독립적이라는 가정 하에 작동하며, 이 가정을 소급하여 검증하고 필요한 경우 조정합니다. 대표적인 솔루션이 앱토스(Aptos)이다.

앱토스는 낙관적 병렬 실행을 적용하기 위해 Block-STM(Block Software Transactional Memory) 방식을 사용합니다. Block-STM에서는 트랜잭션이 먼저 블록 내에서 특정 순서로 설정된 다음 동시 실행을 위해 여러 처리 스레드로 분할됩니다. 이러한 트랜잭션이 처리될 때 시스템은 각 트랜잭션에 의해 변경된 메모리 위치를 추적합니다. 각 처리 라운드 후에 시스템은 모든 거래 결과를 확인합니다. 이전 트랜잭션에 의해 변경된 메모리 위치에 닿는 트랜잭션을 찾으면 해당 결과를 지우고 다시 실행됩니다. 이 프로세스는 블록의 모든 트랜잭션이 처리될 때까지 계속됩니다.

병렬 EVM

병렬 EVM: 획기적인 고성능 레이어 1 기술

병렬 EVM(Parallel EVM)은 2021년 초에 언급되었습니다. 당시에도 여전히 여러 트랜잭션 처리를 지원하는 EVM을 지칭했습니다. 기존 EVM의 성능과 효율성을 향상시키는 것을 목표로 하는 대표적인 솔루션으로는 Polygon의 병렬 EVM이 있습니다. BSC와 NodeReal이 개발한 병렬 EVM인 Block-STM을 기반으로 합니다.

그러나 2023년 말 Paradigm의 ​​CTO인 Georgios Konstantopoulos와 Dragonfly의 Haseeb Qureshi는 2024년 트렌드를 예상하면서 우연히 병렬 EVM을 언급했고, Monand와 Sei를 포함한 병렬 실행 기술을 사용하는 EVM 호환 레이어 1의 물결이 촉발되었습니다.

병렬 EVM: 획기적인 고성능 레이어 1 기술

현재 Solana의 EVM 호환 솔루션인 Neon, 이더 SVM(Solana 가상 머신)의 Layer2 Rollup Eclipse, 이더 Move 가상 머신의 Layer2 Rollup Lumio, 모듈 실행 레이어인 Layer1 Fuel 등이 모두 병렬 EVM으로 분류되었습니다. 눈부신.

병렬 EVM으로 합리적으로 정의할 수 있는 범주는 다음 세 가지뿐입니다.

  1. BSC, Polygon과 같은 병렬 실행 기술을 사용하는 EVM 호환 레이어 1의 병렬 실행 업그레이드는 없습니다.
  2. Monand, Sei V2 및 Artela와 같은 병렬 실행 기술을 사용하는 EVM 호환 Layer1;
  3. Solana Neon과 같은 병렬 실행 기술을 사용하는 EVM 비호환 레이어 1 EVM 호환 솔루션입니다.

말할 필요도 없이 BSC와 Polygon은 가장 주류인 EVM 호환 레이어 1입니다. 다음은 Monand, Sei V2, Artela 및 Solana Neon에 대한 간략한 소개입니다.

Monad는 PoS 메커니즘을 사용하는 고성능 EVM 호환 레이어 1로, 병렬 실행을 통해 확장성과 트랜잭션 속도를 크게 향상시키도록 설계되었습니다. Monad Labs는 Jump Trading의 전 연구 책임자인 Keone Hon에 의해 설립되었습니다. 모나드는 효율성을 높이기 위해 블록 내에서 트랜잭션을 병렬로 실행할 수 있도록 합니다. 낙관적 병렬성 모델을 사용하고 이전 단계의 실행이 완료되기 전에 새 트랜잭션 실행을 시작합니다. 잘못된 결과에 대처하기 위해 Monad는 입력/출력을 추적하고 일관되지 않은 트랜잭션을 다시 실행합니다. 정적 코드 파서는 종속성을 예측하고 비효율적인 병렬 처리를 방지하며 불확실한 경우 단순 모드로 되돌릴 수 있습니다. 이 병렬 실행은 처리량을 늘리는 동시에 트랜잭션 실패 가능성을 줄입니다.

Sei는 DeFI를 위해 특별히 설계된 퍼블릭 체인인 Cosmos SDK를 기반으로 개발된 레이어 1입니다. Sei 팀원은 기술과 전통적인 금융 배경을 모두 갖추고 있으며 Robinhood, Databricks, Airbnb 및 Goldman Sachs와 같은 회사에서 근무했습니다. Sei V2는 Sei 네트워크의 대규모 업그레이드이며 최초의 완전 병렬 EVM을 목표로 합니다. Monads와 마찬가지로 Sei V2는 낙관적 병렬화를 사용합니다. 이를 통해 개발자가 종속성을 정의하지 않고도 블록체인이 트랜잭션을 동시에 실행할 수 있습니다. 충돌이 발생하면 블록체인은 각 트랜잭션이 접촉한 스토리지 부분을 추적하고 해당 트랜잭션을 순서대로 다시 실행합니다. 이 프로세스는 해결되지 않은 모든 충돌이 해결될 때까지 반복적으로 계속됩니다.

Artela는 개발자가 Ant Chain의 핵심 구성원과 함께 풍부한 기능의 탈중앙화 애플리케이션(dApp)을 구축할 수 있도록 하는 확장 가능한 블록체인 네트워크입니다. Artela가 출시한 EVM++는 높은 확장성 + 고성능 병렬 EVM을 나타냅니다. 첫 번째 단계는 병렬 실행을 기반으로 네트워크 노드 해시레이트 의 확장성을 보장하기 위해 설계됩니다. . 그리고 마침내 유연한 블록 공간을 달성합니다. 병렬 실행은 트랜잭션 종속성 충돌 분석을 기반으로 트랜잭션을 그룹화하여 병렬 실행을 지원합니다.

Solana Neon은 Solana 위에서 EVM 트랜잭션을 실행하기 위해 Neon Labs가 개발한 솔루션입니다. Neon EVM은 실제로 EVM 인터프리터를 구현하고 이를 SBF 바이트코드로 컴파일하는 Solana의 스마트 계약입니다. Neon EVM은 이더 거래 모델 및 계정 모델 세트를 내부적으로 구현합니다. 사용자는 거래를 보내기 위해 EVM GAS 수수료만 지불하면 됩니다. Solana 네트워크는 Neon Proxy를 통해 비용을 지불합니다. Solana는 트랜잭션이 계정 목록을 제공하도록 강제하며 패키지 트랜잭션도 예외는 아니므로 Neon Proxy의 책임에는 이 계정 목록을 생성하는 동시에 Solana의 병렬 트랜잭션 실행 기능에 대한 액세스 권한도 포함됩니다.

병렬 EVM: 획기적인 고성능 레이어 1 기술

여기에 한 가지 더 추가할 점은 Solana Neon과 유사하게 EVM 호환성을 달성하기 위해 EVM을 스마트 계약으로 실행하는 솔루션에는 Near Aurora 및 EOS EVM+가 포함된다는 것입니다. 이론적으로 이 솔루션은 비침습성을 달성하기 위해 Aptos 및 Sui에서도 사용할 수 있습니다. EVM 호환성을 위해 Movement Labs에서 작업하고 있습니다. 이런 작업을 해보세요. Movement는 모든 분산 환경에서 Move 기반 인프라, 애플리케이션 및 블록체인을 구축하고 배포하기 위한 모듈 프레임 입니다. Movement의 Fractal 모듈 EVM opcode를 Move opcode로 원활하게 변환합니다. 즉, Solidity 프로젝트는 Move 코드 한 줄도 필요 없이 Move의 성능 및 보안 이점을 활용할 수 있습니다.

병렬 EVM: 획기적인 고성능 레이어 1 기술

EVM 호환성을 통해 개발자는 대규모 수정 없이 쉽게 이더 애플리케이션을 온체인 으로 마이그레이션할 수 있습니다. 이는 Aptos 및 Sui 생태계를 구축하는 데 좋은 방향입니다.

요약하다

블록체인의 병렬 기술은 이미 흔한 주제이지만, 현재는 실체가 없는 Aptos의 Block-STM 메커니즘으로 대표되는 낙관적 실행 모델의 변형과 모방에 불과합니다. 획기적인 성격을 띠고 있어 인기를 지속하기 어렵다.

미래에는 더 많은 신흥 Layer1 프로젝트가 병렬 EVM 경쟁에 참여할 것이며 일부 기존 Layer1 프로젝트도 EVM 병렬 업그레이드 또는 EVM 호환 솔루션을 구현할 예정이며 두 방향 모두 동일한 목표로 이어지며 더 많은 성능 향상이 새로 탄생할 것입니다. 그것에 대한 이야기.

하지만 고성능 EVM에 대한 서사에 비하면 여전히 블록체인이 꽃을 피우고 WASM, SVM, Move VM과 유사한 서사가 나타나기를 바랍니다.

면책조항: 블록체인 정보 플랫폼으로서 이 사이트에 게시된 기사는 작성자와 게스트의 개인적인 관점 만을 나타낼 뿐이며 Web3Caff의 입장과는 아무런 관련이 없습니다. 기사에 포함된 정보는 참고용일 뿐이며 투자 조언이나 제안을 구성하지 않습니다. 귀하가 위치한 국가 또는 지역의 관련 법률 및 규정을 준수하십시오.

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