Microsoft Research更新日

Magnetarによる証明ベースの汎用コンピューティング

ゼロ知識証明は、ワークロードを再実行したり機密データを公開したりすることなく、計算結果を検証できる。Magnetarは、標準的なプログラミング言語のサポート、大幅な高速化、耐量子セキュリティによって、ゼロ知識証明の普及を後押しする。本投稿「Proof-based general-purpose computing with Magnetar」は、Microsoft Researchのブログに最初に掲載されました。

Magnetar proves a program's execution and returns a small proof that anyone can check, with security resting only on standard hash functions.
画像の出典 · Microsoft Research
Magnetar proves a program's execution and returns a small proof that anyone can check, with security resting only on standard hash functions.

概要

  • 新しい形のコンピューティング。ゼロ知識証明により、ワークロードを実行し、結果とともに、プログラムが正しく実行されたことを示す短い証明を受け取ることができる。誰でも証明をミリ秒単位で検証でき、プログラムの再実行も、実行者を信頼することも、プログラムが実行されたデータを必要とすることもない。
  • 広範な採用の妨げとなってきた3つの大きな課題がある。証明を十分な速さで生成できるようにすること、暗号の専門知識なしに通常のプログラムで証明を利用できるようにすること、そして数十年後にも信頼され続ける暗号の上に証明を築くことである。
  • Magnetarは、この3つの課題すべてにおいて大きな進歩を遂げた。 Rust、Go、またはCで書かれたプログラムを証明でき、以前の最速の同等システムと比べて平均で10倍から39倍高速に実行でき、そのセキュリティは標準的なハッシュ関数のみに依存している。これは、ゼロ知識証明を実用的にするためのMicrosoft Researchにおける10年以上の研究による最新の成果である。

新しい形のコンピューティング

コンピューターが生成するすべての結果には、暗黙の問いが伴う。プログラムは主張どおりに実行され、正しい出力を生成したのか?今日、この問いに答えるには、多くの場合、検証とともに一定の信頼が必要となる。私たちは運用者、ベンダー、取引相手、エージェントを信頼し、契約、監査、ログによってその信頼を確立している。

ゼロ知識証明は、信頼を確立するための根本的に異なるアプローチを提供する。プログラムが実行されると、出力とともに短い証明、すなわち「このプログラムが、これらの入力に対して、この出力を生成した」ことを示す暗号学的証明書が生成される。証明は小さく、検証も高速である。受け取った者は、プログラムを再実行することなくミリ秒単位で結果を確認でき、同じ保証を必要とする他の誰にでもその証明を渡すことができる。ゼロ知識性により、証明はプライベートであるべき入力について何も明かさない。

これにより、現実の世界における「正しさ」の意味が変わる。結果は、誰が生成したかによって信頼されるのではなく、それに伴うものによって検証可能になる。誰かの代理として動作するAIエージェントは、各アクションが与えられたポリシーに準拠していたことを示す証明を添付できる。規制対象の金融機関は、取引を公開することなく、取引が正しく処理されたことを証明できる。これらは、証明の生成がプログラムの実行と同じくらい日常的になったときに可能となる。

3つの大きな課題

ゼロ知識証明は1980年代に発明され、プログラムの実行を証明するという考え方はほぼ同じくらい前から存在してきた。これらが一般的なツールにならなかった原因は、同時に解決が困難だった3つの課題である。

効率性。証明の生成には、歴史的に、プログラム自体の実行に比べて数百万倍もの計算量が必要だった。長年の研究によってこのオーバーヘッドは削減されてきたが、最速のシステムは他の面で妥協することによって速度を達成していた。

汎用性とユーザビリティ 多くの証明システムでは、開発者がプログラムを暗号回路(その計算そのものの固定された算術的記述)として手作業で書き直す必要がある。これには数か月を要する。アプリケーションを変更するたびに新しい回路が必要となり、その変換自体がセキュリティバグの頻出原因となっている。汎用的な代替手法は、通常のプロセッサの実行を証明することであり、これによりコンパイルされた任意のプログラムを、書かれたとおりに証明できる。しかしこれまで、その汎用性は速度またはセキュリティにおいて大きな代償を伴っていた。 

セキュリティ 証明は、その基盤となる暗号と同じくらいの強度しか持たない。多くの証明システムは楕円曲線に基づいており、これは十分に強力な量子コンピューターによって破られる可能性がある。MicrosoftはQuantum Safe Programでこの問題に取り組んでおり、自社の製品とサービスを耐量子暗号へ移行する予定で、その目標は recently accelerated to 2029。耐量子の証明システムはすでに存在するが、一部は格子問題の仮定に基づいており、大半は証明コストを削減するために新たに考案された暗号関数に基づいている。これらの新しい暗号関数は、今日のインターネットを保護する暗号に与えられてきた数十年に及ぶ精査を経験していないものもあり、証明されていない誤り訂正符号に関する数学的推測に基づくものもある。それらは強い仮定と引き換えに速度を獲得してきた。 

PODCAST SERIES

Illustration of Doug Burger

The Shape of Things to Come

MicrosoftのDoug Burgerとゲストが、AIの根本的な真実と、それが未来をどう形づくるかについて掘り下げます。

今すぐ聴く

10年以上にわたる研究の成果

10年以上にわたり、Microsoft Researchはゼロ知識証明と検証可能計算を実用的なものにする研究に取り組んできました。初期の研究は2つのアプローチに沿って進められましたが、どちらも小規模なプログラムにしか実用的ではありませんでした。 最初のもの(新しいタブで開く) (新しいタブで開く)は、サムチェックと呼ばれる手法を用いて、証明者との短い対話を通じて検証者が長大な計算をチェックすることを可能にしましたが、 サムチェックプロトコル(新しいタブで開く)これは特定の階層構造を持つ計算にしか適用できませんでした。 2つ目のもの(新しいタブで開く) (新しいタブで開く)は、楕円曲線暗号を用いて、ほぼあらゆる計算に対して非常に小さな証明を作成しました。しかし、これには秘密情報を含む一度限りの信頼されたセットアップ(trusted setup)が必要であり、その秘密情報が漏洩すれば誰もが証明を偽造できてしまいます。このアプローチは量子コンピュータに対しても脆弱です。

2019年、 Spartan と呼ばれる新しいゼロ知識証明システムが、サムチェックのアプローチに立ち返り、信頼されたセットアップなしで汎用プログラムに対応させることに成功しました。Spartanは、異なる暗号学的構成要素でインスタンス化することもできます。この柔軟性こそが、後に証明システムをハッシュ関数のみで構築することを可能にしました。その後、一連の研究成果が残りの部分を埋めていきました: 

これらのそれぞれが問題の一部を解決しました。Magnetarは、その断片が一つにまとまる場所です。

Magnetar

Magnetar はゼロ知識仮想マシン(zkVM)であり、3つの課題すべてに対して同時に大きな進歩をもたらします。

Figure 1. Magnetar proves a program's execution and returns a small proof that anyone can check, with security resting only on standard hash functions.
図1. Magnetarはプログラムの実行を証明し、誰でも検証できる小さな証明を返します。そのセキュリティは標準的なハッシュ関数のみに依存しています。

それは汎用です。 Magnetarは、あらゆる主流言語向けの成熟したコンパイラを持つオープンなプロセッサアーキテクチャであるRISC-Vの実行を証明します。開発者はRust、Go、またはCでプログラムを書き、通常どおりコンパイルすれば、Magnetarは書かれたとおりのものを証明します。これが実務で何を意味するか考えてみてください。ビジネスポリシー、データパイプライン、あるいはEthereum Virtual Machine(EVM)のインタープリタは、単なるプログラムにすぎず、すでにそれを保守しているエンジニアが、書かれたとおりの実行をそのまま証明できます。その結果、証明は専門家だけの活動ではなくなるのです。 

同じクラスの従来システムよりも高速です。 Magnetarはラップトップ上で毎秒7.2〜8.7百万のプロセッサ命令を証明できることを実証しました。暗号ハッシュから小型のEVMインタプリタ内でのトークン転送に至るまでの15のベンチマークプログラムにおいて、同一マシン上の既存の最速のzkVMと比べて平均10〜39倍高速であり、トークン転送ベンチマークでは他の2つに対して300倍以上高速です。最適化されたMagnetarは毎秒9.5〜12.8百万サイクルを証明でき、これにより本稿で報告する各高速化倍率が約1.3倍に向上します。その証明は約12ミリ秒で検証されます。 

そのセキュリティは標準的な暗号技術に依存しています。 Magnetarは、すでにすべての組織のシステムを保護しているSHA-256やSHA-3といった標準的なハッシュ関数に依存しています。楕円曲線も格子も、特殊用途のハッシュ関数も、トラステッドセットアップも、誤り訂正符号に関する未証明の推測も必要としません。ハッシュ関数は暗号ツールキットの中で最も徹底的に研究されたプリミティブであり、NISTが独自の保守的な耐量子オプションとして標準化したステートレスなハッシュベース署名の基盤でもあります。何十年先もなお信頼できなければならないシステムにとって、標準ハッシュ関数のみに依存することは、ロードマップから暗号の移行作業を取り除くことを意味します。 

同じ設計上の判断は、2つ目の利益をもたらします。Magnetarの証明の検証は、主に標準的なハッシュ関数と二進体演算の評価で構成されており、これらはまさにMagnetarが効率的に証明できる操作です。したがって、証明の検証はMagnetarにとって通常のワークロードです。これにより、Magnetarは計算を断片に分けて証明し、その断片を結合することで、任意のサイズの計算を証明できるのです。また、これによりMagnetarは台帳やブロックチェーンのような長時間実行されるシステムの証明も可能になります。

その 技術論文 設計全体、安全性の分析、および測定結果を示しています。

今後の展望

Magnetarは、ゼロ知識証明と検証可能計算を、組織がすでに信頼する暗号技術の上に、実用に耐える速度で、エンジニアが通常のコードを書くだけで構築できる段階へと進歩させます。Magnetarは、暗号学的証明が計算の日常的な出力となる未来を可能にします。私たちは、技術リーダーたちがもはや問わなくなるだろうと考えています 実行の証明が実用的かどうか 「その代わりに焦点を当てるのは」 その結果 〜だろう 彼らは鵜呑みにするのではなく、自ら検証することを好む.

ゼロ知識証明があなたのユースケースにどのように役立つかを検討されたい方は、ぜひ ご意見をお聞かせください(新しいタブで開きます).

原文の出典

Microsoft Research

内容について

原文の公開と権利は出典元に帰属します。

機械翻訳 · 原文をご参照ください