원작: Zoe, Puzzle Ventures
TL; DR
많은 퍼블릭 체인의 경쟁부터 이더리움 로드맵의 Danksharding, op/zk 및 기타 2차 솔루션에 이르기까지 우리는 중단 없는 블록체인의 확장성에 대해 논의해 왔습니다. 에? 다음 시리즈 기사를 통해 데이터 수집, 오프체인 계산, 온체인 검증의 세 부분으로 구성된 미래 비전을 보여드리고 싶습니다.
Trustless Data Access + Off-chain Computation + On-chain Verification
합의 증명은 이 청사진의 중요한 부분입니다. 이 기사에서는 다음을 포함하여 Ethereum PoS를 기반으로 한 영지식 증명 합의 사용의 중요성을 탐구합니다.
1. EVM에 대한 탈중앙화의 중요성.
2. web3 확장을 위한 분산형 데이터 액세스의 중요성.
이더리움 메인넷의 완전한 합의를 증명하는 것은 복잡한 작업이지만, ZK 합의 레이어를 실현할 수 있다면 보안과 신뢰를 보장하는 기반으로 이더리움의 확장에 도움이 될 것이며 동시에 전체의 견고성을 향상시킬 수 있을 것입니다. 이더리움 생태계 참여 비용을 줄이고 더 많은 사람들이 참여할 수 있도록 하세요.
1. 합의 레이어를 증명하는 것이 왜 중요한가요?
zk를 사용하여 Ethereum L1의 합의 계층을 검증하는 것은 두 가지 일반적인 방향에서 의미가 있습니다. 첫째, 현재 노드 다양성의 단점을 보완하고 이더리움 자체의 탈중앙화와 보안을 강화할 수 있습니다. 둘째, 크로스체인 보안, 무신뢰 데이터 액세스, 분산형 오라클 및 확장을 포함하여 더 많은 사용자를 상대할 수 있도록 이더리움 생태계의 모든 계층에서 프로토콜에 대한 유용성과 보안 기반을 제공합니다.
1. 이더리움의 관점
이더리움이 분산화와 견고성을 달성하려면 클라이언트 다양성 환경이 필요합니다. 이는 다양한 코드 환경을 기반으로 클라이언트를 실행하는 더 많은 사람들, 특히 일반 사용자가 참여한다는 것을 의미합니다. 그러나 모든 사용자에게 많은 리소스가 필요하고 최소 16GB 이상의 RAM과 2TB 이상의 고속 SSD를 감당할 수 있는 사람이 거의 없기 때문에 모든 사용자에게 전체 노드를 실행하도록 요구하는 것은 비현실적이며 이러한 요구 사항은 계속 증가하고 있습니다.
현재 목표는 풀 노드(신뢰 최소화)와 동일한 수준의 신뢰를 제공할 수 있으면서도 메모리, 스토리지 및 대역폭 요구 사항 측면에서 비용이 더 낮은 라이트 노드를 구현하는 것입니다. 그러나 현재 라이트 노드는 합의 프로세스에 참여하지 않거나 합의 메커니즘(Sync Committee)에 의해 부분적으로만 보호됩니다.
이 목표는 이더리움 로드맵에서 The Verge라고 불립니다.
Goal: verifying blocks should be super easy - download N bytes of data, perform a few basic computations, verify a SNARK and you’re done— The Verge on Ethereum’s Roadmap
The Verge는 클라이언트 격차를 해소하는 것을 목표로 합니다. 핵심 단계는 무신뢰 라이트 노드를 구현하는 방법입니다. 보안 수준은 오늘날의 전체 노드와 동일해야 하며 더 많은 사람들이 분산화에 적극적으로 참여할 수 있도록 클라이언트 격차를 채워야 합니다. 네트워크화 및 견고성.
https://www.ethernodes.org/network-types
https://clientdiversity.org/
2. 이더리움 생태계 각 계층의 프로토콜 관점
첫 번째 원칙부터 시작하여 온체인 데이터 액세스와 오프체인 계산 검증을 결합하는 문제를 해결해야 합니다.
현재 온체인 데이터의 사용은 상대적으로 초보적이며 불충분합니다. 많은 경우, 프로토콜 조정에 필요한 데이터는 체인에서 계산하기에는 너무 복잡하고, 무신뢰 방식으로 데이터를 획득하는 데 드는 비용이 너무 높기 때문에 많은 양의 과거 데이터 액세스와 빈번한 디지털 계산이 필요합니다.
개인 사용자와 프로젝트의 경우, 우리의 이상적인 상황은 분산형, 엔드 투 엔드 무신뢰 데이터 전송 및 읽기 및 쓰기를 달성하는 것입니다. 이를 기반으로 향후 더 많은 사용자를 위해 가능한 최저 컴퓨팅 비용을 달성해야 합니다. 계정 안전성, 유용성 및 경제성.
구체적으로 다음과 같은 측면을 포함합니다.
1. 탈중앙화 및 무신뢰 오라클(오라클): 현재 프로토콜은 중앙 집중식 오라클을 사용하여 체인에 있는 대량의 과거 데이터에 직접 액세스하는 것을 방지하여 불필요한 신뢰 비용을 늘리고 구성성을 줄입니다.
2. 데이터 및 자산에 민감한 관련 프로토콜의 데이터 읽기 및 쓰기: 예를 들어 DeFi 프로토콜은 작동 중에 일부 매개변수를 동적으로 조정해야 하지만 신뢰 없이 과거 데이터에 액세스하고 최근 데이터를 기반으로 하는 것과 같은 보다 복잡한 계산을 수행할 수 있습니까? 시장 변동 AMM 수수료 조정, 온체인 파생상품 거래 가격 모델 및 동적 변동 설계, 자산 관리를 위한 머신러닝 방법 도입, 시장 상황에 따른 대출 이율 조정 등
3. 크로스체인 보안: zk 기술을 기반으로 한 현재 라이트 노드 솔루션은 보안, 자본 효율성, 상태 저장성 및 정보 전송의 다양성 측면에서 더 좋습니다. 현재 Succinct의 Telepathy 크로스체인 솔루션과 LayerZero의 Polehedra의 크로스체인 솔루션은 모두 동기화 위원회에서 수행한 라이트 노드 블록 헤더 zk 검증을 기반으로 합니다. 그러나 동기화 위원회는 이더리움 PoS 합의 계층 자체가 아니며, 일정한 신뢰 가정이 있으며 향후 더욱 완벽하게 만들 여지가 있습니다.
현재 경제적 비용, 기술적 한계 및 사용자 경험 고려 사항으로 인해 개발자는 온체인 데이터를 활용할 때 일반적으로 Alchemy, Infura 및 Ankr과 같은 중앙 집중식 RPC 서버에 의존합니다.
2. 블록체인 데이터는 어디에서 나오나요? 다양한 데이터 소스에 대한 신뢰 가정
블록체인에는 온체인 데이터와 오프체인 데이터라는 두 가지 컴퓨팅 데이터 소스가 있습니다. 온체인 및 오프체인 방향에 따라 계산이 수행됩니다. 예를 들어 위에서 언급한 DeFi 프로토콜의 매개변수를 조정해야 할 필요성이 있습니다.
Data Access, computation, proof and verification
온체인 및 오프체인 데이터의 읽기, 쓰기 및 컴퓨팅에는 두 가지 특징이 있습니다.
1. 탈중앙화와 보안을 이루기 위해서는 우리가 획득한 데이터를 검증하는 것이 가장 좋습니다. 즉 신뢰하지 말고 검증하라는 것입니다.
2. 종종 복잡하고 비용이 많이 드는 계산 프로세스가 많이 필요합니다.
적합한 기술 솔루션을 찾을 수 없는 경우 위의 두 가지 사항이 블록체인의 유용성에 영향을 미칩니다.
간단한 예를 통해 다양한 데이터 수집 방법을 설명할 수 있습니다. 계좌 잔액을 확인하고 싶다고 가정해 보겠습니다. 어떻게 하시겠습니까?
가장 안전한 방법 중 하나는 전체 노드를 직접 실행하고, 로컬에 저장된 이더리움 상태를 확인하고, 여기에서 계정 잔액을 가져오는 것입니다.
풀노드 벤치마크. 동기화 모드 및 클라이언트 선택은 필요한 공간 요구 사항에 영향을 미칩니다.
인용하다:
https://ethereum.org/en/developers/docs/nodes-and-clients/run-a-node/; https://docs.google.com/presentation/d/1ZxEp6Go5XqTZxQFYTYYnzyd97JKbcXlA6O2s4RI9jr4/mobilepresent?pli=1&slide=id.g252bbdac496_0_109)
그러나 전체 노드를 직접 실행하는 것은 비용이 많이 들고 자체 유지 관리가 필요합니다. 문제를 해결하기 위해 많은 사람들이 중앙 노드 운영자에게 직접 데이터를 요청할 수 있습니다. Web2에서 발생하는 것과 유사하게 여기에는 아무런 문제가 없으며 이러한 공급자로부터 악의적인 행동을 본 적이 없지만 이는 또한 중앙 집중식 서비스 공급자를 신뢰해야 한다는 것을 의미하며 이는 전반적인 안전 가정을 높입니다.
이 문제를 해결하기 위해 우리는 두 가지 해결책을 고려할 수 있습니다. 하나는 노드 운영 비용을 줄이는 것이고, 다른 하나는 타사 데이터의 신뢰성을 검증하는 방법을 찾는 것입니다.
필요한 데이터만 저장하는 것이 좋습니다. 보다 효율적으로 데이터에 접근하고, 신뢰 비용을 줄이고, 데이터를 독립적으로 검증하기 위해 일부 기관에서는 Rust 기반 Helio(a16z에서 개발), Lodestar, Nimbus 및 JavaScript 기반 Kevlar와 같은 라이트 클라이언트를 개발했습니다. 라이트 클라이언트는 모든 블록 데이터를 저장하지 않고, 블록에 대한 모든 정보의 요약인 블록 헤더만 다운로드하여 저장합니다. 라이트 클라이언트는 수신한 데이터를 독립적으로 확인할 수 있으므로 제3자 데이터 공급자로부터 데이터를 얻은 경우 더 이상 해당 공급자의 데이터를 완전히 신뢰할 필요가 없습니다.
https://medium.com/coinmonks/ethereum-data-transaction-trie-simplified-795483ff3929
라이트 노드의 주요 특징은 다음과 같습니다.
이상적으로 라이트 노드는 휴대폰이나 임베디드 장치에서 실행될 수 있습니다.
이상적으로는 전체 노드와 동일한 기능과 보안을 보장합니다.
그러나 라이트 노드는 합의 프로세스에 참여하지 않거나 합의 메커니즘의 일부, 즉 동기화 위원회에 의해서만 보호됩니다.
동기화 위원회는 라이트 노드의 신뢰 가정입니다.
The Merge 이전에 2020년 12월부터 Beacon Chain은 Altair라는 하드포크를 실시했는데, 그 핵심 목적은 라이트 노드에 대한 합의 지원을 제공하는 것이었습니다. PoS 전체 합의와 달리 이 검증인 그룹(512)은 더 오랜 기간(256 에포크, 약 27시간)에 걸쳐 무작위로 선택되는 더 작은 데이터 세트로 구성됩니다.
Light clients such as Helios and Succinct are taking steps toward solving the problem, but a light client is far from a fully verifying node: a light client merely verifies the signatures of a random subset of validators called the sync committee, and does not verify that the chain actually follows the protocol rules. To bring us to a world where users can actually verify that the chain follows the rules, we would have to do something different.How will Ethereum's multi-client philosophy interact with ZK-EVMs?, by Vitalik Buterin*
이것이 바로 우리가 보다 안전하고, 보다 유용하며, 보다 다양한 프로토콜과 대량 채택을 통해 이더리움의 전체 합의 계층을 검증해야 하는 이유입니다. ) 기술.
3. 영지식을 사용하여 합의 계층으로 가는 길을 증명합니다.
신뢰 가정이 없는 환경을 구축하려면 라이트 노드 신뢰성, 분산형 데이터 접근, 오프체인 계산 검증 등의 문제를 해결해야 하며, 이러한 측면에서 영지식 증명은 현재 가장 인정받는 핵심 기술입니다. zkEVM, zkWASM, 기타 zkVM, zk 보조 프로세서 및 기타 기본 솔루션에 국한되지 않습니다.
합의 계층이 중요한 부분임을 증명합니다.
PoS 알고리즘은 매우 복잡하며 이를 ZK에서 구현하려면 많은 엔지니어링 작업과 아키텍처 고려 사항이 필요합니다. 먼저 구성 요소를 분할해 보겠습니다.
1. 이더리움 2.0 합의 형성의 핵심 단계
(1) 검증인 관련 알고리즘
여기에는 다음 단계가 포함됩니다.
검증인 되기: 검증인 후보는 32 ETH를 예금 계약으로 보내고 비콘 체인이 처리되고 활성화될 때까지 최소 16시간에서 며칠 또는 몇 주를 기다려야 공식 검증인이 됩니다. (FAQ를 참조하세요. 검증인이 활성화되는 데 시간이 오래 걸리는 이유는 무엇입니까?)
검증 책임 수행: 난수 및 블록 증명 알고리즘 관련.
검증자 역할 종료: 검증자 역할의 종료 방법은 자발적 탈퇴 또는 위반으로 인한 해고가 될 수 있습니다. 검증자는 언제든지 적극적으로 종료를 시작할 수 있으며, 각 시대에는 종료할 수 있는 검증자의 수에 제한이 있습니다. 너무 많은 검증자가 동시에 종료하려고 하면 검증 임무를 수행해야 하는 대기열에 놓이게 됩니다. 성공적인 종료 후, 1/8주 후에 검증인은 약속된 자금을 인출할 수 있습니다.
(2) 난수 관련 알고리즘
각 에폭은 32개의 블록(슬롯)으로 구성되며, 이는 사전에 2개의 에폭으로 무작위로 그룹화되어 있으며, 모든 검증인은 32개의 위원회(위원회)로 나뉘어 현재 에폭에서 임무를 수행하고 각 블록의 합의를 담당합니다.
각 위원회에는 두 가지 역할이 있습니다. 하나는 제안자이고 나머지는 역시 무작위로 선택되는 블록 빌더입니다. 이는 트랜잭션 정렬과 블록 구성의 두 프로세스를 분리합니다(자세한 내용은 제안자/구축자 분리 - PBS 참조).
(3) 블록 증명 및 BLS 서명 관련 알고리즘
서명 부분은 합의 레이어의 핵심 부분입니다.
각 슬롯의 검증위원회는 BLS 서명을 사용하여 투표하며, 블록을 구축하려면 2/3의 통과율이 필요합니다.
Ethereum PoS 합의 레이어에서 BLS 서명은 BLS 12-381 타원 곡선을 사용하며, 페어링 친화적이며 모든 서명을 집계하는 데 적합하여 증명 시간과 크기를 줄입니다.
작업 증명에서는 블록을 재구성할 수 있습니다. 병합 후 실행 계층에 완결된 블록 및 안전 헤드 개념이 도입되었습니다. 충돌하는 블록을 생성하려면 공격자는 약속된 총 이더의 최소 1/3을 파괴해야 하며, PoS는 PoW보다 더 안정적입니다.
https://blog.ethereum.org/2021/11/29/how-the-merge-impacts-app-layer
2023년 6월 말 Puzzle Ventures Evening Study에서는 Hyper Oracle의 zkPoS(zk 방법을 사용하여 이더리움의 전체 합의 계층을 검증함)를 소개했습니다. 자세한 내용은 zkPoS: 엔드투엔드 무신뢰를 참조하세요.
(4) 기타 : 약한 주관성 체크포인트 등
무신뢰 PoS 합의 증명이 직면한 과제 중 하나는 주관적인 체크포인트 선택이 사회적 정보를 기반으로 한 사회적 합의를 포함한다는 것입니다. 약한 주관적 체크포인트 이전의 블록은 변경할 수 없기 때문에 이러한 체크포인트는 되돌리기 제한입니다. 자세한 내용은 https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/weak-subjectivity/를 참조하세요.
체크포인트는 합의 레이어의 zkization에서 고려해야 할 지점이기도 합니다.
2. 합의 계층의 ZK 기술 스택 입증
증명 합의 계층에서는 서명이나 기타 계산을 증명하는 것 자체가 매우 비용이 많이 들지만, 영지식 증명을 검증하는 것은 그에 비해 매우 저렴합니다.
영지식 증명 합의 계층을 사용하는 접근 방식을 선택할 때 프로토콜은 다음 요소를 고려해야 합니다.
무엇을 증명할 건가요?
증명 후 적용 시나리오는 무엇입니까?
증명의 효율성을 높이는 방법은 무엇입니까?
Hyper Oracle을 예로 들면 BLS 시그니처 증명을 위해 Halo 2가 선택되었으며 Succinct Labs에서 사용하는 Circom 대신 Halo 2를 선택한 이유는 다음과 같습니다.
Circom과 Halo 2는 모두 BLS 서명(BLS 12 – 381 타원 곡선)에 대한 영지식 증명을 생성할 수 있습니다.
Hyper Oracle은 단순히 zkPoS를 수행하는 것이 아니라 핵심 제품은 프로그래밍 가능한 온체인 영지식 오라클(Programmable Onchain zkOracle)입니다. 그 중 zkGraph, zkIndexing, zkAutomation은 사용자를 직접 지향하며, zkWASM 가상 머신도 오프체인 계산을 검증하는 데 사용됩니다. Circom은 엔지니어가 사용하기 쉽지만 호환성이 낮고 모든 기능의 논리를 사용할 수 있다고 보장할 수 없습니다.
Circom-pairing은 zkWASM 및 기타 회로의 Plonkish 제약 시스템과 호환되지 않는 R 1 CS로 컴파일되며 Halo 2 페어링 회로는 zkWASM 회로에 쉽게 통합될 수 있습니다. 대조적으로 R 1 CS는 배치 증명용입니다( Proof Batching)도 이상적이지 않습니다.
효율성의 관점에서 볼 때 Halo 2 페어링으로 생성된 BLS 회로는 더 작고, 증명 시간도 더 짧으며, 하드웨어 요구 사항도 더 낮고, 가스 요금도 더 낮습니다.
https://mirror.xyz/hyperoracleblog.eth/lAE9erAz5eIlQZ346PG6tfh7Q6xy59bmA_kFNr-l6dE
합의 레이어를 증명하기 위해 영지식을 사용하는 또 다른 핵심 포인트는 재귀적 증명, 즉 이전에 발생한 일을 증명으로 압축하는 증명 증명입니다.
재귀적 증명이 없으면 결국 O(블록 높이) 크기의 증명, 즉 각 블록 증명(블록 증명)과 해당 zkp가 출력됩니다. 재귀 증명을 사용하면 초기 상태와 최종 상태 이외의 블록 수에 대해 O(1) 크기의 증명만 필요합니다.
Verify Proof N and Step N+ 1 to get Proof N+ 1, i.e. you know N+ 1 pieces of knowledge, instead of verify all N Steps separately.
원래 목표로 돌아가서 우리 솔루션은 컴퓨팅 및 메모리 제약이 있는 라이트 클라이언트를 대상으로 해야 합니다. 각각의 증명을 정해진 시간 안에 검증할 수 있다고 하더라도, 블록과 증명의 개수가 쌓이면 검증 시간이 매우 길어지게 됩니다.
3. 궁극적인 목표: 다양성을 갖춘 레벨 1 zkEVM
이더리움의 목표는 합의 레이어를 증명하는 것뿐만 아니라 zkEVM을 통해 전체 레이어 1 가상 머신의 영지식을 실현하고 최종적으로 다양한 zkEVM을 실현하여 이더리움의 분산화와 견고성을 향상시키는 것입니다.
이러한 문제를 해결하기 위해 Ethereum의 현재 솔루션과 로드맵은 다음과 같습니다.
경량 - 더 작은 메모리, 저장 공간 및 대역폭 요구 사항
현재는 블록 헤더만 라이트 노드를 통해 저장되고 검증됩니다.
향후 개발에는 메인넷 데이터 구조 개선을 포함하여 버클 트리 및 상태 비저장 클라이언트에 대한 추가 노력도 필요합니다.
안전한 무신뢰 - 전체 노드와 동일한 최소 신뢰를 달성하기 위해(신뢰 최소화)
현재 기본 라이트 노드 합의 계층, 즉 동기화 위원회가 구현되었지만 이는 단지 과도기적 솔루션일 뿐입니다.
SNARK를 사용하여 실행 계층의 Verkle Proof 확인, 합의 계층 확인 및 전체 가상 머신 SNARKing을 포함하여 Ethereum Layer 1을 확인합니다.
레벨 1 zkEVM은 전체 Ethereum Layer 1 가상 머신의 영지식을 실현하고 zkEVM의 다양화를 실현하는 데 사용됩니다.
가능한 위험
이상적으로, zk 시대에 진입하면 여러 오픈 소스 zkEVM이 필요합니다. 클라이언트마다 서로 다른 zkEVM 구현이 있으며 각 클라이언트는 블록을 수락하기 전에 자체 구현과의 호환성 증명을 기다립니다.
그러나 다중 증명 시스템은 각 증명 시스템이 P2P 네트워크를 필요로 하고, 특정 증명 시스템만 지원하는 클라이언트는 검증자에 의해 검증되기 전에 해당 유형의 증명을 기다릴 수 있기 때문에 몇 가지 문제에 직면할 수 있습니다. . 발생할 수 있는 두 가지 주요 문제는 지연 시간 문제와 데이터 비효율성입니다. 전자는 주로 증명 생성 속도가 느리기 때문에 발생하며 다양한 증명 시스템에 대해 증명을 생성할 때 시간 차이가 있습니다. 가해자에게 맡기십시오. 임시 포크를 생성합니다. 후자는 여러 유형의 zk 증명을 생성하기를 원하기 때문에 원본 서명을 저장해야 합니다. 이론적으로 zkSNARK 자체의 장점은 원본 서명과 기타 데이터를 삭제할 수 있다는 것이지만 여기에는 몇 가지 모순이 있습니다. 그리고 해상도.
4. 향후 전망
web3가 더 많은 사용자를 환영하고, 더 원활한 경험을 제공하고, 더 높은 유용성을 창출하고, 애플리케이션 보안을 보장하려면 분산형 데이터 액세스, 오프체인 컴퓨팅 및 온체인 검증을 위한 인프라를 구축해야 합니다.
증명 합의 레이어는 중요한 부분입니다. Ethereum PSE 및 앞서 언급한 zkEVM 레이어 2 외에도 Hyper Oracle(Programmable zkOracle Network)을 포함하여 자체 애플리케이션 목표를 달성하기 위해 영지식 증명 합의를 사용하는 일부 프로토콜도 있습니다. )는 데이터를 얻기 위해 이더리움 PoS의 전체 합의 계층을 증명하기 위해 영지식을 사용할 계획이며, Succinct Labs의 Telepathy는 동기화 위원회의 검증을 통해 크로스체인 통신의 목적을 달성할 수 있는 라이트 노드 브리지(Light Node Bridge)입니다. 합의 및 상태 유효성 증명 제출; Polyhedra는 원래 라이트 노드 브리지였지만 이제는 devirgo를 사용하여 전체 노드의 전체 합의에 대한 zk 증명을 실현한다고 주장합니다.
크로스체인 보안 및 분산형 오라클 외에도 이 오프체인 컴퓨팅 + 온체인 검증 방법은 낙관적 롤업에서 사기 방지에 참여하고 OP L2와 통합하거나 의도 기반 아키텍처(의도 기반 아키텍처)에 참여할 수도 있습니다. ), 더 복잡한 의도 구조 등에 대한 온체인 증명을 제공합니다.
여기서 우리는 이더리움을 둘러싼 오프체인 생태계뿐만 아니라 이더리움을 넘어서는 더 넓은 시장에 대해서도 이야기하고 있습니다.
이 주제에 대해서는 아직 심층적으로 연구할 가치가 있는 부분이 많은데, 예를 들어 지난주 8월 24일 a16z가 스테이트리스 블록체인(Stateless Blockchain)은 도달할 수 없다는 글을 게재했고, 또 다른 예로 취약한 주관성 체크포인트를 들 수 있다.( 약한 주관성 체크포인트), 동기화 위원회 보안이 수학적으로 충분한지 여부 등
조언과 피드백에 다시 한번 감사드립니다. Alex @ IOBC(@looksrare_eth), Fan Zhang @ Yale University(@0x FanZhang), Roy @ Aki Protocol(@aki_protocol), Zhixiong Pan @ ChainFeeds(@nake 13), Suning Yao @ Hyper Oracle(@msfew_eth), Qi Zhou @ EthStorage(@qc_qizhou), Sinka @ Delphinus(@DelphinusLab), Shumo @ Manta(@shumochu)
