TL;DR
병렬 EVM 개념은 Paradigm, Jump, Dragonfly 등 여러 주요 VC에 의해 베팅되고 있습니다.
대표적인 프로젝트로는 Monad를 비롯해 Sei, MegaETH, Polygon, Neon EVM, BSC 등이 있습니다. 일부는 L1이고 일부는 L2입니다. 팀 간의 구체적인 차이점에 대한 완전한 공개 정보는 없습니다.
병렬 EVM은 문자 그대로 병렬화를 의미하지만 실제로는 EVM의 각 구성 요소 성능을 특별히 최적화한 것이므로 그 노력은 EVM 표준에 따른 성능 한계를 나타낼 가능성이 높습니다.
난이도: 전체 기술 스택을 재구성하는 것 외에도 병렬 트랜잭션이 충돌할지 여부와 충돌 후 재실행의 효율성을 미리 예측하는 방법도 있습니다.
과제: 오픈 소스 생태계에서 차별화를 구축하는 방법과 분산화와 성능 사이의 균형을 찾는 방법.
합의 알고리즘, DA(데이터 레이어), 영지식 증명 기술이 폭넓게 연구되고 반복된 후 주목받는 다음 하드 코어 기술은 Parallel EVM입니다. 자본 시장도 이에 수억 달러를 투자했습니다. 이야기를 나누며 독창적인 기술이 많이 탄생한 짐승급 스타트업.
커뮤니티는 병렬 EVM(EVM 병렬화)에 주목하기 시작했습니다.기원Paradigm의 CTO인 Georgios Konstantopoulos와 Dragonfly의 Haseeb Qureshi는 2023년 말 2024년 트렌드를 전망하면서 우연히 같은 키워드를 언급했습니다. 그러나 이 주제에 대한 자세한 내용은 많지 않으며 이것이 새로운 개념이 아니라고 생각하는 사람들이 많습니다. EVM과 병렬 컴퓨팅은 각각 상대적으로 성숙한 개념입니다. 이 두 단어를 결합하는 것이 왜 중요한 추세입니까? 모직?
하지만 이는 여전히 매우 틈새적인 주제이기 때문에 많은 연구 기관의 연간 요약 및 동향 예측을 살펴보면 병렬 EVM이 언급되지 않습니다. 그래서 이것은 아직까지 대규모 합의가 이루어지지 않은 새로운 개념이다. 게다가 이 개념은 합의 알고리즘, DA 등의 주제와 유사하며, 모두 순전히 기술과 관련된 것이기 때문에 관심을 두는 사람이 더욱 적습니다.
Paralle EVM의 가장 직접적인 이점은 기존 분산 애플리케이션을 활성화하여 인터넷 수준의 성능을 달성할 수 있다는 것입니다. 병렬 EVM은 (많은 성숙한) 기존 스마트 계약을 활용할 수 있을 뿐만 아니라 고성능 병렬 퍼블릭 체인 처리량을 달성할 수 있는 유일한 신기술이라고 할 수도 있습니다.
패러다임은 오랫동안 게임 진출을 고대해왔고, 점프는 큰 배팅을 했다.
포춘에 따르면보고서, Paradigm은 Monad의 최신 라운드를 주도하여 30억 달러 가치 평가로 2억 달러를 모금할 계획입니다. Paradigm이 투자할 계획인 최초의 Parallel EVM 컨셉팀임에도 불구하고 그들은 실제로 수년 동안 이 기술에 주목해 왔습니다. Georgios Konstantopoulos(Paradigm의 CTO)는 2021년에 이에 대해 논의한 적이 있습니다.언급하다이 단어를 얻었습니다.
모나드(monad)라는 단어의 유래도 흥미롭다. 철학자 라이프니츠의 철학 체계에서 모나드는 우주를 구성하는 기본 요소로 물리학의 영향을 받지 않는 분할할 수 없는 실체이다. 각각의 모나드는 우주 전체를 반영하며 한때 중국어로 모나드로 번역되기도 했다.
컴퓨터 과학에서 모나드는 프로그래머가 거의 수학적 순수성으로 현실 세계의 복잡성을 처리할 수 있도록 도와주는 함수형 프로그래밍 언어의 디자인 패턴으로, 코드를 더욱 모듈화하고 이해하고 유지 관리하기 쉽게 만듭니다.
또 다른 흥미로운 점은 Monad와 Nomad가 서로의 철자 바꾸기라는 점입니다. Nomad는 유목민을, Digital Nomad는 디지털 유목민/디지털 목동을 의미합니다.
모나드 외에도 게오르기오스(Georgios)논의하다이 주제에 대해서는 Sei와 Polygon도 언급되었습니다. 그러나 그가 Parallel EVM에 대해 그렇게 낙관적인 또 다른 중요한 이유는 그들이 Ethereum 클라이언트인 Reth를 개발했기 때문입니다. Rust 언어로 구현된 고성능 Ethereum 실행 계층 클라이언트로 자리잡고 있습니다. Reth는 빠른 속도로 개발되고 있으며 이제 막 베타 단계에 진입했습니다. Reth에서 직접 병렬 EVM을 구현하는 것을 고려할 수도 있지만 RD 엔지니어링의 양을 고려할 때 병렬 EVM을 홍보하기 위해 다른 팀에 투자하는 것이 더 나은 선택일 수 있습니다. Monad의 문서에 따르면 그들은 엔지니어링에서 주로 C++와 Rust를 사용합니다.
Reth가 출시되었을 때 Erigon 팀원들은 Akula 오픈 소스 코드를 표절했다는 비난을 받았고 이로 인해 Akula 프로젝트에 자금이 부족하고 개발이 중단되었습니다. Georgios는 Reth가 다른 클라이언트의 포크도 아니고 코드도 다른 클라이언트에서 나온 것이 아니지만 실제로 Geth, Erigon 및 Akula의 영향과 영감을 받았다고 응답했습니다. (https://thedefiant.io/paradigm-accused-copying-code)
또 다른 핵심 참가자로는 Jump Trading과 Jump Capital이 있습니다. Monad의 창립자는 Jump Trading 출신으로 초단타 거래에 대한 풍부한 경험을 가지고 있으며 Sei의 투자자로는 Jump Capital이 있으며 Jump는 인프라 및 프로젝트를 포함하여 Solana 생태계에 깊이 관여해 왔습니다. .
Monad의 초기 투자자인 Dragonfly도 관련 트랙에 주목해 왔으며 샤딩 기술에 중점을 둔 NEAR와 Aptos, Avalanche, Nervos와 같은 퍼블릭 체인에 투자했습니다.
합의 알고리즘을 업그레이드하는 것만으로는 충분하지 않습니다. 이제 실행 계층의 차례입니다.
지난 몇 번의 퍼블릭 체인 전쟁에서 실행 계층은 소홀히 다루어졌으며 Solana, Avalanche 또는 EOS 등 합의 알고리즘의 혁신에 대해서만 거의 이야기합니다. 실행 계층에 많은 혁신이 있음에도 불구하고 커뮤니티는 그들이 사용한 합의 알고리즘을 여전히 기억하고 있으며 전체 커뮤니티는 이러한 고성능 퍼블릭 체인의 성능이 합의 알고리즘의 혁신에서 비롯된다고 생각합니다.
고성능 퍼블릭 체인을 얻으려면 합의 알고리즘과 실행 레이어가 일치해야 하는데, 이는 나무통의 단점과도 일치합니다. EVM을 기반으로 하고 합의 알고리즘만 개선하는 퍼블릭 체인의 경우 성능을 향상하려면 더 강력한 노드가 필요합니다. 예를 들어, BSC는 블록에서 처리할 수 있는 가스를 2000TPS 수준으로 제한하는데, 이는 이더리움 풀 노드 투자의 몇 배에 달하는 기계 구성이 필요합니다. 다각형이론1,000TPS에 도달할 수 있지만 일반적으로 수십에서 수백에 불과합니다.
BSC 아카이브 노드최소 16코어 CPU와 128G 메모리가 필요합니다.이더리움 노드최소 4개 코어 CPU와 16G 메모리가 필요합니다.
BSC 팀은 이러한 문제를 오랫동안 인지하고 있었기 때문에 NodeReal과도 협력하고 있습니다.협력 개발병렬 EVM 기술. 이런 방식으로만 우리는 각 블록이 처리할 수 있는 트랜잭션 수를 더 늘릴 수 있고, 더 많은 트랜잭션을 병렬로 실행할 수 있으며, TPS 상한을 높일 수 있습니다.
병렬성: 단일 코어에서 멀티 코어 CPU로 업그레이드하는 것뿐만 아니라
대부분의 블록체인 시스템에서 트랜잭션은 완전히 순차적으로 실행되며, 단일 코어 CPU라고 생각하면 됩니다. 현재 계산이 완료된 후에만 다음 계산을 수행할 수 있습니다. 이 방법은 속도는 느리지만 단순성과 시스템 복잡성이 낮다는 장점이 있습니다.
그러나 미래의 블록체인 시스템이 인터넷 수준의 사용자 규모에 액세스해야 한다면 단일 코어 CPU만으로는 충분하지 않을 것입니다. 따라서 멀티 코어 CPU를 갖춘 병렬화된 가상 머신으로 업그레이드하면 동시에 여러 트랜잭션을 처리하고 처리량을 늘릴 수 있습니다. 그러나 엔지니어링 구현에는 많은 어려움이 있습니다.예를 들어 동시에 처리된 두 개의 트랜잭션이 동일한 스마트 계약에 데이터를 쓰는 경우 어떻게 해야 할까요? 이러한 모순을 해결하기 위해서는 새로운 메커니즘을 설계할 필요가 있다. 전혀 관련이 없는 다른 스마트 계약의 병렬 실행의 경우 병렬 처리 스레드 수 및 규모에 따라 처리량을 늘릴 수 있습니다.
또한 Parallel EVM은 병렬 기능을 향상시킬 뿐만 아니라 단일 스레드 실행 효율성도 최적화합니다. 모나드 CEO 혼 혼(Keone Hon)표현하다, ...(EVM의) 실제 병목 현상은 작업을 처리할 때 상태를 자주 읽고 쓰는 것입니다.... 그는 또한 병렬 실행은 로드맵의 일부일 뿐이며 Monad의 더 큰 임무는 EVM에 집중하고 이를 최대한 효율적으로 만드는 것이라고 말했습니다.
따라서 Parallel EVM은 말 그대로 병렬화를 의미하지만 실제로는 EVM의 각 구성 요소 성능을 특별히 최적화한 것이므로 그 노력은 EVM 표준에 따른 성능 한계를 나타낼 가능성이 높습니다.
EVM은 Solidity와 동일하지 않습니다.
스마트 계약 작성은 대부분의 블록체인 개발자에게 필수적인 기술입니다. 엔지니어는 Solidity 또는 기타 고급 스마트 계약 언어를 사용하여 비즈니스 요구에 따라 해당 논리 구현을 작성할 수 있습니다. 그러나 EVM은 실제로 Solidity의 논리를 직접 이해할 수 없으며, 일부 번역을 거쳐 기계가 이해할 수 있는 저수준 언어(opcode 연산 코드/바이트코드 바이트코드)로 변환(컴파일)해야 합니다. 가상 머신에서 읽을 수 있습니다. 이를 구현하기 위한 성숙한 도구가 이미 있으므로 Solidity 개발자는 이 번역 프로세스를 이해할 필요가 없습니다.
결국 번역이므로 약간의 오버헤드(추가 오버헤드)도 있을 것입니다. Low-level 코딩 경험이 있는 엔지니어의 경우 Solidity에서 opcode를 사용하여 직접 프로그램 로직을 작성할 수 있어 최고의 성능을 얻을 수 있으며, 이는 사용자가 트랜잭션을 수행할 때 Gas를 절약할 수 있음을 의미합니다. 예를 들어 Opensea가 출시한 Seaport 프로토콜은 스마트 계약에서 인라인 어셈블리를 광범위하게 사용하여 사용자의 가스 비용을 최대한 줄입니다.
따라서 병렬 EVM이 최종적으로 구현될 수 있다면 병렬화 기능을 제공할 뿐만 아니라 전체 EVM 스택의 성능도 최적화하게 됩니다. 일반 애플리케이션 개발자는 약간의 가스를 절약하기 위해 최적화에 많은 에너지를 소비할 필요가 없습니다. 기본 가상 머신은 이러한 차이를 완화할 만큼 강력하기 때문입니다.
EVM 성능은 다양하며 표준은 엔지니어링 관행과 동일하지 않습니다.
가상 머신은 실행 계층이라고도 할 수 있으며, 스마트 계약이 opcode로 컴파일된 후 최종적으로 계산되고 처리되는 엔진입니다. EVM(Ethereum Virtual Machine)이 정의한 바이트 코드는 이제 업계 표준이 되었습니다. Ethereum을 기반으로 한 2층 네트워크이든 다른 독립적인 공개 체인이든 EVM과 직접적이고 완벽하게 호환되기를 더 원합니다. 표준을 개발하기 전에 작성자는 스마트 계약을 한 번 작성하고 이를 여러 네트워크에 배포할 수 있으므로 매우 비용 효율적입니다.
따라서 EVM의 바이트코드 표준과 완전히 호환되는 한 EVM이라고 부를 수 있지만 구현 방법은 매우 다양할 수 있습니다. 예를 들어 Ethereum 클라이언트 Geth는 Go 언어를 사용하여 EVM 표준을 구현합니다. 하지만 이더리움 재단의 수석 연구팀인 Ipsilon은유지하다C++로 개발된 EVM의 독립적 구현이 개발되었으며, 다른 Ethereum 클라이언트는 이 라이브러리를 직접 호출하여 EVM으로 실행할 수 있습니다.
예를 들어, 산업적으로 생산되는 많은 제품에는 이에 상응하는 국제 표준이 있는데, 예를 들어 제품이 공장에서 출고될 때 콜로니 수가 일정 값보다 작아야 판매할 수 있는 것이 표준입니다. 그러나 이 공장 표준을 충족하는 방법에 대해 각 공장은 수십 가지의 다양한 멸균 방법 중에서 선택할 수 있으며 일부 공장에서는 이 요구 사항을 충족하기 위해 보다 비용 효율적인 방법을 찾을 수 있습니다. 이것이 바로 실행입니다.
있기 때문에evmone구현 외에 다른 구현도 가능합니다. 따라서 이 EVM 예에서 EVM 표준은 몇 가지 기본 작업 방법 바이트코드(예: 덧셈, 뺄셈, 곱셈 등과 같은 가장 기본적인 산술 지원)를 정의합니다. 각 바이트코드에 특정 입력이 있으면 한정된 출력이 있습니다. . 이 기준을 충족하려면 구현(및 관행)이 매우 다양하며 사용자 정의를 위한 여지가 많고 엔지니어링 최적화 가능성이 있습니다.
병렬 EVM의 유사점과 차이점
Parallel EVM 트랙에는 가장 인기 있는 Monad 외에도 Sei, MegaETH, Polygon, Neon EVM, BSC 등이 있으며 Paradigm의 Reth 클라이언트도 병렬화 기능을 구현하려고 합니다.
포지셔닝 관점에서 Monad, Sei, Polygon 및 BSC는 모두 레이어 1 블록체인인 반면 MegaETH는 레이어 2일 수 있습니다. Neon EVM은 Solana 네트워크를 기반으로 합니다. 또한 Reth는 오픈 소스 클라이언트이며 MegaETH는 Reth 프로젝트를 기반으로 부분적으로 계속 개발될 것입니다.
물론, 이들 팀 사이에는 여전히 경쟁이 존재하며, 모든 기술 세부 사항과 엔지니어링 문서가 완전히 공개되지 않았으며, 점차적으로 공개될 때까지 더 많은 비교를 기다려야 할 것입니다. 어쩌면 이것은 BTC Layer 2, Restking, Ethereum Layer 2와 같은 또 다시 군비 경쟁과 같습니다. 기술(및 오픈 소스) 간에는 미묘한 차이가 있지만 더 중요한 것은 생태계의 고유성을 어떻게 구축하는지입니다.
병렬 EVM의 기술적 어려움
순차적으로 실행되는 트랜잭션의 경우 병목 현상은 CPU와 상태를 읽고 쓰는 프로세스입니다. 하지만 이 방법의 장점은 매우 간단하고 오류가 없으며 모든 작업을 단계별로 완료할 수 있다는 것입니다. 병렬로 실행되는 가상 머신의 경우 상태 충돌이 발생할 수 있으므로 실행 전이나 실행 후에 이 부분의 판단을 추가해야 합니다.
간단한 예로 가상 머신이 4개 스레드의 병렬 실행을 지원하고 각 스레드가 동시에 트랜잭션을 처리할 수 있는 경우, 이 4개 트랜잭션이 모두 Uniswap에서 동일한 트랜잭션 풀을 사용하는 트랜잭션인 경우 병렬로 실행할 수 없습니다. 계산. 각 거래가 이 거래 풀의 거래 가격에 영향을 미치기 때문입니다. 그러나 이 4개의 스레드가 완전히 관련되지 않은 4개의 작업을 동시에 작업한다면 문제가 없습니다.
여기에는 다양한 팀의 설계 및 엔지니어링 구현이 포함되지만, 적어도 병렬 실행 후에는 충돌을 감지하고 충돌이 발생할 경우 다시 실행하기 위한 모듈이 필요하다는 점을 보장해야 합니다. 물론 충돌이 발생할 수 있는 트랜잭션을 사전에 예측하고 차단할 수 있다면 전체 가상머신의 병렬 효율성도 높일 수 있다.
병렬 EVM 가상 머신의 엔지니어링 구현 차이 외에도 각 팀은 일반적으로 상태 데이터베이스의 읽기 및 쓰기 성능을 재설계 및 향상하고 Monad가 설계한 MonadDb 및 MonadBFT와 같은 합의 알고리즘을 설계합니다.
도전
병렬 EVM의 경우 두 가지 가능한 과제가 있습니다: 장기적인 엔지니어링 가치가 이더리움에 의해 포착될지 여부와 노드의 중앙화입니다.
다양한 팀이 여전히 병렬 EVM 기술의 개발 및 테스트 단계에 있기 때문에 아직 모든 엔지니어링 세부 사항을 오픈 소스로 선택하지 않았으며 이는 현재 해자 중 하나입니다. 그러나 테스트 네트워크와 메인 네트워크에 진입한 후에는 이러한 프로젝트 문서가 공개되며 이더리움이나 기타 퍼블릭 체인에 흡수될 수도 있습니다. 따라서 그 시점에는 생태건설을 더욱 빠르게 추진하고 생태해자를 더 많이 구축하는 것이 필요하다.
그러나 이 문제는 그리 심각하지 않으며, 한편으로는 Crypto 개발자의 경우 선택할 수 있는 오픈 소스 라이선스가 더 많아졌습니다(예: 코드를 공개할 수 있지만 상용 프로젝트로의 포크를 허용하지 않는 Uniswap의 라이선스). 반면 Monad의 포지셔닝은 Ethereum의 포지셔닝과 본질적으로 다릅니다. 이더리움이 미래에 단일 소켓 최종성(SSF)을 달성할 수 있다고 하더라도 트랜잭션의 최종성은 여전히 최소 12초가 될 것이며, 이는 더 높은 빈도의 애플리케이션 시나리오에서는 충분하지 않습니다.
모든 고성능 퍼블릭 체인에 공통적으로 나타나는 또 다른 과제는 사용자의 기본 요구 사항인 무허가성 및 무신뢰성, 즉 분산화를 충족하기 위해 더 많은 노드를 배포하는 방법입니다. 아마도 TPS를 노드의 하드웨어 요구 사항으로 나눈 값과 같은 일부 지표를 정량화하여 변수를 제어하고 특정 하드웨어 요구 사항을 기반으로 어떤 퍼블릭 체인/클라이언트가 더 높은 TPS를 가지고 있는지 비교할 수 있습니다. 결국 노드의 하드웨어 요구 사항이 낮을수록 가능한 노드 수가 많아집니다.
다음으로 각 병렬 EVM 프로젝트의 진행 상황을 계속 추적하고 해당 기술과 차이점에 대해 자세히 논의하겠습니다.