제로 지식 VM(zkVM)이란?
제로 지식 VM은 코드를 실행하고 실행이 올바르게 이루어졌다는 증명을 출력하는 가상 머신으로, 입력값은 공개하지 않습니다. 그것을 점수를 확인하는 심판으로 생각하되 플레이북은 비밀로 유지됩니다. 같은 결과이지만 더 적은 세부 정보가 노출됩니다.
“zkVM은 모든 것을 익명으로 만든다.”는 건 아니다. 실행의 올바름을 입증한다. 비공개로 남는 것은 머신이 강제로 정하는 것이 아니라 앱이 선택합니다.
제로 지식 VM(zkVM)이 작동하는 원리
오프 체인에서 실행되는 프로그램이 있다가 체인에 작은 수학적 영수증을 보내는데, 그것이 “이것은 제대로 수행되었다”라고 말합니다. 아래 간단한 흐름을 보십시오.
- Step 1: 개발자가 zkVM 안에서 실행할 코드를 작성하거나 컴파일합니다.
- Step 2: 프로그램은 오프 체인에서 실행되며 증명을 생성합니다. 예를 들어 거래가 trader의 입력 값을 공개하지 않고도 가격이 정확히 책정되었음을 증명합니다.
- Step 3: 그 증명과 최소한의 데이터가 체인상의 검증자에게 전송됩니다.
- Step 4: 검증자는 증명을 빠르게 확인하고 예/아니오를 기록합니다.
- Step 5: 다른 계약들과 사용자는 무거운 계산을 재실행하지 않고도 결과를 신뢰합니다.
장치 내부적으로는 실행을 증언하는 제로 지식 증명에 의존합니다. 예, 수학을 증인으로 삼는 셈입니다.
왜 Zero Knowledge VM(zkVM)이 중요할까
당신이 관심 있는 이유는 비용 모델이 바뀌기 때문입니다. 대규모 계산은 오프 체인, 체인 위의 검증은 아주 작음.
- 혜택: 검증이 저렴하고 무거운 작업은 다른 곳에서 진행되므로 속도와 수수료가 개선됩니다.
- 관점: 민감한 데이터를 숨긴 채 결과에는 투명성을 제공할 수 있습니다.
- 관련성: DeFi, 게임, 신원 등에서 프라이버시와 검증 가능한 수학이 모두 중요한 환경에서 기대됩니다.
zkVM들을 비교할 때 처음으로 두 가지를 확인하세요: 어떤 언어를 지원하는지, 그리고 대상 체인에서 검증기가 얼마나 빨리 실행되는지.
Zero Knowledge VM(zkVM)의 주요 특성
사람들이 실제로 확인하는 특성은 다음과 같습니다:
- 일반적: 단일 사용 회로가 아니라 다양한 종류의 프로그램을 실행합니다.
- 이식성: 작은 smart contract를 통해 체인 간에 증명을 검증할 수 있습니다.
- 선택적: 앱이 어떤 입력은 숨기고 어떤 출력은 공개할지 선택하게 합니다.
- 효율적: 원래 실행이 무거웠더라도 증명의 검증은 빠릅니다.
- 구성적: 증명을 배치하거나 중첩할 수 있어 시스템이 잡음을 줄이며 확장됩니다.
Variations
모든 zkVM이 똑같아 보이는 것은 아닙니다. 일반적으로 보게 되는 형태:
- EVM: 솔리디티 스타일 로직을 실행하고 이를 증명하는 것을 목표로 하며, 직접 앱 재사용에 좋습니다.
- LLVM: Rust나 C와 같은 일반 언어로부터 증명 가능한 형태로 컴파일합니다.
- Rollup: 유효성 검증 롤업 내부에서 사용되며 증명이 기본 체인에 게시됩니다.
- Sovereign: 자체 체인에서 검증하고 증명을 밖으로 다리합니다.
검증은 저렴하지만 증명은 무겁고 시간이 걸릴 수 있습니다. 그 트레이드오프가 바로 핵심 포인트입니다.
예시
대출 앱은 zkVM 내부에서 담보를 가격 책정한 뒤 체인에 증명만 게시하여 청산이 borrower의 데이터를 노출하지 않고도 공정하게 촉발되도록 만듭니다.
재미있는 사실
핵심 아이디어는 80년대 연구로 거슬러 올라갑니다. 암호학자들이 비밀을 알려주지 않고도 비밀을 알고 있음을 증명할 수 있음을 보여주었습니다. Crypto Twitter가 그것을 멋지게 만들었습니다.
Wrap-Up
한 문장으로 요약하면, Zero Knowledge VM(zkVM)은 체인이 빠르게 작업을 확인하게 하면서 민감한 입력값은 보이지 않도록 하는 증명 컴퓨터입니다.