
Manta創業者、清華大学暗号学博士と対談:ZK分野におけるディープディスカッション
TechFlow厳選深潮セレクト

Manta創業者、清華大学暗号学博士と対談:ZK分野におけるディープディスカッション
話題はZKの基礎知識、ZKの研究開発および応用、およびMantaがZKを活用してWeb3のプライバシー問題をどのように解決するかについて扱います。
7月23日21時(北京時間)、Manta Network共同創設者であるShumo Chu氏が、清華大学学生ブロックチェーン協会(THUBA)の招待を受け、Twitter Spaceにて暗号学博士Sputnik氏と対談を行いました。話題はZKの基礎知識、ZKに関する研究および応用、そしてMantaがZKを活用してWeb3のプライバシー課題をどう解決するかについてでした。以下はその対談の全文文字起こしです。
Yiki(司会):
こんにちは。私は清華大学ブロックチェーン協会(THUBA)の副会長Yikiです。2017年の設立から5年が経ち、これまでに約200回のイベントを開催してきました。今後8月には初のハッカソンも開催予定ですので、ぜひご注目いただき参加をご検討ください。それでは、まずShumoさんからMantaが何をしているのか、また自己紹介をお願いできますか。
Shumo:
こんにちは。このイベントに参加できて光栄です。私はManta Networkの共同創設者、Shumoです。まずMantaについて簡単に説明します。私たちのプロジェクトは2020年10月頃に立ち上げました。当時、ブロックチェーン(Web3)には大きな問題があると考えていました。それは「プライバシー」の欠如です。私たちはWeb3業界の将来性には非常に期待していましたが、もし業界が主流になるのであれば、すべてのオンチェーン取引が公開されたままというのは好ましくありません。私たちは、プライバシーこそが人々の基本的な権利だと考えています。現在のパブリックブロックチェーンの構造を見てみると、MoneroやZcashといった極少数の例外を除き、ほとんどすべてのチェーンがプライバシー保護を持っていません。
そこで私たちの出発点は、このプライバシーの問題を解決することでした。具体的には、まずオンチェーンでのプライベートペイメント製品「MantaPay」を開発しました。すでに2つのテストネットをリリースしています。これはZcashのようなものですが、「持ってきたトークン」でも利用できるという点が異なります。このプロダクトはPolkadotエコシステム上で展開されていますが、今後はマルチチェーンへと拡大していく予定です。次のステップとして、プライベートアセット向けのスマートコントラクトの開発にも半年ほど取り組んできましたが、まだ正式リリースされていません。Mantaを一言で表すなら、「Web3全体のプライバシーレイヤーを作る」ことです。将来的には、従来のWeb3操作において「Mantaでプライベート化する」というオプションが使えるようになり、取引が自動的にプライベート取引になることを目指しています。
私自身については、ワシントン大学でPhDを取得し、データベースシステムと形式的検証を専門としていました。卒業後はAlgorandで1年間リサーチサイエンティストとして勤務し、その後カリフォルニア大学サンタバーバラ校で助教授を務め、現在はManta Networkにフルタイムで従事しています。
Yiki:
ありがとうございます。続いてSputnikさんも自己紹介と、現在の研究分野について教えていただけますか。
Sputnik:
こんにちは。私は現在THUBAでZKリサーチを担当しており、個人的には清華大学で暗号学の博士課程に在籍しています。主な研究テーマはブロックチェーン上のプライバシー保護技術であり、アルゴリズムや応用、ゼロ知識証明技術などを扱っています。私たちのZKリサーチグループは、一般の人々も含めたディスカッションの場を設け、産業界と学術界の交流を促進することを目指しています。ぜひ多くの方のご参加をお待ちしています。本日はShumoさんと一緒にZKの応用について議論できることを楽しみにしています。
ZKとは何か
Yiki:
まずShumoさんから、ZKとは何か、その原理と応用について、初心者にもわかりやすく簡単な説明をお願いします。
Shumo:
ZKは「Zero Knowledge Proof(ゼロ知識証明)」の略称です。理論的研究は長く行われており、少なくとも2~30年前にGMR(Goldwasser、Micali、Rackoff)による論文が最初の研究とされています。理論上は実現可能だと認識されていましたが、実際に実用化できるとは考えられていませんでした。重要な転換点となったのがZcashです。複数の大学の教授たちが協力して最初のバージョンを開発しました。彼らが開発した比較的実用的な構成法「libsnark」により、Zcashの第一版が実現し、ZKが実際に応用可能であることが広く認識されるようになりました。
Micali氏の言葉を借りるなら、ZKとは「計算の暗号化(encryption on computation)」です。通常の暗号化はデータを平文から暗号文に変換することですが、ZKはそれよりも強力で、「計算そのもの」を暗号化します。たとえば、「3+5=8」という事実を知っていることを証明したいが、3、5、8という具体的な値は明かさずに証明したい場合があります。このとき、3、5、8それぞれに対するコミットメントを持ち、それが正しいことを第三者に納得させる必要があります。ブロックチェーンの文脈では、バリデーターやノードランナーに対して、非常に高レベルでこのような証明を行うことになります。
Yiki:
Shumoさん、ありがとうございます。Sputnikさんからは、ZKの発展についてどのようにお考えですか?また、あなたなりのZKの定義を教えてください。
Sputnik:
暗号学の観点から見ると、ZKプロトコルは非常にシンプルで、一言で言えば「証明者(prover)と検証者(verifier)の二人が関与する暗号プロトコルであり、証明者が検証者に対して、ある秘密を知っていることを『ゼロ知識』の状態で証明する」ものです。
では「ゼロ知識」とは何でしょうか?暗号学的には、情報理論の知識を使って厳密に定義されます。つまり、検証者が証明者とやりとりする過程で、もともと持っていなかった能力や知識を得ることがあってはならないということです。先ほどShumoさんが挙げた例のように、「3+5=8」という式を知っていることを証明したいが、その内容を公表したくない場合があります。このようなときに「コミットメント」を使います。コミットメントとは、暗号学的な「約束」のことです。これには「拘束性(binding)」と「秘匿性(hiding)」という二つの性質があります。拘束性とは、一度コミットメントを作成したら、内部の値が変わればコミットメント自体も変わるという性質で、ハッシュ関数に似ています。秘匿性とは、コミットメントを見ただけでは内部の値がわからないという性質です。後に開示することはできますが、今の段階では、自分がコミットした値が正しいことをゼロ知識証明で相手に信じさせることができるのです。これが暗号学的視点からのZKの理解です。
Yiki:
ちょうどそこから、研究分野におけるZKの定義や発展について話が出ましたが、研究現場では具体的にどのようなアプローチでZKを研究しているのでしょうか?また、どのような点に注目しているのですか?
Sputnik:
研究分野にもさまざまな方向性があります。非常に理論的な分野としては「証明可能な安全性(provable security)」があり、これは高度な暗号理論に基づいた形式的手法を必要としますが、ここでは詳述しません。もう一つは応用分野で、アルゴリズムレベルでの研究もあり、新しい最適化アルゴリズムを提案することで、以前のものより性能を向上させる試みがあります。Zcashもまさにその一例で、前述の教授たちが設計したもので、プロトコルは2014年に提案され、システムは2016年に導入されました。これはアルゴリズムを使って応用を実現した典型的なケースです。概ねこのような研究分野に分けられます。
Yiki:
THUBAでも長く暗号技術に関わっていらっしゃいますが、現在のZK研究と暗号産業との関係性についてどうお考えですか?連携はうまくいっていると思いますか?
Sputnik:
研究面では既に多くの成果があり、さまざまなアルゴリズムが存在しますが、産業との接続を考えると、性能の改善などの最適化が必要だと感じます。つまり、理論上は良い結果が得られていても、実際に実装したときに本当に優れているかどうかは分からない場合があります。そこで、産業応用におけるZKの現状について、Shumoさんから詳しくお話しいただけますか。
Shumo:
研究は非常に重要ですが、研究と実際の応用の間にはギャップがあります。研究は主に計算量的な観点から進められるのに対し、実用面では実際のパフォーマンスが重視されます。暗号学の良い点は、理論的な性能と実装性能の差が大きくないこと、つまり大きな隠し定数がないことです。ただし、アルゴリズムを実装するには大規模な工学的取り組みと人的リソースが必要です。
第二に、ZKの基盤プロトコルの実装は非常に工数がかかります。例えばR1CSやplonkの回路設計などです。そのため、私たちMantaは「OpenZL(オープンソースゼロ知識証明ライブラリ)」というミドルレイヤーを開発しています。これにより開発効率が向上すると考えています。研究と産業のギャップはまさにこの「ミドルレイヤーの抽象化」にあると言えるでしょう。もちろん、暗号学の基礎を理解していることは、工学的にも非常に有益です。
Yiki:
ありがとうございます。それでは、先ほどZKの応用について触れましたが、Sputnikさんから、ブロックチェーン分野およびそれ以外の分野におけるZKの応用シーンについて、もう少し詳しく整理していただけますか。
Sputnik:
ブロックチェーン分野での応用は、大きく二つに分けられます。一つは「プライバシー」、もう一つは「スケーラビリティ(拡張性)」です。プライバシーに関しては、何度も言及したZcashプロジェクトが代表的です。おそらく「大零幣」という名前を聞いたことがある方も多いでしょう。これは取引の三要素——送信者、受信者、取引金額——をゼロ知識証明によって隠蔽する仕組みで、Zcoinよりも進化した形となっています。
もう一つの応用がスケーラビリティです。いわゆるブロックチェーンのスケーリングとは、主にTPS(transactions per second)の向上を意味します。Layer1のパブリックチェーンにおいて、どうやってスケーリングするかとZKにどんな関係があるのでしょうか?先ほど述べたように、ゼロ知識証明は一種の「証明システム」です。プライバシー用途では「ゼロ知識性」を利用しますが、スケーリングでは「証明の性質」を利用します。よく耳にする「ZK roll-up」がまさにそれです。イーサリアムも現在、ZK roll-upによるスケーリングを模索しています。その論理は、パブリックチェーン自体の本来の役割に戻すことです。なぜなら、パブリックチェーンはコストが高く、全員が合意形成を行い、同じ帳簿を維持し、同じ計算を再実行しなければならないため、非常に非効率です。そこで、計算コストをオフチェーンに移し、オンチェーンでは最終結果のみを合意の対象とします。つまり、ブロックチェーンはユーザーの残高で構成される「状態」であり、各取引ごとに残高が更新されるという「計算プロセス」です。これをオフチェーンで実行し、計算後の新しい状態と「計算が正しかった」ことを示す証明をオンチェーンに提出します。オンチェーン側はその証明だけを検証すればよく、直接計算するよりもはるかに高速です。これがZK roll-upによるスケーリングの仕組みです。以上が、ZKが現在ブロックチェーン分野で果たしている役割です。
ブロックチェーン以外の分野では、いわゆる「プライベートコンピューティング(privacy computing)」が主な応用先です。現在ではプライベートコンピューティングもブロックチェーンと統合されつつあります。例えば、複数の当事者が共同で計算結果を導き出す「マルチパーティ計算(MPC)」などがあり、その中でZKプロトコルがコンポーネントとして使われます。基本的な応用状況は以上のようなものです。
Yiki:
ありがとうございます。では、改めてZKの重要性について伺います。例えば大学生に向けてZKの重要性を説明する場合、Shumoさんはどのように伝えますか?
Shumo:
根本的な視点は「人間同士の信頼」です。ブロックチェーンシステム全体は、信頼の問題を解決しようとしています。先ほどSputnikさんが述べたように、現在ZKの応用は非常に重要になっています。第一に「オンチェーンプライバシー」があり、ZKは現在唯一の実現手段です。合意形成の中で情報を隠すには、ZK以外に方法がありません。第二に「rollup」があり、取引をまとめて証明を提供して検証する仕組みです。大きなトレンドとして、社会全体が「人間同士の信頼構築プロセス」を排除する方向に向かっています。ZKもかつては特定のプロトコルに限られていたものが、現在では任意の計算の検証が可能になり、まさしくモアの法則的な進化を見せているのです。
ZKの学び方:
Yiki:
了解しました。その流れでさらに伺います。Shumoさん自身のZK学習経験を踏まえて、初心者がゼロからZKを学ぶためにどのようなアドバイスがありますか?
Shumo:
まず、学ぶ目的を明確にすることが大切だと思います。ZKの技術スタックは深いため、目的を明確にすることで効率的に学べます。第二に、ZKのマスターを目指すなら、基礎的な暗号学から学ぶべきです。若い世代の暗号学者たちは、スタンフォード大学のDan Boneh教授の公開講座から学ぶことが多いです。そこには暗号学の最も基礎的な知識が詰まっています。
もう一つは、GitHubのオープンソースライブラリを見て実際に使ってみることです。つまり、大きく分けて二つのアプローチがあります。一つは暗号学の基礎から体系的に学ぶこと。もう一つは実際にコードを書き始める実践です。
Yiki:
なるほど、非常に参考になります。理論だけでなく、コードを書くことも不可欠ですね。Sputnikさんもこの点について何かご意見はありますか?私の知る限り、数学出身とのことですが、ZKを学ぶ学生たちへのアドバイスがあればお願いします。
Sputnik:
私は学部時代に数学を専攻し、その後は情報セキュリティを専門とし、三年生から暗号学に触れるようになりました。体系的に理解して自分で応用できるようになりたいなら、署名、ハッシュ関数、MACなど、暗号学の基礎概念を学ぶことをお勧めします。また、ゼロ知識の定義の仕方も含めて、暗号学的な手法を学ぶべきです。
簡単に理解したい場合は、まずZKプロトコルが何を目的としているかを明確にすべきです。おすすめの記事に「How to explain ZK protocols to your children」というものがあります。1990年代にCRYPTO(米国暗号学会)で発表されたもので、暗号学の最も権威ある会議の一つです。この記事では「アリババと40人の盗賊」や「ゼロ知識の洞窟」といった有名な例が紹介されており、物語形式でZKの性質や暗号学ツール(例えば「シミュレータ」など)を詳しく解説しています。「シミュレータ」はゼロ知識性を証明するための道具です。また、私のGitHubリポジトリやポッドキャスト「ゼロ知識の洞窟」(小宇宙で検索可)も参考にしてください。この中でも上記の記事やZKの応用について紹介しています。
ZK分野の現状と将来:
Sputnik:
次のテーマとして、ここまでZKについて、その学び方について話し合ってきましたが、Shumoさんに産業界の視点から、なぜ現在ZK応用の分野が非常に競争が激しい(「巻いている」)のかについて伺いたいと思います。現在、zkSyncなどをはじめ多くのZK応用プロジェクトが登場しており、Zcashに加え、イーサリアム財団自身も取り組んでいます。これらには強力な暗号学チームが背後におり、Starkwareの共同創設者Eli Ben-Sasson氏のように、イスラエルの教授でありZcashの創設者の一人でもある人物もいます。Shumoさんとしては、この現象をどうご覧になりますか?
Shumo:
まず、「巻いている」という言葉の意味によると思います。確かに、既存のプロジェクトも新興のスタートアップも含め、今後さらに競争は激化するでしょう。つまり、今以上に「巻く」のは間違いありません。しかし、この「巻き」はZK分野やWeb3全体にとって良いことだと考えます。Web3は自由に参入・退出できる領域であり、誰もがチャンスを持っていると感じるので、自然と競争が生まれます。実際、各プロジェクトがやっていることは完全に同じではなく、Starkwareは独自のプログラミング言語を持つなど、特徴があります。
また重要なのは、「巻き」の中でどう位置づけるかです。今流行っているプロジェクトが何をしているかを見るのではなく、この分野にまだどのようなニーズがあるか、どうやって実際の問題を解決できるかを考えるべきです。結局のところ、競争の激化は避けられない現象です。ZK分野で活動したいなら、他のプロジェクトを真似るのではなく、自分なりの切り口を見つけるべきだと考えます。
Sputnik:
ZK分野についてもう一点伺います。ZK rollup分野の主要企業、zkSync、Starkware、Scrollなどについて、それぞれにどのような違いがあるか教えていただけますか?
Shumo:
まず、私はZK rollupの開発者ではないため、一般的な見解として述べますが、まず「EVM同等性」の有無がポイントです。つまり、プロジェクトがEVMと完全に互換しているかどうかです。
一つ目のタイプは「EVM compatible」で、zkSyncが採用しています。これはEVM全体を回路内に置くのではなく、独自の仮想マシン(VM)を構築する方式です。EVMを回路に載せる技術的難易度が高すぎるため、こうした選択になります。このアプローチの利点は、早期にメインネットにリリースできる可能性が高いことで、実際、zkSyncはこれらの企業の中でも最も早くメインネットを立ち上げたかもしれません。ただし、Solidityレベルでの互換に留まるため、イーサリアムの多くのツール(デバッガーなど)が使えません。
一方、ScrollやHermezは「EVM同等性」を謳っており、こちらの方がツールチェーンを活用しやすいという点で優れています。
Starkwareは、現時点では証明器(prover)がオープンソースではありません。また、イーサリアム財団が取り組んでいるものは純粋な技術探索であり、おそらく実際にはリリースされないでしょう。
Sputnik:
最後にもう一つZK分野に関する質問です。先ほど、プライバシーやrollupにおけるZKの応用について話しましたが、開発者にとっては、やはり専門の暗号チームが必要です。また、rollupのような応用では、ユーザーにとって透明性が求められ、中間層の存在を感じさせないことが理想です。そこで質問ですが、もっと身近な製品、つまり一般人でも使って感じられるような製品は可能でしょうか?
Shumo:
非常に良い質問だと思います。もちろん可能です。まずZK rollupの場合、プライバシー機能はありませんが、zkSyncのようなミドルレイヤーに直接デプロイすれば、ZKの知識は不要です。しかし、プライバシー寄りの応用では、ある程度ZKの知識が必要になります。例えばMantaのプライベートアセットプラットフォームでは、プライベートアセットとやりとりする際に、ZKのプログラミングが必要になるかもしれません。開発者にとっては非常に面白い領域だと思います。
第二に、暗号学の背景があるに越したことはありませんが、高水準言語やツールの発展により、開発者が低レベルの回路を手書きする必要がなくなってきています。これは、高級言語の登場によりアセンブリを書く必要がなくなったのと同じです。ZKプログラミングのハードルは着実に下がってきています。もちろん時間がかかるプロセスではありますが、将来的には開発者がすべての暗号学的詳細を理解する必要はなくなり、ZK向けの言語やライブラリも次々と登場しています。
Sputnik:
ありがとうございます。ShumoさんのZKに関する展望がよくわかりました。それでは次に、Mantaについて戻りたいと思います。ここで質問ですが、Mantaが開発中のMantaPayという支払いシステムについて、Shumoさんからご紹介いただき、またZcashとの違いについても教えていただけますか?
Shumo:
まず、解決しようとしている問題の観点から見ると、確かにZcashの成功を多く参考にしていますが、大きな違いは、Zcashが単一通貨のみをサポートするのに対し、我々はマルチトークンをサポートしている点です。また、全体的なコンセプトも異なります。Zcashはゼロから何かを構築しようとしていますが、Mantaはプライバシーをインフラとして全産業チェーンに赋能することを目指しており、自社の支払いシステムだけを作るのではありません。
技術面でも、Zcashより後発であるため、より新しい暗号技術を採用しています。例えば、ZKフレンドリーなハッシュ関数などです。私たちの回路サイズはZcashの1/10です。パフォーマンスが良く、ユーザーエクスペリエンスも向上しています。これがMantaPayとZcashの共通点と相違点です。もちろん巨人の肩に乗っており、Zcashから多くのことを学んでいます。
Sputnik:
MantaPayの紹介、ありがとうございました。もう一つ細かい質問があります。個人的に気になっているのですが、その前に「trusted setup(信頼できる設定)」という概念を皆さんに紹介します。これは、一部のアルゴリズムで必要な初期パラメータを、信頼できる方法で生成するプロセスのことです。Zcashの初期設計ではこのようなプロセスが必要でした。先ほどのShumoさんの説明から、MantaPayもtrusted setupを採用していると理解しています。現在ではtrusted setupを必要としないアルゴリズムもある中で、あえてこれを採用するメリットは何でしょうか?
Shumo:
はい、確かにメリットがありますし、現在広く使われている方式です。ゼロ知識証明システムには二種類あり、一つは私たちが使っているGroth16、もう一つはPlonkです。それぞれに長所と短所があります。前者はtrusted setupを必要とし、後者は(アプリケーション固有のtrusted setupを除き)不要です。私たちのテストによると、Groth16の方がパフォーマンスが優れています。
多くの暗号学的詳細から見ても、回路構造や証明システムに違いがあり、要するに、私たちがtrusted setupを採用するのは純粋にパフォーマンスの観点からです。ユーザーの端末によって証明生成時間は異なりますが、遅いユーザーを「差別」することはできません。具体的には、証明生成が2秒か20秒かという差は、ユーザーエクスペリエンスに本質的な影響を与えます。これがパフォーマンス面での判断理由です。
第二に、trusted setupのセキュリティは管理可能です。Mantaコミュニティの多くのメンバーが参加し、業界内で評判の高い人物を招待することも検討しています。これにより、誠実性が保証されます。以上が、trusted setupを採用する理由です。
Yiki:
Shumoさん、ありがとうございました。本日のAMAは1時間を経過し、そろそろ終了の時間です。ZKとは何か、初心者の学び方、研究および産業界の現状まで、非常に深い議論ができました。ゲストの皆様、ShumoさんとSputnikさん、貴重なご共有ありがとうございました。
THUBAについて
清華大学学生ブロックチェーン協会(THUBA)は、ブロックチェーン技術の研究に情熱を持つ清華大学の学生たちが自主的に結成・運営している学生組織です。中国内外の大学間のブロックチェーン分野の架け橋となることを目指し、Web3の未来のリーダー人材の教育と育成に尽力しています。
Manta Networkについて
Manta Networkは、プライバシー保護を通じてより良いWeb3世界の構築を目指しています。Mantaの製品設計は第一原理から出発し、zkSNARKなどの最先端の暗号学技術を用いて、ブロックチェーンユーザーにエンドツーエンドのプライバシー保護を提供します。プライバシーを確保しつつ、相互運用性、使いやすさ、高性能、監査可能性を兼ね備えており、ユーザーが任意のパラレルチェーン資産間でプライベート送金・取引を行うことを可能にします。Mantaのビジョンは、ブロックチェーン全体に使いやすいプライバシー保護サービスを提供することです。
Mantaの創業チームは、ハーバード大学、MIT、Algorandなどで経験を持つ暗号通貨の専門家、教授、学者で構成されています。投資機関にはPolychain、ParaFi、Binance Labs、Multicoin、CoinFund、Alameda、DeFiance、Hypersphereなどが含まれます。Mantaは波動公式のWeb3財団の助成対象企業であり、Substrate Builder Programおよびバークレー大学ブロックチェーンアクセラレーターのメンバーでもあります。
We're Hiring!
求人情報はこちら:https://jobs.lever.co/MantaNetwork
Manta/Calamariに関する最新情報は公式チャンネルをご確認ください:
Website:https://manta.network/
Github:https://github.com/Manta-Network
Twitter:https://twitter.com/MantaNetwork
Medium:https://mantanetwork.medium.co
Telegram:https://t.me/mantanetwork
Discord:https://discord.gg/ZtSuSKRy8X
Telegram中文:https://t.me/mantanetwork_zh
Twitter中文:https://twitter.com/manta_china
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News














