
理論から実践へ、ZKの無限の可能性を解き放つ
TechFlow厳選深潮セレクト

理論から実践へ、ZKの無限の可能性を解き放つ
本稿では、ゼロ知識証明を一緒に探求し、ZK の新たな可能性を発見します。
整理: LXDAO
ゼロ知識証明(Zero-Knowledge Proofs)技術は、卓越したプライバシー保護能力により、データセキュリティ分野において一際目立つ存在となり、暗号業界のトレンドキーワードランキングでもトップに君臨したことがあります。しかし、ZK技術の深さと複雑さゆえに、多くの学習者がこの分野への探求をためらっています。今回のLXサロンでは、特別に安比実験室の創設者である郭宇氏をお招きし、彼の真知灼見と先見性ある考察を共有いただきました。それでは、本回のハイライト内容を振り返りながら、ZKが秘める無限の可能性を解き明かしましょう🚀
理論と実践の乖離:ZKの応用シーンとは
郭宇氏は、多数の暗号学分野の中でも、ZKの実践はすでに相当進んでいると指摘します。しかし、理論研究に比べて、ZKの理論はそのエンジニアリング化や製品の急速な反復更新により、一部の製品が未検証かつ成熟していないプロトコルを使用しているケースも見られます。現時点でのZKに関する学習資料は理論寄りが多い理由として、主に以下の二点が挙げられます。
1. 現在活躍しているZK研究者の多くは理論研究に従事しており、エンジニアリング実践を行う者は比較的少数です。成果のアウトプット周期において、ZK理論研究は明らかに実践よりも短いのです。たとえば多くのエンジニアが製品開発に取り組む際、それぞれのバックグラウンドが異なるため、まず基礎となるアルゴリズム/数学を学び、積極的に実践する必要があり、時間がかかります。そのため、目の前にある情報がすべて理論的なものに見えるという錯覚が生じやすいのです。
2. 業界自体の急速な発展と製品の高速なアップデートにより、特定のアプリケーションシナリオにおける一部のエンジニアリング内容は、他のプロトコルに置き換えられたり、やがて人々の視界から消え去ってしまうこともあります。したがって、現在ZKの技術的ハードルは大きく下がりましたが、依然として理論の発展は実践を大きく先行しています。
ZKの実践を行うには、優れた参照物、例えば高品質なエンジニアリングコードを集めて模倣したり、使用・簡単な修正を行うことで、まずはその用途と動作原理を明確にすることが重要です。さらに独自のニーズがあり、コードを改変して新機能を追加したい場合は、そのコードに対して深い理解が必要になります。そして、全く新しいアイデアを持ち、ゼロから製品を開発しようとする場合、非常に大きな時間と学習の投資が必要です。いずれにせよ、理論でも実践でも、まずは「模倣」することから始めるのが現実的です。自身のレベルが上がれば、できることがどんどん増えていきます。基本原理を理解し掌握すれば、より多くのことに挑戦する勇気も湧いてくるでしょう。
ここ10年で、ZKのエンジニアリング実践は著しい進展を遂げており、今なお急速に発展を続けています。また、ZKの理論も百花繚乱の状態ですが、これにより学習の障壁も生まれています。どこから始めればいいのか、どのように学べばよいのか、特に暗号学では底なしのデータの海に溺れそうになり、その用途やアルゴリズムの出所がわからないままになることも多いのです。ZKの応用シーン、あるいは優れた応用例については、実は数えるほどしかなく、多くのアプリケーションレベルの製品はまだ概念実証段階にあります。しかし全体としては、新事物が次々と登場することで希望も増え続け、業界全体としても新事物の創出や実験、正しい道を探る試みが不可欠です。
ZKのオンチェーン外応用と収益化の道筋
郭宇氏は、ZKには将来性に大きなポテンシャルがある一方、収益化に関しては、製品自体が真にコア課題を解決し、市場のニーズや痛点に真正面から対応できていることが最も重要だと述べています。それによって初めて収益が生まれるのです。
現時点でのZKのオンチェーン外応用については、明確なニーズに特化したアプリケーションが有望だと考えています。たとえば、ウォレット、ブリッジ、Layer 2、スマートコントラクトのオンチェーン外計算などが該当します。長年の学習経験から、ブロックチェーンの発展過程において既にいくつか明確なニーズが提示されてきました。たとえばスケーラビリティ、ストレージ、あるいはノード数が少ないといったブロックチェーン固有のプロトコル問題、転送量の効率的な圧縮方法などです。また、ブロックチェーンとは関係ない領域としてプライバシー保護もありますが、これは純粋な技術問題ではなく、むしろ社会的問題とも言えます。つまり、「プライバシー」とは何か、人々がプライバシーに対してどの程度受け入れ可能かという点は、社会全体の駆け引きの結果によるものです。
さらに具体的なニーズとしては、イーサリアムのステート爆発、ノード数に関わるデータ可用性(Data Availability)、バリデーターの増加、MEV問題の解決、オンチェーンコントラクトのセキュリティや複雑性、クロスチェーンブリッジの安全性などがあります。こういったニーズを満たす、または問題を解決するアプリケーションは、一般的に良い発展見込みを持つと考えられます。
CRSとは何か? ZKがなぜそれを必要とするのか
郭宇氏によると、CRS(Common Reference String)とは、ProverとVerifierが互いに根拠もなく信用するのではなく、たとえ1ビットであっても共通認識に基づいて相手を信頼するという意味です。つまり、合意形成された基盤の上で信頼が成立するということです。
たとえば、ZKの基本概念には「回路(Circuit)」という考え方があります。これは、ProverとVerifier双方が合意する計算プロセスをすべての人に対して公開するものです。Verifierが前提を知っている状態で、Proverが秘密のパラメータを計算し、その計算プロセスの完全性を証明します。このとき、回路自体は公開されますが、入力パラメータのみがVerifierに対して隠蔽されます。この回路自体が合意の一部であり、Proverが行動する前には、双方が回路について事前に合意しておく必要があります。この合意内容は定義上、CRSに含まれるべきものです。現在広く使われている零知識証明プロトコルZK-SNARK(Zero Knowledge Succinct Non-interactive ARguments of Knowledge)は、基本的にすべてCRSを含んでいます。
楕円曲線ベースのプロトコルには二種類あり、一つはGroth16のような「信頼できる設定(Trusted Setup)」プロセスを持つもので、これは安全なマルチパーティ計算プロトコルであり、完了後にこの共通回路を「焼き込む」形になります。もう一つはMarlinやPlonkのように回路を焼かないタイプですが、それでも事前に何らかの合意内容を焼き込む必要があります。
別のタイプとして、楕円曲線ベースでありながら、その安全性の仮定が離散対数問題(ECDLP)に依存するプロトコルがあります。このようなプロトコルでは「透過的設定(Transparent Setup)」が必要で、これもまた内容に対する合意を要します。たとえば、どの楕円曲線を選ぶか、鍵生成アルゴリズム(Generator)、素数PやQの選定などです。また、StarkやRisc ZeroなどのハッシュベースのzkSNARKもCRSを必要とし、選択するハッシュ関数、RSコード(Reed-Solomon Codes)なども厳密にはすべてCRSの一部となります。
したがって、総じてCRSは基本的に必須であり、その中身はさまざまですが、通信コストや証明サイズの削減などを目的としています。ただし、プロトコルによって差異があります。
現実のニーズをどうZKの多項式表現に変換するか
郭宇氏は、理論的にはZKの多項式表現を実現するには計算が必要であり、スケーリングでもプライバシーでも、適切な回路で表現しなければならず、その計算は固定されたものでなければなりません。これはアルゴリズムが固定されているだけでなく、計算規模も固定される必要があるということです。アルゴリズム自体がある程度決定論的な段階にあり、計算量が分解しやすい場合、操作が容易になり、これを「回路を書く」と呼びます。
ZKEVMの研究が進むにつれ、ZKVM技術スタックも急速に発展し、Risc Zero、SP1、zkWASMなど、無料で利用可能なオープンソースのゼロ知識計算プラットフォームが登場しています。これらを使えば、回路を構築せずとも、Rustを使ってカスタムコードを記述するだけでZKアプリケーションを作成できます。そのため、ビジネスロジックをZK化することがますます簡単になっています。
回路を書く以外にも、RAM(Random Access Machine)モデルに基づく計算方法があります。これは仮想マシンが動作しているイメージで、このプロセスでは回路を書くのではなく、状態遷移を記述することになります。ビジネスロジックをいかにうまく状態遷移として記述し、軽量化を実現したり、直接多項式に変換できるかは、個人の能力と経験の蓄積に大きく依存します。
とはいえ、いずれにしてもハードルは存在します。回路を書くこと自体にもハードルがあるのです。
質疑応答ハイライト
なぜZKが必要なのか?
郭宇氏は、現時点ではZKの有用性を示す大規模なアプリケーションが不足しているとしつつも、ZKの登場により信頼の構築がより良くなると語ります。ZK技術は、暗号学の中でも信頼問題に特化した基礎的なツールとして稀有な存在です。また、ブロックチェーンの発展過程では、ノード数の急激な減少やイーサリアムのステート爆発など、多くの問題に直面しており、これらはZKによって改善・解決が期待されています。したがって、現在および将来において、ZKはブロックチェーンにとって極めて重要です。
もちろん、ZK自体もブロックチェーンを必要としています。ZKは「信じる」ことから始まり、その後に信頼やプロトコル間の相互作用が成立しますが、ブロックチェーンはこのZKの信頼冷スタート(cold start)において欠かせない要素です。両者は相互に補完し合い、どちらも不可欠です。
ZK入門と学習の心得・経験談
郭宇氏は、まず動機から始めるべきだと述べます。「そもそもそれが何なのか、なぜそれが機能するのか」を明確に理解したいという理論への強い興味が原点でした。入門としては、専門的な論文や基礎資料を多く読み、必要な基礎知識を習得し、深く学ぶことが重要です。この過程で少しずつ蓄積し、量が質に転じる瞬間を迎えます。論文については、文脈が不明瞭なものや玉石混交の内容もあるため、何度も繰り返し読むことでようやくスムーズに理解できるようになります。就職を目指すのであれば、回路を書くことは現実的な手段です。実践を重ね、優れたプロジェクトのコードをよく読み、些細な部分にこそ驚嘆すべき発見があるかもしれません。また、回路の模倣を繰り返し、経験をまとめて自分の知識やノウハウとして定着させることが大切です。
また、業界内の非専門的な愛好家たちの発信にも注目すると良いでしょう。彼らはしばしば分かりやすいチュートリアルや学習ノウハウ、個人的な経験を共有してくれます。ただし、業界の急速な発展に伴い、学習時にはコンテンツが古くなっていないか、作成時期を確認し、批判的な姿勢で学ぶ必要があります。
理論に興味のある方は、局所から焦点を当て、点から面へと広げる「深さ優先探索(DFS:Depth First Search)」が「幅優先探索(BFS:Breadth First Search)」よりも効果的です。まず一部分をしっかり学び、その経験を基に他の学習内容に取り組むことで、理解が深まります。深い学習資料や論文を探す際には、「共学(共同学習)」が非常に有効です。一人で閉じこもって学ぶのは困難ですが、志を同じくする仲間とともに探求し、深く議論することで、持続的かつ効果的な学習が可能になります。
ZKをどの程度学べば仕事ができるようになるのか?
郭宇氏は、「今がまさに最良のタイミング」と答えます。まずは求人に応募し、能力が足りなければ補えばよい。多くの仕事の詳細は公開されているため、連絡を取り、コードの修正やバグ探しの手伝いを申し出ることも可能です。優秀なエンジニアの需要は非常に高く、ZK技術も急速に進化しているため、経験が不足していても問題ではありません。むしろ、技術の急速な変化の中で、初心者が不利になることはほとんどありません。
ZKVM上で、たとえばStarknet(STRK)のようなチェーンでは、回路を書く必要はないのでしょうか?
郭宇氏は、現時点ではこれらの仮想マシン(VM)がシステムコール用の特殊命令、すなわち特殊インターフェースを提供していると説明します。もし同じ計算を繰り返し、すべてをVM命令としてコンパイルしてしまうと、命令が膨張してしまいます。そのため、頻繁に使用される命令は通常「回路化」され、回路化することでVM証明の分散トレース(Trace)が大幅に短縮されます。また、回路化は前処理の一部を支援し、Traceよりもはるかに効率的です。
極めて限定的な証明システムでは、計算中に複数の回路が存在し、同一アルゴリズムでパラメータだけ異なる場合があります。たとえば、ハッシュを10回ループする場合、何も対策を取らなければ、ハッシュ回路が10倍に膨れ上がってしまいます。しかし、近年ではこうした10個の回路を並列化し、さらに追加の最適化を施す技術が登場しており、その効果は顕著です。現在のVM設計の原則として、ユーザーが実行したい特定関数を自分で回路として記述し、統合することも検討されていますが、現状では主にVM側が提供する方式に頼っています。
また、Folding schemeのような技術もあり、繰り返し連結された回路を一つに圧縮することができます。これにより証明プロセスのメモリ使用量が大幅に削減されますが、一方で回路作成の要求は高くなります。結論として、「学ぶべきか」「書くべきか」は自身の利益と強く関連していますが、理論的には無条件にコンパイルし、ZKVMを通じて直接呼び出すことも可能です。
ZKはブロックチェーン以外に応用できる可能性はあるか?
郭宇氏は、プライバシー保護が一つの方向性かもしれないが、その需要には疑問があると述べます。Web3においてさえ、人々はプライバシーをそれほど重視しておらず、伝統産業ではなおさらです。学術界では、ZKと非Crypto分野の融合がいくつか進められており、たとえばゼロ知識機械学習(ZKML)、ZKデータベース、ZKを使った匿名投票などがありますが、これらが実際に問題を解決できるか、本当に痛点なのかは未だ確認が必要です。緊急かつ現実的なニーズによって推進される場合、成果はより明確に現れます。たとえばZKEVMの発展はEVMに由来しており、イーサリアムエコシステム全体がLayer 2上でEVMとの互換性を確保する必要がありました。EVM自体の設計は順調ではなくても、関連技術をZKEVMに移植したことで比較的良好な成果を得ました。
現時点でブロックチェーンが置かれているフェーズにおいて、技術とビジネスシナリオはそれぞれどのような価値を提供しているのか?
郭宇氏は、Crypto世界のニーズに話を絞れば、その用途は多岐にわたります。たとえば、DID(Decentralized Identity)による認証や、ソーシャルネットワークにおけるプライバシー保護などです。ただし肝心なのは、ユーザーのニーズや特徴を捉え、爆発的に普及するシナリオを見つけ出すことです。ビジネスを展開する際は、ZKの最新動向をよくチェックすべきです。なぜなら、現在の技術条件はすでに、あるいはほぼ到達しているレベルで、単純なシナリオを実現できるまでになっているからです。
会場の観客・石氏は補足し、現在の運営モデルにおける信頼や合意形成のプロセスは、帯域幅やストレージの消費が非常に大きくなるが、ZKを活用することで効率が指数関数的に向上すると述べました。つまり、少なくとも技術的な価値は極めて高いと言えます。技術的価値が示されれば、必然的にシナリオとしての価値も現れるはずです。
郭宇氏はさらに付け加え、現在のZK発展には「明確な方向性がない」という問題があると指摘します。予測や展望が困難なのは、ZKの発展が非常に多くの分岐を持っているため、どの枝が伸びるか、あるいは新たな分岐が生まれるかが分からないからです。これが応用開発者と理論研究者の間に大きな溝を作っています。理論研究者は応用現場の実際の痛点を把握できず、頭の中だけでシナリオを想像して論文を書くしかないのです。一方で、ZKのハードルはますます高くなり、製品やビジネスの開発者が「何ができるのか」「何に使えるのか」を見極めにくくなっています。そのため、応用側は基礎的な概念やよく使われるツールをもっと理解すべきです。たとえば、一般的なZKツールやドキュメントがどれくらいのビジネスロジックを証明でき、計算量はどの程度かを把握するだけでも十分です。ZKの詳細を深く知る必要はありません。基本的な概念、大まかな能力範囲、逆に不向きなタスクなどを理解していれば十分です。要するに、双方が互いに補完し合い、ブロックチェーンの発展を共に推進していくことが重要です。
まとめ
今回のLXサロンを通じて、皆さんはゼロ知識証明(ZK)の発展、応用実践、入門学習について、より包括的かつ深い理解を得られたことと思います。業界の継続的な発展、ZK技術の革新と突破が続く中で、ZKは巨大な発展ポテンシャルと広大な応用前景を示すでしょう。同時に、これは暗号業界ひいてはWeb3全体の発展に新たな活力を注入することにもなります。今後も皆様と共に歩みを進め、ZKの探求を続け、より安全で効率的かつ透明性の高いデジタル世界の構築を目指していきましょう!
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News














