
ZK 롤업: 방 안의 코끼리
저자: Jaehyun Ha
번역: TechFlow
요약
-
제로지식 증명(ZKP)은 더 사적인 확장 가능한 블록체인 생태계를 구축할 수 있는 잠재력을 지녔지만, 제로지식(ZK) 기술의 많은 측면들이 오해되거나 일반적으로 알려진 방식과 다르게 적용되고 있다.
-
ZKP는 주로 두 가지 특성으로 구성된다: "제로지식성"과 "간결성". 이 설명 자체는 틀리지 않지만, 대부분의 ZK 롤업은 간결성 속성만 활용하고 있으며, 트랜잭션 데이터와 계정 정보는 완전히 제로지식 또는 사적이지 않다.
-
다양한 유형의 DApp들에 대해 ZK 롤업이 최적의 개발 스택은 아닐 수 있다. 예를 들어, ZKP 생성은 웹3 게임의 성능을 저하시킬 수 있는 빠른 종료(fast finality)의 병목 현상이 될 수 있으며, 상태 차이 기반의 데이터 가용성 보장 방법은 DeFi 대출 프로토콜의 서비스를 해칠 수 있다.

그림 1: ZK는 유행어로 훌륭하다
출처: imgflip
현재 블록체인 산업은 제로지식(ZK) 시대라고 비유할 수 있다. 어디를 가든 ZK가 두드러지며, 이름에 ZK를 포함하지 않는 차세대 블록체인 프로젝트를 찾는 것은 점점 더 드물어지고 있다. 기술적으로 보면 ZK는 확장성과 사생활 보호 기능을 갖춘 블록체인 생태계에 기여할 수 있는 전망 있는 기술이다. 그러나 ZK는 기술적 배경이 복잡하기 때문에 개인 및 기관 투자자들은 ZK 기술이 각 프로젝트에 어떻게 이익을 주는지 완전히 이해하지 못한 채, 단순히 "멋지고", "새롭고", "블록체인 트릴레마 문제를 해결할 수 있을 것 같다"는 믿음만으로 ZK 프로젝트에 투자하는 경우가 많다.
본 ZK 시리즈에서는 ZK 롤업의 무시할 수 없는 사실들(단점과 약점)과 유익한 응용 분야에 대해 다룰 것이다. 먼저 블록체인에서 ZK 증명(ZKP)의 두 핵심 속성인 "제로지식성"과 "간결성"을 분석할 것이다. 그 다음 현재 운영 중인 많은 ZK 롤업들이 왜 실제로 "제로지식" 요소를 활용하지 않고 있는지를 논의할 것이다. 이후에는 복잡성 회피 등 잘 알려진 문제들을 넘어서, 어떤 분야에서 ZK 롤업 적용이 오히려 해로울 수 있는지를 살펴볼 것이다. 마지막으로 ZK 원칙을 효과적으로 구현하고 ZK 기술 사용으로 명확한 이점을 얻는 뛰어난 프로젝트들을 소개할 것이다.
복습: ZK 롤업의 트랜잭션 수명주기
롤업은 체인 외부에서 트랜잭션 번들을 실행한 후 최신 L2 상태의 요약 데이터를 L1에 저장함으로써 L1의 처리량 제한을 해결하는 확장 솔루션이다. 이 중 ZK 롤업의 두드러진 특징은 체인 하위 계산의 유효성 증명을 체인 상에 제출함으로써 자금 인출을 신속하게 할 수 있다는 점이다. ZK 롤업의 문제점에 깊이 들어가기 전에, 우선 그들의 트랜잭션 수명주기를 간략히 복습해보자.

그림 2: ZK 롤업의 트랜잭션 수명주기
출처: Presto 리서치센터
-
각 L2 사용자는 거래를 생성하여 시퀀서에게 제출한다.
-
시퀀서는 여러 트랜잭션을 집계하고 정렬한 후 체인 외부에서 이를 실행하여 새로운 롤업 상태를 계산한다. 이후 시퀀서는 이 새로운 롤업 상태를 '배치(batch)' 형태로 체인 상의 상태 스마트계약에 제출하고, 해당 L2 트랜잭션 데이터를 데이터 블록으로 압축하여 데이터 가용성을 보장한다.
-
이 배치는 증명자(prover)에게 전송되며, 증명자는 이 배치 실행의 유효성 증명(또는 ZKP)을 생성한다. 이후 이 유효성 증명은 추가 데이터(예: 이전 상태 루트)와 함께 L1의 검증자 스마트계약으로 전송되며, 검증자가 무엇을 검증하고 있는지 식별하는 데 도움이 된다.
-
검증자 컨트랙트가 증명이 유효하다고 확인하면 롤업 상태가 업데이트되며, 제출된 배치 내의 L2 트랜잭션은 완료된 것으로 간주된다.
(참고: 이러한 설명은 ZK 롤업 과정의 단순화된 버전이며, 각 구현은 프로토콜에 따라 다를 수 있다. 역할을 세분화하면 L2 내에 집계기(aggregator), 실행기(executor), 제안자(proposer) 등 더 많은 개체가 존재할 수 있다. 데이터 블록의 계층도 용도에 따라 블록, 블록 그룹, 배치 등 달라질 수 있다. 위 설명은 강력한 권한을 가진 중앙집중식 시퀀서가 거래를 실행하고 통합된 데이터 블록 형식인 배치를 생성한다고 가정한 경우이다.)
옵티미스틱 롤업과 달리, ZKP(예: ZK-SNARKs 또는 ZK-STARKs) 덕분에 ZK 롤업은 모든 트랜잭션을 재실행하지 않고도 단순한 증명 하나를 검증함으로써 수천 건의 트랜잭션 실행 정확성을 확인할 수 있다. 그렇다면 이 ZKP란 무엇이며, 어떤 특성이 있을까?
ZKP의 두 가지 속성: 제로지식성과 간결성
말 그대로, ZKP는 기본적으로 증명(proof)의 일종이다. 증명은 제공자가 주장하는 바를 충분히 뒷받침할 수 있는 어떤 것이든 될 수 있다. Bob(제공자)이 Alice(검증자)에게 자신의 노트북 컴퓨터에 대한 권한을 갖고 있음을 입증하려 한다고 가정하자. 이를 증명하는 가장 간단한 방법은 Bob이 비밀번호를 Alice에게 말해주고, Alice가 노트북에 비밀번호를 입력해 Bob이 실제로 접근 권한이 있음을 확인하는 것이다. 그러나 이 검증 과정은 Alice와 Bob 모두에게 만족스럽지 않다. 만약 Bob이 매우 길고 복잡한 비밀번호를 설정했다면, Alice가 올바르게 입력하는 것은 큰 도전이 될 것이다(Alice가 복사-붙여넣기를 할 수 없다고 가정). 더 현실적으로는, Bob이 자신의 비밀번호를 공개하면서까지 권한을 증명하고 싶어 하지는 않을 것이다.
Bob이 비밀번호를 공개하지 않고도 Alice가 컴퓨터 권한을 신속하게 검증할 수 있는 방법이 있을까? 예를 들어, Bob이 지문 인식으로 노트북을 열어 Alice 앞에서 잠금을 해제할 수 있다(그림 3 참고, 이는 ZKP의 완벽한 예시는 아님). 바로 여기서 Alice와 Bob 모두 ZKP의 두 가지 핵심 속성인 제로지식성과 간결성으로부터 이득을 볼 수 있다.

그림 3: 제로지식성과 간결성에 대한 직관적 이해
출처: imgflip
제로지식성(Zero-Knowledge, ZK)
제로지식성은 제공자가 생성한 증명이 증명의 유효성 외에는 비밀 증거(witness, 즉 개인정보)에 관한 어떠한 정보도 노출하지 않아, 검증자가 데이터 내용을 알 수 없도록 하는 특성이다. 블록체인에서 이 속성은 개인 사용자의 프라이버시를 보호하는 데 사용될 수 있다. 각 거래에 ZKP를 적용한다면, 사용자는 자신의 행동의 합법성(예: 충분한 자금이 있어 거래 가능함을 증명)을 입증하면서도 거래 세부사항(예: 송금, 계정 잔액 업데이트, 스마트계약 배포 및 실행)을 공개하지 않고도 수행할 수 있다.
간결성(Succinctness)
간결성은 대규모 진술로부터 짧고 빠르게 검증 가능한 증명을 생성할 수 있는 능력을 의미하며, 즉 큰 것을 간결한 형태로 압축한다는 것이다. 블록체인에서 이 점은 특히 롤업에 사용된다. ZKP를 사용하면 L2의 검증자는 L1의 검증자에게 간결한 증명을 제출함으로써 거래의 올바른 실행을 주장할 수 있다(TB급 거래 유효성도 10~100KB의 증명으로 표현 가능). 이후 검증자는 모든 거래를 재실행하지 않고도 간결한 증명을 검증함으로써 짧은 시간 내(즉, 10밀리초에서 1초 사이) 실행 유효성을 쉽게 확인할 수 있다.
ZK 롤업은 훌륭하지만, 프라이버시를 의미하지는 않는다
위에서 언급한 ZKP의 특성은 ZK 롤업에서 잘 활용되고 있다. 검증자는 제공자로부터 받은 ZKP로부터 원래의 트랜잭션 데이터를 추론할 수 없지만, 간결한 증명을 검증함으로써 제공자의 주장을 효율적으로 검증할 수 있다. 즉, 현재의 ZK 롤업이 제로지식성과 간결성 속성을 완전히 따른다고 주장하는 것은 오해의 소지가 있다. 제공자와 검증자 간의 상호작용에 초점을 맞추면 맞는 말일 수 있지만, ZK 롤업에는 시퀀서, 제공자, 롤업 노드 등 다른 구성 요소들도 존재한다. 그렇다면 "제로지식" 원칙이 이들에게도 보장되는가?
현재 어떤 ZK 롤업에서도 ZKP를 통해 완전한 프라이버시를 실현하는 데 어려움이 있는데, 이는 일부 부분만 ZK로 비공개화하고 나머지 부분은 공개 상태로 유지할 경우 발생할 수 있는 취약점 때문이다. ZK 롤업의 트랜잭션 수명주기를 생각해보자. 사용자가 시퀀서로 거래를 보내는 순간 프라이버시가 유지되는가? 제공자의 경우는? 아니면 L2 배치가 DA 계층에 제출될 때 개별 계정 정보의 프라이버시는 보호되는가? 현재로서는 이러한 조건 모두 충족되지 않는다.

그림 4: ZK 롤업에서의 프라이버시 누수
출처: Presto 리서치
대부분의 주류 ZK 롤업에서 시퀀서나 제공자(또는 강력한 권한을 가진 중앙화된 실체)는 송금 금액, 계정 잔액 업데이트, 계약 배포 및 실행 등 거래 세부 정보를 명확하게 볼 수 있다. 간단한 예로, 어떤 ZK 롤업 블록 탐색기라도 접속하면 위에서 언급한 모든 세부 정보를 쉽게 관찰할 수 있다. 더 나아가, 중앙화된 시퀀서가 어떤 이유로 서비스를 중단했을 때 다른 롤업 노드가 롤업 상태를 복구하려 한다고 생각해보자. 이 노드는 DA 계층(L1 이더리움)에 공개 게시된 L2 데이터로부터 정보를 추출하고 L2 상태를 재구성할 것이다. 이 과정에서 DA 계층에 저장된 L2 거래를 재생할 수 있는 모든 노드는 각 사용자 계정 상태에 관한 정보를 복구할 수 있게 된다.
따라서 현재의 ZK 롤업에서 "제로지식"이라는 용어는 파편화된 형태로 시행되고 있다. 이것을 틀렸다고 볼 수는 없지만, 이는 "ZK는 제로지식이므로 완전한 프라이버시를 의미한다"는 일반적인 인식과는 분명히 다르다. 현재 ZK 롤업의 혁신성은 "제로지식성"보다는 "간결성" 속성을 활용하는 데 있다. 즉, 체인 외부에서 거래를 실행하고 검증자가 재실행하지 않고도 신속하고 확장 가능하게 실행 유효성을 검증할 수 있도록 간결한 증명을 생성하는 것이다.
이런 이유로 일부 ZK 롤업들(예: Starknet)은 혼동을 피하기 위해 스스로를 "유효성 롤업(validity rollup)"이라고 부르며, 반면 Aztec처럼 진정한 ZK 프라이버시를 보장하는 프로젝트는 자신을 ZK-ZK 롤업이라고 표기한다.
ZK 롤업의 실용성 심층 고찰
앞서 언급했듯이, 대부분의 ZK 롤업은 완전한 ZK 프라이버시를 실현하지 못하고 있다. 그렇다면 우리의 다음 목표는 무엇인가? 롤업의 모든 구성 요소에 ZK를 포괄적으로 배포하여 완전한 거래 프라이버시를 실현하는가? 사실 이는 간단한 문제가 아니다. 기술을 더욱 성숙시키기 위한 상당한 기술 발전이 필요할 뿐 아니라, 제로지식성은 이데올로기적(예: 불법적인 거래 은닉 사용)이고 실용성 면에서도(예: 정말로 유용한가?) 여전히 논란이 되는 주제이다. 완전한 거래 프라이버시의 윤리적 문제 논의는 본 글의 범위를 벗어나므로, 우리는 블록체인 프로젝트에서 마주하는 ZK 롤업의 두 가지 실용성 문제에 집중할 것이다.
첫째: ZKP 생성은 빠른 종료성의 병목일 수 있다
우선 ZK 롤업 자체의 실용성부터 논의해보자. ZK 롤업의 가장 매력적인 장점은 ZKP 덕분에 거래의 "빠른 종료(fast finality)"가 가능해져 자산 인출 지연 시간이 줄어든다는 점이다. 향상된 TPS와 낮은 거래 수수료는 추가적인 이점이다. ZK 롤업의 특성을 가장 효과적으로 활용할 수 있는 분야는 게임 산업인데, 게임 내 화폐의 입출금이 매우 빈번하며 매초마다 막대한 게임 내 거래가 발생하기 때문이다.
하지만 ZK 롤업은 정말로 게임에 최적화된 기술 스택이라 할 수 있을까? 이 질문에 답하기 위해 ZK 롤업의 "빠른 종료" 개념을 더 깊이 생각해볼 필요가 있다. 사용자가 ZK 롤업 기반 기술 스택 위에서 구동되는 Web3 게임을 즐기고 있다고 상상해보자. 사용자는 게임 아이템을 게임 머니로 교환하고, 해당 자산을 게임 밖으로 인출하려 한다.
자산을 인출하려면 게임 내 거래가 종료되어야 한다. 즉 거래가 새로운 롤업 상태 커밋에 포함되어야 하고, 해당 ZKP가 L1에 제출되어야 하며, L1 이더리움에서 증명의 종료가 완료되어야 거래의 돌이킬 수 없음을 보장할 수 있다. 이 모든 과정이 순간적으로 발생한다면 ZK 롤업이 자랑하는 "즉시 거래 확인(instant transaction confirmation)"을 실현하여 사용자가 즉시 자산을 인출할 수 있을 것이다.
그러나 현실은 그렇지 않다. L2beat가 제공하는 다양한 ZK 롤업의 종료 시간 통계에 따르면, zkSync Era는 약 2시간, Linea는 3시간, Starknet은 평균 약 8시간이 소요된다. 이는 ZKP 생성에 시간이 걸리며, 거래 수수료를 줄이기 위해 한 배치(즉, 단일 증명)에 더 많은 거래를 포함시키는 것도 추가 시간이 필요하기 때문이다. 즉, 증명 생성 및 제출 속도는 ZK 롤업의 빠른 종료를 실현하는 잠재적 병목이며, 이는 Web3 게임의 사용자 경험을 저하시킬 수 있다.

그림 5: ZKP 생성은 ZK 롤업의 빠른 결정성의 잠재적 병목일 수 있다
출처: imgflip
반면, Pixels 및 Axie Infinity 같은 Web3 게임을 지원하는 Ronin과 같이 게임에 최적화된 체인은 탈중앙화와 보안을 희생하면서도 초고속 종료를 보장한다. Ronin은 ZK 기반 또는 롤업 기반 체인이 아니다. PoA(권한 증명) + DPoS(위임 지분 증명) 합의 알고리즘 하에서 작동하는 EVM 블록체인이다. 위임된 지분 수량에 따라 22명의 검증자를 선정한 후, 이 검증자들이 PoA 방식(즉, 22명 검증자 간의 투표 과정)으로 블록을 생성하고 검증한다. 따라서 Ronin에서는 거래가 거의 지연 없이 블록에 포함되고 검증 시간도 매우 짧아 신속하게 종료가 완료된다. Shillin 하드포크 이후 평균 각 거래는 6초만에 종료된다. Ronin은 ZKP 없이도 이러한 모든 것을 실현한다.
물론 Ronin에도 단점이 있다. 중앙화된 검증자가 관리하기 때문에 51% 공격에 상대적으로 취약하다. 또한 이더리움을 결제 계층으로 사용하지 않기 때문에 이더리움의 보안성을 계승할 수 없다. 크로스체인 브릿지 사용에도 보안 리스크가 존재한다. 하지만 사용자 관점에서 보면 이 모든 것이 중요한가? 현재 비탈중앙화된 정렬기(decentralized sequencer)를 가진 ZK 롤업 역시 단일 장애 지점(SPOF) 문제가 있다. 이더리움은 거래 롤백 가능성을 줄여줌으로써 보장을 제공하지만, 중앙화된 시퀀서나 검증자가 고장 나면 ZK 롤업 역시 동결된다. 다시 한번 강조하지만, ZK 롤업의 "ZK"는 실행 정확성의 유효성 검증에만 사용된다. 다른 프로젝트가 동일한 기능을 더 빠르고 저렴하게 제공한다면, ZK 롤업은 더 이상 Web3 게임 사용자 및 개발자에게 선호되는 기술 스택이 아닐 수 있다.
둘째: 상태 차이(state difference) 공개는 양날의 검이다
다른 하나는 ZK 롤업 프로토콜 구현의 실용성 문제이다. 여기서 우리는 ZK 롤업에서 데이터 가용성을 보장하는 방법 중 하나인 상태 차이 공개에 주목하겠다(Dencun 업그레이드 해제: 확장 가능한 DA 계층의 숨겨진 진실, Jaehyun Ha, 12Apr24 참조).
롤업에서 데이터 가용성을 이해하는 쉬운 방법은 아마추어 등반가가 에베레스트 산 정복 과정을 입증하고 기록하는 것을 상상하는 것이다. 가장 간단한 방법은 기지 캠프부터 정상까지 매 걸음을 비디오로 녹화하는 것이다. 비디오 파일이 매우 클 수 있지만, 누구나 등반가의 등반 과정을 검증하고 영상을 재생할 수 있다. 이 비유는 데이터 가용성을 보장하는 원시 거래 데이터 공개 방법에 비유할 수 있다. 옵티미스틱 롤업은 이 방법을 따르며, 시퀀서의 상태 커밋을 신뢰할 수 없기 때문에 개별 도전자들이 올바른 실행을 재생하고 검증할 수 있도록 한다. ZK 롤업에서는 Polygon zkEVM과 Scroll이 이 방법을 채택하여 원시 L2 거래 데이터를 압축된 형태로 L1에 저장함으로써 필요한 경우 누구나 L2 거래를 재생하여 롤업 상태를 복구할 수 있도록 한다.
아마추어 등반가의 예로 돌아가면, 또 다른 검증 방법은 유명한 등반가가 아마추어 등반가와 함께 에베레스트를 등반하여 세상에 등반이 실제로 이루어졌음을 증명하는 것이다. 이미 신뢰할 수 있는 인물에 의해 등반이 입증되었으므로, 등반가는 더 이상 매 걸음을 기록할 필요가 없다. 출발점과 정상에서 사진 한 장씩 찍으면, 다른 사람들은 등반가가 정상에 도달했다고 인정할 것이다. 이 비유는 데이터 가용성을 보장하는 상태 차이 방법을 반영한다. ZK 롤업에서는 zkSync Era와 StarkNet이 이 방법을 사용하여 L2 거래가 L1에서 실행되기 전후의 상태 차이만 저장함으로써, 필요 시 초기 상태로부터 상태 차이를 계산하여 롤업 상태를 복구할 수 있도록 한다.

그림 6: 원시 거래 공개 vs 상태 차이 공개
출처: Presto 리서치
이러한 상태 차이 방법은 중간 거래 저장 단계를 생략함으로써 L1 저장 비용을 줄일 수 있기 때문에 원시 거래 데이터 공개 방법보다 비용 측면에서 분명한 이점을 갖는다. 비록 이것이 일반적으로 문제는 아니지만, 잠재적 결함이 하나 있다: 이 방법은 완전한 L2 거래 이력을 복구할 수 없으며, 이는 특정 DApp에 문제가 될 수 있다.
DeFi 대출 프로토콜인 Compound를 예로 들자. 만약 이것이 상태 차이 기반 ZK 롤업 기술 스택 위에 구축되었다고 가정하자. 이 프로토콜은 초당 공급 및 대출 금리를 계산하기 위해 완전한 거래 이력이 필요하다. 그러나 ZK 롤업 시퀀서가 고장 나고 다른 롤업 노드가 최신 상태를 복구하려 한다면 어떻게 될까? 상태는 복구될 수 있지만, 배치 간 스냅샷만 추적 가능하고 각 중간 거래는 추적할 수 없기 때문에 금리는 부정확하게 복구될 것이다.
결론
본문은 주로 현재 대부분의 ZK 롤업에는 "ZK"가 존재하지 않으며, DApp의 많은 부분에서 ZKP 및 ZK 절차를 사용하는 것이 최선의 선택이 아닐 수 있다고 주장한다. ZK 기술이 비난을 받아야 할지도 모르겠지만, 기술 자체에 문제가 있는 것은 아니다. 다만 기술 발전을 활용하는 과정에서 DApp의 잠재적 성능 저하를 가져올 수 있다는 점이다. 그러나 이는 ZK 기술이 산업에 전혀 쓸모없다는 의미는 아니다. ZKP와 ZK 롤업이 마침내 기술적으로 성숙되면 블록체인 트릴레마 문제를 해결하는 더 나은 솔루션을 제공할 수 있을 것이다. 실제로 현재 이미 ZK 프라이버시를 유지하는 ZK 기반 프로젝트들이 있으며, 많은 유형의 DApp들이 ZKP와 ZK 롤업의 장점을 효과적으로 활용하고 있다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














