하지만 여전히 많은 연구 기관의 연간 요약과 트렌드 예측을 살펴보면 다음과 같이 틈새 주제에 속합니다. 병렬 EVM은 언급되지 않았기 때문에 아직 대규모 합의에 도달하지 못한 새로운 개념입니다. 순전히 기술적 개념인 합의 알고리즘 및 DA와 유사하기 때문에 이에 주목하는 사람의 수는 더 적습니다.
병렬화된 EVM의 가장 즉각적인 장점은 기존 탈중앙화 앱이 인터넷 수준의 성능을 달성할 수 있게 해준다는 점입니다. 심지어 병렬 EVM은 (다수의 성숙한) 기존 스마트 콘트랙트를 활용하면서 동시에 고성능의 병렬화된 퍼블릭 체인 처리량을 구현할 수 있는 유일한 신기술이라고 주장할 수도 있습니다.
. 2024/03/11/monad-paradigm-벤처-자본-크립토-점프-비트코인/" style="font-size: 18px; text-align: justify;">보고보고패러다임이 30억 달러의 가치로 2억 달러를 조달하는 Monad의 최신 라운드를 주도할 계획이라고 합니다. 이 팀은 패러다임이 투자할 계획인 최초의 병렬 EVM 개념 팀이지만, 실제로는 수년 전부터 이 기술을 검토해 왔으며, 조지오스 콘스탄토풀로스(Paradigm의 CTO)가 2021멘션멘션멘션를 언급했습니다.
Reth는 또한 Erigon 팀원으로부터 Akula의 오픈소스 코드를 표절한 혐의로 고발당하기도 했습니다. 이에 대해 조지오스는 레스는 다른 클라이언트의 포크가 아니며 다른 클라이언트의 코드도 아니지만, 실제로 레스는 Geth, Erigon, Akula의 영향을 받고 영감을 받았다고 답했습니다. (https://thedefiant.io/paradigm-accused-copying-code)
블록쿼트>또 다른 핵심 참여자는 점프 트레이딩과 점프 캐피탈입니다. 모나드의 설립자는 점프 트레이딩 출신으로 고빈도 거래 경험이 많고, 세이의 투자자로는 점프 캐피탈이 있으며, 점프는 솔라나 생태계에 깊이 관여해오고 있습니다. 또한 Jump는 인프라 및 프로젝트 등 솔라나 생태계에 깊이 관여해 왔습니다.
모나드의 초기 투자자였던 드래곤플라이 역시 샤딩 기술에 중점을 둔 NEAR와 앱토스, 아발란체, 네르보스와 같은 퍼블릭 체인에 투자하는 등 관련 트랙에 집중해왔습니다.
합의 알고리즘 업그레이드만으로는 부족, 결국은 실행 레이어
실행 레이어는 솔라나, 아발란체, EOS 등 합의 알고리즘 혁신에 대한 논의만 있었던 지난 퍼블릭 체인 전쟁에서 소외된 영역이었습니다. 솔라나, 아발란체, 이오스 등 실행 레이어에서 많은 혁신을 이루었지만, 커뮤니티는 그들이 사용한 합의 알고리즘을 더 많이 기억하고 있으며, 커뮤니티 전체는 이러한 고성능 퍼블릭 체인이 합의 알고리즘 혁신에서 그 성능을 얻는다고 가정합니다. 하지만 그렇지 않습니다. 고성능 퍼블릭 체인을 원한다면 합의 알고리즘과 실행 레이어가 상호 보완적이어야 하며, 이는 쇼트 플랭크 효과와도 일치합니다. EVM을 기반으로 합의 알고리즘만 개선하는 퍼블릭 체인의 경우, 성능 향상을 위해 더 강력한 노드가 필요합니다. 예를 들어, BSC는 블록이 처리할 수 있는 가스 양을 2000 TPS로 제한하는데, 이는 이더채널의 전체 노드가 투자한 것보다 몇 배 더 많은 머신 구성을 필요로 합니다. 이론적으로 1000 TPS에 도달할 수 있지만, 보통은 수십에서 수백에 불과합니다.
BSC 아카이브 노드에는 최소 16코어 CPU와 128G의 RAM이 필요합니다."< span style="font-size: 18px;">이더 노드는 최소 4코어 CPU와 16G의 RAM만 필요합니다.
BSC 팀은 이러한 문제를 오랫동안 인지해 왔으며, NodeReal과 함께 병렬 EVM 기술에 대해 협력하고 있습니다. 이는 블록당 처리할 수 있는 트랜잭션 수를 더욱 증가시켜 더 많은 트랜잭션을 병렬로 실행할 수 있고 TPS 상한을 높일 수 있는 유일한 방법입니다.
병렬: 싱글코어에서 멀티코어 CPU로 업그레이드하는 것만이 아닙니다
대부분의 블록체인 시스템에서는 거래가 전체 순서대로 실행되며, 이는 싱글코어 CPU처럼 현재 계산이 완료되어야 다음 계산을 수행할 수 있다고 생각할 수 있습니다. 다음 계산이 수행되기 전에 현재 계산이 완료됩니다. 이 방식은 느리지만 단순하고 시스템 복잡성이 낮다는 장점이 있습니다.
그러나 향후 블록체인 시스템이 인터넷 수준의 사용자 규모에 접근해야 한다면 단일 코어 CPU로는 충분하지 않습니다. 따라서 멀티코어 CPU를 갖춘 병렬화된 가상 머신으로 업그레이드하면 여러 트랜잭션을 동시에 처리하여 처리량을 늘릴 수 있습니다. 그러나 이는 엔지니어링 구현에 많은 어려움이 있습니다. 예를 들어, 동시에 처리되는 두 트랜잭션이 동일한 스마트 컨트랙트에 데이터를 쓰는 경우 어떻게 해야 할까요? 이러한 모순을 해결하기 위해서는 새로운 메커니즘을 설계해야 합니다. 그리고 전혀 관련이 없는 다른 스마트 콘트랙트의 병렬 실행을 위해 병렬로 처리되는 스레드 수에 따라 처리량을 확장할 수 있을 것입니다.
또한 병렬 EVM은 병렬성을 향상시킬 뿐만 아니라 단일 스레드 실행의 효율성도 최적화합니다. 모나드 CEO Keone Hon의 는 "... (EVM의) 진짜 병목 현상은 사물을 처리할 때 상태를 자주 읽고 쓰는 것입니다..."라고 말했습니다. 그는 또한 병렬 실행은 로드맵의 일부일 뿐이며, 모나드의 더 큰 임무는 이를 중심으로 EVM을 최대한 효율적으로 만드는 것이라고 말했습니다.
따라서 병렬 EVM은 말 그대로 "병렬화"를 의미하지만, 실제로는 EVM의 다양한 구성 요소의 성능을 최적화하는 것이므로, 그 노력은 EVM 표준의 성능 한계를 나타낼 가능성이 높습니다.
EVM은 솔리디티와 다릅니다
스마트 콘트랙트 작성은 대부분의 블록체인 개발자에게 필수적인 기술입니다. 엔지니어는 비즈니스 요구사항에 따라 스마트 컨트랙트를 위한 로직 구현을 솔리디티 또는 기타 고급 언어로 작성할 수 있습니다. 그러나 EVM은 솔리디티의 로직을 직접 읽을 수 없으며, 가상 머신에서 실행하기 전에 머신이 이해할 수 있는 저수준 언어(옵코드/바이트코드)로 번역(컴파일)해야 합니다. 이 번역 프로세스는 이미 이를 구현하는 성숙한 툴이 있기 때문에 솔리디티 개발자가 이해할 필요가 없습니다.
결국 '번역'이므로 약간의 오버헤드가 있습니다. 기본 코드에 대한 경험이 있는 엔지니어의 경우 솔리디티의 옵코드에 직접 로직을 작성하여 성능을 극대화할 수 있습니다(예: Opensea의 Seaport 프로토콜은 사용자의 가스 소비를 최소화하기 위해 스마트 컨트랙트에서 인라인 어셈블리를 광범위하게 활용합니다).
따라서 병렬 EVM이 최종적으로 구현되면 병렬화 기능뿐만 아니라 전체 EVM 스택의 성능도 최적화할 수 있게 됩니다. 기본 VM이 이미 차이를 완화할 수 있을 만큼 충분히 강력하기 때문에 일반 앱 개발자는 약간의 가스를 절약하기 위해 최적화에 큰 노력을 기울일 필요가 없습니다.
가상머신 성능은 다양하며 '표준'과 '엔지니어링 실무'는 다릅니다
'실행 계층'이라고도 하는 '가상머신'은 스마트 컨트랙트가 연산된 후 최종적으로 연산 및 처리되는 엔진으로, 바이트코드로 컴파일된 후 실행됩니다. 이더넷 가상 머신(EVM)에 의해 정의된 '바이트코드'는 현재 업계 표준이며, 이더넷 기반 2차 네트워크와 기타 독립적인 퍼블릭 체인 모두 EVM 표준과 직접적이고 완벽하게 호환되는 것을 선호하기 때문에 개발자는 스마트 콘트랙트를 한 번 작성하고 여러 네트워크에 배포할 수 있어 비용 효율성이 매우 높습니다.
따라서 EVM "바이트코드" 표준을 완벽하게 준수하기만 하면 EVM이라고 부를 수 있지만, 구현 방식은 매우 다양할 수 있습니다. 예를 들어, EVM 표준은 이더넷 클라이언트 Geth에서 Go 언어로 구현됩니다. 그러나 이더넷 재단의 실행 레이어 연구팀인 입실론(Ipsilon)은 다른 이더클라이언트 클라이언트에서 직접 호출하여 EVM으로 실행할 수 있는 독립형 EVM 구현을 C++로 유지 관리하고 있습니다(Ipsilon).
예를 들어, 산업적으로 생산되는 많은 제품에는 자체적인 국제 표준이 있는데, 특정 제품이 공장에서 판매되기 전에 특정 값 미만의 콜로니 수를 충족해야 하는 것과 같은 " 표준"이라고 합니다. 그러나 이 공장 표준을 충족하는 방법은 각 공장에서 수십 가지 멸균 방법 중에서 선택할 수 있으며 일부 공장은 이 요구 사항을 충족하는 더 비용 효율적인 방법, 즉 "관행"을 찾을 수 있습니다.
이것을 구현한 evmone이 있으므로 다른 방법으로도 구현을 할 수도 있습니다. 따라서 이 EVM 예제에서 EVM 기준은 '바이트코드'의 기본적인 작동 방식(예: 덧셈, 뺄셈, 곱셈 등 가장 기본적인 연산 지원)을 정의하고 각 바이트코드는 정의된 입력이 있을 때 정의된 출력을 갖도록 하는 것입니다. 이 표준을 충족하기 위한 구현(사례)은 매우 다양하며, 사용자 정의 및 엔지니어링 최적화의 여지가 많습니다.
병렬 EVM의 유사점과 차이점
병렬 EVM 트랙에는 가장 인기 있는 Monad 외에도 병렬 EVM이 있습니다. 세이, 메가ETH, 폴리곤, 네온 EVM, BSC 그리고 패러다임의 Reth 클라이언트도 병렬화를 구현하기 위해 노력하고 있습니다.
포지셔닝 관점에서 보면 모나드, 세이, 폴리곤, BSC는 모두 레이어 1 블록체인이고, 메가이더스는 레이어 2, 네온 EVM은 솔라나 네트워크에 기반하고 있습니다. 또한, Reth는 오픈 소스 클라이언트이며, MegaETH는 부분적으로 Reth의 엔지니어링을 기반으로 계속 개발될 것입니다.
물론 이들 팀 간에는 아직 경쟁이 진행 중이며, 모든 기술적 세부 사항과 엔지니어링 문서를 완전히 공개하지 않았으므로 더 많은 비교는 공개될 때까지 기다려야 할 것입니다. 어쩌면 BTC 레이어 2, 리스테이크, 이더 레이어 2와 같이 기술(및 오픈 소스)의 미묘한 차이에도 불구하고 생태적 독창성을 구축하는 것이 더 중요한 군비 경쟁과 같은 것일지도 모릅니다.
병렬 EVM의 기술적 어려움
순차적으로 실행되는 트랜잭션의 경우 병목 현상은 CPU와 상태 읽기 및 쓰기 프로세스입니다. 그러나 이 접근 방식은 오류가 없을 정도로 간단하고 모든 트랜잭션이 순차적으로 완료될 때까지 실행된다는 이점이 있습니다. 병렬로 실행되는 VM의 경우 상태 충돌이 발생할 수 있으므로 실행 전 또는 후에 이 부분을 추가해야 합니다.
간단한 예로 가상 머신이 병렬로 실행되는 4개의 스레드를 지원하고 각 스레드가 동시에 하나의 트랜잭션을 처리할 수 있고 4개의 트랜잭션이 모두 Uniswap의 동일한 트랜잭션 풀에 있는 경우, 각 트랜잭션이 풀의 거래 가격에 영향을 주기 때문에 병렬로 계산할 수 없습니다. 트랜잭션 가격에 영향을 미치기 때문입니다. 그러나 이 네 개의 스레드가 동시에 전혀 관련이 없는 네 가지 작업을 수행한다면 아무런 문제가 없습니다.
이를 위해서는 여러 팀이 구현을 설계하고 엔지니어링해야 하지만, 최소한 병렬 실행 후 충돌을 감지하고 충돌이 발생하면 재실행하는 모듈이 있는지 확인하는 것 정도는 할 수 있습니다. 물론 충돌 가능성이 있는 트랜잭션을 미리 예측하고 선별할 수 있다면 전체 VM의 병렬 효율성을 높일 수 있습니다.
병렬 EVM을 VM으로 구현하는 엔지니어링의 차이점 외에도, 팀은 일반적으로 Monad에서 설계한 MonadDb 및 MonadBFT와 같은 합의 알고리즘을 사용하여 상태 저장 데이터베이스의 읽기/쓰기 성능을 재설계하고 개선합니다."
과제
병렬 EVM에는 두 가지 과제가 있습니다: 장기적인 엔지니어링 가치를 이더로 포착할 수 있는지 여부와 노드의 중앙 집중화입니다.
병렬 EVM 기술은 아직 개발 및 테스트 단계에 있기 때문에 아직 모든 엔지니어링 세부 사항을 오픈소스화하기로 결정한 팀은 없으며, 이는 현재의 해자 중 하나입니다. 그러나 테스트 네트워크와 메인 네트워크에 들어가면 이러한 엔지니어링 파일은 공개될 것이며 이더나 다른 퍼블릭 체인에 흡수될 수도 있습니다. 따라서 그 시점에서는 생태적 건설을 더 빨리 진행하고 더 많은 생태적 수준의 해자를 건설해야 할 것입니다.
그러나 암호화폐 개발자들이 사용할 수 있는 오픈소스 라이선스(코드를 공개할 수는 있지만 상용 프로젝트로의 포크는 허용하지 않는 Uniswap과 같은)가 더 많고, 모나드의 포지셔닝이 이더와 다르기 때문에 문제는 그렇게 심각하지 않습니다. 반면에 모나드의 포지셔닝은 이미 이더와 다릅니다. 이더가 향후 단일 슬롯 완결성(SSF)을 달성하더라도 거래 완결성은 여전히 최소 12초로, 더 빈번한 시나리오에는 충분하지 않습니다.
모든 고성능 퍼블릭 체인에 공통적으로 적용되는 또 다른 과제는 탈중앙화라는 기본적인 사용자 요구 사항을 충족하기 위해 더 많은 노드를 배포하는 방법입니다. 이는 "TPS를 노드의 하드웨어 요구사항으로 나눈 값"과 같은 지표로 정량화할 수 있으며, 이를 통해 주어진 하드웨어 요구사항 기준에 대해 어떤 퍼블릭 체인/클라이언트의 TPS가 더 높은지 비교할 수 있는 제어 변수가 될 수 있을 것입니다. 결국, 노드의 하드웨어 요구 사항이 낮을수록 노드 수가 많을 가능성이 높습니다.
다음으로는 다양한 병렬 EVM 프로젝트의 진행 상황을 추적하고 각 프로젝트의 기술과 차이점에 대해 더 자세히 알아보도록 하겠습니다.