원제: ZK Rollups: Elephant In the Room
원작자 : 하재현
원본 편집: Deep Chao TechFlow
블록체인 산업의 현재 상황은 영지식(ZK) 시대에 비유될 수 있습니다. ZK는 어디를 가든 눈에 띄며 ZK를 이름에 포함하지 않는 차세대 블록체인 프로젝트를 찾는 것이 점점 더 드물어지고 있습니다. 기술적인 관점에서 볼 때, ZK가 보다 확장 가능하고 프라이빗한 블록체인 생태계에 기여할 수 있는 유망한 기술이라는 점은 부인할 수 없습니다. 그러나 ZK의 복잡한 기술적 배경으로 인해 소매 또는 기관을 막론하고 많은 투자자들은 ZK 기술이 어떻게 이점을 제공하는지 완전히 이해하지 못한 채 멋지고 참신하며 블록체인 트릴레마를 해결할 수 있다는 "믿음"을 바탕으로 ZK 프로젝트에 투자하는 경우가 많습니다. 모든 프로젝트.
이번 ZK 시리즈에서는 ZK 롤업의 불편한 사실(단점과 단점)과 그 유익한 활용법을 살펴보겠습니다. 먼저, 블록체인에서 ZK 증명(ZKP)의 두 가지 핵심 속성인 "제로 지식"과 "단순성"을 분석합니다. 그런 다음 현재 서비스 중인 수많은 ZK 롤업이 어떻게 "영지식" 측면을 실제로 활용하지 못하는지 논의할 것입니다. 다음으로, 구현 복잡성과 같은 잘 알려진 문제를 피하면서 ZK 롤업을 적용하는 것이 도움이 되기보다는 해로울 수 있는 영역을 살펴보겠습니다. 마지막으로, ZK 원칙을 효과적으로 구현하고 ZK 기술을 사용하여 실제로 명확한 이점을 얻는 뛰어난 프로젝트를 강조하겠습니다.
검토: ZK 롤업의 트랜잭션 수명 주기
롤업은 오프체인에서 트랜잭션 묶음을 실행한 후 L1에 최신 L2 상태의 요약 데이터를 저장하여 L1의 처리량 제한을 해결하는 확장 솔루션입니다. 그중 ZK 롤업의 뛰어난 특징은 오프체인 계산의 유효성 증명을 체인에 제출해 신속하게 자금을 인출할 수 있다는 점이다. ZK 롤업 문제를 조사하기 전에 트랜잭션 수명 주기를 간략하게 검토해 보겠습니다.
그림 2: ZK 롤업의 트랜잭션 수명 주기 출처: Presto Research Center
1. 각 L2 사용자는 트랜잭션을 생성하고 시퀀서에 제출합니다.
2. 시퀀서는 여러 트랜잭션을 집계 및 정렬한 다음 이러한 트랜잭션을 오프체인에서 실행하여 새로운 롤업 상태를 계산합니다. 그 후, 시퀀서는 이 새로운 롤업 상태를 "배치" 형식으로 온체인 상태 스마트 계약에 제출하고 해당 L2 트랜잭션 데이터를 데이터 블록으로 압축하여 데이터 가용성을 보장합니다.
3. 배치는 배치 실행에 대한 유효성 증명(또는 ZKP)을 생성하는 증명자에게 전송됩니다. 그런 다음 이 유효성 증명은 추가 데이터(예: 이전 상태 루트)와 함께 L1의 유효성 검사기 스마트 계약으로 전송되며, 이는 유효성 검사기가 유효성 검사 대상을 식별하는 데 도움이 됩니다.
4. 검증인 계약 확인이 유효한 것으로 확인되면 롤업 상태가 업데이트되고 제출된 배치의 L2 트랜잭션이 완료된 것으로 간주됩니다.
(이 설명은 ZK 롤업 프로세스의 단순화된 버전이며 각 구현은 프로토콜마다 다를 수 있습니다. 역할을 구분하면 수집자, 실행자 및 제안자와 같은 L2에 더 많은 엔터티가 있을 수 있습니다. 데이터 블록 계층 목적에 따라 블록, 블록 그룹, 배치 등이 다를 수 있습니다. 위의 설명은 중앙 집중식 시퀀서가 트랜잭션을 실행하고 배치에 대한 통합 데이터 블록 형식을 생성하는 시나리오를 가정합니다.
(이 설명은 ZK 롤업 프로세스의 단순화된 버전이며 각 구현은 프로토콜마다 다를 수 있습니다. 역할을 구분하면 수집자, 실행자 및 제안자와 같은 L2에 더 많은 엔터티가 있을 수 있습니다. 데이터 블록 계층 목적에 따라 블록, 블록 그룹, 배치 등이 다를 수 있습니다. 위의 설명은 중앙 집중식 시퀀서가 트랜잭션을 실행하고 배치에 대한 통합 데이터 블록 형식을 생성하는 시나리오를 가정합니다.
낙관적 롤업과 달리 ZKP(예: ZK-SNARK 또는 ZK-STARK) 덕분에 ZK 롤업은 모든 트랜잭션을 재생할 필요 없이 간단한 증명을 확인하여 수천 개의 트랜잭션의 실행 정확성을 확인할 수 있습니다. 그렇다면 이 ZKP는 무엇이고 어떤 특징을 가지고 있을까요?
ZKP의 두 가지 속성: 무지식과 단순성
이름에서 알 수 있듯이 ZKP는 기본적으로 증거입니다. 증거는 공급자의 주장을 완전히 뒷받침하는 모든 것이 될 수 있습니다. Bob(제공자)이 Alice(검증자)에게 자신의 노트북에 대한 권한이 있음을 확신시키고 싶어한다고 가정해 보겠습니다. 이를 증명하는 가장 간단한 방법은 Bob이 Alice에게 비밀번호를 알려주고, Alice는 노트북에 비밀번호를 입력하고 Bob이 실제로 권한을 가지고 있는지 확인하는 것입니다. 그러나 이 확인 과정은 Alice와 Bob 모두에게 만족스럽지 않습니다. Bob이 매우 길고 복잡한 비밀번호를 설정한 경우 Alice가 비밀번호를 올바르게 입력하기가 매우 어려울 것입니다(Alice가 복사하여 붙여넣을 수 없다고 가정할 때). 보다 현실적으로 Bob은 자신의 권위를 증명하기 위해 Alice에게 자신의 비밀번호를 공개하려고 하지 않을 수 있습니다.
Bob이 자신의 비밀번호를 공개하지 않고도 Alice가 컴퓨터의 권한을 신속하게 확인할 수 있는 인증 프로세스가 있다면 어떨까요? 예를 들어 Bob은 그림 3에 표시된 것처럼 지문 인식을 사용하여 Alice 앞에서 자신의 노트북 잠금을 해제할 수 있습니다(이는 ZKP의 완벽한 예가 아님을 참고하세요). 여기서 Alice와 Bob은 모두 ZKP의 두 가지 주요 속성인 영지식 속성과 단순성 속성의 이점을 누릴 수 있습니다.
그림 3: 지식이 전혀 없고 단순함이 있는 높은 수준의 직관 출처: imgflip
제로 지식(ZK)
영지식 속성은 제공자가 생성한 증명이 증명의 유효성 외에 비밀 증인(예: 개인 데이터)에 대한 어떠한 정보도 공개하지 않아 검증자가 해당 데이터를 알지 못한다는 사실을 말합니다. 블록체인에서는 이 속성을 사용하여 개별 사용자의 개인정보를 보호할 수 있습니다. ZKP가 각 거래에 적용되면 사용자는 거래 세부 사항(예: 이체, 계정 잔액 업데이트, 스마트 계약 배포 및 처형)을 대중에게 공개한다.
간단
단순성 속성은 대규모 선언에서 짧고 신속하게 검증 가능한 증거를 생성하는 ZK의 능력을 나타냅니다. 즉, 큰 내용을 컴팩트한 형식으로 압축합니다. 블록체인에서는 이는 특히 롤업에 사용됩니다. ZKP를 사용하면 L2의 검증자는 L1의 검증자에게 간결한 증거를 제출하여 트랜잭션이 올바르게 실행되었음을 주장할 수 있습니다(테라바이트 수준 트랜잭션의 유효성은 10~100KB 증명으로 표현 가능). 그런 다음 유효성 검사기는 모든 트랜잭션을 재생하는 대신 간결한 증명을 확인함으로써 짧은 시간(예: 10밀리초~1초) 내에 실행의 유효성을 쉽게 확인할 수 있습니다.
ZK Rollup은 훌륭하지만 개인 정보 보호를 의미하지는 않습니다.
ZKP의 위 기능은 ZK 롤업에서 잘 활용됩니다. 검증인은 공급자가 받은 ZKP에서 원본 거래 데이터를 추론할 수 없지만 간결한 증명을 검증하면 공급자의 주장(즉, 새로운 L2 상태)을 효과적으로 확인할 수 있습니다. 즉, 현재 ZK 롤업이 영지식 및 단순성 속성을 완전히 고수한다고 주장하는 것은 오해의 소지가 있습니다. 공급자와 유효성 검사기 간의 상호 작용에 초점을 맞추면 이는 사실일 수 있지만 ZK 롤업에는 시퀀서, 공급자 및 롤업 노드와 같은 다른 구성 요소가 있습니다. 그렇다면 그들에게도 '영지식' 원칙이 보장되는 걸까요?
모든 ZK 롤업에서 ZKP를 통해 완전한 개인정보 보호를 달성하려는 과제는 ZK를 통해 다른 부분은 공개로 유지하고 일부 부분은 비공개로 전환할 경우 발생할 수 있는 타협에서 비롯됩니다. ZK 롤업의 트랜잭션 수명주기를 생각해 보세요. 트랜잭션이 사용자에서 시퀀서로 전송될 때 개인정보 보호가 유지되나요? 공급자는 어떻습니까? 아니면 L2 배치가 DA 레이어에 제출될 때 개별 계정 정보의 개인 정보가 보호됩니까? 현재 이러한 시나리오 중 어느 것도 사실이 아닙니다.
그림 4: ZK 롤업의 개인정보 유출 출처: Presto Research
대부분의 주류 ZK 롤업에서 시퀀서 또는 공급자(또는 강력한 권한을 가진 기타 중앙 집중식 엔터티)는 이체 금액, 계정 잔액 업데이트, 계약 배포 및 실행을 포함한 거래 세부 정보에 대한 명확한 가시성을 갖습니다. 간단한 예를 들자면 ZK 롤업 블록 탐색기를 방문하면 언급된 모든 세부 사항을 쉽게 관찰할 수 있습니다. 그뿐만 아니라 어떤 이유로 중앙 집중식 시퀀서가 서비스를 중단하고 다른 롤업 노드가 롤업 상태를 복원하려고 시도하는 상황을 생각해 보세요. DA 레이어(대부분의 경우 L1 이더리움)의 공개적으로 공개된 L2 데이터에서 정보를 추출하고 L2 상태를 재구성합니다. 이 과정에서 DA 레이어에 저장된 L2 트랜잭션을 재생할 수 있는 모든 노드는 각 사용자 계정의 상태에 대한 정보를 복구할 수 있습니다.
따라서 현재 ZK 롤업에서는 "영지식"이라는 용어가 조각난 형태로 구현됩니다. 이것이 잘못된 것으로 간주될 수는 없지만 ZK가 지식이 없다는 것이 완전한 개인 정보 보호와 같다는 것을 의미한다는 일반적인 인식과는 분명히 다릅니다. 현재 ZK 롤업의 참신함은 "제로 지식"이 아닌 "단순성" 속성을 활용하는 것입니다. 즉, 오프체인 거래를 실행하고 검증인을 위한 간결한 증거를 생성하여 검증인이 다시 실행하지 않고 실행의 유효성을 빠르고 확장 가능하게 확인할 수 있도록 하는 것입니다. 그들을 실행합니다.
이러한 이유로 Starknet과 같은 일부 ZK 롤업은 혼동을 피하기 위해 스스로를 "유효성 롤업"이라고 부르는 반면, Aztec과 같이 진정한 ZK 개인 정보 보호를 보장하는 다른 ZK 롤업은 ZK-ZK 롤업이라는 레이블을 붙입니다.
ZK 롤업의 실용성에 대한 심층적 고려
앞서 언급했듯이 대부분의 ZK 롤업은 ZK 개인 정보 보호를 완전히 구현하지 않습니다. 그럼, 우리의 다음 목표는 무엇입니까? Rollup의 모든 부분에 ZK를 완전히 배포하여 완전한 거래 개인정보 보호를 달성하시겠습니까? 사실 이것은 간단한 질문이 아니다. ZK는 기술을 더욱 성숙시키기 위해 상당한 기술 발전이 필요할 뿐만 아니라 이념(예: 개인 거래에 대한 불법 사용) 및 실용성(예: 실제로 작동합니까?) 측면에서 여전히 논란의 여지가 있는 문제를 안고 있습니다. 완전한 거래 프라이버시의 윤리에 대한 논의는 이 기사의 범위를 벗어나므로 블록체인 프로젝트에서 직면하는 ZK 롤업과 관련된 두 가지 실제 문제에 중점을 둘 것입니다.
포인트 1: ZKP 생성은 빠른 결정성에 병목 현상이 될 수 있습니다.
먼저 ZK 롤업 자체의 유용성에 대해 논의해 보겠습니다. ZK 롤업의 가장 매력적인 판매 포인트는 ZKP 덕분에 거래의 "빠른 마무리"로 인해 자산 인출 대기 시간이 단축된다는 것입니다. 증가된 TPS와 낮은 거래 수수료는 추가적인 이점입니다. ZK 롤업 기능의 가장 효과적인 사용은 게임 산업에서입니다. 왜냐하면 게임 내 통화 입출금이 매우 빈번하여 매초 많은 수의 게임 내 거래가 발생하기 때문입니다.
하지만 ZK 롤업이 실제로 게임을 위한 최고의 기술 스택으로 간주될 수 있습니까? 그런 점에서 ZK 롤업의 '퀵 엔딩' 개념에 대해 좀 더 깊이 생각해 볼 필요가 있습니다. 사용자가 ZK Rollup 기반 기술 스택에서 실행되는 Web3 게임을 즐기고 있다고 상상해 보십시오. 사용자는 게임 내 아이템을 게임 내 통화로 교환하고 해당 자산을 게임에서 인출하려고 시도합니다.
하지만 ZK 롤업이 실제로 게임을 위한 최고의 기술 스택으로 간주될 수 있습니까? 그런 점에서 ZK 롤업의 '퀵 엔딩' 개념에 대해 좀 더 깊이 생각해 볼 필요가 있습니다. 사용자가 ZK Rollup 기반 기술 스택에서 실행되는 Web3 게임을 즐기고 있다고 상상해 보십시오. 사용자는 게임 내 아이템을 게임 내 통화로 교환하고 해당 자산을 게임에서 인출하려고 시도합니다.
자산을 출금하려면 게임 내 거래가 완료되어야 합니다. 이는 트랜잭션이 새로운 롤업 상태 커밋에 포함되어야 하고, 해당 ZKP가 L1에 제출되어야 하며, 트랜잭션이 되돌릴 수 없는지 확인하기 위해 L1 Ethereum의 증명 끝을 기다려야 함을 의미합니다. 이러한 모든 프로세스가 즉시 발생할 수 있다면 ZK Rollups가 종종 선전하는 "즉시 거래 확인"을 달성하여 사용자가 즉시 자산을 인출할 수 있습니다.
그러나 현실은 그것과 거리가 멀다. L2beat에서 제공하는 다양한 ZK 롤업의 종료 시간 통계에 따르면 zkSync Era는 평균 약 2시간, Linea는 3시간, Starknet은 평균 약 8시간이 소요됩니다. 이는 ZKP를 생성하는 데 시간이 걸리고, 거래 수수료를 줄이기 위해 더 많은 거래를 일괄(즉, 단일 증명)에 포함하는 데 추가 시간이 걸리기 때문입니다. 즉, 증거 생성 및 제출 속도는 ZK 롤업의 빠른 종료를 달성하는 데 잠재적인 병목 현상이 되어 Web3 게임의 사용자 경험을 저하시킬 수 있습니다.
그림 5: ZKP 생성은 ZK 롤업의 빠른 결정성에 대한 병목 현상의 잠재적 원인일 수 있습니다. imgflip
반면에 Ronin(Pixel 및 Axie Infinity와 같은 Web3 게임을 지원)과 같은 게임에 최적화된 체인은 분산화와 보안을 희생하면서 초고속 마무리를 보장합니다. Ronin은 ZK 또는 롤업 기반 체인이 아닙니다. 이는 PoA(권한 증명) + DPoS(위임 지분 증명) 합의 알고리즘에 따라 실행되는 EVM 블록체인입니다. 위임된 주식 수를 기준으로 22명의 검증인을 선택하고, 이 검증인은 PoA 방식(즉, 22명의 검증인 간의 투표 프로세스)으로 블록을 생성하고 검증합니다. 결과적으로 Ronin에서는 블록에 포함되는 데 지연이 거의 없이 거래가 신속하게 완료되고 확인 시간도 짧습니다. 실린 하드포크 이후, 각 거래가 완료되는 데 평균 6초밖에 걸리지 않습니다. Ronin은 ZKP 없이도 이 모든 것을 구현합니다.
물론 로닌에는 단점도 있습니다. 중앙화된 검증인에 의해 관리되기 때문에 51% 공격에 상대적으로 더 취약합니다. 또한 이더리움을 결제 레이어로 사용하지 않기 때문에 이더리움의 보안을 상속받을 수 없습니다. 크로스체인 브리지 사용에는 보안 위험도 있습니다. 하지만 사용자 관점에서 보면 그들이 관심을 갖고 있을까요? 현재 분산 정렬 기능이 없는 ZK 롤업에도 SPOF(단일 실패 지점) 문제가 있습니다. Ethereum은 트랜잭션 롤백 가능성을 줄이기 때문에 이를 보장하지만 ZK 롤업은 중앙 집중식 시퀀서나 검증기가 실패하는 경우에도 동결될 수 있습니다. ZK 롤업의 "ZK"는 실행 정확성의 유효성을 확인하는 데만 사용됩니다. 동일한 기능을 제공하지만 더 빠르고 저렴한 다른 프로젝트가 있는 경우 ZK 롤업은 더 이상 Web3 게임 사용자 및 개발자가 선택하는 기술 스택으로 간주되지 않을 수 있습니다.
포인트 2: 출시 여부 차이는 양날의 검
또 다른 점은 ZK Rollup 프로토콜 구현의 실용성입니다. 그 중에서 여기서는 ZK 롤업에서 데이터 가용성을 보장하는 방법 중 하나인 상태 차등 릴리스에 중점을 둡니다(Dencun 업그레이드 잠금 해제: DA 레이어 확장의 보이지 않는 진실, 하재현, 24년 4월 12일 참조).
롤업에서 데이터의 가용성을 이해하는 간단한 방법은 아마추어 등반가가 에베레스트 산 등반을 시연하고 문서화하는 것을 상상하는 것입니다. 가장 쉬운 방법은 베이스캠프부터 산 정상까지 모든 단계를 영상으로 녹화하는 것입니다. 비디오 파일은 용량이 클 수 있지만 누구나 등반가의 등정을 확인하고 영상을 재생할 수 있습니다. 이 비유는 데이터 가용성을 보장하기 위한 원래의 트랜잭션 데이터 게시 접근 방식과 비교할 수 있습니다. 시퀀서의 상태 커밋을 신뢰할 수 없기 때문에 낙관적 롤업은 개별 도전자가 올바른 실행을 재생하고 확인할 수 있도록 이 접근 방식을 따릅니다. ZK 롤업에서 Polygon zkEVM 및 Scroll은 이 접근 방식을 사용하여 원시 L2 트랜잭션 데이터를 L1에 압축된 형식으로 저장하므로 누구나 L2 트랜잭션을 재생하여 필요한 경우 롤업 상태를 복원할 수 있습니다.
아마추어 등반가의 예로 돌아가서, 또 다른 검증 방법은 유명한 등반가가 아마추어 등반가들과 함께 에베레스트를 등반하여 그 등반이 실제로 완료되었음을 세상에 증명하는 것일 수 있습니다. 등반은 신뢰할 수 있는 개인에 의해 검증되었으므로 등반가는 더 이상 기록을 위해 모든 단계를 기록할 필요가 없습니다. 단순히 출발지와 산 정상에서 사진을 찍는 것만으로도 다른 사람들은 등반가가 정상에 도달했다고 가정할 것입니다. 이 비유는 데이터 가용성을 보장하는 데 사용되는 상태차 접근 방식을 반영합니다. ZK 롤업에서는 zkSync Era와 StarkNet이 이 접근 방식을 채택하여 L1에서 L2 트랜잭션이 실행되기 전후의 상태 차이만 저장하므로 누구나 초기 상태와의 상태 차이를 계산하여 필요할 때 롤업 상태를 복원할 수 있습니다.
그림 6: 원래 거래 릴리스 및 상태 차이 릴리스 출처: Presto Research
이러한 상태 차이 방식은 중간 트랜잭션을 저장하는 단계를 생략할 수 있어 L1의 저장 비용을 절감할 수 있기 때문에 원래의 트랜잭션 데이터 해제 방식보다 확실히 비용 효율적입니다. 이는 일반적으로 문제가 되지 않지만 여기에는 잠재적인 결함이 있습니다. 이 접근 방식에서는 전체 L2 트랜잭션 기록을 복구할 수 없으며 이는 일부 DApp에서 문제가 될 수 있습니다.
DeFi 대출 프로토콜인 컴파운드(Compound)는 상태 차이를 기반으로 하는 ZK 롤업 기술 스택을 기반으로 구축되었다고 가정합니다. 이러한 프로토콜은 매초마다 공급 및 대출 비율을 계산하기 위해 완전한 거래 내역이 필요합니다. 하지만 ZK 롤업 시퀀서가 실패하고 다른 롤업 노드가 최신 상태를 복원하려고 하면 어떻게 될까요? 상태를 복원하는 것은 가능하지만 각 중간 트랜잭션이 아닌 배치 간의 스냅샷만 추적할 수 있기 때문에 속도가 부정확하게 복원됩니다.
결론적으로
이 기사에서는 오늘날 대부분의 ZK 롤업에 "ZK"가 존재하지 않으며 DApp의 여러 위치에서 ZKP 및 ZK 프로그램을 사용하는 것이 최선의 선택이 아닐 수 있다고 주로 주장합니다. ZK 기술은 자체에는 아무런 문제가 없기 때문에 무죄라고 느낄 수도 있지만, 기술 발전을 활용하는 과정에서 DApp의 잠재적인 성능 저하를 가져올 수 있습니다. 그러나 이것이 ZK 기술이 이 산업에 쓸모가 없다는 말은 아닙니다. ZKP와 ZK 롤업이 마침내 성숙해지면 블록체인 트릴레마에 대한 더 나은 솔루션을 제공하게 될 것입니다. 실제로 ZK 프라이버시를 유지하는 ZK 기반 프로젝트가 이미 존재하며, ZKP와 ZK 컨볼루션을 효과적으로 활용하는 유형의 DApp도 많이 있습니다.
모든 댓글