
zkEVM 솔루션 개요: zkSync, StarkNet, Polygon zkEVM, Scroll 간단 분석

작성: Filippo Armani
번역: TechFlow
ZK 롤업(ZK Rollups)은 유효성 롤업(validity rollups)이라고도 하며, 트랜잭션을 오프체인에서 처리하고 메인체인에 단일 압축 트랜잭션 형태로 통합하는 혁신적인 이더리움 확장 방식입니다. 이 과정을 통해 트랜잭션 처리량이 증가하고 수수료가 감소하며, 동시에 메인체인의 보안성과 탈중앙화를 유지합니다.
제로지식 증명(ZKP) 사용은 ZK 롤업의 두드러진 특징 중 하나로, 증명자가 어떤 진술이 올바르다는 것을 검증자에게 추가 정보 없이 증명할 수 있도록 하는 암호학적 증명 방식입니다.
ZK 롤업의 경우, ZKP는 오프체인 트랜잭션의 무결성을 보장하여 증명자가 트랜잭션 번들의 유효성을 증명할 수 있게 하며, 트랜잭션 세부 사항을 공개하거나 검증자가 새 상태를 수락하기 전 모든 트랜잭션을 검사할 필요가 없습니다.
낙관적 롤업(Optimistic Rollups)과 비교하면, ZK 롤업은 이더리움 위에 추가적인 신뢰 가정을 도입하지 않으며 수학과 이더리움 자체에 의존해 보안을 보장하기 때문에 더 높은 수준의 보안을 제공합니다. 낙관적 롤업은 게임 이론과 1/n 정직 노드 가정에 의존하는데, 이는 각 트랜잭션 번들마다 적어도 하나의 정직한 노드가 악의적 트랜잭션을 도전할 수 있다는 의미입니다.
반면 ZK 롤업의 운영자(시퀀서 및 증명자라고도 함)는 사용자 자금을 해칠 기회가 전혀 없습니다. 그들의 역할은 트랜잭션 번들을 수집하고 ZK 증명을 생성하는 "단순한" 작업이며, 사용자 자금은 여전히 이더리움 L1에 저장되며, 이더리움이 최종적으로 L2에서 제출된 ZK 증명을 검증하고 기본 트랜잭션을 완료합니다.
유효성 증명은 상태 데이터에 대한 복잡한 다항식 계산을 통해 생성됩니다. 상태 데이터가 무효라면 유효성 증명을 생성할 수 없습니다. L1의 검증자는 입력된 상태 데이터를 이용해 유효성 증명을 검증하므로, 증명자가 상태 데이터를 변경하면 검증자가 해당 증명을 수락하지 않습니다.
낙관적 롤업과 비교했을 때 ZK 롤업은 또한 두 가지 장점이 있습니다: 더 빠른 최종성과 더 효율적인 데이터 가용성.
첫째, 최종성이 더 빠릅니다. 유효성 증명만 제공되면 트랜잭션이 이더리움에서 즉시 확인되기 때문입니다. 반면 낙관적 롤업은 일주일 동안 도전이 없는지 기다려야 트랜잭션이 합법적이고 최종적이 된다고 간주합니다.
둘째, 데이터 가용성 측면에서 ZK 롤업이 더 효율적입니다. 검증을 위해 모든 트랜잭션을 재구성할 필요가 없으므로 상태 차이만 게시하면 되기 때문입니다. 반대로 낙관적 롤업은 누구나 트랜잭션을 재구성하고 궁극적으로 도전할 수 있도록 전체 데이터를 게시해야 합니다.
따라서 ZK 롤업은 이더리움에서 사용하는 데이터 대역폭이 적습니다(모든 롤업이 공유해야 하는 희소 자원으로, ZK 회로를 포함해 어떤 시스템을 사용하여 트랜잭션을 실행하든 상관없이). 이는 사용자가 더 저렴한 수수료(심지어 무료)를 누릴 수 있게 합니다.
zk-rollup은 이더리움 확장성의 궁극적 해결책으로 여겨지지만, 이더리움 가상 머신(EVM)이 ZK 회로를 지원하도록 설계되지 않았기 때문에 구현이 어렵습니다. 이를 해결하기 위해 많은 조직과 연구자들이 스마트 계약을 제로지식 증명 계산과 호환되는 방식으로 실행할 수 있는 'zkEVM'이라는 롤업 지원 가상 머신을 만들려고 시도하고 있습니다.
비탈릭이 제안한 네 가지 zkEVM 분류
비탈릭은 자신의 블로그 글에서 이더리움과의 호환성에 기반한 네 가지 zkEVM 유형을 설명했습니다.
주의할 점은 다음과 같습니다:
zkEVM이 이더리움 기능에 더 가까울수록 Zk 증명 생성 속도는 느려지고 비용은 증가합니다.
반면 블록체인이나 롤업이 이더리움 명세와 표준에 더 부합할수록 개발자들이 애플리케이션을 쉽게 구축하고 이더리움 생태계에 통합하기가 쉬워집니다.
요컨대, 이더리움과 고도로 호환되는 블록체인은 경쟁 우위를 가질 수 있습니다.
1형: 이더리움과 완전히 동일한 zk 롤업으로, 해시, 상태 트리, 트랜잭션 트리, 사전 컴파일 또는 기타 모든 합의 로직 등 모든 부분에서 정확하게 이더리움을 복제합니다. 지금까지 어떤 zkEVM도 이더리움과의 동등성을 달성하지 못했습니다.
2형: EVM과 완전히 동등한 Zk 롤업은 EVM과 동등하려 하지만 이더리움과는 완전히 동등하지 않습니다. 기존 애플리케이션과 완전히 호환되지만 개발을 쉽게 하고 증명 생성을 빠르게 하기 위해 이더리움에 미세한 수정을 가합니다. Scroll과 zkEVM Polygon은 이론적으로 이 범주에 속하지만, 실제로는 현재 3형에 속합니다.
3형: 거의 EVM과 동등하지만, 증명 생성을 더 빠르게 하기 위해 더 많은 요소와 동등성을 희생합니다. Polygon zkEVM과 Scroll은 현재 이 범주에 속합니다. 이 범주는 일반적으로 2형으로 진입하는 디딤돌 역할을 합니다.
4형: 고급 언어 수준에서 동등하며, Solidity로 작성된 스마트 계약을 모두 수용한 후 이를 다른 맞춤형 zk 친화적 언어로 변환한다는 의미입니다. zkSync와 StarkNet은 이 범주에 속하지만, zkSync는 시간이 지남에 따라 EVM 바이트코드 호환성을 추가하고 궁극적으로 더 높은 유형으로 이동할 가능성이 있습니다.
비탈릭이 제안한 분류가 현재 가장 인기 있고 공정하다고 여겨지지만, 다른 분류 방법도 존재합니다.
Immutable이 제안한 네 가지 분류
NFT 전문 L2 플랫폼이자 StarkWare 기반인 Immutable은 블로그 포스트에서 다음의 유용한 분류를 제공했습니다:

이 범주들은 비탈릭의 분류와 비교해 기존 zkEVM이 스택의 특정 레벨(고급 언어, 바이트코드 또는 런타임 환경)에서 이더리움과의 호환성 또는 동등성을 어떻게 달성하는지를 더 명확하게 기반으로 합니다.
Solidity 호환. 이더리움과의 호환성은 고급 언어 수준인 Solidity에서 달성됩니다. 즉, 개발자는 이더리움에서 익숙하게 사용하는 언어로 스마트 계약을 계속 작성할 수 있습니다. 그러나 이러한 롤업은 Solidity를 즉시 중간 표현 형식으로 변환한 후 자신들의 바이트코드로 컴파일하고 맞춤형 환경에서 실행합니다. 구체적으로, 이들 L2는 Solidity 코드를 맞춤형 VM이 이해할 수 있는 코드(Cairo, zkSync의 LLVM-IR)로 변환하는 트랜스파일러(transpiler)를 사용합니다. 이 트랜스파일러는 일부 Solidity 기능을 지원하지 않으므로 개발자가 스마트 계약을 조정해야 할 수 있습니다. 예: zkSync, StarkNet.
EVM 호환. 언어 수준에서 보면 이 롤업은 EVM과 호환되지만 자체 바이트코드를 가지고 있습니다. 즉, Solidity는 EVM 오퍼코드/바이트코드로 직접 컴파일된 후 맞춤형 VM 런타임 이전에 맞춤형 바이트코드로 변환됩니다. 실제로 이 롤업은 대부분의 이더리움 프로그램과 호환되지만 일부 애플리케이션은 재작성이 필요할 수 있습니다. 또한 일부 바이트코드 기능(예: 사전 컴파일)은 지원되지 않습니다. 예: Polygon zkEVM.
EVM 동등. 이 롤업은 EVM 오퍼코드와 바이트코드를 직접 읽을 수 있는 zk 검증 회로를 생성합니다. 비록 VM 자체는 EVM과 다르지만 말입니다. 이 롤업은 기존 애플리케이션과 완전히 호환되지만 개발을 쉽게 하고 증명 생성을 빠르게 하기 위해 이더리움에 미세한 수정을 가할 수 있습니다. 예: Scroll.
이더리움 동등. 이는 Polygon이 수행한 것처럼 모든 구성 요소에서 이더리움을 복제한다는 의미입니다. 지금까지 어떤 zk 롤업도 이 범주에 속하지 않습니다.
이 프레임워크를 Immutable이 제안한 프레임워크와 결합하고 추가 정보를 더하면, 성능 데이터가 없더라도 서로 다른 zkEVM 구현을 비교할 때 고려해야 할 몇 가지 설계 차이점과 유사점을 강조하는 아래 차트를 개략적으로 설명할 수 있습니다:

zkSync 2.0
zkSync 2.0(메인넷 출시 전 zkSync Era로 이름 변경)은 이더리움 네트워크의 확장 솔루션으로, Solidity 프로그래밍 언어와 완전히 호환됩니다. zkSync를 사용하면 사용자는 두 가지 데이터 가용성 유형 중 선택할 수 있습니다: zkSync 롤업과 zkSync Porter. 전자는 데이터를 이더리움에 직접 게시하여 이더리움 L1과 동일한 수준의 보안을 제공하며, 후자는 데이터를 오프체인에 저장하여 트랜잭션 속도를 높이고 비용을 줄이지만 보안 수준은 낮춥니다.
zkSync는 Solidity로 작성된 스마트 계약 코드를 Yul로 변환하고, Yul을 LLVM-IR로 변환한 후, zkSync용 EVM에 특별히 설계된 맞춤형 회로 호환 바이트코드 집합으로 다시 컴파일함으로써 EVM 호환이 가능합니다. 이는 중간 단계를 필요로 하지만 Account Abstraction 같은 비 EVM 기능 추가도 허용합니다. 또한 zkSync를 개발하는 Matter Labs사는 점차적으로 이더리움 툴킷과의 호환성을 높이고 확장성 및 상호 운용성 분야에서 첫 번째 3단계 원형 zkSync Opportunity를 준비하며, 그 일환으로 테스트넷에 출시할 계획입니다.
본문 작성 시점에서 zkSync Era는 막 출시된 상태여서 그 성과를 평가하기에는 아직 이릅니다. 단순 트랜잭션만 지원하는 zkSync 1.0(현재 zkSync Lite로 명칭 변경)은 TVL 기준으로 8300만 달러 이상을 잠금 처리하고 누적 거래량이 1900만 건을 넘어서며 가장 큰 zk 롤업 중 하나였습니다. 반면 StarkNet의 TVL은 1900만 달러를 조금 넘었고 누적 거래량은 400만 건이었습니다.
StarkNet
StarkNet은 체인 외부 트랜잭션의 무결성을 보장하기 위해 STARKs(Scalable Transparent ARgument of Knowledge)라는 또 다른 유형의 제로지식 증명을 사용하는 4형/Solidity 호환 zk-롤업입니다. STARKs는 SNARK보다 더 효율적이고 확장 가능하다고 여겨지지만, 더 복잡한 기술 설정이 필요할 수 있습니다.
StarkNet도 스마트 계약을 지원하지만, STARKs 사용과 함께 StarkNet 계약 및 OS가 Cairo 언어로 작성되어 있기 때문에 기능이 상대적으로 제한적입니다. 개발을 더 쉽게 하기 위해 StarkWare는 최근 Rust를 모방하는 Cairo 1.0으로 업그레이드했습니다. zkSync Era와 마찬가지로 StarkNet도 EVM 내에서 프로그램을 실행하지 않고 완전히 새로운 전용 VM을 생성하고 맞춤형 바이트코드를 사용하므로 "Solidity 호환"으로 분류될 수 있습니다. StarkWare는 Warp 트랜스파일러를 사용해 Solidity 코드를 Cairo VM 바이트코드로 변환합니다.
그러나 zkSync Era 및 다른 zkEVM 구현과 달리, StarkNet 팀은 EVM이나 다른 이더리움 구성 요소와의 호환성을 목표로 하지 않고, 커스텀 클라이언트 API, JavaScript 라이브러리 및 지갑 시스템을 롤링하여 StarkNet VM을 가능한 한 효율적으로 만드는 것을 목표로 하며, 이는 이더리움과 호환되는 툴들이 수동으로 StarkNet 지원을 추가해야 한다는 것을 강요합니다. Cairo 1.0은 Cairo 1.0과 Cairo 바이트코드 사이의 새로운 중간 표현 계층으로 Sierra(보안 중간 표현)를 도입했지만, Warp 트랜스파일러는 일부 Solidity 기능을 지원하지 않으며 zkSync Era의 EVM 호환성 수준에 도달하려면 아직 멀었습니다.
Polygon zkEVM
Polygon zkEVM은 zkASM이라는 맞춤형 언어를 사용해 zkEVM 코드를 해석하고 비 EVM 런타임 환경에서 스마트 계약 실행을 검증하는 zk-롤업입니다. 이 프로젝트는 2021년 Hermez Network를 2.5억 달러에 인수하면서 시작되었으며, STARK와 SNARK의 보안성과 효율성을 결합한 EVM 동등 시스템 개발을 목표로 합니다. 트랜잭션 상태에 대한 유효성 증명 생성에는 STARK를 사용하지만, STARK 증명의 정확성을 평가하는 데는 SNARK를 사용합니다. 이러한 솔루션 조합은 보안성, 속도 및 낮은 트랜잭션 수수료를 실현할 수 있게 합니다.
2022년 7월, Polygon은 Polygon Hermez를 Polygon zkEVM으로 개명한다고 발표했으며, 본문 작성 시점에서 막 출시되었습니다. Polygon zkEVM의 최신 테스트넷 버전은 재귀 기능을 도입하여 하나의 ZK 유효성 증명으로 다른 ZK 증명의 묶음을 검증할 수 있게 했습니다. 여기서 각 증명은 여러 트랜잭션을 검증할 수 있습니다. 이 기능은 기존 대안보다 100배 빠르고 이더리움 자체와 원시적으로 호환되는 Plonky2라는 재귀 SNARK 덕분입니다.
Polygon zkEVM 외에도 Polygon은 데이터 가용성에만 최적화된 블록체인인 Polygon Avail을 개발했습니다. 이 네트워크는 허가되지 않은 형태로 누구든지 검증자로 참여할 수 있으며, 기존 DAC(Data Availability Committees)와 달리 수백 개의 노드가 협력하여 네트워크 보안을 제공합니다. Avail은 Hermez로부터 상태 데이터를 업로드하여 이더리움에 게시하는 대신, Validium과 롤업 사이의 솔루션을 제공하며 Polygon Hermez(롤업)와 함께 작동합니다.
일부 전문가들은 Polygon이 제공하는 명세가 EVM 동등보다는 EVM 호환성으로 설명하는 것이 더 적절하다고 지적하지만, 해당 팀은 처음으로 완전히 EVM과 동등한 솔루션을 만들기 위해 노력하고 있습니다.
Scroll
Scroll은 Scroll 팀과 이더리움 재단의 PSE(Privacy and Scaling Explorations) 그룹이 공동 개발한 EVM 동등 zk-롤업으로, 현재 Pre-Alpha 테스트넷 단계에 있으며 바이트코드 수준에서 이더리움 가상 머신(EVM)과 완전히 호환되도록 설계되었습니다. 즉, 개발자는 EVM과 호환되는 모든 언어로 스마트 계약을 생성하고 Scroll에 배포할 수 있습니다. Scroll은 현재 EVM opcode를 지원하지 않지만, 1:1 opcode 매핑을 구축하여 컴파일러 없이 EVM opcode를 직접 수용할 계획입니다.
Scroll의 아키텍처는 중앙집중형 시퀀싱 노드와 분산된 증명 네트워크로 구성됩니다. 중앙집중형 시퀀싱 노드는 트랜잭션 순서 정렬, 블록 생성 및 데이터 가용성을 위해 트랜잭션 데이터를 calldata로 이더리움의 롤업 컨트랙트에 제출하는 역할을 합니다. Scroll은 시퀀싱 노드를 점차적으로 탈중앙화할 계획입니다. 반면 Roller라는 분산된 증명 생성기가 증명을 생성하여 L1 네트워크에 게시하며, 분산 컴퓨팅 능력을 활용합니다. 롤러는 무작위로 선택되며, 서로 다른 롤러에서 서로 다른 블록에 대한 여러 증명을 병렬로 생성하여 속도를 높일 수 있습니다.
*참고: 현재는 체인상 데이터 가용성만 지원하지만, Scroll의 초기 설계에는 Validium 모드도 포함되어 있습니다.
실제로 Scroll과 Polygon 모두 zkEVM을 구축하기 위해 바이트코드 수준 접근 방식을 채택했습니다. 이 방법은 트랜스파일 단계를 완전히 제거하므로, 이러한 zkEVM은 Solidity 코드를 컴파일 및 해석 전에 다른 언어로 변환하지 않습니다. 그러나 Scroll은 런타임 환경 외에는 이더리움과 유일하게 다릅니다. 반면 Polygon은 맞춤형 VM을 생성하고 최적화한 후 EVM 바이트코드를 해당 VM의 바이트코드로 변환합니다. Scroll과 달리 Polygon의 런타임("zkExecutor")은 EVM 오퍼코드 대신 EVM 해석을 최적화하기 위해(즉, EVM을 직접 증명하는 대신 제약 조건 수를 줄이기 위해) 맞춤형 "zkASM" 오퍼코드(그림의 마이크로 오퍼코드)를 실행합니다. Polygon zkEVM은 100%의 Solidity 코드, 툴 및 애플리케이션과 호환되지는 않을 수 있지만 대부분은 가능할 것입니다.
이러한 프로젝트들은 범용 zkEVM 구현 출시에 초점을 맞춘 주요 사례이지만, 다른 특수 목적 프로젝트들도 실제로 zk 기술을 사용하고 있습니다.
Looping은 탈중앙화 거래소(DEX) 프로토콜을 지원하기 위한 특수 목적 zk-롤업입니다. Loopring은 누구나 DEX를 구축할 수 있도록 하는 zk 증명 기반 플랫폼이기도 합니다. Immutable X는 NFT 거래 및 게임을 위한 StarkWare 기반의 또 다른 특수 목적 zk-롤업입니다. Aztec은 개인정보 보호를 중심으로 하는 이더리움 기반 zk-롤업으로, 데이터를 암호화하여 프로토콜에 대해 데이터를 투명하고 가용하게 유지하면서도 사용자 개인정보를 보호합니다. 또한 Aztec은 PLONK 증명 시스템을 발명했으며, 이는 zkSync 및 기타 프로젝트에서도 사용되고 있습니다.
Immutable X, Sorare, rhino.fi, ApeX, dYdX 등 여러 프로토콜은 모두 StarkEx 기반으로 구축되었습니다. StarkEx ZK-롤업을 사용하는 프로젝트에서는 데이터가 calldata로 이더리움에 전송되어 체인상에 게시됩니다. Validium 모드에서는 데이터가 오프체인에 저장되고 해시 값만 체인상에 저장됩니다. 롤업 모드는 사용자가 이더리움 블록체인과만 상호작용해 장부 상태를 재생성할 수 있으므로 더 높은 보안을 보장하지만, Validium 모드는 더 낮은 비용과 더 높은 개인정보 보호를 보장할 수 있습니다.
전반적으로, zkSync Lite는 가장 큰 zk 롤업이지만, StarkWare는 StarkEx 위에 구축된 프로젝트들을 포함한 가장 큰 생태계를 보유하고 있으며, TVL과 시장 점유율도 가장 큽니다.

요약
요약하자면, zk-롤업은 다양한 요구와 필요를 충족시키는 다양한 구현 방식을 제공하는 블록체인 네트워크 확장의 유망한 해결책입니다. 일부 분류가 존재하지만, 이는 정의와 기술적 차이에 대한 합의가 부족한 근사적 설명임을 주목할 필요가 있습니다.
Scroll 공동 창립자 Sandy Peng이 인정했듯이: "어떤 정의도 명확한 합의를 얻을 수 없습니다. 'Scroll의 전체 연구팀'은 어떤 서술 방식이나 관점을 선호하지만, 이것이 명확한 것은 아닙니다. 우리의 연구팀조차도 모든 일의 의미에 대해 합의하지 못하고 있습니다."
그럼에도 불구하고, zk 롤업 구현에서 몇 가지 공통된 추세가 나타났습니다:
첫째, 데이터 가용성 처리에 있어 전통적인 체인상 데이터 저장 롤업 버전과 오프체인 데이터 저장 Validium 버전을 제공하는 하이브리드 접근 방식을 채택하는 것으로 보입니다. Avail의 CEO Anurag Arjun은 Blockworks에 "제 생각에는 모든 롤업이 롤업 버전과 validium 버전을 갖게 될 것입니다."라고 말했습니다.
둘째, 대부분 실제 운영에 들어가기 전까지 순수 오픈소스 코드 사용을 피하고 있습니다. 이는 Arbitrum과 Optimism 같은 낙관적 롤업과의 치열한 경쟁과 관련이 있습니다. zk-롤업은 더 효율적이라고 약속하지만, 기술적으로 구현하기가 더 어렵습니다.
또한 위 표에서 명확히 드러나듯이, 특히 Arbitrum과 같은 낙관적 롤업은 선점 효과를 누리고 있으며 애플리케이션, 거래량 및 시장 점유율 측면에서 시장을 선도하고 있습니다. 만약 성공한다면, 낙관적 롤업은 이미 구축된 사용자 기반과 유효성 증명 모델을 결합할 수 있습니다(예: Optimism의 업그레이드 Bedrock이 유효성 증명을 도입할 수 있음).
또한 모든 구현은 효율성을 높이기 위해 초기에 중앙집중형 시퀀서를 채택하지만, 권한 집중에 대한 우려를 해결하기 위해 점진적으로 탈중앙화를 추진하고 있습니다. 흥미롭게도, 탈중앙화된 정렬기는 네이티브 토큰의 경제적 인센티브를 필요로 할 수 있으므로 언급된 모든 프로젝트가 이 단계를 밟아야 할 것입니다.
마지막으로, 지난 1년 동안 이러한 zkEVM 구현이 거둔 놀라운 성과는 전반적으로 zk 기술에 대한 새로운 관심을 불러일으켰으며, 회사들은 증명 생성 속도를 높이기 위한 새로운 zk 하드웨어 개발 등 다양한 측면의 발전에 집중하고 있습니다.
아직 해결해야 할 몇 가지 과제가 남아 있지만, 불과 1년 이상 만에 zkEVM 설계에서 이루어진 진전은 주목할 만하며, 2023년은 이 기술의 결정적 해가 될 수 있습니다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














