Cointime

Download App
iOS & Android

EVM 컴파일 기술과 프로세스를 한 기사로 이해하기: 이더리움 기술 생태계의 안정적인 운영의 열쇠

블록체인 기술이 지속적으로 발전하면서 EVM(Ethereum Virtual Machine)의 성능이 폭넓은 관심의 초점이 되었습니다. EVM은 이더리움 생태계의 핵심이며 모든 거래와 스마트 계약의 실행을 담당하여 소위 World State라고 불리는 네트워크의 글로벌 상태를 유지합니다. 거래 유형은 단순한 이더리움 전송부터 스마트 계약 배포 및 실행까지 다양합니다.

스마트 계약은 EVM에서 실행되는 프로그램으로, 복잡한 비즈니스 로직을 실행하며 일반적으로 Solidity와 같은 고급 언어로 작성됩니다. 작성된 Solidity 스마트 계약 코드는 EVM에서 직접 실행할 수 있는 바이트코드로 컴파일된 후 배포를 위해 트랜잭션을 통해 이더리움 네트워크로 전송되어야 합니다. 일단 배포되면 사용자는 계약 기능을 호출하여 미리 결정된 논리를 실행할 수 있습니다.

이더리움 EVM 컨셉 맵

이 과정에서 EVM 컴파일 기술은 매우 중요하며 이더리움 네트워크의 전반적인 성능에 영향을 미칩니다. 이 기사에서는 독자들이 이 핵심 기술에 대해 더 깊이 이해할 수 있도록 EVM 컴파일 프로세스의 일부 핵심 사항에 대한 심층 분석을 수행할 것입니다.

EVM(Ethereum Virtual Machine)의 컴파일 기술은 항상 연구 개발의 초점이었습니다. 이는 전체 블록체인 네트워크의 성능과 보안에 관한 것입니다. EVM 컴파일 방법과 관련하여 일반적인 질문은 다음과 같습니다. 어떤 컴파일 방법을 선호합니까? JIT(Just-In-Time) 컴파일인가요, 아니면 AOT(Ahead-of-Time) 컴파일인가요? JIT 컴파일러는 프로그램이 실행되는 동안 프로그램을 컴파일하는 컴파일러입니다. 프로그램이 실행되기 전에 모든 코드를 기계어로 변환하는 것이 아니라, 프로그램 실행 중에 코드의 특정 부분을 실행해야 하는 경우에만 기계어로 컴파일합니다. AOT 컴파일러는 프로그램이 실행되기 전에 소스 코드를 기계어 코드로 완전히 컴파일하는 컴파일러입니다. 이는 프로그램이 실행되기 시작하면 모든 코드가 직접 실행될 수 있는 기계어 코드로 변환되었음을 의미합니다.

단일 계약의 관점에서 볼 때 EVM은 AOT에 더 편향된 것으로 보입니다. 작업 중에 완전히 컴파일되고 완전히 해석되는 계약에는 두 가지 모드만 있습니다. 이는 실행 중에 코드의 일부(예: 자주 실행되는 핫 경로)가 컴파일되는 상황이 없음을 의미합니다. 하지만 전체적으로 생각해보면 일반적으로 사용되는 계약은 미리 컴파일되어 있고 다른 계약은 인터프리터를 사용하여 실행됩니다. 이 모델은 JIT와 어느 정도 유사합니다. 그렇다면 이 구현을 선택하는 이유는 무엇입니까? 주된 이유는 이 방법이 구현 및 유지 관리가 매우 편리하고 성능 상한이 높기 때문입니다.

또한 EVM의 evmone이 이미 모든 opcode의 의미 체계를 구현했다는 점을 고려하면 개발자는 이러한 opcode를 연결하기 위해 약간의 수정만 한 다음 컴파일을 위해 고도로 최적화된 C++ 컴파일러에 전달하면 됩니다. 이 접근 방식은 "최초의 후타무라 프로젝션"이라고도 알려진 인터프리터와 소스 코드를 결합하여 컴파일된 코드를 직접 생성하는 오래된 이론적 컴퓨터 과학 아이디어에서 영감을 받았습니다. 전반적으로 선택된 전략은 프로젝트의 효율성, 안정성 및 유지 관리 가능성을 보장하는 동시에 향후 성능 개선도 충분히 고려하는 것을 목표로 합니다.

EVM 컴파일 기술은 실행 효율성을 크게 향상시킬 수 있으며, EVM 실행 효율성의 증가를 통해 노드는 동일한 하드웨어 조건에서 더 많은 컴퓨팅 작업을 더 빠르게 완료할 수 있습니다. 이는 블록당 처리할 수 있는 트랜잭션 수가 늘어나고 이에 따라 네트워크 처리량이 늘어나기 때문에 이론적으로 가스 한도를 늘릴 수 있습니다. 동시에, 더 높은 가스 한도는 더 복잡한 스마트 계약의 실행을 지원하고 거래 확인 시간을 단축할 수 있습니다.

EVM 컴파일 기술은 실행 효율성을 크게 향상시킬 수 있으며, EVM 실행 효율성의 증가를 통해 노드는 동일한 하드웨어 조건에서 더 많은 컴퓨팅 작업을 더 빠르게 완료할 수 있습니다. 이는 블록당 처리할 수 있는 트랜잭션 수가 늘어나고 이에 따라 네트워크 처리량이 늘어나기 때문에 이론적으로 가스 한도를 늘릴 수 있습니다. 동시에, 더 높은 가스 한도는 더 복잡한 스마트 계약의 실행을 지원하고 거래 확인 시간을 단축할 수 있습니다.

그러나 가스 한도를 높이는 데 위험이 없는 것은 아닙니다. 우리는 컴파일 기술 자체의 리소스 소비를 평가해야 합니다. 현재 가스 모델은 컴파일 프로세스의 리소스 소비를 완전히 반영하지 않습니다. 단순히 가스 한도를 완화하는 것은 악의적으로 악용될 수 있습니다. 컴파일되고 최적화된 코드의 실행 효율성이 고르지 않게 향상되거나 컴파일 프로세스 자체에 비용이 많이 드는 경우 무턱대고 가스 한도를 늘리면 DoS 공격과 같은 보안 위험이 발생할 수 있습니다. 따라서 가스 한도를 늘리기 위한 모든 조치는 네트워크의 보안과 안정성이 손상되지 않도록 보장해야 합니다.

이 문제에 대한 한 가지 가능한 해결책은 컴파일 비용을 정량화하는 통일된 방법을 찾는 것입니다. 그러나 계약 작성 알고리즘의 복잡성이 다양하기 때문에 작성 비용을 정량화하기가 어렵습니다. 보다 합리적인 전략은 EVM에 컴파일 전처리 단계를 추가하여 노드가 컴파일 중에 가스 소비량을 계산하고 실제 비용을 정확하게 기록할 수 있도록 하는 것입니다. 또한 모든 계약을 강제로 편집하는 것은 컴퓨팅 및 스토리지 리소스를 과도하게 소비하게 되므로 실용적이지 않습니다. 실제로 일부 계약만 자주 사용되며 대부분은 거의 호출되지 않습니다. 보다 효율적인 접근 방식은 "핫" 계약과 "콜드" 계약을 구별하고 해당 활성 핫 계약만 컴파일하는 것입니다. 실행 클라이언트는 계약의 최근 가스 사용량을 기반으로 컴파일 캐시를 컴파일할지 아니면 지울지 결정할 수 있습니다. 이 공격은 공격자가 부담하는 계산 비용이 사용자가 실제로 지불한 가스 요금보다 낮을 경우 경제적으로 유효합니다.

EVM 퍼블릭 체인 생태 데이터 차트

전반적으로 EVM 컴파일 기술의 개선은 가스 모델 설계에 큰 영향을 미쳤습니다. 이를 위해서는 경제적 인센티브, 컴파일 알고리즘 복잡성, 클라이언트 구현 등 여러 측면에서 포괄적인 고려와 균형이 필요합니다. 완전히 투명한 컴파일 기술은 달성하기 어려울 수 있지만, 프로토콜을 자주 조정할 필요 없이 컴파일 기술이 자연스럽게 통합될 수 있도록 이 설계 아이디어를 더 연구하는 것이 중요합니다. EVM 컴파일 기술의 발전은 가스 모델의 지속적인 최적화를 촉진하고 시스템의 안전하고 효율적인 작동을 보장해야 합니다.

EVM(Ethereum Virtual Machine) 컴파일 기술이 향상됨에 따라 몇 가지 주요 이점을 기대할 수 있습니다.

1. 보안 - 퍼징/테스트가 더 빨라질 수 있습니다.

퍼징(Fuzzing)은 대량의 랜덤 데이터를 자동으로 생성해 프로그램에 주입하고, 충돌이나 장애 등 이상 현상을 모니터링해 보안 취약점을 탐지하는 자동화된 소프트웨어 테스팅 기술이다. EVM 컴파일 기술이 향상되면 컴파일되고 최적화된 EVM 코드가 더 빠르게 실행되고 더 짧은 시간에 더 많은 테스트 반복을 수행할 수 있기 때문에 퍼징 프로세스 속도가 빨라질 수 있습니다.

테스트란 단위 테스트, 통합 테스트 등 스마트 계약의 다양한 테스트 프로세스를 의미합니다. 컴파일 기술의 향상으로 스마트 계약의 실행 효율성이 향상되었으며 테스트 프레임워크는 계약 호출 및 검증을 더 짧은 시간에 완료할 수 있습니다.

2. 고성능 앱별 롤업:

롤업(Rollup)은 여러 트랜잭션을 하나 또는 여러 트랜잭션으로 패키징하고 오프체인 처리 후 결과를 메인체인에 제출하는 블록체인 확장 솔루션입니다. 앱별 롤업은 분산형 거래소(DEX)에만 서비스를 제공하는 등 단일 애플리케이션용으로 설계된 롤업을 의미합니다. 이러한 환경에서는 컴파일 기술을 특정 애플리케이션에 최적화하여 실행 효율성을 높일 수 있으며, 컴파일러 버그(컴파일러 폭탄)로 인한 성능 문제를 걱정할 필요도 없고, 비활성(컴파일러 폭탄)으로 인한 부담을 감당할 필요도 없습니다. 감기) 계약.

3. 보다 효율적인 RPC 노드:

RPC(원격 프로시저 호출) 노드는 스마트 계약 상태를 읽기 위해 eth_call을 실행하는 등 외부 세계가 블록체인 네트워크와 상호 작용할 수 있는 인터페이스를 제공합니다. EVM 컴파일 기술의 최적화는 RPC 노드의 요청 처리 능력을 크게 향상시킬 수 있으며, 읽기 작업을 처리할 때 최적화된 노드는 최적화되지 않은 100개의 노드에 해당하는 처리 능력을 가질 수 있습니다. 이는 네트워크가 더 낮은 비용으로 더 높은 처리량을 제공할 수 있음을 의미합니다.

4. 컴퓨팅 집약적인 DApp이 가능해졌습니다.

4. 컴퓨팅 집약적인 DApp이 가능해졌습니다.

컴퓨팅 집약적인 DApp은 복잡한 금융 모델, 과학적 컴퓨팅 또는 그래픽 처리와 같은 작업을 수행하기 위해 많은 양의 컴퓨팅 리소스가 필요한 분산형 애플리케이션을 말합니다. 현재 이러한 유형의 애플리케이션은 가스 비용 및 컴퓨팅 성능의 한계로 인해 구현하기 어렵습니다. EVM 컴파일 기술의 향상으로 보다 효율적인 코드 실행이 가능해지며, 이를 통해 각 계산 단계의 가스 비용을 줄이고 계약 실행 속도를 높일 수 있습니다. 이를 통해 더 복잡하고 계산 집약적인 애플리케이션을 블록체인에서 실행할 수 있어 새로운 애플리케이션 시나리오와 비즈니스 모델이 열립니다.

이러한 확장을 통해 우리는 EVM 컴파일 기술이 기존 애플리케이션의 효율성과 보안을 향상시킬 수 있을 뿐만 아니라 잠재적으로 차세대 컴퓨팅 집약적 애플리케이션의 개발을 촉진할 수 있다는 것을 알 수 있습니다. 블록체인 기술이 발전함에 따라 미래의 블록체인 네트워크는 더욱 효율적이고 다양해지며 다양한 분산형 애플리케이션을 지원할 수 있습니다.

EVM(Ethereum Virtual Machine)에 성능 병목 현상이 있는지 여부는 사용 시나리오에 따라 다릅니다. 첫 번째 계층(L1)의 실시간 동기화 작업에서 EVM은 동기화 프로세스 중 컴퓨팅 요구 사항이 네트워크의 다른 부분에 비해 여전히 제어 범위 내에 있기 때문에 병목 현상을 일으키지 않습니다. 그러나 처리량을 크게 늘리도록 설계된 레이어 2(L2) 및 레이어 3(L3) 확장 솔루션의 경우 EVM 성능이 특히 중요합니다.

Reth와 같은 고성능 실행 클라이언트의 성능 분석에 따르면 더 높은 구성의 서버(예: 대용량 메모리 및 NVMe SSD 장착)에서 실행할 경우 EVM 인터프리터는 기록 데이터의 25%~33%를 소비한 것으로 나타났습니다. 동기화 프로세스 컴퓨팅 리소스의 %입니다. 이 비율은 입출력(IO) 작업의 리소스 소비보다 약간 낮습니다. L1보다 더 높은 처리량 차수를 달성하려고 노력하는 L2 솔루션(예: MegaETH 프로젝트)의 경우 EVM이 현재 오버헤드의 5%만 차지하더라도 빠르게 성능 병목 현상이 발생할 수 있습니다. 이는 처리량이 증가함에 따라 원래 작은 오버헤드가 상대적으로 커지게 되어 전체 시스템의 성능 향상이 제한되기 때문입니다. 이를 위해 MegaETH는 가능한 모든 병목 현상을 고려하고 각 병목 현상에 대한 해당 솔루션을 설계했으며, 그 중 EVM 컴파일 최적화는 많은 조치 중 하나일 뿐입니다.

영지식 EVM(zkEVM)의 대표 프로젝트인 폴리곤(Polygon)

영지식 EVM(zkEVM)의 경우 추적 생성(tracegen) 링크에서 성능 병목 현상이 발생할 수 있습니다. 네이티브 코드가 표준 EVM 인터프리터보다 100배 빠르게 실행된다고 가정하면 먼저 모든 트랜잭션을 빠르게 실행하고 트랜잭션을 세그먼트로 분할하고 각 단계가 끝날 때 중간 상태를 얻을 수 있습니다. 마지막으로 각 세그먼트의 추적 생성 증명 작업을 zkEVM에 할당하고 이를 병렬로 처리할 수 있는 작업으로 변환할 수 있습니다. 이러한 전처리 방법은 원래 순차적으로 실행되던 작업을 대규모 병렬 처리가 가능한 작업으로 변환함으로써 처리 효율성을 크게 향상시킬 수 있습니다. 이는 zkEVM의 잠재적 구현에 대한 초기 이해일 뿐이지만, 현재 블록체인이 직면하고 있는 성능 문제를 해결하기 위해 혁신할 수 있는 방법에 대해 조명합니다.

블록체인 기술은 아직 초기 단계에 있으며 핵심 기술 구성 요소 중 하나인 EVM은 편집 및 운영 최적화 측면에서 여전히 개선의 여지가 많습니다. 블록체인 기술이 더욱 성숙해짐에 따라 EVM의 성능이 더 높은 수준에 도달하고 향후 다양하고 대규모 애플리케이션을 지원하며 충분한 보안을 유지할 수 있을 것으로 기대합니다.

EVM 컴파일 기술의 개발 및 적용은 이더리움 네트워크를 새로운 시대로 이끌 것입니다.우리는 더 많은 혁신을 가져올 수 있는 더 많은 연구와 탐구를 기대합니다.

댓글

모든 댓글

Recommended for you