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