DEINSIGHT2025 등록 카운트다운이 시작됩니다! 10월 5일 실리콘 밸리의 AI 및 암호화폐 업계 리더들과 함께하세요! [지금 가입하세요]
API RootData 앱 다운로드

L2 트랙 폭발 전야, 각종 zkEVM 분석

2024-09-19 06:43:39

공유하십시오

저자:0xRJ.eth

서론

2023년 가을과 겨울에 시행될 예정인 이더리움의 주요 업그레이드인 ------칸쿤 업그레이드(Cancun-Deneb Upgrade)의 핵심 목표는 이더리움 네트워크의 확장성, 보안성 및 사용성을 강화하고, 동시에 2층 네트워크의 가스 비용을 대폭 낮추는 것입니다. 따라서 성공적으로 시행된다면 이더리움 2층 확장(L2 Rollups) 생태계에 직접적인 혜택을 줄 것이며, 심지어 전체 L2 트랙의 폭발적인 성장을 이끌 가능성도 있습니다.

L2 확장 트랙에서, 뛰어난 데이터 압축 성능을 가진 제로 지식 증명 확장 솔루션(ZK Rollups)은 이미 이더리움의 중장기 핵심 솔루션으로 여겨지고 있습니다. 이더리움 창시자 비탈릭은 2022년 각 ZK Rollups와 EVM(이더리움 가상 머신)의 호환성에 따라 이를 4가지 다른 유형으로 분류하여 zkEVM 유형의 기본 기준을 확립했습니다.

이 글은 위의 비탈릭의 혁신적인 분류 기준에 깊은 영감을 받았습니다. 1년의 발전을 거쳐 이 분야는 중요한 진전을 이루었습니다. 본문은 명확한 논리와 간결한 언어로 비탈릭의 통찰을 바탕으로 트랙 업데이트와 더 자세한 해석(기술 초보자 친화적)을 제공하는 것을 목표로 합니다.

EVM이란 무엇인가?

EVM(이더리움 가상 머신)은 첫 번째 튜링 완전 블록체인 가상 머신입니다. 이는 이더리움에서 코드가 실행되는 환경으로, 이더리움 네트워크에 배포된 스마트 계약을 실행하는 데 특화되어 있습니다. EVM을 통해 스마트 계약은 분산 네트워크에서 자동화된 기능을 구현할 수 있습니다.

2015년에 출시된 EVM은 지금까지 가장 검증된 블록체인 가상 머신으로, 이더리움의 매우 중요한 기반 시설입니다. 다른 블록체인을 평가할 때 EVM 호환 여부는 중요한 고려 요소가 되며, EVM 호환성은 스마트 계약 실행 환경과 사용 가능한 이더리움 도구 세트뿐만 아니라 거대한 네트워크 효과와 복잡한 생태계를 나타냅니다.

하지만 EVM은 설계 초기부터 ZK Rollup L2가 이더리움 확장의 핵심 솔루션이 될 것이라고 상상하지 않았기 때문에, EVM의 설계는 제로 지식 증명에 친화적이지 않았습니다. 이로 인해 제로 지식 증명에 친화적인 EVM(zkEVM)을 구축하는 것이 매우 어려워졌습니다.

zkEVM이란 무엇인가?

제로 지식 증명(Zero Knowledge Proof)과 이더리움 가상 머신(EVM) 호환성의 어려움 때문에 초기 ZK Rollup은 EVM을 지원하지 않았습니다. 이들은 일반적으로 스마트 계약을 실행할 수 있는 능력이 부족하거나 특별한 가상 머신을 지원하여 상대적으로 간단한 특정 시나리오에 제한되었습니다: 예를 들어, 토큰 교환(swap) 및 지불(payment)입니다.

이 문제를 해결하기 위해 많은 조직과 연구자들이 zkEVM(제로 지식 이더리움 가상 머신)을 만드는 데 집중했습니다. 이름에서 알 수 있듯이, 이는 스마트 계약이 EVM에서 실행되는 과정과 결과에 대해 제로 지식 증명을 생성하는 것입니다.

ZK Rollup 확장 솔루션의 결정성과 기술 발전이 증가함에 따라, 각 zk 확장 프로젝트는 호환성(Compatibility)과 성능(Performance, 제로 지식 증명 생성 시간 Proving Time) 간의 균형을 맞추기 위해 다양한 방법으로 EVM 실행과 제로 지식 증명 계산을 결합하는 방법을 개척했습니다.

다양한 유형의 zkEVM:

출처:비탈릭 블로그 "다양한 유형의 ZK-EVMs"

2022년 비탈릭은 "다양한 유형의 zkEVM"에 대해 설명하며 시장의 zk 확장 프로젝트를 대략적으로 분류하고 비교했습니다.

이제 우리는 간단한 언어와 명확한 논리를 사용하여 zkEVM의 유형, 기술 구조 및 각자의 장단점을 정리해 보겠습니다.

Type1 클래스 zkEVM :이더리움과 완전히 동등함

Type2 클래스 zkEVM:EVM 이더리움 가상 머신과 완전히 호환됨 (한때 Type2.5 클래스가 있었으나 현재는 기본적으로 Type2 클래스와 통합됨)

Type3 클래스 zkEVM:EVM 이더리움 가상 머신과 거의 호환됨

Type4 클래스 zkEVM:고급 언어와 호환됨

Type1 클래스 zkEVM------이더리움과 완전히 동등함

구조:

  • 이더리움과 완전히 동일하며 이더리움 시스템 환경의 어떤 부분도 변경할 필요가 없습니다.

  • 해시(Hashes), 상태 트리(State Trie), 거래 트리(Transactions Trie), 사전 컴파일 계약(Precompiles) 및 기타 모든 합의 논리(In-consensus Logic)를 대체할 필요가 없습니다.

  • 목표는 기존 애플리케이션과 완전히 호환되도록 하여 개발자가 애플리케이션을 매끄럽게 이전할 수 있도록 하는 것입니다.

장점:

  • 모든 유형의 ZK Rollup 중에서 호환성이 가장 높은 솔루션입니다. 따라서 개발자에게 가장 친화적인 솔루션으로, 개발자가 기존 코드를 수정 없이 L2에 배포하여 실행할 수 있도록 허용합니다. 모든 합의 논리와 시스템 환경이 이더리움과 완전히 동일하기 때문입니다.

  • 이더리움 자체가 확장 방향을 탐색하는 것과 매우 일치합니다. Type1 클래스 zkEVM에서의 탐색은 미래에 이더리움 본체에 무마찰로 도입될 수 있어 이더리움 L1 자체의 확장성을 더욱 높일 수 있습니다.

  • Rollup이 기존의 방대한 이더리움 인프라를 무마찰로 이전할 수 있게 해줍니다(예: 이더리움 실행 클라이언트는 원래 방식으로 Rollup 블록을 생성하고 처리할 수 있으며, 기존 블록 탐색기 및 블록 생성 도구도 매끄럽게 L2에 배포될 수 있습니다).

  • 현재의 이더리움처럼 이더리움 블록을 검증할 수 있으며, 더 정확하게는 실행 계층을 검증할 수 있습니다(모든 거래 실행, 스마트 계약 및 계정 논리를 포함하지만 현재 신호 체인 합의 논리는 포함되지 않음).

  • 앞서 언급한 바와 같이, 이더리움과 완전히 동등하다는 큰 가치는 이더리움의 기존 거대한 네트워크 효과와 복잡한 생태계를 활용할 수 있다는 것입니다.

단점:

  • 이더리움이 제로 지식 증명 통합에서 직면한 문제는 Type1 클래스 솔루션도 마찬가지로 직면합니다(결국 이더리움과 동등하기 때문에 이더리움은 처음부터 zk 기능을 위해 설계되지 않았습니다).

  • 가장 큰 문제는 증명을 생성하는 데 시간이 오래 걸린다는 것입니다. 이 문제에 대한 현재 업계의 주요 해결책은 대규모 병렬 증명을 통해 공학적으로 해결하거나 하드웨어 최적화를 통해 가속하는 것입니다.

주요 프로젝트:

  • 이더리움 재단 PSE(Privacy and Scaling Explorations, 프라이버시 및 확장) 팀

  • Taiko:올해 7월 Alpha-4 테스트넷으로 업데이트되었으며, 2024년 초에 메인넷이 출시될 예정입니다. Taiko 프로젝트는 처음부터 분산화와 호환성을 우선시하며, 현재 첫 번째이자 유일한 분산화된 제안자(proposer)의 ZK Rollup입니다.

Type2 클래스 zkEVM------EVM 이더리움 가상 머신과 완전히 호환됨

구조:

  • EVM 이더리움 가상 머신과 완전히 호환되도록 노력하지만, 이더리움과 동등하지는 않습니다.

  • 이더리움 자체의 실행 환경과 비교할 때, 이 유형의 zkEVM은 블록 구조, 상태 트리의 데이터 구조, 가스 요금의 가격 책정 논리(zk 친화도에 따라 재가격 책정) 및 데이터 저장 등 여러 측면에서 일부 수정을 거쳤습니다. 이를 통해 zk 검증 증명 생성이 더 빠르고 저렴해졌습니다.

  • 목표는 가능한 한 기존 애플리케이션의 대다수와 호환되도록 하여 소수의 애플리케이션은 약간의 수정이 필요합니다.

장점:

  • 가스 요금의 재가격 책정을 통해(zk 친화적이지 않은 op 코드의 가격이 더 비쌉니다) 및 zk 친화적이지 않은 이더리움 스택의 일부를 삭제하여 Type1 클래스보다 더 빠른 검증 시간을 제공합니다.

  • Type2 유형은 기존의 이더리움 애플리케이션의 대다수와 호환될 수 있으므로 대부분의 개발자와 사용자 측면에서 거의 마찰을 느끼지 못합니다.

  • 이더리움 실행 클라이언트를 수정 없이 직접 사용할 수는 없지만, 일부 디버깅을 통해 기존 EVM 디버깅 도구 및 기타 개발 인프라를 지원할 수 있습니다. 따라서 여전히 이더리움의 기존 번영 생태계를 크게 활용할 수 있습니다.

단점:

  • 실행 환경 변경의 영향 범위는 작지만 중장기적으로 여전히 잠재적인 개발 문제가 존재합니다. 예를 들어, 이더리움에서 일반적으로 사용되는 해시(Keccak)를 다른 zk 친화적인 해시 값(예: Poseidon)으로 교체하면 Keccak 해시 값에 의존하는 프로그램 애플리케이션(예: 크로스 체인 브리지)에서 호환성 문제가 발생할 수 있습니다. (대략적인 원리: 크로스 체인 브리지는 실시간 통신이 아니며, 일반적으로 A 체인에서 행동을 취한 후 B 체인에서 상응하는 행동을 취해야 하므로, 본질적으로 B 체인에서 A 체인의 역사 데이터를 증명해야 하며, 이 과정에서 Keccak을 사용하여 역사 데이터를 증명해야 합니다.)

  • 가스 요금 가격 책정 규칙의 변경(본래 의도는 zk 친화도에 따라 op 코드를 재가격 책정하여 개발자가 zk 친화적이지 않은 op 코드를 줄이도록 "유도"하는 것)은 이미 이더리움에서 가스 요금을 최적화한 계약이나 이더리움의 가스 요금 최적화 도구에 문제를 일으킬 수 있습니다.

  • 이러한 수정은 Type1 클래스 zkEVM과 비교하여 증명자의 효율성을 더욱 높였지만, Type4 클래스 zkEVM과 비교할 때 증명 시간은 여전히 상대적인 단점입니다.

주요 프로젝트:

  • Scroll:2022년 9월 Pre-Alpha 테스트넷을 출시하였고, 2023년 2월 Alpha 테스트넷을 출시하였으며, 2023년 8월 메인넷 출시 예정입니다. 테스트넷 출시 당시 Type3 클래스 zkEVM에 해당했지만, 현재 EVM 호환성을 점차 강화하며 Type2 클래스 zkEVM으로 전환하고 있습니다.

  • Polygon zkEVM(Polygon 팀의 ZK Rollup 솔루션):2023년 3월 메인넷 베타 버전을 출시하였습니다. 출시 당시 Type3 클래스 zkEVM에 해당했지만, 현재 Type2 클래스 zkEVM으로 전환하고 있습니다.

Type3 클래스 zkEVM------EVM 이더리움 가상 머신과 거의 호환됨

구조:

  • 비탈릭은 2022년 블로그 글에서 Type3 클래스 zkEVM이 더 높은 호환성을 통해 Type2/1 클래스로 전환되거나, 호환성을 낮추고 zk 친화도를 높여 Type4 클래스로 전환되는 과도기적 성격을 가진다고 언급했습니다.

  • EVM 이더리움 가상 머신과 거의 호환됩니다. 호환성 측면에서 더 많은 희생을 통해 zkEVM이 개발하기 더 쉽고, zk 증명 생성 속도가 더 빨라집니다.

  • zkEVM에서 구현하기 어려운 기능(예: 사전 컴파일)이 더 많이 삭제되었습니다.

  • 계약 코드(contract code), 메모리(memory) 또는 스택(stack) 처리에서 더 큰 차이가 있습니다.

  • 목표는 대다수의 기존 애플리케이션과 호환되는 것입니다.

장점:

  • Type1 및 Type2 클래스 zkEVM에 비해 이 유형은 더 zk 친화적이며, zk 증명 시간을 더 짧게 합니다.

  • Type4 클래스 zkEVM이 호환할 수 있는 기존 이더리움 애플리케이션보다 더 많은 애플리케이션과 호환됩니다.

단점:

  • Type1 및 Type2 클래스 zkEVM에 비해 이 유형은 더 높은 비호환성과 더 많은 요소의 희생이 있습니다(이더리움 개발자에게 더 불친절함). 이것이 Type3 클래스가 더 과도기적 성격을 가지는 이유이며, 이 유형의 솔루션은 호환성을 높여 Type2 클래스 zkEVM으로 전환될 가능성이 높습니다.

  • Type4 클래스 zkEVM에 비해 증명 속도가 더 느립니다.

주요 프로젝트:

  • Scroll:2022년 9월 Pre-Alpha 테스트넷을 출시하였고, 2023년 2월 Alpha 테스트넷을 출시하였으며, 2023년 8월 메인넷 출시 예정입니다. 1년 전 Scroll은 이 유형에 해당했지만, 현재 이더리움 호환성을 높이며 Type2 클래스 zkEVM으로 발전하고 있습니다.

  • Polygon zkEVM(Polygon 팀의 ZK Rollup 솔루션):2023년 3월 메인넷 베타 버전을 출시하였습니다. 출시 당시 Type3 클래스 zkEVM에 해당했지만, 현재 Type2 클래스 zkEVM으로 전환하고 있습니다.

Type4 클래스 zkEVM------고급 언어와 호환됨

구조:

  • 이 유형은 실제로 zkVM(제로 지식 증명 가상 머신)으로, 제로 지식 증명 이더리움 가상 머신이 아닙니다.

  • 프로그래밍 언어 수준의 호환성으로 이해할 수 있습니다. 대략적인 논리는 개발자가 이더리움에서 사용하던 프로그래밍 언어(예: Solidity)를 사용하여 스마트 계약을 작성할 수 있도록 하는 것입니다. 이 유형의 프로젝트는 컴파일러를 사용하여 이 프로그래밍 언어를 그들만의 가독성 있는 코드로 변환합니다(예: Starkware는 Warp 컴파일러를 사용하여 Solidity 코드를 Cairo 바이트코드로 변환하고, zkSync는 LLVM 컴파일러를 사용하여 Solidity 코드를 그들만의 가상 머신에서 실행 가능한 코드 LLVM-IR로 변환합니다) 및 그들만의 환경(예: Starknet의 Cairo VM 및 zkSync의 Sync VM)에서 실행합니다.

  • 목표는 저비용, 고효율, 제로 지식 증명 친화성을 극대화하는 것입니다.

장점:

  • 매우 빠른 검증 시간.

  • 고급 언어에서 직접 컴파일하면 비용(시간, 돈 및 계산 작업량)을 크게 줄일 수 있습니다.

  • 증명자가 되는 기술 장벽을 낮추고 분산화 정도를 높입니다.

  • 이 유형의 zkEVM은 그들만의 가상 머신을 사용하여 원주율 추상화(Account Abstraction)를 원주율적으로 지원할 수 있습니다. EVM과 동등한 체인은 원주율 추상을 원주율적으로 지원할 수 없으며, 이더리움의 ERC-4337을 통해 구현해야 합니다.

단점:

  • 많은 기존 이더리움 애플리케이션이 이 유형의 zkVM으로 복사할 수 없거나 복사 과정에서 문제가 발생합니다: 예를 들어, Type 4 클래스 zkVM 시스템의 계약 주소는 EVM의 주소와 다를 수 있으며, Type4 클래스 zkEVM은 수동으로 작성된 EVM 바이트코드를 지원하지 않습니다(현재 많은 애플리케이션이 가스 요금을 절약하기 위해 수동으로 작성된 EVM 바이트코드를 사용합니다); (앞서 언급했듯이 이 유형은 컴파일러를 통해 Solidity 코드 언어 수준의 호환성을 달성합니다) 그들의 컴파일러는 Solidity의 일부 기능을 지원하지 않습니다.

  • 이더리움 개발자가 이 유형의 프로젝트에 애플리케이션을 배포하려면 더 복잡한 조정이 필요합니다. 따라서 이전 몇 가지 유형의 zkEVM에 비해 이 유형의 프로젝트는 개발자 친화도가 상대적으로 낮아 생태계의 발전과 기술의 반복 속도에 영향을 미칠 수 있습니다.

  • 이더리움의 기존 복잡하고 번영하는 생태계와 네트워크 효과를 활용하기가 매우 어렵습니다.

주요 프로젝트:

  • zkSync Era(Matter Labs 팀이 구축한 ZK Rollup 솔루션):2020년 6월 zkSync Lite(zkSync 1.0)를 출시하였으며, 주로 간단한 지불(payment) 및 자산 교환(swap) 시나리오를 지원하며 EVM 호환 스마트 계약을 지원하지 않습니다; 2023년 3월 zkSync Era(zkSync 2.0)를 출시하였으며, 위의 구조를 통해 고급 언어 수준의 호환성을 실현할 수 있습니다. zkSync의 목표는 본래 EVM 호환성이 아니라 제로 지식 증명 생성 속도를 높이는 것입니다.

  • Starknet(Starkware 팀이 구축한 ZK Rollup 솔루션):2021년 11월 메인넷을 출시하였으며, 올해 7월 v0.12.0 버전으로 업데이트되었습니다. 이 자체는 Type4 클래스 zkEVM에 해당하며, 본래 EVM 호환성이 목표가 아닙니다. 그러나 현재 Kakarot와 같은 프로젝트가 있으며, 이는 Starknet이 Type 2.5-3 클래스 zkEVM과 유사한 호환성을 달성하는 것을 목표로 하고 있습니다.

비탈릭이 2022년에 다양한 zkEVM을 분류한 것을 바탕으로, 각 프로젝트의 진행 상황(2023년 8월 기준)을 결합하여 아래 그림으로 간단히 요약할 수 있습니다:

각 주요 ZK Rollup 프로젝트 분류

각 유형의 zkEVM 주요 프로젝트

각 주요 ZK Rollup 프로젝트 비교도

비탈릭은 글의 마지막에서 다음과 같이 요약했습니다: "개인적으로 저는 시간이 지남에 따라 zkEVM의 개선과 이더리움 자체의 개선이 결합되어 이더리움이 ZK-SNARK에 더 친화적이 되기를 바랍니다. 결국 모든 것이 Type1 클래스로 발전할 것입니다."

이러한 미래에는 여러 zkEVM 구현이 존재하여 ZK Rollup(제로 지식 확장)뿐만 아니라 이더리움 체인 자체를 검증하는 데에도 사용될 수 있습니다. 이론적으로 이더리움은 L1(1층)에서 단일 표준화된 zkEVM 규격을 사용할 필요가 없으며, 서로 다른 클라이언트가 서로 다른 증명 방식을 선택할 수 있어 코드 수준의 중복으로부터 계속 혜택을 받을 수 있습니다.

하지만 이러한 미래를 실현하기 위해서는 상당한 시간이 필요합니다. 동시에 이더리움(자체)의 확장과 이더리움 기반 ZK Rollup의 다양한 경로에서 우리는 많은 혁신을 목격할 것입니다."

또한, 현재 시장에서 주요 zkEVM 분류 방식은 비탈릭이 2022년에 제안한 분류(이 글에서 인용한 것)지만, 동시에 다른 분류 기준도 존재합니다. 어떤 방식으로 분류하든 이러한 zkEVM 유형 간에는 절대적인 우열이 없습니다. 이들은 호환성과 속도 간의 균형을 맞추고 있을 뿐입니다: Type1 클래스 zkEVM은 이더리움과의 호환성이 가장 높지만 증명 속도가 느리며(ZK Rollup 트랙에서); Type4 클래스 zkEVM은 이더리움과의 호환성이 낮지만 검증 속도가 더 빠릅니다.

물론 zkEVM의 호환성과 속도는 개발자가 어떤 ZK Rollup을 선택하여 애플리케이션을 배포할지를 고려할 때 유일한 지표가 아닙니다. 그들의 선택에 영향을 미치는 많은 다른 요소가 있습니다. 예를 들어:

L2 거래 정렬의 분산화 정도: sequencer/proposer가 분산화되어 있는지 여부는 생태계 참여자의 복잡성 및 전체 네트워크의 보안성에 직접적인 영향을 미칩니다;

비용: 어떤 토큰으로 비용을 지불하는지, 한 공공 체인의 토큰 경제 모델은 어떻게 되는지;

증명 생성 규칙: prover에 대한 인센티브 메커니즘, 증명 생성을 가속화하기 위한 하드웨어 기준;

자체 관리: L2에서 사고가 발생했을 때 L1에서 사용자 자산을 복구할 수 있는 명확한 메커니즘이 있는지;

데이터 가용성: 완전한 데이터 가용성 비용은 자연스럽게 더 높으며, 일부 ZK Rollup이 채택한 낮은 비용의 데이터 가용성 모델을 수용할 수 있는지 여부.

하지만 대부분의 일반 ZK Rollup 프로젝트가 현재 테스트넷 단계에 있기 때문에, 위의 여러 요소를 수평적으로 비교하기는 어렵습니다.

마지막으로, 어떤 zkEVM 프로젝트가 어떤 유형에 속하는지도 정적이지 않습니다. 각 솔루션이 zkEVM 분야에서 탐색하고, 심지어 이더리움 자체가 개선됨에 따라 모든 솔루션이 결국 Type 1 클래스 zkEVM의 효과를 달성할 수 있을 것입니다. 그때 우리는 여러 zkEVM 구현을 보게 될 것입니다 ------ ZK Rollups에 사용될 수 있을 뿐만 아니라 이더리움 체인 자체를 검증하는 데에도 사용될 수 있습니다.

그 이전에, 이더리움과 ZK Rollup의 다양한 경로에서 지속적인 혁신을 기대해 봅시다.

참고 자료:

https://vitalik.ca/general/2022/08/29/zkevm_zhTW.html

https://taiko.mirror.xyz/w7NSKDeKfJoEy0p89I9feixKfdK-20JgWF9HZzxfeBo

https://docs.moonbeam.network/builders/pallets-precompiles/precompiles/eth-mainnet/

https://news.marsbit.co/20230329154749858367.html

https://www.evm.codes/precompiled?fork=shanghai

https://ethereum.org/zh/developers/docs/data-structures-and-encoding/patricia-merkle-trie/#transaction-trie

https://foresightnews.pro/article/detail/30153

L2 트랙 폭발 전야, 각종 zkEVM 분석

펀딩 정보

더보기

최근 출시 토큰

더보기
10-05
10-03
10-03

𝕏 최신 관심

더보기