zkML과 암호학적 증명을 통한 검증 가능한 온체인 AI
소개: 블록체인에서 검증 가능한 AI의 필요성
AI 시스템의 영향력이 커짐에 따라 그 결과물의 신뢰성을 보장하는 것이 중요해졌습니다. 전통적인 방법은 제도적 보증(본질적으로 "그냥 우리를 믿으세요")에 의존하며, 이는 암호학적 보장을 제공하지 않습니다. 이는 블록체인과 같은 탈중앙화된 환경에서 특히 문제가 되는데, 스마트 계약이나 사용자는 무거운 모델을 온체인에서 다시 실행할 수 없이 AI가 도출한 결과를 신뢰해야 하기 때문입니다. **영지식 머신러닝(zkML)**은 ML 연산의 _암호학적 검증_을 허용함으로써 이 문제를 해결합니다. 본질적으로 zkML은 증명자가 _"출력 $Y$는 입력 $X$에 대해 모델 $M$을 실행하여 나왔다"_는 간결한 증명을 생성할 수 있게 해주며, 이때 $X$나 $M$의 내부 세부 정보는 공개하지 않습니다. 이러한 영지식 증명(ZKP)은 누구나(또는 어떤 계약이든) 효율적으로 검증할 수 있어, AI 신뢰를 "정책에서 증명으로" 전환시킵니다.
AI의 온체인 검증 가능성은 블록체인이 연산 자체를 수행하는 대신 정확한 실행 증명을 검증함으로써 고급 연산(신경망 추론 등)을 통합할 수 있음을 의미합니다. 이는 광범위한 영향을 미칩니다. 스마트 계약은 AI 예측을 기반으로 결정을 내릴 수 있고, 탈중앙화된 자율 에이전트는 자신들의 알고리즘을 따랐음을 증명할 수 있으며, 크로스체인 또는 오프체인 연산 서비스는 검증 불가능한 오라클 대신 검증 가능한 결과물을 제공할 수 있습니다. 궁극적으로 zkML은 신뢰가 필요 없고 프라이버시를 보존하는 AI로 가는 길을 제시합니다. 예를 들어, AI 모델의 결정이 개인 데이터나 독점적인 모델 가중치를 노출하지 않고 정확하고 승인되었음을 증명할 수 있습니다. 이는 안전한 의료 분석부터 블록체인 게임, DeFi 오라클에 이르기까지 다양한 애플리케이션에 핵심적입니다.
zkML의 작동 원리: ML 추론을 간결한 증명으로 압축하기
높은 수준에서 zkML은 암호학적 증명 시스템과 ML 추론을 결합하여 복잡한 모델 평가를 작은 증명으로 "압축"할 수 있도록 합니다. 내부적으로 ML 모델(예: 신경망)은 많은 산술 연산(행렬 곱셈, 활성화 함수 등)으로 구성된 회로나 프로그램으로 표현됩니다. 모든 중간 값을 공개하는 대신, 증명자는 전체 연산을 오프체인에서 수행한 다음 영지 식 증명 프로토콜을 사용하여 모든 단계가 올바르게 수행되었음을 증명합니다. 검증자는 증명과 일부 공개 데이터(최종 출력 및 모델 식별자 등)만으로 모델을 재실행하지 않고도 정확성을 암호학적으로 확신할 수 있습니다.
이를 달성하기 위해 zkML 프레임워크는 일반적으로 모델 연산을 ZKP에 적합한 형식으로 변환합니다.
- 회로 컴파일: SNARK 기반 접근 방식에서는 모델의 연산 그래프가 산술 회로 또는 다항식 제약 조건 집합으로 컴파일됩니다. 신경망의 각 계층(컨볼루션, 행렬 곱셈, 비선형 활성화)은 입력이 주어졌을 때 출력이 정확함을 보장하는 제약 조건이 있는 하위 회로가 됩니다. 신경망은 다항식에 자연스럽게 적합하지 않은 비선형 연산(ReLU, Sigmoid 등)을 포함하기 때문에, 이를 효율적으로 처리하기 위해 룩업 테이블과 같은 기술이 사용됩니다. 예를 들어, ReLU(출력 = max(0, 입력))는 입력≥0일 때 출력이 입력과 같고 그렇지 않으면 0임을 검증하는 사용자 정의 제약 조건이나 룩업으로 강제할 수 있습니다. 최종 결과는 증명자가 만족해야 하는 암호학적 제약 조건 집합이며, 이는 모델이 올바르게 실행되었음을 암묵적으로 증명합니다.
- 실행 추적 및 가상 머신: 대안은 zkVM 접근 방식에서처럼 모델 추론을 프로그램 추적으로 취급하는 것입니다. 예를 들어, JOLT zkVM은 RISC-V 명령어 집합을 대상으로 합니다. ML 모델(또는 이를 계산하는 코드)을 RISC-V로 컴파일한 다음 각 CPU 명령어가 올바르게 실행되었음을 증명할 수 있습니다. JOLT는 "룩업 특이점" 기술을 도입하여, 비용이 많이 드는 산술 제약 조건을 각 유효한 CPU 연산 에 대한 빠른 테이블 룩업으로 대체합니다. 모든 연산(덧셈, 곱셈, 비트 연산 등)은 사전 계산된 유효한 결과의 거대한 테이블에서 룩업을 통해 확인되며, 이를 효율적으로 유지하기 위해 특화된 인수(Lasso/SHOUT)를 사용합니다. 이는 증명자의 작업량을 극적으로 줄입니다. 복잡한 64비트 연산조차도 많은 산술 제약 조건 대신 증명에서 단일 테이블 룩업이 됩니다.
- 상호작용 프로토콜 (GKR 합계 검사): 세 번째 접근 방식은 GKR(Goldwasser–Kalai–Rotblum)과 같은 상호작용 증명을 사용하여 계층화된 연산을 검증하는 것입니다. 여기서 모델의 연산은 계층화된 산술 회로로 간주됩니다(각 신경망 계층은 회로 그래프의 한 계층임). 증명자는 모델을 정상적으로 실행한 다음, 각 계층의 출력이 입력에 따라 정확함을 증명하기 위해 _합계 검사 프로토콜_에 참여합니다. Lagrange의 접근 방식(다음에서 자세히 설명할 DeepProve)에서는 증명자와 검증자가 상호작용 다항식 프로토콜(Fiat-Shamir를 통해 비상호작용적으로 만듦)을 수행하여 각 계층의 연산을 다시 수행하지 않고 일관성을 확인합니다. 이 합계 검사 방법은 단일의 정적 회로를 생성하는 것을 피하고, 대신 최소한의 암호학적 연산(주로 해싱 또는 다항식 평가)으로 단계별로 _연산의 일관성_을 검증합니다.
어떤 접근 방식을 사용하든, 결과는 전체 추론의 정확성을 증명하는 간결한 증명(일반적으로 수 킬로바이트에서 수십 킬로바이트)입니다. 이 증명은 _영지식_이므로, 모든 비밀 입력(개인 데이터 또는 모델 매개변수)은 숨겨질 수 있습니다. 이는 증명에 영향을 미치지만 검증자에게는 공개되지 않습니다. 의도된 공개 출력이나 주장만이 공개됩니다. 이는 _"모델 $M$을 환자 데이터 $X$에 적용하면 진단 $Y$가 나온다는 것을 $X$나 모델의 가중치를 공개하지 않고 증명하라"_와 같은 시나리오를 가능하게 합니다.
온체인 검증 활성화: 증명이 생성되면 블록체인에 게시될 수 있습니다. 스마트 계약은 증명을 확인하기 위한 검증 로직을 포함할 수 있으며, 종종 사전 컴파일된 암호학적 프리미티브를 사용합니다. 예를 들어, 이더리움은 많은 zk-SNARK 검증기에서 사용되는 BLS12-381 페어링 연산을 위한 사전 컴파일을 가지고 있어, SNARK 증명의 온체인 검증을 효율적으로 만듭니다. STARK(해시 기반 증명)는 더 크지만, 신중한 최적화나 일부 신뢰 가정(예를 들어, StarkWare의 L2는 이더리움에서 STARK 증명을 온체인 검증기 계약으로 검증하지만 SNARK보다 가스 비용이 높음)을 통해 여전히 온체인에서 검증될 수 있습니다. 핵심은 체인이 ML 모델을 실행할 필요 없이, 원래 연산보다 훨씬 저렴한 검증만 실행한다는 것입니다. 요약하면, zkML은 _비용이 많이 드는 AI 추론을 블록체인(또는 모든 검증자)이 밀리초에서 초 단위로 확인할 수 있는 작은 증명으로 압축_합니다.
Lagrange DeepProve: zkML의 혁신적인 아키텍처와 성능
Lagrange Labs의 DeepProve는 속도와 확장성에 초점을 맞춘 최첨단 zkML 추론 프레임워크입니다. 2025년에 출시된 DeepProve는 Ezkl과 같은 이전 솔루션보 다 극적으로 빠른 새로운 증명 시스템을 도입했습니다. 그 설계는 _합계 검사를 포함한 GKR 상호작용 증명 프로토콜_과 신경망 회로에 대한 특화된 최적화를 중심으로 합니다. DeepProve의 작동 방식과 성능 달성 방법은 다음과 같습니다.
-
일회성 전처리: 개발자는 훈련된 신경망(현재 다층 퍼셉트론 및 인기 있는 CNN 아키텍처 지원)으로 시작합니다. 모델은 표준 그래프 표현인 ONNX 형식으로 내보내집니다. 그런 다음 DeepProve의 도구는 ONNX 모델을 파싱하고 효율적인 필드 산술을 위해 양자화(가중치를 고정 소수점/정수 형태로 변환)합니다. 이 단계에서 암호학적 프로토콜을 위한 증명 및 검증 키도 생성합니다. 이 설정은 모델당 한 번만 수행되며 추론마다 반복할 필요가 없습니다. DeepProve는 통합의 용이성을 강조합니다: "모델을 ONNX로 내보내기 → 일회성 설정 → 증명 생성 → 어디서든 검증".
-
증명 (추론 + 증명 생성): 설정 후, 증명자(사용자, 서비스 또는 Lagrange의 탈중앙화 증명자 네트워크에서 실행 가능)는 새로운 입력 $X$를 받아 모델 $M$을 실행하여 출력 $Y$를 얻습니다. 이 실행 동안 DeepProve는 각 계층의 연산에 대한 실행 추적을 기록합니다. SNARK 접근 방식처럼 모든 곱셈을 정적 회로로 미리 변환하는 대신, DeepProve는 선형 시간 GKR 프로토콜을 사용하여 각 계층을 즉석에서 검증합니다. 각 네트워크 계층에 대해 증명자는 계층의 입력과 출력에 커밋하고(예: 암호학적 해시 또는 다항식 커밋을 통해), 그런 다음 출력이 계층의 함수에 따라 실제로 입력에서 비롯되었음을 증명하기 위해 합계 검사 인수에 참여합니다. 합계 검사 프로토콜은 실 제 값을 공개하지 않고 계층의 연산을 인코딩하는 다항식의 평가 합계의 정확성을 검증자에게 반복적으로 확신시킵니다. 비선형 연산(ReLU, softmax 등)은 DeepProve에서 _룩업 인수_를 통해 효율적으로 처리됩니다. 활성화의 출력이 계산되면, DeepProve는 각 출력이 해당 함수에 대해 사전 계산된 테이블의 유효한 입력-출력 쌍에 해당함을 증명할 수 있습니다. 계층별로 증명이 생성된 다음, 전체 모델의 순방향 전파를 다루는 하나의 간결한 증명으로 집계됩니다. 암호학의 무거운 작업은 최소화됩니다. DeepProve의 증명자는 거대한 제약 조건 시스템을 푸는 대신, 주로 일반적인 수치 연산(실제 추론)과 일부 가벼운 암호학적 커밋을 수행합니다.
-
검증: 검증자는 최종 간결한 증명과 함께 몇 가지 공개 값(일반적으로 모델의 커밋된 식별자($M$의 가중치에 대한 암호학적 커밋), 입력 $X$(비공개가 아닌 경우), 주장된 출력 $Y$)을 사용하여 정확성을 확인합니다. DeepProve 시스템에서의 검증은 합계 검사 프로토콜의 트랜스크립트와 최종 다항식 또는 해시 커밋을 검증하는 것을 포함합니다. 이는 고전적인 SNARK를 검증하는 것(몇 번의 페어링일 수 있음)보다 더 복잡하지만, _모델을 다시 실행하는 것보다 훨씬 저렴_합니다. Lagrange의 벤치마크에서, 중간 크기 CNN에 대한 DeepProve 증명을 검증하는 데 소프트웨어에서 0.5초 정도 걸립니다. 이는 예를 들어 수십만 개의 매개변수를 가진 컨볼루션 네트워크가 올바르게 실행되었음을 확인하는 데 약 0.5초가 걸린다는 의미이며, 이는 검증을 위해 GPU에서 해당 CNN을 순진하게 재계산하는 것보다 500배 이상 빠릅니다. (실제로 DeepProve는 CNN에 대해 최대 521배 빠른 검증, MLP에 대해 _671배 빠른 검증_을 재실행과 비교하여 측정했습니다.) 증명 크기는 온체인으로 전송하기에 충분히 작으며(수십 KB), 0.5초의 연산은 신중한 가스 최적화나 레이어 2 실행이 필요할 수 있지만, 필요하다면 스마트 계약에서 검증을 수행할 수 있습니다.
아키텍처 및 도구: DeepProve는 Rust로 구현되었으며 개발자를 위한 툴킷(zkml
라이브러리)을 제공합니다. ONNX 모델 그래프를 기본적으로 지원하므로 PyTorch나 TensorFlow의 모델(내보내기 후)과 호환됩니다. 증명 프로세스는 현재 최대 수백만 개의 매개변수를 가진 모델을 대상으로 합니다(테스트에는 4백만 매개변수 밀집 네트워크 포함). DeepProve는 다중 선형 다항식 커밋(계층 출력에 커밋하기 위해), 연산 검증을 위한 합계 검사 프로토콜, 비선형 연산을 위한 룩업 인수 등 여러 암호학적 구성 요소를 조합하여 활용합니다. 특히 Lagrange의 오픈 소스 저장소는 이전 작업(Scroll의 Ceno 프로젝트에서 온 합계 검사 및 GKR 구현)을 기반으로 구축되었음을 인정하며, 이는 zkML과 영지식 롤업 연구의 교차점을 나타냅니다.
실시간 확장성을 달성하기 위해 Lagrange는 DeepProve를 **증명자 네트워크(Prover Network)**와 결합합니다. 이는 전문 ZK 증명자들의 탈중앙화 네트워크입니다. 무거운 증명 생성은 이 네트워크에 오프로드될 수 있습니다. 애플리케이션이 추론 증명이 필요할 때, 작업을 Lagrange의 네트워크에 보내면, 많은 운영자(보안을 위해 EigenLayer에 스테이킹됨)가 증명을 계산하고 결과를 반환합니다. 이 네트워크는 신뢰할 수 있는 증명 생성을 경제적으로 인센티브화합니다(악의적이거나 실패한 작업은 운영자를 슬래싱함). 증명자들에게 작업을 분산시키고(잠재적으로 GPU나 ASIC 활용), Lagrange 증명자 네트워크는 최종 사용자로부터 복잡성과 비용을 숨깁니다. 그 결과는 빠르고, 확장 가능하며, 탈중앙화된 zkML 서비스입니다: "검증 가능한 AI 추론을 빠르고 저렴하게".
성능 이정표: DeepProve의 주장은 이전 최첨단 기술인 Ezkl과의 벤치마크로 뒷받침됩니다. 약 264k 매개변수를 가진 CNN(CIFAR-10 규모 모델)의 경우, DeepProve의 증명 시간은 약 1.24초였던 반면, Ezkl은 약 196초로, 약 158배 더 빨랐습니다. 4백만 개의 매개변수를 가진 더 큰 밀집 네트워크의 경우, DeepProve는 추론을 약 2.3초 만에 증명했지만, Ezkl은 약 126.8초가 걸렸습니다(약 54배 더 빠름). 검증 시간도 단축되었습니다. DeepProve는 264k CNN 증명을 약 0.6초 만에 검증했지만, Ezkl 증명(Halo2 기반)을 CPU에서 검증하는 데는 5분 이상 걸렸습니다. 이러한 속도 향상은 DeepProve의 거의 선형적인 복잡성에서 비롯됩니다. 증명자는 연산 수에 따라 대략 _O(n)_으로 확장되는 반면, 회로 기반 SNARK 증명자는 종종 초선형적인 오버헤드(FFT 및 다항식 커밋 확장)를 가집니다. 실제로 DeepProve의 증명자 처리량은 일반 추론 런타임의 한 자릿수 이내일 수 있습니다. 최근 GKR 시스템은 대규모 행렬 곱셈에 대해 원시 실행보다 10배 미만으로 느릴 수 있으며, 이는 ZK에서 인상적인 성과입니다. 이는 _실시간 또는 온디맨드 증명_을 더 실현 가능하게 만들어, 상호작용 애플리케이션에서 검증 가능한 AI의 길을 열어줍니다.
사용 사례: Lagrange는 이미 Web3 및 AI 프로젝트와 협력하여 zkML을 적용하고 있습니다. 예시 사용 사례로는 검증 가능한 NFT 특성(게임 캐릭터나 수집품의 AI 생성 진화가 승인된 모델에 의해 계산되었음을 증명), AI 콘텐츠의 출처(딥페이크와 싸우기 위해 이미지나 텍스트가 특정 모델에 의해 생성되었음을 증명), DeFi 위험 모델(독점 데이터를 공개하지 않고 금융 위험을 평가하는 모델의 출력을 증명), 의료 또는 금융에서의 프라이빗 AI 추론(병원이 환자 데이터를 노출하지 않고 정확성을 보장하는 증명과 함께 AI 예측을 받을 수 있음) 등이 있습니다. AI 출력을 검증 가능하고 프라이버시를 보존하게 만듦으로써, DeepProve는 탈중앙화 시스템에서 _"신뢰할 수 있는 AI"_의 문을 엽니다. 이는 _"블랙박스 모델에 대한 맹목적인 신뢰"_의 시대에서 _"객관적인 보증"_의 시대로 나아가는 것입니다.
SNARK 기반 zkML: Ezkl과 Halo2 접근 방식
zkML에 대한 전통적인 접근 방식은 zk-SNARK(Succinct Non-interactive Arguments of Knowledge)를 사용하여 신경망 추론을 증명합니다. Ezkl(ZKonduit/Modulus Labs 제작)은 이 접근 방식의 대표적인 예입니다. 이는 Halo2 증명 시스템(BLS12-381 상의 다항식 커밋을 사용하는 PLONK 스타일의 SNARK)을 기반으로 합니다. Ezkl은 개발자가 PyTorch나 TensorFlow 모델을 가져와 ONNX로 내보내면, Ezkl이 이를 자동으로 맞춤형 산술 회로로 컴파일하는 툴링 체인을 제공합니다.
작동 방식: 신경망의 각 계층은 제약 조건으로 변환됩니다.
- 선형 계층(밀집 또는 컨볼루션)은 입력, 가중치, 출력 간의 내적을 강제하는 곱셈-덧셈 제약 조건의 모음이 됩니다.
- 비선형 계층(ReLU, 시그모이드 등)은 이러한 함수가 다항식이 아니기 때문에 룩업 또는 조각별 제약 조건을 통해 처리됩니다. 예를 들어, ReLU는 $y = x \cdot b$, $0 \le b \le 1$, $x>0$일 때 $b=1$을 보장하는 불리언 선택자 $b$로 구현될 수 있거나, 더 효율적으로는 $x$ 값의 범위에 대해 $x \mapsto \max(0,x)$를 매핑하는 룩업 테이블을 사용할 수 있습니다. Halo2의 룩업 인수는 16비트(또는 더 작은) 값의 청크를 매핑할 수 있으므로, 큰 도메인(예: 모든 32비트 값)은 보통 여러 개의 작은 룩업으로 _"청크화"_됩니다. 이 청크화는 제약 조건의 수를 증가시킵니다.
- 큰 정수 연산이나 나눗셈(있는 경우)도 비슷하게 작은 조각으로 나뉩니다. 그 결과 특정 모델 아키텍처에 맞춰진 대규모 R1CS/PLONK 제약 조건 집합이 생성됩니다.
그런 다음 Ezkl은 Halo2를 사용하여 비밀 입력(모델 가중치, 개인 입력)과 공개 출력이 주어졌을 때 이러한 제약 조건이 성립한다는 증명을 생성합니다. 툴링 및 통합: SNARK 접근 방식의 한 가지 장점은 잘 알려진 프리미티브를 활용한다는 것입니다. Halo2는 이미 이더리움 롤업(예: Zcash, zkEVM)에서 사용되고 있으므로, 실전에서 검증되었고 온체인 검증기를 쉽게 사용할 수 있습니다. Ezkl의 증명은 BLS12-381 곡선을 사용하며, 이더리움은 사전 컴파일을 통해 이를 검증할 수 있어 스마트 계약에서 Ezkl 증명을 검증하는 것이 간단합니다. 팀은 또한 사용자 친화적인 API를 제공했습니다. 예를 들어, 데이터 과학자는 파이썬에서 모델 작업을 하고 Ezkl의 CLI를 사용하여 회로에 대한 깊은 지식 없이도 증명을 생성할 수 있습니다.
강점: Ezkl의 접근 방식은 SNARK의 일반성과 생태계로부터 이점을 얻습니다. 상당히 복잡한 모델을 지원하며 이미 _"실용적인 통합(DeFi 위험 모델에서 게임 AI까지)"_을 통해 실제 ML 작업을 증명했습니다. 모델의 연산 그래프 수준에서 작동하기 때문에, 중요하지 않은 가중치를 가지치기하거나 매개변수를 양자화하여 회로 크기를 줄이는 등 ML 관련 최적화를 적용할 수 있습니다. 또한 모델 기밀성이 자연스럽다는 것을 의미합니다. 가중치는 개인 증인 데이터로 처리될 수 있으므로, 검증자는 단지 어떤 유효한 모델이 출력을 생성했거나 기껏해야 모델에 대한 커밋만 볼 수 있습니다. SNARK 증명의 검증은 매우 빠르며(일반적으로 온체인에서 수 밀리초 이하), 증명 크기가 작아(수 킬로바이트) 블록체인 사용에 이상적입니다.
약점: 성능이 아킬레스건입니다. 회로 기반 증명은 특히 모델이 커질수록 큰 오버헤드를 부과합니다. 역사적으로 SNARK 회로는 증명자에게 모델을 그냥 실행하는 것보다 _백만 배 더 많은 작업_이 될 수 있다고 알려져 있습니다. Halo2와 Ezkl은 이를 최적화하지만, 여전히 대규모 행렬 곱셈과 같은 연산은 수많은 제약 조건을 생성합니다. 모델에 수백만 개의 매개변수가 있는 경우, 증명자는 그에 상응하는 수백만 개의 제약 조건을 처리해야 하며, 그 과정에서 무거운 FFT와 다중 지수 연산을 수행해야 합니다. 이로 인해 증명 시간이 길어지고(종종 중요하지 않은 모델의 경우에도 수 분 또는 수 시간이 걸림) 메모리 사용량이 높아집니다. 예를 들어, 비교적 작은 CNN(예: 수십만 개의 매개변수)을 증명하는 데도 단일 머신에서 Ezkl로 수십 분이 걸릴 수 있습니다. DeepProve 팀은 Ezkl이 특정 모델 증명에 몇 시간이 걸렸지만 DeepProve는 몇 분 만에 할 수 있다고 언급했습니다. 대규모 모델은 메모리에 맞지 않거나 여러 증명으로 분할해야 할 수도 있습니다(그런 다음 재귀적 집계가 필요함). Halo2가 _"적당히 최적화"_되었지만, 룩업을 "청크화"하거나 넓은 비트 연산을 처리해야 하는 필요성은 추가 오버헤드로 이어집니다. 요약하면, 확장성이 제한적입니다. Ezkl은 소규모에서 중간 규모의 모델에 잘 작동하지만(실제로 벤치마크에서 일부 초기 대안보다 성능이 우수했음), 모델 크기가 일정 지점을 넘어서면 어려움을 겪습니다.
이러한 어려움에도 불구하고, Ezkl 및 유사한 SNARK 기반 zkML 라이브러리는 중요한 디딤돌입니다. 그들은 온체인에서 _검증된 ML 추론이 가능함_을 증명했으며 활발하게 사용되고 있습니다. 특히, Modulus Labs와 같은 프로젝트는 SNARK를 사용하여 (대대적인 최적화와 함께) 1,800만 매개변수 모델을 온체인에서 검증하는 것을 시연했습니다. 비용은 상당했지만, 이는 발전 궤도를 보여줍니다. 또한, Mina Protocol은 자체 zkML 툴킷을 가지고 있어, Mina의 스마트 계약(Snark 기반)이 ML 모델 실행을 검증할 수 있도록 합니다. 이는 SNARK 기반 zkML에 대한 다중 플랫폼 지원이 증가하고 있음을 나타냅니다.
STARK 기반 접근 방식: ML을 위한 투명하고 프로그래밍 가능한 ZK
zk-STARK(Scalable Transparent ARguments of Knowledge)는 zkML로 가는 또 다른 경로를 제공합니다. STARK는 해시 기반 암호학(다항식 커밋을 위한 FRI 등)을 사용하며 신뢰 설정이 필요 없습니다. 이들은 종종 CPU나 VM을 시뮬레이션하고 실행 추적이 올바른지 증명하는 방식으로 작동합니다. ML의 맥락에서는 신경망을 위한 맞춤형 STARK를 구축하거나 범용 STARK VM을 사용하여 모델 코드를 실행할 수 있습니다.
일반 STARK VM (RISC Zero, Cairo): 간단한 접근 방식은 추론 코드를 작성하고 STARK VM에서 실행하는 것입니다. 예를 들어, Risc0는 RISC-V 환경을 제공하여 모든 코드(예: 신경망의 C++ 또는 Rust 구현)를 실행하고 STARK를 통해 증명할 수 있습니다. 마찬가지로, StarkWare의 Cairo 언어는 임의의 연산(LSTM 또는 CNN 추론 등)을 표현할 수 있으며, 이는 StarkNet STARK 증명자에 의해 증명됩니다. 장점은 유연성입니다. 각 모델에 대해 맞춤형 회로를 설계할 필요가 없습니다. 그러나 초기 벤치마크에서는 순진한 STARK VM이 ML에 최적화된 SNARK 회로보다 느리다는 것을 보여주었습니다. 한 테스트에서 Halo2 기반 증명(Ezkl)은 Cairo의 STARK 기반 접근 방식보다 약 3배 빨랐고, 2024년 특정 벤치마크에서는 RISC-V STARK VM보다 66배 더 빨랐습니다. 이 격차는 STARK에서 모든 저수준 명령어를 시뮬레이션하는 오버헤드와 STARK 증명의 더 큰 상수(해싱은 빠르지만 많이 필요함, STARK 증명 크기가 더 큼 등) 때문입니다. 그러나 STARK VM은 개선되고 있으며 투명한 설정(신뢰 설정 없음)과 양자내성 보안이라는 이점이 있습니다. STARK 친화적인 하드웨어와 프로토콜이 발전함에 따라 증명 속도는 향상될 것입니다.
DeepProve의 접근 방식 vs STARK: 흥미롭게도, DeepProve가 GKR과 합계 검사를 사용하는 것은 정신적으로 STARK와 더 유사한 증명을 산출합니다. 이는 구조화된 참조 문자열이 필요 없는 상호작용, 해시 기반 증명입니다. 트레이드오프는 증명이 더 크고 검증이 SNARK보다 무겁다는 것입니다. 그러나 DeepProve는 신중한 프로토콜 설계(ML의 계층 구조에 특화됨)가 증명 시간에서 일반 STARK VM과 SNARK 회로를 모두 크게 능가할 수 있음을 보여줍니다. DeepProve를 맞춤형 STARK 스타일 zkML 증명자로 간주할 수 있습니다(간결성을 위해 zkSNARK라는 용어를 사용하지만, 0.5초 검증은 일반적인 SNARK 검증보다 크기 때문에 전통적인 SNARK의 작은 상수 크기 검증은 없음). 전통적인 STARK 증명(StarkNet의 것과 같은)은 종종 검증하는 데 수만 개의 필드 연산이 필요한 반면, SNARK는 아마도 수십 개로 검증합니다. 따라서 한 가지 트레이드오프가 분명합니다. SNARK는 더 작은 증명과 더 빠른 검증기를 산출하는 반면, STARK(또는 GKR)는 증명 크기와 검증 속도를 희생하여 더 쉬운 확장성과 신뢰 설정 없음을 제공합니다.
새로운 개선 사항: JOLT zkVM(앞서 JOLTx에서 논의됨)은 실제로 SNARK(PLONKish 커밋 사용)를 출력하지만, STARK 맥락에서도 적용될 수 있는 아이디어(Lasso 룩업은 이론적으로 FRI 커밋과 함께 사용될 수 있음)를 구현합니다. StarkWare 등은 일반적인 연산의 증명 속도를 높이는 방법(예: Cairo에서 큰 정수 연산을 위해 사용자 정의 게이트나 힌트 사용)을 연구하고 있습니다. 또한 Privacy&Scaling Explorations(PSE)의 Circomlib-ML이 있는데, 이는 CNN 계층 등을 위한 Circom 템플릿을 제공합니다. 이는 SNARK 지향적이지만, 개념적으로 유사한 템플릿을 STARK 언어용으로 만들 수 있습니다.
실제로, STARK를 활용하는 비-이더리움 생태계에는 StarkNet(누군가 검증기를 작성하면 온체인 ML 검증이 가능하지만 비용이 높음)과 Risc0의 Bonsai 서비스(다양한 체인에서 검증할 수 있는 STARK 증명을 내보내는 오프체인 증명 서비스)가 있습니다. 2025년 현재, 블록체인 상의 대부분의 zkML 데모는 (검증기 효율성 때문에) SNARK를 선호했지만, STARK 접근 방식은 투명성과 고보안 또는 양자내성 환경에서의 잠재력 때문에 여전히 매력적입니다. 예를 들어, 탈중앙화 연산 네트워크는 STARK를 사용하여 누구나 신뢰 설정 없이 작업을 검증할 수 있게 하여 장기적인 사용에 유용할 수 있습니다. 또한, 일부 특화된 ML 작업은 STARK 친화적인 구조를 활용할 수 있습니다. 예를 들어, XOR/비트 연산을 많이 사용하는 연산은 SNARK 필드 산술보다 STARK에서 더 빠를 수 있습니다(불 대수와 해싱에서 저렴하기 때문).
ML에 대한 SNARK vs STARK 요약:
- 성능: SNARK(Halo2 등)는 게이트당 증명 오버헤드가 크지만 강력한 최적화와 검증을 위한 작은 상수의 이점을 누립니다. STARK(일반)는 상수 오버헤드가 더 크지만 더 선형적으로 확장되고 페어링과 같은 비싼 암호화를 피합니다. DeepProve는 접근 방식을 맞춤화(합계 검사)하면 거의 선형적인 증명 시간(빠름)을 얻지만 STARK와 유사한 증명을 갖게 됨을 보여줍니다. JOLT는 일반 VM조차도 룩업을 많이 사용하면 더 빨라질 수 있음을 보여줍니다. 경험적으로, 수백만 연산까지의 모델에 대해: 잘 최적화된 SNARK(Ezkl)는 처리할 수 있지만 수십 분이 걸릴 수 있는 반면, DeepProve(GKR)는 몇 초 만에 할 수 있습니다. 2024년의 STARK VM은 특화되지 않는 한 SNARK보다 중간이거나 더 나빴을 가능성이 높습니다(Risc0는 테스트에서 더 느렸고, Cairo는 사용자 정의 힌트 없이는 더 느렸음).
- 검증: SNARK 증명은 가장 빠르게 검증됩니다(밀리초, 온체인 데이터는 최소 ~수백 바이트에서 수 KB). STARK 증명은 더 크고(수십 KB) 많은 해싱 단계 때문에 검증하는 데 더 오래 걸립니다(수십 ms에서 수 초). 블록체인 용어로, SNARK 검증은 약 20만 가스가 들 수 있는 반면, STARK 검증은 수백만 가스가 들 수 있어 L1에는 너무 높고, L2나 간결한 검증 체계에서는 수용 가능합니다.
- 설정 및 보안: Groth16과 같은 SNARK는 회로당 신뢰 설정이 필요하지만(임의의 모델에는 비우호적), 범용 SNARK(PLONK, Halo2)는 특정 크기까지의 모든 회로에 재사용할 수 있는 일회성 설정을 가집니다. STARK는 설정이 필요 없으며 해시 가정(및 고전적인 다항식 복잡성 가정)만 사용하며, 양자내성 보안을 갖습니다. 이는 STARK를 장기적으로 매력적으로 만듭니다. 양자 컴퓨터가 등장하더라도 증명은 안전하게 유지되지만, 현재의 SNARK(BLS12-381 기반)는 양자 공격에 의해 깨질 것입니다.
이러한 차이점들을 곧 비교표로 정리하겠습니다.
ML을 위한 FHE (FHE-o-ML): 프라이빗 연산 vs. 검증 가능한 연산
완전 동형 암호(FHE)는 암호화된 데이터에 대해 직접 연산을 수행할 수 있게 하는 암호화 기술입니다. ML의 맥락에서 FHE는 _프라이버시 보존 추론_의 한 형태를 가능하게 할 수 있습니다. 예를 들어, 클라이언트는 암호화된 입력을 모델 호스트에게 보내고, 호스트는 이를 해독하지 않고 암호문에 대해 신경망을 실행한 다음, 클라이언트가 해독할 수 있는 암호화된 결과를 다시 보냅니다. 이는 데이터 기밀성을 보장합니다. 모델 소유자는 입력에 대해 아무것도 알 수 없으며(잠재적으로 클라이언트는 출력만 알게 되고, 출력만 받으면 모델의 내부는 알 수 없음), FHE 자체는 ZKP와 같은 방식으로 정확성 증명을 생성하지 않습니다. 클라이언트는 모델 소유자가 실제로 정직하게 연산을 수행했다고 신뢰해야 합니다(암호문이 조작될 수 있음). 일반적으로 클라이언트가 모델을 가지고 있거나 특정 출력 분포를 예상하는 경우, 노골적인 속임수는 감지될 수 있지만, 미묘한 오류나 잘못된 모델 버전 사용은 암호화된 출력만으로는 명확하지 않습니다.
성능의 트레이드오프: FHE는 연산이 매우 무겁습니다. FHE 하에서 딥러닝 추론을 실행하면 몇 자릿수나 되는 속도 저하가 발생합니다. 초기 실험(예: 2016년 CryptoNets)에서는 암호화된 데이터에 대해 작은 CNN을 평가하는 데 수십 초가 걸렸습니다. 2024년까지 **CKKS(근사 산술용)**와 더 나은 라이브러리(Microsoft SEAL, Zama의 Concrete)와 같은 개선으로 이 오버헤드가 줄었지만 여전히 큽니다. 예를 들어, 한 사용자는 Zama의 Concrete-ML을 사용하여 CIFAR-10 분류기를 실행하는 데 하드웨어에서 추론당 _25–30분_이 걸렸다고 보고했습니다. 최적화 후 Zama 팀은 192코어 서버에서 해당 추론에 대해 약 40초를 달성했습니다. 40초조차도 평문 추론(0.01초일 수 있음)에 비해 매우 느리며, 약 $10^3$–$10^4\times$의 오버헤드를 보여줍니다. 더 큰 모델이나 더 높은 정밀도는 비용을 더욱 증가시킵니다. 또한 FHE 연산은 많은 메모리를 소비하고 때때로 계산적으로 비싼 부트스트래핑(잡음 감소 단계)이 필요합니다. 요약하면, _확장성은 주요 문제_입니다. 최첨단 FHE는 작은 CNN이나 간단한 로지스틱 회귀를 처리할 수 있지만, 대규모 CNN이나 트랜스포머로 확장하는 것은 현재의 실용적인 한계를 넘어섭니다.
프라이버시 이점: FHE의 큰 매력은 _데이터 프라이버시_입니다. 입력은 프로세스 전체에서 완전히 암호화된 상태로 유지될 수 있습니다. 이는 신뢰할 수 없는 서버가 클라이언트의 개인 데이터에 대해 아무것도 배우지 않고 연산할 수 있음을 의미합니다. 반대로, 모델이 민감한(독점적인) 경우, 모델 매개변수를 암호화하고 클라이언트가 자신의 쪽에서 FHE 추론을 수행하도록 상상할 수 있지만, 클라이언트가 무거운 FHE 연산을 해야 한다면 강력한 서버에 오프로드한다는 아이디어를 무효화하기 때문에 이는 덜 일반적입니다. 일반적으로 모델은 공개되거나 서버가 평문으로 보유하고, 데이터는 클라이언트의 키로 암호화됩니다. 이 시나리오에서 모델 프라이버시는 기본적으로 제공되지 않습니다(서버는 모델을 알고, 클라이언트는 가중치가 아닌 출력을 알게 됨). 모델과 데이터를 서로에게서 비공개로 유지할 수 있는 더 이국적인 설정(보안 2자간 연산 또는 다중 키 FHE 등)이 있지만, 이는 훨씬 더 복잡합니 다. 대조적으로, ZKP를 통한 zkML은 _모델 프라이버시_와 _데이터 프라이버시_를 동시에 보장할 수 있습니다. 증명자는 모델과 데이터를 모두 비밀 증인으로 가질 수 있으며, 검증자에게 필요한 것만 공개합니다.
온체인 검증 불필요(그리고 불가능): FHE를 사용하면 결과가 클라이언트에게 암호화되어 나옵니다. 그런 다음 클라이언트는 이를 해독하여 실제 예측을 얻습니다. 그 결과를 온체인에서 사용하려면 클라이언트(또는 해독 키를 가진 사람)가 평문 결과를 게시하고 다른 사람들에게 그것이 정확하다고 설득해야 합니다. 그러나 그 시점에서는 ZKP와 결합하지 않는 한 신뢰가 다시 개입됩니다. 원칙적으로 FHE와 ZKP를 결합할 수 있습니다. 예를 들어, 연산 중 데이터를 비공개로 유지하기 위해 FHE를 사용한 다음, 평문 결과가 올바른 연산에 해당한다는 ZK 증명을 생성합니다. 그러나 이들을 결합하면 FHE 와 ZKP의 성능 페널티를 모두 지불해야 하므로 오늘날의 기술로는 매우 비실용적입니다. 따라서 실제로 FHE-of-ML과 zkML은 다른 사용 사례를 제공합니다.
- FHE-of-ML: 목표가 _두 당사자(클라이언트와 서버) 간의 기밀성_일 때 이상적입니다. 예를 들어, 클라우드 서비스는 ML 모델을 호스팅하고 사용자는 클라우드에 데이터를 공개하지 않고 민감한 데이터로 쿼리할 수 있습니다(그리고 모델이 민감한 경우 FHE 친화적인 인코딩을 통해 배포할 수 있음). 이는 프라이버시 보존 ML 서비스(의료 예측 등)에 적합합니다. 사용자는 여전히 서비스가 모델을 충실히 실행할 것이라고 신뢰해야 하지만(증명이 없으므로), 적어도 모든 _데이터 유출_은 방지됩니다. Zama와 같은 일부 프로젝트는 스마트 계약이 암호화 된 입력에 대해 작동할 수 있는 _"FHE 지원 EVM(fhEVM)"_을 탐색하고 있지만, 이러한 연산을 온체인에서 검증하려면 계약이 어떻게든 올바른 연산을 강제해야 하므로, ZK 증명이나 특수 보안 하드웨어가 필요한 미해결 과제입니다.
- zkML (ZKPs): 목표가 _검증 가능성과 공개 감사 가능성_일 때 이상적입니다. 누구나(또는 어떤 계약이든) _"모델 $M$이 $X$에 대해 올바르게 평가되어 $Y$를 생성했다"_는 것을 확신하고 싶다면 ZKP가 해결책입니다. 또한 프라이버시를 보너스로 제공하지만(증명에 대한 개인 입력으로 처리하여 $X$, $Y$, $M$을 숨길 수 있음), 주요 기능은 올바른 실행의 증명입니다.
상호 보완적인 관계: ZKP는 _검증자_를 보호하고(비밀에 대해 아무것도 배우지 않고 연산이 올바르게 수행되었다는 것만 알게 됨), FHE는 연산 당사자로부터 _증명자_의 데이터를 보호한다는 점에 주목할 가치가 있습니다. 일부 시나리오에서는 이들을 결합할 수 있습니다. 예를 들어, 신뢰할 수 없는 노드 네트워크는 FHE를 사용하여 사용자의 개인 데이터에 대해 연산한 다음, 사용자(또는 블록체인)에게 연산이 프로토콜에 따라 수행되었다는 ZK 증명을 제공할 수 있습니다. 이는 프라이버시와 정확성을 모두 다루지만, 오늘날의 알고리즘으로는 성능 비용이 막대합니다. 가까운 미래에 더 실현 가능한 것은 신뢰 실행 환경(TEE) + ZKP 또는 _기능적 암호화 + ZKP_와 같은 하이브리드입니다. 이는 우리의 범위를 벗어나지만, 비슷한 것을 제공하는 것을 목표로 합니다(TEE는 연산 중 데이터/모델을 비밀로 유지한 다음, ZKP는 TEE가 올바른 일을 했다고 증명할 수 있음).
요약하면, FHE-of-ML은 입력/출력의 기밀성을 우선시하는 반면, zkML은 검증 가능한 정확성(가능한 프라이버시 포함)을 우선시합니다. 아래 표 1은 주요 속성을 대조합니다.
접근 방식 | 증명자 성능 (추론 및 증명) | 증명 크기 및 검증 | 프라이버시 기능 | 신뢰 설정 필요 여부 | 양자내성 여부 |
---|---|---|---|---|---|
zk-SNARK (Halo2, Groth16, PLONK 등) | 무거운 증명자 오버헤드 (최적화 없이는 일반 런타임의 최대 10^6배, 실제로는 10^3–10^5배). 특정 모델/회로에 최적화됨. 중간 크기 모델은 증명에 수 분, 큰 모델은 수 시간이 걸림. 최근 zkML SNARK(GKR을 사용한 DeepProve)는 이를 크게 개선함 (거의 선형적인 오버헤드, 예: 백만 매개변수 모델에 대해 분 대신 초). | 매우 작은 증명 (종종 100 KB 미만, 때로는 ~수 KB). 검증은 빠름: 몇 번의 페어링 또는 다항식 평가 (일반적으로 온체인에서 50 ms 미만). DeepProve의 GKR 기반 증명은 더 크고(수십–수백 KB) ~0.5초 만에 검증됨 (여전히 모델 재실행보다 훨씬 빠름). | 데이터 기밀성: 예 – 입력은 증명에서 비공개일 수 있음 (공개되지 않음). 모델 프라이버시: 예 – 증명자는 모델 가중치에 커밋하고 공개하지 않을 수 있음. 출력 숨기기: 선택 사항 – 증명은 출력을 공개하지 않고 명제에 대한 것일 수 있음 (예: "출력은 속성 P를 가짐"). 그러나 출력이 온체인에서 필요한 경우 일반적으로 공개됨. 전반적으로 SNARK는 완전한 영지식 유연성을 제공함 (원하는 부분을 숨길 수 있음). | 스킴에 따라 다름. Groth16/EZKL은 회로당 신뢰 설정이 필요 함. PLONK/Halo2는 범용 설정(일회성)을 사용함. DeepProve의 합계 검사 GKR은 투명함 (설정 없음) – 그 설계의 보너스. | 고전적인 SNARK(BLS12-381 곡선)는 양자내성 안전하지 않음 (타원 곡선 이산 로그에 대한 양자 공격에 취약함). 일부 최신 SNARK는 양자내성 안전한 커밋을 사용하지만, Ezkl에서 사용되는 Halo2/PLONK는 양자내성 안전하지 않음. GKR(DeepProve)은 해시 커밋(예: Poseidon/Merkle)을 사용하며, 이는 양자내성 안전하다고 추정됨 (해시 프리이미지 저항성에 의존). |
zk-STARK (FRI, 해시 기반 증명) | 증명자 오버헤드는 높지만 더 선형적인 확장성. 일반적으로 큰 작업에 대해 네이티브보다 10^2–10^4배 느리며, 병렬화의 여지가 있음. 일반 STARK VM(Risc0, Cairo)은 2024년 ML에 대해 SNARK보다 느린 성능을 보임 (예: 일부 경우 Halo2보다 3배–66배 느림). 특화된 STARK(또는 GKR)는 선형 오버헤드에 근접하고 큰 회로에 대해 SNARK를 능가할 수 있음. | 증명은 더 큼: 종종 수십 KB (회로 크기/log(n)에 따라 증가). 검증자는 여러 해시 및 FFT 검사를 해야 함 – 검증 시간 ~O(n^ε) (작은 ε에 대해, 예: 증명 크기에 따라 ~50 ms에서 500 ms). 온체인에서는 더 비쌈 (StarkWare의 L1 검증기는 증명당 수백만 가스가 들 수 있음). 일부 STARK는 증명자 시간을 희생하여 크기를 압축하기 위해 재귀적 증명을 지원함. | 데이터 및 모델 프라이버시: STARK는 추적 데이터를 무작위화하여(다항식 평가에 블라인딩 추가) 영지식으로 만들 수 있으므로, SNARK와 유사하게 개인 입력을 숨길 수 있음. 많은 STARK 구현은 무결성에 초점을 맞추지만, zk-STARK 변형은 프라이버시를 허용함. 따라서 예, SNARK처럼 입력/모델을 숨길 수 있음. 출력 숨기기: 이론적으로 마찬가지로 가능함 (증명자가 출력을 공개로 선언하지 않음), 그러나 일반적으로 출력이 우리가 공개/검증하려는 것이기 때문에 거의 사용되지 않음. | 신뢰 설정 없음. 투명성은 STARK의 특징 – 공통 무작위 문자열만 필요함 (Fiat-Shamir가 파생할 수 있음). 이는 개방형 사용(모든 모델, 언제든지, 모델별 의식 없음)에 매력적임. | 예, STARK는 해시 및 정보 이론적 보안 가정(랜덤 오라클 및 FRI에서 특정 코드워드 디코딩의 어려움 등)에 의존함. 이는 양자 적에 대해 안전하다고 믿어짐. 따라서 STARK 증명은 양자내성이 있어, 검증 가능한 AI를 미래에 대비하는 데 이점이 있음. |
ML을 위한 FHE (추론에 적용된 완전 동형 암호) | 증명자 = 암호화된 데이터에 대해 연산을 수행하는 당사자. 연산 시간은 매우 높음: 평문 추론보다 10^3–10^5배 느린 것이 일반적임. 고급 하드웨어(다중 코어 서버, FPGA 등)가 이를 완화할 수 있음. 일부 최적화(저정밀도 추론, 레벨링된 FHE 매개변수)는 오버헤드를 줄일 수 있지만 근본적인 성능 저하가 있음. FHE는 현재 작은 모델이나 간단한 선형 모델에 실용적임. 딥 네트워크는 장난감 크기를 넘어서는 것이 여전히 어려움. | 증명이 생성되지 않음. 결과는 암호화된 출력임. 정확성을 확인하는 의미의 검증은 FHE 단독으로는 제공되지 않음 – 연산 당사자가 속이지 않을 것이라고 신뢰해야 함. (보안 하드웨어와 결합하면 증명을 얻을 수 있지만, 그렇지 않으면 악의적인 서버가 클라이언트가 차이를 모른 채 잘못된 출력으로 해독할 수 있는 잘못된 암호화된 결과를 반환할 수 있음). | 데이터 기밀성: 예 – 입력이 암호화되어 있으므로 연산 당사자는 그것에 대해 아무것도 알 수 없음. 모델 프라이버시: 모델 소유자가 암호화된 입력에 대해 연산을 수행하는 경우, 모델은 그들의 측에서 평문임 (보호되지 않음). 역할이 반대인 경우(클라이언트가 모델을 암호화하여 보유하고 서버가 연산), 모델은 암호화된 상태로 유지될 수 있지만, 이 시나리오는 덜 일반적임. FHE/MPC를 결합하여 둘 다 보호하는 보안 2자간 ML과 같은 기술이 있지만, 이는 일반 FHE를 넘어섬. 출력 숨기기: 기본적으로 연산의 출력은 암호화됨 (비밀 키를 가진 당사자, 보통 입력 소유자만 해독 가능). 따라서 출력은 연산 서버로부터 숨겨짐. 출력을 공개하고 싶다면 클라이언트가 해독하고 공개할 수 있음. | 설정이 필요 없음. 각 사용자는 암호화를 위해 자신의 키 쌍을 생성함. 신뢰는 키가 비밀로 유지되는 것에 의존함. | FHE 스킴(예: BFV, CKKS, TFHE)의 보안은 격자 문제(오류를 사용한 학습)에 기반하며, 이는 양자 공격에 저항성이 있다고 믿어짐 (적어도 효율적인 양자 알고리즘은 알려져 있지 않음). 따라서 FHE는 일반적으로 양자내성 보안으로 간주됨. |
표 1: 머신러닝 추론을 위한 zk-SNARK, zk-STARK, FHE 접근 방식 비교 (성능 및 프라이버시 트레이드오프).
Web3 애플리케이션을 위한 사용 사례 및 시사점
zkML을 통한 AI와 블록체인의 융합은 Web3에서 강력한 새로운 애플리케이션 패턴을 열어줍니다.
-
탈중앙화 자율 에이전트 및 온체인 의사 결정: 스마트 계약이나 DAO는 정확성을 보장받으며 AI 기반 결정을 통합할 수 있습니다. 예를 들어, 거래를 실행하기 전에 시장 상황을 분석하기 위해 신경망을 사용하는 DAO를 상상해 보세요. zkML을 사용하면 DAO의 스마트 계약은 조치가 수락되기 전에 승인된 ML 모델(알려진 해시 커밋 포함)이 최신 데이터에 대해 실행되어 권장 조치를 생성했다는 zkSNARK 증명을 요구할 수 있습니다. 이는 악의적인 행위자가 가짜 예측을 주입하는 것을 방지합니다. 체인은 _AI의 연산을 검증_합니다. 시간이 지남에 따라, DeFi나 게임에서 결정을 내리는 완전한 온체인 자율 에이전트(오프체인 AI를 쿼리하거나 단순화된 모델을 포함하는 계약)가 있을 수 있으며, 모든 움직임은 zk 증명을 통해 정확하고 정책을 준수함이 증명됩니다. 이는 자율 에이전트의 "사고"가 블랙박스가 아닌 투명하고 검증 가능하기 때문에 신뢰를 높입니다.
-
검증 가능한 연산 시장: Lagrange와 같은 프로젝트는 효과적으로 검증 가능한 연산 마켓플레이스를 만들고 있습니다. 개발자는 무거운 ML 추론을 증명자 네트워크에 아웃소싱하고 결과와 함께 증명을 받을 수 있습니다. 이는 탈중앙화 클라우드 컴퓨팅과 유사하지만, 신뢰가 내장되어 있습니다. 서버를 신뢰할 필요 없이 증명만 신뢰하면 됩니다. 이는 오라클과 오프체인 연산에 대한 패러다임 전환입니다. 이더리움의 곧 출시될 DSC(탈중앙화 시퀀싱 레이어)나 오라클 네트워크와 같은 프로토콜은 이를 사용하여 암호학적 보증이 있는 데이터 피드나 분석 피드를 제공할 수 있습니다. 예를 들어, 오라클은 "입력 Y에 대한 모델 X의 결과"를 제공하고 누구나 오라클의 말을 신뢰하는 대신 온체인에서 첨부된 증명을 검증할 수 있습니다. 이는 블록체인에서 _검증 가능한 AI-as-a-Service_를 가능하게 할 수 있습니다. 모든 계약은 연산("내 개인 모델로 이 신용 위험을 평가하라")을 요청하고 유효한 증명이 있는 경우에만 답변을 수락할 수 있습니다. Gensyn과 같은 프로젝트는 이러한 검증 기술을 사용하여 탈중앙화된 훈련 및 추론 마켓플레이스를 탐색하고 있습니다.
-
NFT 및 게임 – 출처 및 진화: 블록체인 게임이나 NFT 수집품에서 zkML은 특성이나 게임 움직임이 합법적인 AI 모델에 의해 생성되었음을 증명할 수 있습니다. 예를 들어, 게임에서 AI가 NFT 펫의 속성을 진화시킬 수 있습니다. ZK가 없으면 영리한 사용자가 AI나 결과를 수정하여 우월한 펫을 얻을 수 있습니다. zkML을 사용하면 게임은 _"펫의 새로운 능력치가 펫의 이전 능력치에 대해 공식 진화 모델에 의해 계산되었다"_는 증명을 요구하여 부정행위를 방지할 수 있습니다. 생성 예술 NFT도 마찬가지입니다. 작가는 생성 모델을 커밋으로 공개할 수 있습니다. 나중에 NFT를 민팅할 때, 각 이미지가 특정 시드에 대해 해당 모델에 의해 생성되었음을 증명하여 진위성을 보장할 수 있습니다(심지어 정확한 모델을 대중에게 공개하지 않고 작가의 IP를 보존하면서도). 이 _출처 검증_은 검증 가능한 무작위성과 유사한 방식으로 진위성을 보장합니다. 단, 여기서는 검증 가능한 창의성입니다.
-
민감한 영역에서의 프라이버시 보존 AI: zkML은 입력을 노출하지 않고 결과를 확인할 수 있게 합니다. 의료 분야에서 환자의 데이터는 클라우드 제공업체에 의해 AI 진단 모델을 통해 실행될 수 있습니다. 병원은 진단과 함께 _모델(제약 회사가 비공개로 보유할 수 있음)이 환자 데이터에 대해 올바르게 실행되었다_는 증명을 받습니다. 환자 데이터는 비공개로 유지되고(증명에는 암호화되거나 커밋된 형태만 사용됨), 모델 가중치는 독점적으로 유지되지만 결과는 신뢰할 수 있습니다. 규제 기관이나 보험사도 승인된 모델만 사용되었는지 확인할 수 있습니다. 금융 분야에서 회사는 감사인이나 규제 기관에게 _위험 모델이 내부 데이터에 적용되어 특정 지표를 생성했다_고 증명하면서 민감한 기본 금융 데이터를 공개하지 않을 수 있습니다. 이는 수동적인 신뢰 대신 암호학적 보증으로 규정 준수 및 감독을 가능하게 합니다.
-
크로스체인 및 오프체인 상호운용성: 영지식 증명은 근본적으로 이식 가능하기 때문에, zkML은 크로스체인 AI 결과를 촉진할 수 있습니다. 한 체인은 오프체인에서 실행되는 AI 집약적인 애플리케이션을 가질 수 있습니다. 결과의 증명을 다른 블록체인에 게시하면, 그 블록체인은 신뢰 없이 이를 수락할 것입니다. 예를 들어, 소셜 미디어 전반의 감성을 집계하기 위해 AI를 사용하는 다중 체인 DAO를 생각해 보세요. AI 분석(대규모 데이터에 대한 복잡한 NLP)은 오프체인에서 서비스에 의해 수행된 다음, _"분석이 올바르게 수행되었고 출력 감성 점수 = 0.85"_라는 증명을 작은 블록체인(또는 여러 체인)에 게시합니다. 모든 체인은 각자 분석을 다시 실행할 필요 없이 해당 결과를 검증하고 거버넌스 로직에 사 용할 수 있습니다. 이러한 종류의 상호운용 가능한 검증 가능한 연산은 Lagrange의 네트워크가 여러 롤업이나 L1을 동시에 서비스함으로써 지원하고자 하는 것입니다. 이는 체인 간에 결과를 이동할 때 신뢰할 수 있는 브리지나 오라클 가정이 필요 없게 만듭니다.
-
AI 정렬 및 거버넌스: 더 미래 지향적인 관점에서, zkML은 _AI 거버넌스 및 안전_을 위한 도구로 강조되었습니다. 예를 들어, Lagrange의 비전 선언문은 AI 시스템이 더 강력해짐에 따라(심지어 초지능적으로), 합의된 규칙을 따르도록 보장하기 위해 암호학적 검증이 필수적일 것이라고 주장합니다. AI 모델이 자신의 추론이나 제약 조건에 대한 증명을 생성하도록 요구함으로써, 인간은 어느 정도의 통제력을 유지합니다. "검증할 수 없는 것은 신뢰할 수 없다". 이는 기술적인 측면뿐만 아니라 사회적인 측면도 포함하는 추측이지만, 이 기술은 자율적으로 실행되는 AI 에이전트가 여전히 승인된 모델을 사용하고 있으며 조작되지 않았음을 증명하도록 강제할 수 있습니다. 탈중앙화 AI 네트워크는 온체인 증명을 사용하여 기여를 검증할 수 있습니다(예: 모델을 협력적으로 훈련하는 노드 네트워크는 각 업데이트가 충실하게 계산되었음을 증명할 수 있음). 따라서 zkML은 _AI 시스템이 탈중앙화되거나 통제되지 않는 환경에서도 인간이 정의한 프로토콜에 대해 책임지도록 보장_하는 데 역할을 할 수 있습니다.
결론적으로, zkML과 검증 가능한 온체인 AI는 AI 애플리케이션의 신뢰, 투명성, 프라이버시를 향상시킬 고급 암호학과 머신러닝의 융합을 나타냅니다. 주요 접근 방식인 zk-SNARK, zk-STARK, FHE를 비교함으로써, 우리는 성능과 프라이버시 사이의 다양한 트레이드오프 스펙트럼을 볼 수 있으며, 각각 다른 시나리오에 적합합니다. Ezkl과 같은 SNARK 기반 프레임워크와 Lagrange의 DeepProve와 같은 혁신은 상당한 신경망 추론을 실용적인 노력으로 증명하는 것을 가능하게 하여, 검증 가능한 AI의 실제 배포의 문을 열었습니다. STARK 기반 및 VM 기반 접근 방식은 더 큰 유연성과 양자내성 보안을 약속하며, 이는 분야가 성숙함에 따라 중요해질 것입니다. FHE는 검증 가능성에 대한 해결책은 아니지만, 기밀 ML 연산의 상호 보완적인 요구를 해결하며, ZKP와 결합하거나 특정 개인적인 맥락에서 사용자가 데이터 프라이버시를 희생하지 않고 AI를 활용할 수 있도록 힘을 실어줄 수 있습니다.
Web3에 대한 시사점은 중요합니다. 우리는 AI 예측에 반응하는 스마트 계약이 정확하다는 것을 알게 되고, 결과가 신뢰 없이 판매되는 연산 시장, zkML에 의해 보호되어 생체 이미지 유출 없이 인간임을 확인하는 디지털 신원(Worldcoin의 홍채 AI를 통한 개인 증명 등), 그리고 일반적으로 블록체인 애플리케이션을 풍부하게 하는 새로운 종류의 _"증명 가능한 지능"_을 예견할 수 있습니다. 매우 큰 모델에 대한 성능, 개발자 인체 공학, 특수 하드웨어의 필요성 등 많은 과제가 남아 있지만, 궤적은 분명합니다. 한 보고서에서 언급했듯이, "오늘날의 ZKP는 작은 모델을 지원할 수 있지만, 중간에서 큰 모델은 패러다임을 깨뜨립니다." 그러나 빠른 발전(DeepProve로 이전 기술보다 50배–150배 속도 향상)이 그 경계를 넓히고 있습니다. 지속적인 연구(예: 하드웨어 가속 및 분산 증명)를 통해, 점진적으로 더 크고 복잡한 AI 모델이 증명 가능해질 것으로 기대할 수 있습니다. zkML은 곧 틈새 데모에서 신뢰할 수 있는 AI 인프라의 필수 구성 요소로 진화하여, AI가 보편화됨에 따라 감사 가능하고, 탈중앙화되며, 사용자 프라이버시 및 보안과 일치하는 방식으로 그렇게 되도록 보장할 수 있습니다.