IOSG Ventures: 이더리움의 성능을 해방하고 EVM의 병목현상을 뛰어넘는 혁신의 길
원저자: Siddharth Rao, IOSG Ventures
이 기사에 대한 귀중한 의견과 제안에 대해 Lurk Labs의 John Burnham에게 특별히 감사드립니다.
EVM(Ethereum Virtual Machine)의 성능에 대해
이더리움 메인넷의 모든 작업에는 일정량의 Gas가 필요하며 기본 애플리케이션을 실행하는 데 필요한 모든 계산을 체인에 넣으면 앱이 다운되거나 사용자가 파산합니다.
이것은 L2를 탄생시켰습니다. OPRU는 메인넷에 커밋하기 전에 많은 트랜잭션을 묶는 공동 작업자를 도입했습니다. 이것은 앱이 Ethereum의 보안을 수행하는 데 도움이 될 뿐만 아니라 사용자에게 더 나은 경험을 제공합니다. 사용자는 거래를 더 빨리 제출할 수 있고 수수료는 더 저렴합니다. 운영 비용은 저렴해졌지만 여전히 기본 EVM을 실행 계층으로 사용합니다. ZK 롤업과 유사하게 Scroll 및 Polygon zkEVM은 EVM 기반 zk 회로를 사용하거나 사용할 것이며 zk Proof는 모든 거래 또는 증명기에서 수행되는 대규모 거래 배치에서 생성됩니다. 이를 통해 개발자는 "온체인" 애플리케이션을 구축할 수 있지만 고성능 애플리케이션을 실행하는 것이 여전히 효율적이고 비용 효율적입니까?
이러한 고성능 애플리케이션은 무엇입니까?
게임, 온체인 주문서, Web3 소셜, 기계 학습, 게놈 모델링 등이 먼저 떠오릅니다. 이들 모두는 계산 집약적이며 L2에서 실행하는 데 비용이 많이 듭니다. EVM의 또 다른 문제점은 계산 속도와 효율성이 SVM(Sealevel Virtual Machine)과 같은 현재의 다른 시스템만큼 좋지 않다는 것입니다.
L3 EVM은 계산을 더 저렴하게 만들 수 있지만 EVM 자체의 구조는 병렬 작업을 계산할 수 없기 때문에 높은 계산을 수행하는 가장 좋은 방법이 아닐 수 있습니다. 새로운 레이어가 위에 구축될 때마다 탈중앙화 정신을 유지하기 위해 새로운 인프라(노드의 새로운 네트워크)를 구축해야 하며 확장하려면 여전히 동일한 수의 공급자 또는 완전히 새로운 노드 집합이 필요합니다. 제공자(개인/기업)가 리소스를 제공하거나 둘 다 필요합니다.
따라서 보다 발전된 솔루션을 구축할 때마다 기존 인프라를 업그레이드하거나 그 위에 새로운 계층을 구축해야 합니다. 이 문제를 해결하려면 양자 알고리즘을 진정으로 효율적으로 사용하여 분산 응용 프로그램을 계산할 수 있는 양자 이후의 안전하고 분산되고 신뢰할 수 없는 고성능 컴퓨팅 인프라가 필요합니다.
Solana, Sui, Aptos와 같은 Alt-L1은 병렬 실행이 가능하지만 시장 정서, 유동성 부족 및 시장의 개발자 부족으로 인해 Ethereum에 도전하지 않을 것입니다. 신뢰 부족과 네트워크 효과로 이더리움이 구축한 해자는 이정표입니다. 지금까지 ETH/EVM 킬러는 존재하지 않습니다. 여기서 질문은 왜 모든 연산이 온체인이어야 하느냐는 것입니다. 똑같이 신뢰할 수 없고 분산된 집행 시스템이 있습니까? 이것이 DCompute 시스템이 달성할 수 있는 것입니다.
DCompute 인프라는 탈중앙화, 포스트 퀀텀 보안, 신뢰가 없어야 하며, 블록체인/분산 기술이 필요하거나 없어야 하지만 계산 결과를 검증하고 올바른 상태 전환 및 최종 확인이 매우 중요합니다. 이것이 EVM 체인이 작동하는 방식입니다.네트워크의 보안과 불변성을 유지하면서 탈중앙화되고 신뢰할 수 없는 안전한 컴퓨팅을 오프체인으로 이동할 수 있습니다.
여기서 우리가 주로 무시하는 것은 데이터 가용성 문제입니다. Celestia 및 EigenDA와 같은 솔루션이 이미 이 방향으로 나아가고 있기 때문에 이 게시물은 데이터 가용성에 중점을 둡니다.
이미지 설명

(출처: Off-chaining Models and Approaches to Off-chain Computations, Jacob Eberhardt & Jonathan Heiss)
이미지 설명

(출처: Off-chaining Models and Approaches to Off-chain Computations, Jacob Eberhardt & Jonathan Heiss)
유형 1을 보았을 때 zk-rollups는 이미 이 작업을 수행하고 있었지만 EVM에 의해 제한되거나 개발자에게 완전히 새로운 언어/명령 세트를 가르쳐야 했습니다. 이상적인 솔루션은 효율적이고 효과적이며(비용 및 리소스) 분산되고 비공개이며 검증 가능해야 합니다. ZK 증명은 AWS 서버에서 구축할 수 있지만 분산되지는 않습니다. Nillion 및 Nexus와 같은 솔루션은 분산된 방식으로 일반 컴퓨팅의 문제를 해결하려고 합니다. 그러나 이러한 솔루션은 ZK 증명 없이는 확인할 수 없습니다.
유형 2는 오프체인 계산 모델을 데이터 가용성 레이어와 결합합니다. 이 레이어는 분리되어 있지만 계산은 여전히 온체인에서 검증되어야 합니다.
완전히 신뢰할 수 없고 완전히 신뢰할 수 없는 오늘날 사용 가능한 다양한 분산 컴퓨팅 모델을 살펴보겠습니다.
이미지 설명

이더리움 아웃소싱 컴퓨팅의 생태 지도(출처: IOSG Ventures)
Secure Enclave 계산/신뢰할 수 있는 실행 환경
TEE(Trusted Execution Environment)는 컴퓨터나 스마트폰 내부의 특수 상자와 같습니다. 자체 잠금 및 키가 있으며 특정 프로그램(신뢰할 수 있는 응용 프로그램이라고 함)만 액세스할 수 있습니다. 이러한 신뢰할 수 있는 응용 프로그램이 TEE 내에서 실행되면 다른 프로그램과 운영 체제 자체에 의해 보호됩니다.
소수의 특별한 친구들만이 들어갈 수 있는 비밀 아지트 같은 곳. TEE의 가장 일반적인 예는 Apple의 T1 칩 및 Intel의 SGX와 같이 장치 내부에서 FaceID와 같은 중요한 작업을 실행하기 위해 사용하는 장치에 존재하는 Secure Enclave입니다.
TEE는 격리된 시스템이므로 인증의 신뢰 가정으로 인해 인증 프로세스가 손상될 수 없습니다. 인텔이나 애플이 만들었기 때문에 안전하다고 믿는 보안 문이 있지만 세상에는 그 보안 문을 뚫을 수 있는 충분한 보안 차단기(해커 및 기타 컴퓨터 포함)가 있다고 생각하십시오. TEE는 "사후 양자 보안"이 아닙니다. 즉, 무제한 리소스를 가진 양자 컴퓨터가 TEE의 보안을 뚫을 수 있습니다. 컴퓨터가 급속도로 강력해짐에 따라 포스트 양자 보안을 염두에 두고 장기 컴퓨팅 시스템과 암호화 체계를 구축해야 합니다.
SMPC(Secure Multi-Party Computation)
SMPC(Secure Multi-Party Computation)는 블록체인 기술 산업에서 잘 알려진 컴퓨팅 솔루션이기도 합니다.SMPC 네트워크의 일반적인 워크플로는 다음 세 부분으로 구성됩니다.
1단계: 계산된 입력을 공유로 변환하고 SMPC 노드 간에 배포합니다.
2단계: 일반적으로 SMPC 노드 간의 메시지 교환과 관련된 실제 계산을 수행합니다. 이 단계가 끝나면 각 노드는 계산된 출력 값을 공유하게 됩니다.
3단계: 출력 결과를 재구성하기 위해 LSS(Secret Sharing Recovery Algorithm)를 실행하는 하나 이상의 결과 노드에 결과 공유를 보냅니다.
자동차의 구성 요소(엔진, 문, 거울)를 주문자 상표 부착 생산자(OEM)(작업 노드)에 아웃소싱한 다음 모든 구성 요소를 함께 조립하는 조립 라인이 있는 자동차 생산 라인을 상상해 보십시오. 자동차를 만들기 위해(결과적으로 노드가 생성됨).
비밀 공유는 개인 정보 보호 분산 컴퓨팅 모델에 중요합니다. 이렇게 하면 단일 당사자가 전체 "비밀"(이 경우 입력)을 얻고 악의적으로 잘못된 출력을 생성하는 것을 방지할 수 있습니다. SMPC는 아마도 가장 쉽고 안전한 분산 시스템 중 하나일 것입니다. 완전히 분산된 모델은 현재 존재하지 않지만 논리적으로 가능합니다.
Sharemind와 같은 MPC 공급자는 컴퓨팅을 위한 MPC 인프라를 제공하지만 공급자는 여전히 중앙 집중식입니다. 프라이버시를 보장하는 방법, 네트워크(또는 Sharemind)가 악의적으로 행동하지 않도록 하는 방법 여기에서 zk 증명 및 zk 검증 가능한 계산이 필요합니다.
Nil Message Compute(NMC)
NMC는 Nillion 팀에서 개발한 새로운 분산 컴퓨팅 방법입니다. 노드가 결과를 통해 상호 작용하여 통신할 필요가 없는 MPC의 업그레이드 버전입니다. 이를 위해 그들은 일회성 패딩과 유사하게 비밀을 마스킹하기 위해 블라인드 요소라고 하는 일련의 난수를 사용하는 일회성 마스킹이라는 암호화 프리미티브를 사용했습니다. OTM은 효율적인 방식으로 정확성을 제공하는 것을 목표로 합니다. 즉, NMC 노드는 계산을 수행하기 위해 메시지를 교환할 필요가 없습니다. 즉, NMC에는 SMPC의 확장성 문제가 없습니다.
영지식 검증 가능 컴퓨팅
ZK 검증 가능한 계산(ZK Verifiable Computation)은 일련의 입력과 함수에 대한 영지식 증명을 생성하고 시스템에서 수행되는 모든 계산이 올바르게 수행될 것임을 증명합니다. ZK 개념 증명 계산은 새롭지만 이미 이더리움 네트워크 확장 로드맵에서 매우 중요한 부분입니다.
이미지 설명

(출처: IOSG Ventures, Off-chaining Models and Approaches to Off-chain Computations, Jacob Eberhardt & Jonathan Heiss)
위에서 우리는 zk 증명의 구현에 대한 기본적인 이해를 가지고 있습니다. 그렇다면 ZK 증명을 사용하여 계산을 검증하기 위한 조건은 무엇입니까?
먼저 증명 프리미티브를 선택해야 합니다 이상적인 증명 프리미티브는 증명 생성 비용이 낮고 메모리가 많이 필요하지 않으며 검증이 쉽습니다.
둘째, 위 프리미티브의 증명을 계산적으로 생성하도록 설계된 zk 회로를 선택합니다.
마지막으로 주어진 함수는 일부 컴퓨팅 시스템/네트워크에서 제공된 입력에 대해 계산되어 출력을 제공합니다.
개발자의 딜레마 - 효율성 딜레마 증명
이미지 설명
이미지 설명
(출처: https://www.statista.com/statistics/1241923/worldwide-software-developer-programming-language-communities)
위의 통계에서 알 수 있듯이 Web3 환경을 보다 개발 친화적으로 개조하는 것이 개발자를 새로운 Web3 개발 환경에 도입하는 것보다 더 지속 가능한 것으로 보입니다.
ZK가 Web3의 미래이고 Web3 애플리케이션이 기존 개발자 기술을 사용하여 구축되어야 한다면 ZK 회로는 증명을 생성하기 위해 JavaScript 또는 Rust와 같은 언어로 작성된 알고리즘이 수행하는 계산을 지원하는 방식으로 설계되어야 합니다. .
그러한 솔루션이 존재하며 저는 RiscZero와 Lurk Labs라는 두 팀을 생각합니다. 두 팀 모두 개발자가 가파른 학습 곡선을 거치지 않고 zk-apps를 구축할 수 있도록 하는 매우 유사한 비전을 공유합니다.
이미지 설명

(출처: IOSG Ventures)
Nova 증명은 다른 증명 시스템과 같이 "즉시 사용 가능한" 것이 아닙니다. Nova는 접는 트릭일 뿐이며 개발자는 증명을 생성하기 위해 여전히 증명 시스템이 필요합니다. 이것이 바로 Lurk Labs가 LISP 구현인 Lurk Lang을 구축한 이유입니다. LISP는 저수준 언어이기 때문에 범용 회로에서 증명을 쉽게 생성하고 JavaScript로 쉽게 변환할 수 있으므로 Lurk Labs는 1,740만 Javascript 개발자의 지원을 받을 수 있습니다. Python과 같은 다른 공용 언어에 대한 번역도 지원됩니다.
대체로 Nova 증명은 훌륭한 원본 증명 시스템인 것 같습니다. 그들의 단점은 계산의 크기에 따라 증명의 크기가 선형적으로 증가한다는 것이지만 Nova 증명은 더 압축할 여지가 있습니다.
이미지 설명

(출처: https://dev.bonsai.xyz/)
Bonsai 네트워크 설계의 장점은 모든 온체인에서 계산을 초기화, 검증 및 출력할 수 있다는 것입니다. 이 모든 것이 유토피아처럼 들리지만 STARK 증명도 문제를 일으킵니다. 검증 비용이 너무 높습니다.
Nova 증명은 반복 계산(폴딩 방식이 비용 효율적임)과 작은 계산에 매우 적합한 것으로 보이며, 이는 Lurk를 ML 추론 검증을 위한 좋은 솔루션으로 만들 수 있습니다.
이미지 설명

(출처: IOSG Ventures)
일부 zk-SNARK 시스템은 초기 설정 단계에서 초기 매개변수 집합을 생성하는 신뢰할 수 있는 설정 프로세스가 필요합니다. 여기서 신뢰 가정은 신뢰할 수 있는 설정이 악의적인 행동이나 변조 없이 정직하게 수행된다는 것입니다. 공격을 받으면 잘못된 증명이 생성될 수 있습니다.
STARK 증명은 다항식의 하위 속성을 확인하기 위한 하위 테스트의 보안을 가정합니다. 그들은 또한 해시 함수가 임의의 오라클처럼 작동한다고 가정합니다.
두 시스템의 적절한 구현도 보안 가정입니다.
SMPC 네트워크는 다음에 의존합니다.
SMPC 참가자는 다른 노드와 통신하여 기본 정보에 액세스하려고 시도할 수 있는 "정직하지만 호기심이 많은" 참가자를 포함할 수 있습니다.
SMPC 네트워크의 보안은 참가자가 프로토콜을 올바르게 실행하고 의도적으로 오류나 악의적인 동작을 도입하지 않는다는 가정에 의존합니다.
특정 SMPC 프로토콜은 암호화된 매개변수 또는 초기 값을 생성하기 위해 신뢰할 수 있는 설정 단계가 필요할 수 있습니다. 여기서 신뢰 가정은 신뢰할 수 있는 설정이 정직하게 적용된다는 것입니다.
SMPC 네트워크와 동일하게 보안 가정은 동일하게 유지되지만 OTM(Off-The-Grid Multi-party Computation)의 존재로 인해 "정직하지만 호기심 많은" 참가자가 없습니다.
OTM은 참가자의 개인 정보를 보호하도록 설계된 다자간 계산 프로토콜입니다. 참가자가 컴퓨팅에서 입력 데이터를 공개하지 않도록 하여 개인 정보 보호를 달성합니다. 따라서 "정직하지만 호기심이 많은" 참가자는 기본 정보에 액세스하려는 시도에서 다른 노드와 통신할 수 없기 때문에 존재하지 않습니다.
확실한 승자가 있습니까?우리는 모릅니다. 그러나 각 방법에는 고유한 장점이 있습니다. NMC는 SMPC에 대한 명백한 업그레이드처럼 보이지만 네트워크는 아직 라이브 또는 실전 테스트를 거치지 않았습니다.
ZK 검증 가능한 계산을 사용하는 이점은 안전하고 개인 정보를 보호하지만 내장된 비밀 공유 기능이 없다는 것입니다. 증명 생성과 검증 사이의 비대칭성으로 인해 검증 가능한 아웃소싱 계산을 위한 이상적인 모델이 됩니다. 시스템이 순수한 zk-proof 계산을 사용하는 경우 컴퓨터(또는 단일 노드)는 많은 계산을 수행하기 위해 매우 강력해야 합니다. 개인 정보를 보호하면서 로드 공유 및 밸런싱을 활성화하려면 비밀 공유가 있어야 합니다. 이 경우 SMPC 또는 NMC와 같은 시스템을 Lurk 또는 RiscZero와 같은 zk 생성기와 결합하여 검증 가능한 강력한 분산 아웃소싱 컴퓨팅 인프라를 만들 수 있습니다.
이는 오늘날의 중앙 집중식 MPC/SMPC 네트워크에서 더욱 중요해집니다. 현재 가장 큰 MPC 공급자는 Sharemind이며 그 위에 ZK 검증 계층이 유용할 수 있습니다. 분산형 MPC 네트워크의 경제 모델은 아직 완성되지 않았습니다. 이론적으로 NMC 모드는 MPC 시스템의 업그레이드이지만 아직 성공을 보지 못했습니다.
ZK 증명 계획 경쟁에서 승자독식 상황은 없을 수 있습니다. 각 증명 방법은 특정 유형의 계산에 최적화되어 있으며 모든 유형의 모델에 맞는 사람은 없습니다. 많은 유형의 계산 작업이 있으며 개발자가 각 증명 시스템과 절충하는 방식에 따라 달라집니다. 저자는 STARK 기반 시스템과 SNARK 기반 시스템 모두 미래의 최적화가 ZK의 미래에 자리 잡을 것이라고 믿습니다.


