共著:Deng Tong、Golden Finance
2024年香港Web3カーニバルで、イーサリアムの共同創設者であるヴィタリック・ブテリン(Vitalik Buterin)は、「限界に到達する(Reaching the Limits)」と題した基調講演を行った。プロトコル設計の限界に到達する」と題した基調講演を行った。Golden Financeは読者のためにスピーチの内容を以下にまとめました。
ブロックチェーンとZK-SNARKS
プロトコルを構築するために使用する技術の種類は、この10年で大きく変わりました。 2009年にビットコインが誕生したとき、実際には非常にシンプルな暗号が使われていましたよね。 ハッシュ、楕円曲線ECDSA署名、作業量証明などです。 2000年にプロトコルを構築するために使われた技術を見てみると、10年前に登場したばかりの、より洗練された技術の数々を見ることができます。
さて、このようなものの多くは確かに長い間存在してきた。 技術的には、何十年も前からあるPCPの定理が誕生したときから、ZK- SNARKSはありました。理論的には、その技術は長い間存在していたわけですが、実際には、学術論文でできることと、実際の応用でできることの間には、大きな効率の壁があるのです。
実際のところ、ブロックチェーン自体には多くのことが言えると思います。
今日の状況は過去10年間で変化し、大きな進歩を遂げました。 これにはさまざまなものが含まれます。 私たちが今日持っているプロトコルは、これらすべての技術にますます依存しています。 2000年に構築されたプロトコルを見てみると、それらすべてが初日から重要なコンポーネントとみなされていた。 ZK-SNARKSはここで最初の大きな出来事でしたね。 ZK-SNARKSはテクノロジーだ。 証明の検証を高速化し、自分で計算を実行できるようにするものです。 また、元の入力から多くの情報を隠すことなく証明を検証することもできます。 ですから、ZK-SNARKSを見つけることは、プライバシーの面でも、スケーラビリティの面でも非常に有用なのです。
さて、ブロックチェーンは何をするのでしょうか?ブロックチェーンは多くの利点を与えてくれます。開放性を与え、グローバルな検証可能性を与えてくれます。 しかし、そのすべてが2つの大きなものを犠牲にしている。 ひとつはプライバシー、もうひとつはセキュリティだ。ZK-SNARKSは、プライバシーを取り戻し、セキュリティを取り戻します。 2016年、私たちはZcashプロトコルを目にしました。 その後、私たちはエコシステム理論でより多くのものを見始めました。 現在では、マルチパーティ計算や完全同型暗号化など、ほとんどすべてがZKをベースに構築され始めている。しかし、ZK-SNARKSではできないこともある。 つまり、プライバシー保護、計算、人々の個人データ上での実行などだ。 投票は、ある程度の利益を得ることができる重要なユースケースです。 ZK-SNARKSを使った投票ですが、本当に最高の特性を得たいのであれば、MPCとFHEを使うしかありません。
多くの暗号化、AIアプリは、MPCとFHEも使用することになるでしょう。
BLSキーアグリゲーションは、基本的に、さまざまな参加者(潜在的には何万人もの参加者)から署名を集め、1つの署名を検証するかのように、できるだけ早く結合された署名を検証できるようにする興味深い技術です。
これは強力です。 BLSキー集約は、実は現代の状態証明合意理論の中核にあるテクニックです。
BLSキーアグリゲーション以前に構築されたステートフルな合意証明を見てみると、多くの場合、アルゴリズムは通常数百の検証しかサポートできない。 このようなことが可能なのは、この新しい形式の暗号が、ここ5年から10年の間に使用できるほど最適化されたに過ぎないからである。
効率性、セキュリティ、スケーラビリティ
ですから、これらの新しい技術から多くのことが生まれました。 彼らは非常に速く強くなりました。 今日のプロトコルは、これらすべての技術を多用しています。 新しいプロトコルを作るには、暗号がどのように機能するのかを自分で理解する必要があります。 特殊なアプリケーションのための特殊なアルゴリズムを、より一般的な目的のために作らなければならない。 この世界では、私がこの5分間で話したことを使うアプリケーションを作るのに、暗号技術者である必要さえない。 コードの一部を書いて、承認と検証のためにコンパイルすれば、履歴を求めるアプリができるのだ。
では、ここでの課題は何でしょうか? 今のところ、2つの大きな課題は効率とセキュリティだと思います。 そして3つ目は、いわば機能性の拡張です。 現在あるものの効率とセキュリティを向上させることがより重要だと思います。
効率の話をしよう。 ブロックチェーン理論の具体例について話そう。 理論上、ブロックから出るまでの時間が12秒だとすると、あるブロックから次のブロックまでの平均時間は12秒ということになります。 通常のブロック検証時間に 次のレベルのノードがブロックを検証する時間、約400ミリ秒だ。 トラップを見つけ、平均的な理論を証明し、ブロックを検証するのにかかる時間は、現在約20分です。 しかし、2年前は急速に改善されていた。それまでは5時間待ちだった。 今は平均20分だ。年前に比べれば、まだまだ進歩していますよ。
さて、どうする? 目標はリアルタイムの証明を行うことです。 ゴールは、ブロックが作成されたとき、次のブロックが作成される前に証明を得ることができることです。リアルタイム証明を実装すると、世界中のすべてのユーザーが簡単にプロトコルの完全な検証ユーザーになることができます。ブラウザウォレット、モバイルウォレット、他のチェーンのスマートコントラクトウォレットを含むすべてのイーサウォレットが、コンセンサスルールの理論を実際に完全に検証しているような世界になれば。
つまり、実際にルールを直接検証し、ブロックが正しいことを直接保証しているため、エクイティ検証を好むとさえ信じていないのです。 そのために履歴をどのように利用すればいいのだろうか? これが本当に機能するためには、ZK-SNARKSの証明をリアルタイムで行う必要があるが、5秒以内に理論やブロックを証明する方法が必要だ。 問題は、これを実現できるかということだ。 さて、MPCとFHEも似たような問題を抱えている。 前にも述べたように、MPCとFHEの強力なユースケースは投票ですよね? 実際に出現し始めています。
MPC の現在の問題は、そのセキュリティ特性の一部を中央サーバーに依存していることです。分散化は可能でしょうか? できますが、より効率的なプロトコルが必要です。 これらのプロトコルは高価です。
どうすればこのニーズを満たすことができるでしょうか?ZK-SNARKSでは、3つの大まかなカテゴリーで効率化を図ることができると考えています。 その1つが並列化と集約で、ブロックに関する理論において、1回の検証でブロックが必要とする計算ステップは最大でも約1000万だと想像してください。 各計算ステップを実行し、個別に証明します。 そして証明の集約を行う。
上記のステップを20回ほど繰り返すと、ブロック全体の正しさを表す重要な証明ができます。 これは既存の技術を使って今日でもできることだ。 しかも、劣ったブロックを5秒以内に証明できる。 そのためには多くの並列計算が必要だが、それを最適化できないだろうか? 集約証明を最適化できるだろうか? 答えはイエスだ。これを行う方法について理論的なアイデアはたくさんあるが、本当に実用的なものに変換する必要がある。
ASICは、同じハードウェアコストと同じ電力コストで、GPUよりも約100倍速くハッシュを処理できます。 問題は、厳密な証明によってまったく同じ利益を得られるかどうかということです。 答えは、できるはずだということです。 ZK-SNARKSの証明に特化した製品を実際に作り始めた企業はたくさんありますが、実際には、それは非常に一般的なものであるべきです。 20分を5秒に短縮し、より効率的にすることはできるだろうか?
GKRプロトコル、64ビット、ZK-SNARKSなど、さまざまなアイデアがあります。 アルゴリズムの効率をさらに向上させることはできないだろうか? もっとZK-SNARKSに親しみやすいハッシュ関数や、もっとZK-SNARKSに親しみやすい署名アルゴリズムを作れないだろうか? ここにはたくさんのアイデアがあり、私はこれらのアイデアについてもっと研究することを強く奨励する。私たちはこのような素晴らしい暗号技術を持っていますが、人々はそれを信用するでしょうか? ZK-SNARKSにせよ、7,000行のコードからなるzkevm Circuitsにせよ、人々が何らかの欠陥があるのではないかと心配するのであれば。 もしそれが非常に効率的に行われているとしたら。 理論的には、1,000行のコードあたり平均15から50のバグがある。 我々は努力している。 1000行あたり15個よりは少ないですが、ゼロよりは多いです。何十億ドルもの人々の資産を保持するシステムがあるとして、そのうちのひとつにエラーがあれば、どんなに高度な暗号化を施したとしても、そのお金は失われてしまうのです。
問題は、既存の暗号を実際に採用し、そのエラーの数を減らすために何ができるかということです。
さて、あるグループの12人中9人、つまり75パーセント以上の人が、誤りがあるということに同意すれば、証明システムが何を言っていようと、反証することができると思います。 つまり、かなり中央集権的なのだ。近い将来、私たちは複数の証明を持つようになるでしょう。 理論的には、どの証明システムでも、その一部でエラーが発生するリスクを減らすことができる。 あなたは3つの証明システムを持っています。 そのうちの1つにエラーがあったとしても、うまくいけば他の2つがまったく同じ立場になることはないだろう。
AIツールによる形式的検証
最後に、 将来の価値として興味深いことがあると思います。興味深いことの1つは、AIツールを使った形式的な検証です。ZK-EVMのようなものが間違っていないことを証明することは、実際には数学的に可能です。しかし、たとえば、ZK-EVMの実装がGasの定理実装とまったく同じ機能を検証していることを、実際に証明できるでしょうか。 例えば、どのような入力に対しても出力が1つしかないことを証明できますか?
2019年の今日、AIが本当に素敵な写真を作れるとは誰も思っていない。 私たちは多くの進歩を遂げ、AIがそれを行うのを見てきました。
問題は、同じようなツールを同じようなタスクに回せるかどうかだ。例えば、何千行ものコードにまたがるプログラム中の複雑な文の数学的証明を自動的に生成するなどです。 これは、署名集約の効率性を理解するための興味深いオープン・チャレンジだと思います。 現在Etherには3万人の検証者がいますが、1つのノードを動かすのはかなり大変ですよね? 私はノートパソコンでノード・セオリーを実行していますが、安いノートパソコンではありません。 ハードディスクを自分でアップグレードしなければならないしね。 望ましいゴールは理論的なもので、できるだけ多くの証明をサポートしたい。 興味のある証明は可能な限り民主化し、どのような規模の検証にも人々が直接参加できるようにしたい。 ノード理論で実行するための要件は非常に低く、使いやすいものにしたい。 理論とプロトコルは可能な限りシンプルにしたい。
では、ここでの限界は何でしょうか? 誰がサインに関与していて、誰が関与していないかという情報をブロードキャストする必要があるためです。 これが最も基本的な制限の上です。 そうであれば、他に制限はない。 計算は、下限はありません。 証明の集計もできる。 署名だけでなく、各ツリーで再帰を行うこともできる。 あらゆる種類の署名集約ができる。 SNARKSを使うこともできるし、32ビットSNARKSを使うように暗号を使うこともできる。
ピアツーピアネットワークについての考察
問題は、署名集約 - ピアツーピアのセキュリティ - をどの程度まで最適化できるかということです。 人々はピアツーピア・ネットワークについて十分に考えていません。 それが私が本当に強調したいことです。 暗号では通常、ピアツーピアネットワークの上にエキゾチックな構造を作り、ピアツーピアネットワークが機能すると思い込む傾向が強すぎると思います。 ここには多くの悪魔が隠れている。 ビットコインにおけるピアツーピアネットワークの仕組みのように、それらの悪魔はもっと複雑になっていくと思います。
この中には、魔女攻撃やサービス拒否攻撃など、あらゆる種類の攻撃があります。しかし、非常に単純なネットワークがあり、ネットワークの唯一のタスクが、すべての人がすべてを得られるようにすることである場合、問題はかなり単純なままです。 問題は、ピアツーピア・ネットワークが規模論としてますます複雑になっていることだ。 今日のイーサネット・ピアツーピアネットワークには64のスライスがある。1つの署名集約を行うためには、3万件の署名を処理する必要がある。
まず第一に、今日のように、64の異なるテッセレーションに分割されたピアツーピアネットワークがあり、各ノードはそれらのネットワークの1つ以上の一部に過ぎません。 そのため、2つのプロジェクトをレイヤー化し、ロールアップを可能にするコストは非常に低く、スケーラビリティに長けたソリューションだ。 これはまた、より複雑なピアツーピアのアーキテクチャに依存している。各ノードは全データの1/8しかダウンロードしないのだろうか?このようなネットワークを本当にセキュアにできるのか?どうやってデータを保存するのか? ピアツーピアネットワークのセキュリティを向上させるにはどうすればいいのだろうか?
結論
そこで、プロトコルで暗号化制限を実装するプロトコルについて考える必要があります。プロトコルの暗号化制限について考える必要があります。暗号はすでに数十年前よりもはるかに強力になっていますが、さらに強力になる可能性があります。
ここには、同じように重要な2つの方向性があります:
そのうちの1つは、次のことです。、私たちはすべてをリアルタイムで証明したいのです。 私たちは、分散型プロトコルのブロックで配信されるすべてのメッセージに、デフォルトでZK-SNARKSが添付され、メッセージとそれに依存するすべてのものがプロトコルのルールに従っていることを証明する世界を見たいのです。 これを達成するためには、どのように効率を改善すればよいのだろうか? 2つ目はセキュリティを向上させることです。 問題の可能性を根本的に減らすことで、これらのプロトコルの背後にある実際の技術が非常に堅牢で、非常に信頼できる世界になります。
しかし、何度も見てきたように、マルチシグネチャはハッキングされる可能性があります。 多くの場合、これらのレイヤー2プロジェクトのトークンは、実際にはマルチシグネチャによって制御されています。 9つのうち5つが同時にハッキングされれば、多額の資金が失われる可能性がある。 このような問題を回避したいのであれば、信頼が必要である。つまり、システムの安全性を確保するために少人数の人々を信頼するのではなく、テクノロジーを使用し、ルールの遵守を暗号的に強制する能力が必要なのである。
しかし、これを実際に実現するためには、コードが信頼できるものでなければならない。 問題は、コードを信頼できるものにできるかということだ。 ネットワークを信頼できるものにできるか? これらのプロトコルに対応する製品の経済性を信頼できるものにできるか? これらが核心的な課題だと思います。 ありがとうございました。