Mantaの創設者Shumoが清華大学の暗号学博士と対話し、ZKトラックについて深く探討する。
北京時間7月23日21:00、Manta Networkの共同創設者Shumo Chuは、清華大学学生ブロックチェーン協会(THUBA)の招待を受け、Twitter Spaceで暗号学博士Sputnikと対話を行いました。話題はZKの基礎知識、ZKの研究及び応用、そしてMantaがどのようにZKを利用してWeb3のプライバシー問題を解決するかについてでした。以下は対話の全記録です:
Yiki(司会者):
皆さんこんにちは、私は清華大学ブロックチェーン協会(THUBA)の副会長Yikiです。2017年の設立以来、私たちは5年の歴史を持ち、200回近くのイベントを開催してきました。来る8月には初のハッカソンも開催予定ですので、皆さんの参加をお待ちしています。それでは、ShumoにMantaが何をしているのか、そして自己紹介を簡単にしていただけますか。
Shumo:
皆さんこんにちは、このイベントに参加できて非常に光栄です。私はShumo、Manta Networkの共同創設者です。まずMantaについて紹介します。私たちは2020年10月に設立しました。当時、私たちがMantaを設立した理由は、ブロックチェーン(Web3)には大きな問題があると感じたからです。それはプライバシーです。私たちはWeb3の業界の将来性を非常に期待していましたが、この業界が主流になるためには、すべてのチェーン上の取引が明文であるのは非常に良くないと考えました。私たちはプライバシーが人々の最も基本的な権利であると感じています。現在のすべてのパブリックチェーンの構造を少し見てみると、ほとんどのパブリックチェーンにはプライバシーがないことがわかります。MoneroやZcashのようなごく少数を除いて。
私たちの初志はこのプライバシーの問題を解決することです。それを具体的にどう解決するかというと、まず私たちはチェーン上のプライバシー支払い製品であるMantaPayを開発しました。現在、2つのテストネットが稼働しています。これをZcashのbring-your-tokenバージョンのように考えていただければと思います。この製品はPolkadotエコシステムで立ち上げられましたが、今後はマルチチェーンにも対応する予定です。私たちの次のステップは、プライバシー資産に関するスマートコントラクトを開発することです。約半年間開発してきましたが、まだ正式にはリリースしていません。Mantaを一言で言うと、私たちはWeb3全体のプライバシーレイヤーを構築しています。将来的には、すべてのWeb3の従来の操作の中で、あなたが選択肢を持てるようにしたいと思っています。つまり、「Mantaによってプライバタイズ」すれば、あなたの取引は自動的にプライバシー取引に変わるということです。
私自身についてですが、以前はワシントン大学でPhDを取得し、データベースシステムと形式的検証を研究していました。卒業後はAlgorandで1年間リサーチサイエンティストとして働き、その後カリフォルニア大学サンタバーバラ校で助教授を務め、現在はManta Networkに全職で従事しています。
Yiki:
ありがとうございます。Sputnik、あなたも簡単に自己紹介をして、現在の研究で関心を持っている分野について教えていただけますか。
Sputnik:
皆さんこんにちは、私はSputnikです。現在THUBAでZK研究の担当をしています。私は清華大学で暗号学の博士課程を学んでおり、主にブロックチェーン上のプライバシー保護技術に関する研究を行っています。これにはアルゴリズムや応用、ゼロ知識証明技術が含まれます。私たちのZK研究は、主に一般向けにZKのディスカッショングループを設立し、産業と学術の交流を促進することを目指しています。皆さんもぜひ参加してください。今日はShumoと一緒にZKの応用について議論できることを嬉しく思います。
ZKとは何か
Yiki:
まずShumoにZKとは何か、その原理と応用について、初心者向けに簡単に説明してもらえますか。
Shumo:
ZKの正式名称はゼロ知識証明(zero knowledge proof)です。これは理論的に長年研究されてきたもので、最初の研究は少なくとも20〜30年前に遡ります。GMR(Goldwasser Micali Rackoff)の論文がその始まりです。そして、理論的にはこの技術が実現可能であると考えられました。重要なマイルストーンはZcashで、当時いくつかの大学の教授が協力して最初のバージョンを作成しました。以前はこれは理論上のもので、実際に実現することは難しいと考えられていました。しかし、彼らはlibsnarkという比較的実用的な構造を作成し、これが最初のZcashをサポートしました。これにより、この技術が実現可能であることが認識されました。
Micaliの言葉を借りると、ZKとは計算に対する暗号化のようなものです。暗号化とは一般的にデータを暗号化することを指し、明文から暗号文に変換することですが、ZKは実際にはより強力なものです。これは計算に対する暗号化、つまり計算そのものを暗号化することを意味します。具体的には、例えばあなたが「3足す5は8である」と証明したいとします。しかし、あなたはその具体的な「3足す5」と「8」の入力を明かさずに証明したいのです。あなたは「3」のコミットメント、「5」のコミットメント、「8」のコミットメントを持っていて、誰かを納得させる必要があります。ブロックチェーンにおいては、こうした方法で全てのバリデーターやノードランナーに対して証明することが非常に高レベルのZKです。
Yiki:
ありがとうございます、Shumo。Sputnik、あなたの視点から見て、ZKの発展はどのようなものだと考えていますか?また、ZKをどのように定義しますか?
Sputnik:
暗号学の観点から見ると、ZKのこのプロトコルは非常にシンプルです。一言で言えば、これは二者間の暗号プロトコルで、プロバー(prover)とバリファイア(verifier)、つまり証明者と検証者がいます。彼らが達成しなければならないのは、証明者がゼロ知識で検証者に秘密を知っていることを証明することです。
では、ゼロ知識とは何でしょうか?暗号学の観点から言うと、これは情報理論の知識を用いて厳密に定義する必要があります。つまり、バリファイアがプロバーと相互作用する過程で、元々持っていない能力や知識を得ることができないということです。Shumoが挙げた例のように、例えば「3足す5は8である」と証明する場合、彼はその式を知っていますが、具体的な数値を公開することはできません。したがって、コミットメントが必要です。コミットメントとは、私たちが言う暗号学的な約束であり、バインディング性と隠蔽性を持っています。つまり、私のコミットメントを見ることで、その内部の値がバインドされているのです。これはハッシュ関数のようなものです。
もしバインドされた値が変わると、コミットメントも変わります。これがバインディング性です。隠蔽性とは、コミットメントを見ても中身が何であるかを確信できないことです。将来的には、私はゼロ知識証明を提供し、私が約束した値が正しいことを信じてもらうことができます。これが暗号学の観点から見たZKです。
Yiki:
ちょうどあなたがZKの定義と発展について研究の観点から話してくれたので、現在の研究分野でZKをどのように研究しているのか、あなたたちはどのようなことに注目していますか?
Sputnik:
実際、研究分野にはさまざまな方向性があります。非常に理論的なものもあり、それは証明可能な安全性に関するもので、非常に暗号学的な理論の一部です。これは形式的な方法を用いる必要があり、詳細には触れません。また、応用に関しても、アルゴリズムのレベルで新しい最適化アルゴリズムを提案することがあります。これにより、以前のアルゴリズムよりも性能が向上する可能性があります。Zcashのように、ZcashもShumoが言及したいくつかの教授が設計したもので、プロトコルは2014年に提案され、システムは2016年に立ち上げられました。これは、アルゴリズムを用いて応用を実現することに相当します。大体これらの方向性です。
Yiki:
つまり、あなたはTHUBAで長い間cryptoに注目してきたわけですが、現在のZKの研究とcrypto産業の関連性はどうだと思いますか?つながりは良いのでしょうか?
Sputnik:
私の考えでは、ZKは研究の面でいくつかの成果を上げていると思います。さまざまなアルゴリズムが存在しますが、産業との結びつきに関しては、性能の向上などの最適化が必要だと思います。私の言いたいことは、現在の理論的には良い結果があるかもしれませんが、実装においてはそれが本当に良いかどうかは不確かだということです。Shumoに具体的に産業応用の面でZKの応用がどの程度に達しているのかを話してもらいましょう。
Shumo:
研究はもちろん非常に重要です。私は研究と実際の応用のギャップは、研究が主に複雑さの観点から研究され、実際の応用は実際の性能にもっと焦点を当てていることだと思います。暗号学の良い点は、理論的な性能と実際の実装の差があまり大きくないことです。大きな隠れた定数はありません。また、アルゴリズムを実装するには大規模なエンジニアリングと人員が必要です。
もう一つは、ZKの基盤プロトコルの実装は非常に複雑なエンジニアリング作業を必要とします。例えば、R1CSやplonkの回路などです。したがって、私たちMantaもOpenZL(オープンソースのゼロ知識証明ライブラリ)というものを構築しており、これはミドルレイヤーとして開発効率を向上させることができます。私は研究と産業の間のギャップはこのミドルレイヤーの抽象化だと思います。もちろん、暗号学の基礎をよく理解することもエンジニアリングに役立ちます。
Yiki:
ありがとうございます。それでは、先ほどZKの応用についていくつか触れましたが、SputnikにZKがブロックチェーン分野と非ブロックチェーン分野でどのような応用シーンがあるのかを詳しく整理してもらえますか。
Sputnik:
ブロックチェーンにおけるZKの応用は主に2つの部分に分かれます。1つはプライバシー、もう1つはスケーラビリティです。プライバシーに関しては、先ほど何度も言及したZcashプロジェクトがあります。おそらく皆さんも「大零コイン」という名前を聞いたことがあるでしょう。これは主に取引のレベルでの隠蔽を実現しており、ゼロ知識証明を通じて取引の三要素、つまり送金者、受取人、取引内容の隠蔽を実現しています。これは以前のZcoinからの改良です。
また、スケーラビリティについてですが、いわゆるスケーラビリティという言葉は、主にTPSの向上を反映しています。Layer1のパブリックチェーンがどのようにスケーラビリティを実現し、ZKとどのように関係しているのかというと、先ほど述べたように、ゼロ知識証明はまず証明システムです。したがって、プライバシーを保護するためにそのゼロ知識の特性を使用します。一方で、スケーラビリティの面では、その証明の特性を利用します。
現在、皆さんがよく耳にする言葉の一つにZKロールアップがあります。イーサリアムも現在ZKロールアップのスケーラビリティの探求を行っています。その論理は、私たちがこのパブリックチェーンを本来の姿に戻したいということです。なぜなら、パブリックチェーンのコストは非常に高く、皆が合意を形成し、全員が帳簿を維持し、計算を再実行する必要があるからです。このコストは非常に高いです。したがって、私たちはこの計算コストをチェーン外に持ち出し、チェーン上では最終的な結果に対してのみ合意を形成したいと考えています。
つまり、このブロックチェーンは実際には状態であり、皆のアカウントのバランスによって構成されています。取引が行われるたびに、バランスが更新されます。これは計算のプロセスであり、私たちはこの計算をチェーン外で行い、計算後の新しい結果とその計算が正しいという証明値をチェーン上に提出したいと考えています。チェーン上ではこの証明値を検証するだけで、状態を直接更新できます。直接計算するよりも、証明値を検証する方が非常に速いのです。これがZKロールアップによるスケーラビリティの実現です。これが現在のZKのブロックチェーンにおける応用です。
非ブロックチェーン分野においては、私たちが言うところのプライバシー計算が主に関わっています。現在、プライバシー計算もブロックチェーンと結びついています。プライバシー計算の例としては、複数の当事者が共同で結果を計算する必要がある場合があります。その中でZKのプロトコルがコンポーネントとして使用されることがあります。基本的な応用状況はこのようなものです。
Yiki:
ありがとうございます。それでは、ZKがなぜ重要なのかをお聞きしたいと思います。例えば、大学生にZKを説明する場合、Shumoはどのように説明しますか?
Shumo:
根本的な観点から見ると、人と人との信頼の問題です。ブロックチェーンシステム全体は信頼の問題を解決しようとしています。先ほどSputnikが言ったように、現在私たちが見ているZKの応用は非常に重要です。まず第一に、チェーン上のプライバシーです。基本的にZKは現在唯一の解決策であり、合意を形成する状況下で情報を隠すことができます。第二の点はロールアップです。つまり、取引をパッケージ化し、検証のための証明を提供することです。大きなトレンドとして、私たちの社会の発展の方向性は、人と人との間の信頼のプロセスを取り除くことです。ZKは元々特有のプロトコルから、現在では任意の計算に対して検証が可能になっており、実際にモールの法則のような向上が見られます。
ZKを学ぶ方法:
Yiki:
理解しました。それでは、この話題に沿ってもう一つ質問したいと思います。Shumo、あなた自身のZKの学びの経験を踏まえて、初心者がゼロからZKを学ぶためのアドバイスをいくつか教えていただけますか?
Shumo:
まず第一に、皆さんが明確にすべきポイントは、ZKを学ぶ目的は何かということです。ZKの技術スタックは非常に深いので、目的を明確にすることでより効率的に学ぶことができます。第二点は、もし皆さんがZKのマスターになりたいのであれば、基礎的な暗号学の内容から学ぶ必要があります。若い世代の暗号学者は、スタンフォード大学の教授Dan Bonehの公開講座などを見て学び始めることが多いです。これは暗号学の最も基本的な内容です。
次に、GitHub上のオープンソースライブラリを見てみることもできます。実際に使ってみると、基本的にはこの2つの側面です。つまり、暗号学の最も基本的なところから学び始めることができ、実践的にはプログラムを書き始めることです。
Yiki:
なるほど、非常に参考になります。理論的に学ぶだけでなく、コードを書くことも非常に重要ですね。では、Sputnik、あなたはこの問題についてどう思いますか?私の理解では、あなたは大学から数学を学んできたので、同級生にZKを学ぶためのアドバイスはありますか?
Sputnik:
私は学部で数学を学び、その後情報セキュリティの分野に進みました。大学3年生から暗号学に触れ始めました。もし皆さんが体系的に理解し、自分で応用できるようになりたいのであれば、暗号学の基礎概念、例えば署名、ハッシュ関数、MACなどの一連の概念を学ぶことをお勧めします。また、暗号学の方法論、ゼロ知識をどのように定義するかについても学ぶ必要があります。
簡単に理解したい場合は、まずZKプロトコルが何をしているのかを明確にする必要があります。皆さんにお勧めしたい記事があります。それは「How to explain ZK protocols to your children」というもので、90年代に発表されたもので、暗号学の最も権威ある会議の一つである美密会で発表されました。この文章では、皆さんが比較的よく知っているアリババと四十大盗の例やゼロ知識の洞窟の例が使われており、ZKのさまざまな特性や暗号学的ツールについて詳細に説明しています。例えば、シミュレーターとはゼロ知識を証明するためのツールです。また、私の個人的なRepoやポッドキャストもフォローしていただければと思います。小宇宙で「零知識洞窟」を検索すると、この記事やZKの応用についても紹介しています。
ZKの現状と未来:
Sputnik:
次のテーマは、ZKについてこれだけ話した後、ZKの学びについても触れましたが、Shumoに産業の観点から見て、なぜ現在ZK応用の分野が非常に競争が激しいのかを聞きたいと思います。現在、多くのZK応用プロジェクトが存在し、zkSyncなど、先ほど言及したZcashなども含まれています。これらの背後には強力な暗号学チームが存在し、Starkwareの共同創設者Eli Ben-Sassonはイスラエルの教授であり、Zcashの創設者でもあります。この現象についてShumoはどう思いますか?
Shumo:
まず、皆さんが「競争が激しい」という言葉をどう理解するかによります。確かに、既存のプロジェクトや起業段階のプロジェクトに関しては、これからますます競争が激しくなることをお伝えしたいと思います。競争が激しいということは、ZKの分野やWeb3全体にとって良いことだと思います。Web3は自由に出入りできる分野です。皆が自分にチャンスがあると感じているので、競争が始まったのです。実際、競争の中で各プロジェクトが行っていることは完全には同じではありません。Starkwareは非常に独自の特徴を持ち、自分たちのプログラミング言語を持っています。
もう一つの問題は、この競争の中でどのように切り込むかということです。現在流行しているプロジェクトが何をしているかを見るのではなく、この分野にはどのようなニーズがあり、私たちがどのように実際の問題を解決できるかを考えることが重要です。要するに、競争は避けられない現象だと思います。そして、ZKの分野で何かをしたいのであれば、他のプロジェクトを模倣するのではなく、自分の切り口を見つけることが重要です。
Sputnik:
ZKの分野についての質問ですが、ZKロールアップの領域における主要な企業、例えばzkSync、Starkware、Scrollなどの違いについて話してもらえますか?
Shumo:
まず、私はZKロールアップを自分で行っているわけではありませんが、この問題については、まずEVM互換性が重要だと思います。プロジェクトがEVMと完全に互換性があるかどうかです。
第一のアプローチはevm compatibleで、これはzkSyncが行っていることです。彼らのアプローチは、EVM全体を回路に組み込むのではなく、自分たちのVMを作成することです。EVMを回路に組み込むのは技術的に非常に難しく、いくつかの問題が発生します。これがzkSyncのアプローチであり、その利点は、実際のメインネットにおいてzkSyncが他のプロジェクトの中で最も早く立ち上がる可能性があるということです。しかし、Solidityレベルでの互換性だけでは、イーサリアムの多くのツールやデバッガーが使用できません。
ScrollとHermezはEVM互換性があると主張していますが、これはより良いと思います。ツールチェーンを利用できるからです。
Starkwareは、現在のところプロバー(証明器)がクローズドソースです。また、あなたが言ったイーサリアム財団が行っていることは、純粋な技術探求であり、実際に立ち上がる可能性は低いと思います。
Sputnik:
次に、ZKの分野についての最後の質問ですが、先ほどZKのプライバシー面やロールアップ面での応用について話しました。しかし、開発者にとっては、専門の暗号チームが必要だということです。応用に関しては、ロールアップのようなものは、実際には使用者に透明であることを望んでいます。つまり、彼らは中間層の存在を感じないようにしたいのです。私の質問は、普通の人々が感じられる、使えるようなより現実的な製品を作ることが可能でしょうか?
Shumo:
この質問は非常に良いと思います。もちろん、そういった製品は存在します。まず第一に、ZKロールアップはプライバシーがなく、例えばzkSyncのように中間層に直接デプロイできます。ZKを理解する必要はありません。しかし、プライバシーに関するアプリケーションの場合は、自分でZKを理解する必要があります。例えば、Mantaのプライバシー資産プラットフォームのように、プライバシー資産とやり取りする場合、ZKのプログラミングを自分で行う必要があります。これは開発者にとって非常に興味深いことです。
第二に、この分野では暗号学のバックグラウンドが非常に重要ですが、高度な言語やツールの発展により、開発者はもはや底層の回路を手書きする必要がなくなります。高級プログラミング言語の登場により、アセンブリを手書きする必要がなくなったのと同じです。したがって、ZKプログラミングのハードルは確実に低くなっています。このプロセスには時間がかかると思いますが、将来的には開発者が暗号学のすべての詳細を理解する必要はなくなり、ZKプログラミングの言語やライブラリも継続的に登場しています。
Sputnik:
ありがとうございます、Shumo。あなたのZKに対する展望が理解できました。それでは、次にMantaについて話を戻したいと思います。次の質問ですが、Mantaが現在進めているMantaPayについて、これは支払いシステムであり、プライバシーの特性も持っています。ShumoにMantaPayについて紹介してもらい、MantaPayとZcashの違いについても話してもらえますか?
Shumo:
まず、問題解決の観点から見てみましょう。私たちは確かにZcashの多くの成功を参考にしていますが、私たちのプロトコルには大きな違いがあります。Zcashは単一の通貨しかサポートしていませんが、私たちは複数の通貨をサポートしています。全体的な概念にも違いがあります。Zcashはゼロから何かを構築する必要がありますが、私たちはプライバシーを全体の産業チェーンを強化する基盤インフラとして位置付けており、単なる支払いシステムを作るのではありません。
第二に、技術的な観点から見ると、私たちはZcashよりも後にスタートしたため、より新しい暗号学技術を使用しています。例えば、ZKフレンドリーなハッシュ関数を使用しています。私たちの回路のサイズはZcashの1/10です。性能もユーザー体験も向上しています。これが私たちとZcashの共通点と相違点です。私たちはもちろん巨人の肩の上に立っており、Zcashから多くのことを学んでいます。
Sputnik:
ありがとうございます、Shumo。MantaPayについての紹介も感謝します。さらに、私はもう一つの詳細な質問があります。個人的に興味があるのですが、事前にこの概念を皆さんに紹介しておきます。trusted setup(信頼できる設定)というものです。つまり、いくつかのアルゴリズムでは、時にはtrusted setupを通じてアルゴリズムに必要なパラメータを生成する必要があります。Zcashの設計では、このアルゴリズムがそのような設計を必要としています。Shumoが以前紹介したように、私が理解しているのは、MantaPayもこのようなtrusted setupを必要とするのかということです。現在、trusted setupを必要としないアルゴリズムもいくつかありますが、私たちがこの点を採用しているのは何か利点があるのでしょうか?
Shumo:
はい、これは確かに利点がありますし、現在広く使用されています。ゼロ知識証明システムには2種類あり、現在私たちが使用しているのはGroth16と呼ばれるもので、もう一つはPlonkです。それぞれに利点と欠点があります。前者はtrusted setupを必要とし、後者は必要としません(アプリケーション特有のtrusted setup)。私たちのテストでは、前者の方が性能が良いことがわかりました。
多くの暗号学的な詳細から見ると、両者の回路には違いがあり、証明システムも異なります。要約すると、現在私たちがtrusted setupを使用しているのは、純粋に性能の考慮からです。ユーザーのデバイスによって、証明生成の時間が異なります。私たちは「遅いユーザー」を「差別」することはできません。具体的には、証明生成の時間が2秒か20秒かということは、ユーザー体験に本質的な影響を与えます。これが私たちの性能に関する考慮です。
第二に、trusted setupの安全性は制御可能です。Mantaコミュニティには多くのメンバーが参加し、私たちは業界内で比較的名声のある人々をtrusted setupに招待することも考えています。したがって、誠実性が保証されるというのが、私たちがtrusted setupを使用する理由です。
Yiki:
ありがとうございます、Shumo。今日のAMAは1時間が経過し、終わりに近づいています。私たちはZKとは何か、初心者がZKをどのように学ぶか、ZKの研究と産業の現状について非常に深い議論を展開しました。ゲストのセッションはこれで終了です。ShumoとSputnikのシェアに感謝します。
THUBAについて
清華大学学生ブロックチェーン協会(THUBA)は、ブロックチェーン技術の研究に熱心な清華大学の学生によって自主的に設立され、自主管理されている学生組織です。中外の大学のブロックチェーン分野をつなぐ架け橋となることを目指し、Web3の未来のリーダーを教育し育成することに尽力しています。
Manta Networkは、プライバシー保護を通じてより良いWeb3の世界を構築することに取り組んでいます。Mantaの製品設計は第一原理から出発し、zkSNARKなどの先進的な暗号学的アーキテクチャを通じてブロックチェーンユーザーにエンドツーエンドのプライバシー保護を提供します。プライバシーを確保しつつ、Mantaは相互運用性、利便性、高性能、監査可能性を兼ね備え、ユーザーが任意の平行チェーン資産間でプライバシー転送や取引を行えるようにします。Mantaのビジョンは、ブロックチェーン全体により便利なプライバシー保護サービスを提供することです。
Mantaの創設チームは、複数の暗号通貨の専門家、教授、学者で構成されており、彼らの経験にはハーバード大学、マサチューセッツ工科大学、Algorandが含まれます。Mantaの投資機関にはPolychain、ParaFi、Binance Labs、Multicoin、CoinFund、Alameda、DeFiance、Hypersphereなどがあります。Mantaは、Polkadot公式のWeb3財団の助成を受けており、Substrate Builder Programのメンバー、バークレー大学のブロックチェーンアクセラレーターのメンバーでもあります。