zkEVM 성능 측정 가이드: 개발자는 ZK 롤업 프로젝트를 어떻게 선택합니까?
저자: 재로드 와츠
원본 편집: BlockBeats
이더리움의 확장 전쟁에서 Optimistic 롤업은 EVM과 매우 호환되거나 완전히 동일하므로 개발자가 채택할 수 있는 이 트랙에서 Arbitrum 및 Optimism의 고유한 이점을 얻을 수 있습니다. L1에서 L2로의 원활한 포팅 코드와 풍부한 개발 도구를 통해 신속하게 개발자가 플랫폼에 정착하고 애플리케이션을 배포하고 생성하도록 유도합니다.
대조적으로, ZK 시리즈는 더 어렵습니다. 고유한 기술적 특성으로 인해 ZK 롤업은 자체 가상 머신을 사용자 정의하게 됩니다. 이는 프로젝트 당사자가 EVM의 코드를 해석하거나 처음부터 새로운 코드를 개발하고 작성하기 위해 더 많은 작업을 수행해야 함을 의미합니다. 그러나 Taiko, Polygon, Linea, Scroll 및 ZkSync Era를 포함한 여러 ZK 롤업 트랙 프로젝트는 자체 zkEVM 구현을 시작했습니다.
확장의 성배인 zkEVM은 개발자의 계약 배포 경험에 중요한 영향을 미칩니다. 다양한 ZK 롤업 프로젝트에 직면한 개발자는 어떻게 선택해야 합니까?
이 기사는 다음에서 편집되었습니다.Jarrod Watts의 트윗 요약그는 Polygon의 개발자 관계 엔지니어로, 현재 인기 있는 ZK 롤업 프로젝트에 스마트 계약(1 Solidity 스마트 계약 및 NFT 계약)을 배포하여 Taiko, Polygon, Linea, Scroll 및 같은 프로젝트의 zkEVM 성능을 분석했습니다. ZkSync Era.실제 테스트를 진행하고, 각각의 장단점과 L2에서 L1까지의 시간을 비교하고, Two-Layer Contract를 배포하려는 개발자를 위한 테스트 가이드를 제공했습니다.
첫 번째 수준 제목
보조 제목
ZK-EVM이 무엇인지 해석하기 전에 ZK-EVM이 왜 필요한지 살펴 보겠습니다.
ZK Rollups는 이더리움에 확장성과 고성능을 제공합니다. 반면에 ZK Rollups 솔루션은 EVM(Ethereum Virtual Machine)과 호환되지 않습니다. 이는 ZK Rollups 솔루션이 전송을 포함한 제한된 작업만 지원할 수 있음을 의미합니다. 화폐화나 파괴, 지갑과 같은 도구는 사용자를 위해 개발되어야 합니다.
따라서 EVM과 호환되는 ZK Rollup이 필요하며, 이를 위해 다양한 회사에서 자체 ZK-EVM을 개발했습니다.
ZK-EVM 또는 영지식 EVM은 영지식 증명과 호환되는 이더리움 가상 머신 구현입니다.
ZK-EVM의 주요 기능은 Ethereum L2(계층 2)에서 트랜잭션을 일괄 처리하고 일괄 트랜잭션의 유효성 증명을 Ethereum L1로 다시 보내는 것입니다. 일반적으로 zkEVM은 이더리움 메인넷에 대한 모든 작업을 수행할 수 있습니다. Solidity 또는 Vyper에서 사람이 읽을 수 있는 코드를 바이트코드로 컴파일하고 스마트 계약을 실행하며 블록체인 상태를 업데이트합니다.
EVM 호환 ZK 롤업을 구축할 때 어려운 점은 이더리움이 원래 ZK 친화성을 염두에 두고 설계되지 않았다는 것입니다. 이는 영지식 증명을 계산하는 데 많은 리소스가 필요하다는 것을 의미합니다.
보조 제목
Opcode, 바이트코드, EVM이란 무엇입니까?
이제는 대중 과학의 시대입니다. opcode, bytecode 및 EVM은 무엇입니까?
우선, EVM은 이더리움의 스마트 계약을 위한 운영 환경입니다. 이더리움은 블록의 각 트랜잭션이 실행된 후에 변경되는 트리 트리 데이터 구조에 소위 머신 상태를 저장합니다.
~에 따르면
~에 따르면이더리움 개발자 문서, 이전의 유효한 상태(S) + 새로운 유효한 트랜잭션 세트(T), 이더리움은 새로운 유효한 출력 상태 S'를 생성합니다.

체스와 같은 게임이라고 생각하시면 됩니다. 이더리움은 다양한 게임 상태가 있는 체스판과 같으며, 이더리움에서는 이 상태의 가능성이 무한합니다. 보드 게임에는 고유한 특정 이동 규칙(이더리움의 거래 비교)이 있으며 어떤 작업이 어떤 조각에서 수행될 수 있는지에 대한 특정 제한이 있습니다. 게이머는 조치를 취하고(사용자가 이더리움에서 거래를 제출하는 것과는 반대로) 게임(이더리움)은 규칙을 공식화하고 시행하여 각 라운드(블록 시간에 해당) 후에 새로운 보드(이더리움 글로벌) 상태가 생성됩니다.
Ethereum 또는 EVM 호환 블록체인 개발의 경우 스마트 계약을 Solidity로 작성해야 합니다. Solidity는 개발자가 레지스터, 메모리 주소, 호출 스택 및 기타 추상화보다는 코드 작성에 집중할 수 있도록 사람이 읽을 수 있도록 설계된 고급 언어입니다.
그러나 EVM은 Solidity를 읽을 수 없습니다. 대신, 기계가 읽을 수 있는 이진 코드인 바이트코드만 이해합니다.
EVM에서 바이트코드(바이트코드)는 일련의 EVM opcode(opcode)를 나타내며, opcode는 EVM에서 수행할 수 있는 특정 작업을 나타내는 프로그램의 낮은 수준에서 읽을 수 있는 명령어입니다.
Solidity와 같은 고급 언어는 EVM에서 직접 실행될 수 없기 때문에 사람이 읽을 수 있는 Solidity 언어 opcode 바이트코드에서 스마트 계약 코드를 변환하여 컴파일러의 작업인 EVM에서 실행되도록 하는 방법이 필요합니다.
Remix IDE 컴파일러로 Solidity 코드를 컴파일한 후 스마트 계약이 변환되는 특정 opcode를 볼 수 있고 opcode에서 생성된 바이트코드를 볼 수 있습니다.

opcode는 다음과 같습니다.

다음은 위 opcode에 해당하는 바이트코드이다.

바이트코드를 opcode로 변환하면 바이트코드에 어떤 실행 명령이 포함되어 있는지 알 수 있습니다.
첫 번째 수준 제목
다양한 유형의 ZK-EVM
이더리움 설계는 초기에 ZK 친화성을 고려하지 않았기 때문에 이론적으로 이더리움 설계에 가까울수록 ZK 증명을 생성하는 것이 더 어렵고 시간이 많이 걸립니다. 2022년 8월, 이더리움 창립자 Vitalik은 블로그 게시물을 게시했습니다.다양한 유형의 ZK-EVM의 미래에 대한 Vitalik의 해석을 들어보세요., 다양한 ZK-EVM을 분류합니다.
이 기사에서 Vitalik은 EVM 호환성과 ZK 증명 생성 시간(성능)이라는 두 가지 차원을 기반으로 다양한 ZK-EVM을 분류했습니다. Vitalik은 이 차트에 4가지(절반) 유형을 나열했습니다. 현재 시중에 나와 있는 모든 ZK-EVM 제품은 포함됩니다.

1. 첫 번째 유형의 ZK-EVM은 이더리움과 완전히 동일하며 이더리움 시스템의 어떤 부분도 변경하지 않으며 증명을 생성하기가 더 쉽습니다. 이러한 시스템에서는 ZK 증명을 생성하는 데 오랜 시간(몇 시간)이 걸립니다. Taiko는 이러한 유형의 ZK-EVM에 속합니다.
2에서 두 번째 유형은 EVM과 완전히 동일하지만 체인 상태가 저장되는 방식과 같은 일부 다른 내부 표현을 변경하여 ZK 증명 생성 시간을 단축합니다. 현재 시장에는 이러한 유형의 ZK-EVM이 없지만 Polygon, Linea 및 Scroll이 이 방향으로 작업하고 있습니다.
2.5, 유형 2와 유형 3 사이에 유형 2.5도 있습니다. 이 유형은 특정 유형의 작업에 대한 가스 비용이 최악의 경우 증명 시간을 크게 단축하기 위해 증가한다는 점을 제외하면 EVM과 정확히 동일합니다. 현재 시장에는 이러한 유형의 ZK-EVM이 없지만 Kakarot이라는 새로운 ZK-EVM 프로젝트가 진행 중입니다.
3, 유형 3은 EVM과 거의 동일하지만 증명 시간을 더욱 단축하고 EVM 개발을 단순화하기 위해 등가 정확도가 일부 절충되었습니다. 현재는 Polygon, Linea, Scroll이 이 유형입니다.
4. 유형 4는 ZK-EVM의 고급 언어와 동일합니다. 이 유형의 ZK-EVM은 스마트 계약의 소스 코드를 ZK-SNARK 친화적인 언어로 컴파일하므로 증명 시간이 더 빨라지고 이에 따라 다음과 같은 단점이 발생합니다. 비호환성과 한계로 인해. 현재 zkSync Era가 이 범주에 속합니다.
첫 번째 수준 제목
전투: Taiko, Polygon, Linea, Scroll 및 ZkSync Era 개발 평가
이론적 지식을 검토한 후, 실제 전투 부분은 다음과 같다.
보조 제목
Taiko ZK-EVM
Taiko는 유형 1 ZK-EVM이며 현재 테스트넷 단계에 있습니다. Taiko는 동일한 해시 함수, 가스 가격, 암호화 알고리즘 등을 사용하여 Ethereum이 수행하는 작업을 정확하게 처리합니다.
운영 프로세스: 간단한 Solidity 스마트 계약을 배포하고 ThirdWeb 프록시를 사용하여 간단한 NFT 컬렉션을 배포했습니다.
보조 제목

Linea ZK-EVM
Linea는 Type 3 ZK-EVM에 속하며 Linea는 아직 모든 opcode나 사전 컴파일을 증명할 수 없으며, 다른 해시 함수를 사용하는 등 Ethereum과 다른 체인 내부 상태를 나타냅니다.
배포된 바이트코드는 이더리움과 동일합니다.

배포 프로세스가 거의 원활하게 진행되어 두 스마트 계약을 쉽게 배포하고 상호 작용할 수 있었습니다. 이는 이더리움과 동일한 동작입니다. 기존 도구와 지갑을 사용하여 스마트 계약을 배포하고, 상호 작용하고, NFT를 발행할 수 있습니다.
이 기사를 작성할 당시 Linea는 아직 브리지 프런트엔드 인터페이스를 출시하지 않았습니다. 따라서 브리지된 스마트 계약 기능만 직접 호출할 수 있습니다.
보조 제목
Polygon ZK-EVM
Polygon ZK-EVM은 Type 3 ZK-EVM에 속하며 올해 3월 말부터 메인넷을 출시했습니다.
Polygon zkEVM은 공식 문서에 EVM과 zkEVM 간의 현재 차이점을 모두 나열합니다.

Polygon zkEVM에 바이트코드를 배포하는 것은 Ethereum과 동일하므로 스마트 계약을 배포하고 상호 작용하는 것이 매우 간단합니다. Vitalik은 Polygon zkEVM은 독특한 디자인을 가지고 있으며 zkASM이라는 자체 내부 언어를 검증하기 위해 ZK를 사용하고 있습니다라고 말한 적이 있습니다.
Polygon 엔지니어링 팀은 Vitalik 다이어그램의 Type 2가 되는 것을 목표로 증명 생성 및 철회 시간을 개선하는 것 외에도 남은 사전 컴파일을 향후 가능한 한 빨리 완료할 것이라고 밝혔습니다.
보조 제목
Scroll
스크롤은 Type 3 ZK-EVM에 속하며 현재 테스트넷 단계에 있습니다. 스크롤은 공식 문서에서 ZK-EVM과 Ethereum EVM의 차이점도 나열합니다.

보조 제목
ZkSync Era
ZkSync 시대는 Type 4 ZK-EVM에 속합니다. 다른 ZK-EVM과 완전히 다른 점은 ZkSync Era의 zkEVM에 배포된 스마트 계약 바이트코드가 이더리움과 다릅니다.
이를 통해 ZkSync Era는 고유한 기능, 계정 추상화에 대한 기본 지원을 제공하여 다른 개발자 경험을 제공할 수 있습니다. 일반적으로 대부분의 암호화폐 지갑은 자금을 보내고 받고 스마트 계약과 상호 작용할 수 있는 표준 주소일 뿐입니다. 계정 추상화를 통해 암호화폐 지갑은 사용자 정의가 가능하며 더 광범위한 기능을 제공하기 위해 보다 복잡한 방식으로 설계될 수 있습니다. 또한 zkEVM을 사용하면 개발자는 여전히 Solidity와 같은 고급 언어를 사용할 수 있습니다.
ZkSync Era의 ZK-EVM은 EVM과 상당히 다르지만 ZkSync Era는 개발자를 위한 일련의 모범 사례와 고려 사항을 제공합니다. 또한 개발자는 ZkSync Era용으로 특별히 빌드하기 위해 개발 프로세스를 약간 조정해야 합니다.
예를 들어, 아래 예에서는 Era ZK-EVM에 배포할 수 있는 바이트코드를 생성하려면 사용자 정의 zkSync 확장을 사용하여 Hardhat 환경을 설치하고 구성해야 합니다.

컴파일은 위의 ZK-EVM에서 생성된 바이트코드와 완전히 다른 이더리움과 완전히 다른 새로운 바이트코드를 생성합니다.

주목할 만한 점은,ThirdWeb은 현재 zkSync Era를 출시했으며, 개발자에게 보다 편리한 배포 경험을 제공하기 위해 zkSync Era를 출시했습니다.
보조 제목
Kakarot ZkEvm
발문
발문
EVM 호환 ZK 솔루션의 발전은 업계 전체에 큰 승리이기 때문에 최종 사용자에게는 누가 승리하는지는 중요하지 않습니다. 각 프로젝트 당사자마다 전체 산업의 발전을 촉진하기 위해 다양한 방법을 모색하는 만큼 경쟁이 아닙니다. Vitalik은 다중 인증자 이론까지 가지고 있습니다. 기본 전제는 서로 다른 롤업이 함께 작동할 수 있다는 것입니다. 이로써 이더리움의 전반적인 보안이 강화됩니다.
결국 모두가 이더리움의 성공을 원합니다. L2 확장 변환은 Vitalik이 이더리움이 겪어야 할 세 가지 기술적 변환 중 하나입니다. 앞으로 어떻게 발전할지 기다려보겠습니다.


