What’s Difference Between Optimistic Rollups and ZK Rollups?

Kim Yevin
EWHA-CHAIN
Published in
12 min readFeb 17, 2023

I. 롤업이란?

확장성은 블록체인 네트워크에서 중요하게 다뤄지고 있는 문제점입니다. 확장성이란 얼마나 많은 트랜잭션 데이터를 얼마나 빠르게 전송할 수 있는지에 대한 블록체인의 평가 요소 중 하나이자, 중앙화된 네트워크에 비해 블록체인의 분산화된 검증과 기록 과정 때문에 발생하는 문제입니다. 블록에 담을 수 있는 데이터가 무한대가 아니기 때문에 처리 속도의 저하가 일어나고, 과거의 블록을 임의로 삭제하거나 변경하는 게 불가능하므로 데이터 누적에 의한 과부하 역시 확장성 문제를 유발합니다. 블록체인이 중앙화된 네트워크를 대체하기 위해서는 트래잭션의 속도와 처리량을 향상해 빠르고 저렴한 네트워크의 역할을 할 수 있어야 하므로, 블록체인의 대중화에는 탈중앙성과 보안성을 해치지 않으면서도 확장성을 개선할 수 있는 기술이 꼭 필요로 합니다.

많은 체인 중에서도 특히 이더리움은 많은 dApp으로 인한 거래량이 빠르게 증가하고 있고, 그에 따라 시간이 지날수록 이더리움 거래는 점점 더 비용이 많이 들기 때문에 확장성 솔루션이 시급합니다. 지금까지 이더리움의 확장성 솔루션으로 사이드 체인, 발리디움, 스테이트 채널, 플라즈마, 롤업 등이 있지만, 이더리움에서는 현재 트릴레마(보안성, 탈중앙성, 확장성의 속성 중 두 가지 속성을 확보하기 위해 나머지 한 가지 속성이 취약해지는 문제)를 해결할 수 있는 방식은 Layer 2 확장이 유일하다고 보고 있습니다. Layer 2는 이더리움을 확장하는 별도의 블록체인으로, 이더리움과 같은 Layer 1과 정기적으로 통신하며 보안성과 탈중앙성을 활용하면서도 Layer 2에서 트랜잭션 데이터를 관리하고 최종 증명을 Layer 1으로 보내는 방식입니다. 이번 아티클에서 다루게 될 롤업 방식은 이더리움 확장에서 주로 선호되는 Layer 2 솔루션입니다.

롤업 방식은 Layer 2에서 수많은 트랜잭션을 실행 또는 처리하면서 그 결괏값을 하나의 배치(batch)로 묶은 뒤 해당 배치의 State root를 Layer 1에 저장하는 방식입니다. 메인 체인 밖으로 이동하여 작동하여 처리량을 크게 향상시킬 수 있으면서도 트랜잭션의 압축된 데이터 저장은 메인 체인에서 이루어져서 보안성을 보장할 수 있는 확장성 솔루션이죠. 이 때, 배치로 묶는 것을 “롤업(Rollup)”이라고 하여 롤업이라고 불립니다. 롤업 작업에는 주로 트랜잭션 데이터를 묶을 수 있는 스마트 컨트랙트가 포함되며, 이 네트워크의 참여자는 데이터를 관리하여 축약된 트랜잭션 데이터 묶음을 메인 체인에 제출합니다. Optimistic Rollups와 ZK Rollups 모두 트랜잭션과 관련된 데이터(Call data와 State data)를 온 체인에 저장하고 기록하기 때문에 블록체인상에서 데이터를 검증할 수 있다는 점이 발리디움이나 플라즈마와 같은 확장성 솔루션과 구별되는 점이죠.

롤업의 작업 방식 — State root 업데이트 전 (출처: vitalik.ca)
롤업의 작업 방식 — State root 업데이트 후 (출처: vitalik.ca)

요약하자면, 롤업은 블록체인의 확장성 문제의 솔루션이며 크게 Optimistic Rollups과 ZK Rollups으로 나눠집니다.

그렇다면 Optimistic Rollups과 ZK Rollups은 무엇이 다를까요?

II. 작동방식의 차이

간단하게 말하면 그 둘은 롤업 작업에 대한 증명을 어떻게 진행하는지에 따라 달라집니다. Optimistic Rollup은 사기 증명 방식을 사용하고, ZK Rollups은 영지식 증명을 통해 유효성을 증명합니다.

Optimistic Rollup과 사기 증명

Optimistic Rollups, 사기 증명의 이진탐색 방식(출처: vitalik.ca)

사기 증명 방식이란 Optimistic Rollup의 명칭 그대로 “낙관적으로” 모든 트랜잭션이 유효하다고 가정하여 별 다른 계산 없이 트랜잭션 배치를 제출할 수 있지만, 메인 체인에 반영하기 전 누구나 그 배치의 진정성(Authenticity)에 대한 이의를 제출할 수 있는 유예 기간(Challenge Period 혹은 DTD; Dispute Time Delay)을 가지는 방식입니다. 이의 제기를 받은 트랜잭션이 발생하면 롤업 프로토콜이 계산을 시작하며 이러한 과정을 사기 증명이라고 합니다. 사기 증명을 통해 해당 트랜잭션 배치가 부정확하다는 것이 밝혀지면 이의를 제기한 사람에게 보상이 주어지고, Layer 2는 기존 상태로 롤백하고, 해당 트랜잭션을 통과시킨 검증자를 처벌하는 방식으로 유효성을 보장합니다. 이처럼 올바른 이의 제기를 제출하는 네트워크 참여자가 한 명이라도 있다면 Optimistic Rollup 네트워크는 안전하게 작동할 수 있습니다.

사기 증명을 계산하는 롤업 프로토콜은 또한 필요한 상호 작용 라운드 수에 따라 일회성 대화형 증명(Single-Round Interactive Proving)과 다단계 대화형 증명(Multi-Round Interactive Proving)으로 나누어집니다. 일회성 대화형 증명 체계는 Layer 1에서 해당 트랜잭션을 모두 재실행하면서 State root을 대조하는 방식입니다. 하지만 이러한 방식은 온 체인에 게시해야하는 데이터도 증가하고, 메인 체인에서 거래를 다시 실행하기 위해 상당한 가스 비용도 필요하기에 문제점이 있습니다. 반면 다단계 대화형 증명 체계는 해당 트랜잭션을 이진탐색 하면서 이의를 제기한 사람(Asserter)과 그 이의에 도전하고자 하는 사람이(Challenger) 각각을 검증하는 과정을 반복하여 사기 증명을 계산합니다. 더 이상 논쟁하지 않거나 Layer 1의 검증자가 해당 논쟁이 유효하지 않다고 판단하면 이의 제기가 실패한 것으로 봅니다. 이와 같은 방식은 상호작용을 위한 시간이 필요하지만, 모든 트랜잭션을 검증할 필요가 없기 때문에 온체인에 게시된 데이터양을 줄이고 Layer 1에서 전체 트랜잭션을 재실행하지 않아 필요한 가스비도 절감됩니다. 이더리움에서는 Optimistic Rollup에서 더 효율적인 방식인 다단계 대화형 증명으로 전환하려고 하고 있습니다.

ZK Rollup과 영지식 증명

ZK Rollup은 데이터를 직접 확인하지 않고도 해당 정보가 이상이 없음을 수학적으로 증명하는 영지식 증명(Zero-knowledge Proof; ZKP)을 활용하여 트랜잭션의 유효성을 증명합니다. 모든 트랜잭션 배치에는 메인 체인에도 제출되는 개인 유효성 증명이 포함되며, 메인 체인에 보내지기 전에 최적화를 통해 트랜잭션의 크기를 압축합니다. 이러한 방식을 통해 ZK Rollup은 상태를 갱신하기 전에 무결성을 검증할 수 있어 데이터에 대한 신뢰도가 높습니다. ZK Rollup에는 거래 데이터를 생성하고 네트워크로 보내는 트랜잭터(Transactors)와 트랜잭터로부터 전달받은 데이터를 하나로 모아 하나의 트랜잭션으로 다시 합치는 릴레이어(Relayers)라는 참여자가 존재합니다. 릴레이어는 트랜잭터가 기록한 거래 데이터(수신인과 발신인의 주소, 거래 금액, 네트워크 수수료, 논스)를 합치는 과정에서 영지식 증명을 포함하여 메인 체인의 스마트 컨트랙트에서 검증됩니다. ZK Rollup 방식은 Optimistic Rollup 방식과 달리 별도의 검증 기간이 없습니다.

영지식 증명은 거래 상대방에게 특정 정보를 유추할 수 있는 어떠한 것도 노출하지 않은 채 상대에게 자신이 정보를 알고 있다는 것을 증명하는 방식으로, 앞서 언급했던 것처럼 검증자가 데이터를 직접 확인하지 않으면서 검증할 수 있게 합니다. 영지식 증명의 프로토콜에는 암호화 방식에 따라 ZK-SNARK(타원곡선 알고리즘)와 ZK-STARK(충돌 저항성 해시함수)가 있습니다. ZK-SNARK는 상호작용 한 번으로 검증을 완료할 수 있어 이더리움 네트워크에서의 검증 시간과 가스비가 적게 들지만, 검증에 필요한 키를 생성하는 제 3의 신뢰 셋업 과정에서 중앙화의 위험이 있습니다. 반대로 신뢰 셋업이 필요 없는 ZK-SNARK는 검증해야 하는 영지식 증명의 크기가 커서 시간과 가스비가 ZK-SNARK에 비해 많이 들겠죠?

III. 기능적인 차이

Optimistic Rollups과 ZK Rollups의 작동 방식에서의 차이를 살펴보았으니 이제 블록체인의 확장성 솔루션으로서 기능할 때 어떠한 차이점을 보이는지 살펴보겠습니다.

유효성 검증과 보안

서술한 것처럼 Optimistic Rollups은 사용자가 트랜잭션 배치에 대한 이의를 제기하지 않는다면, 유효성 검증에 대한 수단이 따로 마련되어있지 않습니다. 따라서 트랜잭션의 보안성이 정확한 이의 제기에 대한 인센티브를 얼마나 제공하냐에 따라 달라질 수 있습니다. 반면 ZK Rollups은 암호화된 보안 증명(영지식 증명)에 의존하기 때문에 트랜잭션 배치에 대한 유효성을 수학적 증명으로 보장할 수 있다는 차이점이 있습니다.

거래 완결성

거래 완결성이란 거래가 완전히 검증되어 트랜잭션에서 처리된 토큰(거래 자금)을 인출할 때까지 얼마나 걸리는지에 대한 개념입니다. Optimistic Rollups의 경우 트랜잭션 배치를 검증하는 유예 기간이 존재하여 (일반적으로 7~14일) 이 기간 동안 거래 자금을 출금하지 못하고, 그렇기 때문에 현재 보안성이 보장되는 자금이 일정 금액으로 제한됩니다. 하지만 ZK Rollups의 경우 오프 체인에서 이뤄지는 트랜잭션에 대한 확실한 증거를 제공할 수 있기 때문에 거래가 완료되면 별 다른 지연 없이 자금을 인출할 수 있습니다.

프로그램 용이성

Optimistic Rollup은 유효성을 검증하는 별 다른 기술 없이도 구현할 수 있지만 ZK Rollup은 필수적으로 영지식 증명을 통한 유효성 검증 과정을 정확히 프로그래밍 해야하므로 구현이 더 까다롭습니다. 게다가 Optimistic Rollup은 EVM 호환이 가능하여 현재 Layer 1에서 동작하는 다양한 스마트 컨트랙트가 대부분 동작하지만, ZK Rollup은 아직 간단한 기능만 동작하고 있습니다.

거래비용의 차이

Optimistic Rollup는 의심스러운 (이의가 제기된) 트랜잭션 배치에 대해서만 사기 증명을 진행하기 때문에 연산 비용적인 측면에서 롤업 과정이 더 효율적이라고 볼 수 있습니다. 반면에 ZK Rollup은 전산적으로 유효성을 증명해야하므로 하나의 거래를 위해 더 많은 비용이 발생합니다. 또한, 영지식 증명을 생성하기 위해서는 필연적으로 더 복잡한 계산을 수행해야합니다. 하지만 Optimistic Rollup이 사기 증명을 위해 일회성 대화형 증명 체계를 이용한다면 Tx 당 온체인 거래 수수료는 ZK Rollup보다 더 많이 발생하게 됩니다.

신뢰 셋업의 유무

Optimistic Rollup은 유효성을 검증하기 위한 별다른 요구 조건이 필요하지 않지만, ZK Rollup에서 ZK-SNARK 방식을 활용할 경우 신뢰할 수 있는 셋업이 필요합니다.

검증자의 실시간 모니터링 의존 유무

ZK Rollup의 경우 검증자가 특별히 모니터링하지 않아도 되지만, Optimistic Rollup에서는 사기 검증을 위해 검증자가 State root과 실제 트랜잭션 데이터를 모니터링하고 있어야 합니다. 따라서, Optimistic Rollup은 트랜잭션 배치의 무결성을 위해 검증자가 Layer 2 체인을 실시간으로 모니터링하는 것에 의존하고 있다고 볼 수 있습니다.

선술한 내용은 Georgia Weston이 작성한 내용을 참고하였습니다.

IV. 결론

이렇듯 트랜잭션 데이터를 배치로 “롤업”하여 메인 체인의 확장성 문제를 해결할 수 있는 롤업 방식은 이 트랜잭션 배치가 유효성을 검증하는 방식에 따라 이의 제기 된 배치를 사기 증명을 활용하여 검증하는 Optimistic Rollup과 각각 영지식 증명을 활용하여 완전히 검증하는 ZK Rollup으로 구분될 수 있습니다. 결론적으로 Optimistic Rollup과 ZK Rollup 모두 압도적으로 가장 좋은 대안이 될 수 없지만, 적어도 현재까지는 Optimistic Rollup의 프로그램 용이성 덕분에 DeFi 솔루션의 확장성에서 더 많이 선택되고 있습니다.

하지만 최근 Layer 2 체인들이 EVM 호환이 가능한 ZK Rollup 개발을 완성하고 있다고 하니 ZK Rollup의 본격적인 상용화를 기대할 수도 있을 것 같습니다. Optimistic Rollup과 ZK Rollup의 대표적인 프로젝트를 나열하는 것으로 마무리하겠습니다.

Optimistic Rollups : Arbitrum Bridge, Optimism, Boba Network

ZK Rollups : StarkNet, Loopring, ZKSync, Polygon-Miden

[Reference]

--

--

Kim Yevin
EWHA-CHAIN

Ewha Woman University | Ewha-chain | Computer Science & Engineering