完全な知識

Jan 16 2023
ジェームズ・オーストゲン、クシャル・バベル、ヴィタリック・ブテリン、フィル・ダイアン、アリ・ジュエルズ、マヒムナ・ケルカー著 「この人生において、私たちは事実だけを望みます、先生。事実以外の何ものでもない!— Charles Dickens、Hard Times 今日発表した論文では、完全知識証明 (CK) と呼ばれる新しい暗号概念を紹介しています。また、CK をスマートフォンで実用化するための道を提供するプロトタイプについても報告します。

ジェームズ・オーストゲン、クシャル・バベル、ヴィタリック・ブテリン、フィル・ダイアン、アリ・ジュエルズ、マヒムナ・ケルカー著

「この人生において、私たちが望むのは事実だけです、先生。事実以外の何ものでもない!

— チャールズ・ディケンズ、『困難な時代』

私たちが本日発表した論文では、完全知識証明(CK)と呼ばれる新しい暗号概念を導入しています。また、CK をスマートフォンで実用化するための道を提供するプロトタイプについても報告します。

知識の証明は、その名前が示すように、一方の当事者 (アリスなど) が別の当事者 (ボブなど) に、秘密鍵 SK などの特定の秘密を知っていると説得できるようにします。デジタル署名はその一例です。アリスによって作成され、アドレスAからの資金を使用する暗号通貨トランザクションTを考えてみましょう。Tを有効にするには、Aの有効な秘密鍵SKを使用してデジタル署名する必要があります。ここでのデジタル署名は、アリスがTの作成者として鍵SKを知っていることを証明します。トランザクションを有効にするのは、このSKの知識の証明です。暗号通貨システムでは、アドレスAの所有者です。定義上、SK を知っている人は誰でもそうです。

知識の証明は暗号システム設計の根幹です。しかし、既存の知識証明システムには重大な限界があることが判明しました。アリスはSKを知っているという説得力のある証拠を作成できるかもしれませんが、まだ本当にそれを知っていない可能性があります。

ここで例えてみましょう。マロリーがJeopardy に出場者として出演したいと考えているとします。彼女は番組の司会者(マイム・ビアリク)にインタビューします。マロリーさんは、面接中に学校では習わなかった米国の州都について質問されることを知っています。(彼女は地理の授業中にNFTをひっくり返すのに忙しかったです。)そこで彼女はカンニングすることにしました。マロリーの友人のアリスは米国の東半分の州都をすべて知っていますが、友人のボブは西半分の州都を知っています。そこでマロリーさんは、それぞれの耳に無線通信装置を隠している。彼女の左耳にあるものはアリスと通信します。彼女の右耳にある耳はボブと通信します。マロリーの欺瞞のおかげで、インタビュー中に米国のさまざまな州の州都を尋ねられたとき、彼女は常に正しく答えます。

しかし、マロリーは米国の州都をすべて知っているのでしょうか? 明らかに違います。アリスかボブですか?答えはまだノーです。おそらく、アリスとボブは一緒に米国の州都をすべて知っていると言えるでしょう。しかし、アリスは妙に迷信深く、金曜日には州都の質問に答えることを拒否したとします。それでもアリスとボブは米国のすべての州都についての知識を持っていると言えるでしょうか? はいといいえ。知識はアリスとボブの頭の中に存在しますが、それを希望どおりに抽出できるとは限りません。マロリーが『ジェパディ』のインタビューを金曜日に受けたら、大変なことになる。

完全な知識は、知識を持つことの意味におけるこの種のギャップに対処します。私たちの類推では、金曜日にアリスが質問に答えることを拒否することは、知識へのアクセスの制限であり、これを障害と呼んでいます。暗号化における既存の知識証明がどこに不足しているかを説明するには、特に秘密鍵の負担に関する潜在的に問題のある例から始めると役に立ちます。

負担の問題

秘密を妨げる可能性のある 2 つの異なるテクノロジがあります。それは、信頼された実行環境(TEE) と安全なマルチパーティ コンピューテーション(MPC) です。

TEE はブラック ボックスに似た計算環境です。TEE の内部状態は不透明で、改ざん耐性があります。ハードウェアまたはソフトウェアを使用して、実行中のアプリケーションの整合性とプライバシーの両方を強制し、コードが実行されているマシンの所有者による改ざんや観察に対する保護を提供します。TEE の例には、モバイル デバイス上のエンクレーブ (ARM Trustzone など) や一部のクラウド サーバーで利用できる Intel Software Guard eXtensions (SGX) が含まれます。

一方、MPC は、ほぼ同じセキュリティ目標を達成するためのアルゴリズム アプローチです。機密と計算を、委員会と呼ばれることが多いサーバーの集合間で分割します。MPC のセキュリティは、委員会内のサーバーの定足数 (たとえば過半数) が正しく動作することに依存しています。

TEE は現在 MPC よりもはるかに実用的で広く普及しているため、ブロックチェーン投票システムに対する TEE ベースの攻撃から始めて、次の例では TEE に焦点を当てます。以下は、投票スキームへの攻撃を含む例です。

この例における強力でステルス的な贈収賄の問題は、単純に設計されたブロックチェーン投票スキームだけでなく、Minimal Anti-Collusion Infrastructure (MACI)など、贈収賄に抵抗するために特別に設計されたスキームにも影響を及ぼします。

さらに悪いことに、TEE は、プロトコルに対して統一攻撃を仕掛けるユーザーのコミュニティを密かに奨励し、成長させる可能性があります。これは、私たちが以前にDark DAOと呼んだ概念です。このような攻撃には、投票の改ざんだけでなく、資産価格の操作やオフチェーン システムへの攻撃が含まれる可能性があります。

特に有害なのは、アリスが負担鍵SKを使用して署名済みトランザクションをスマート コントラクトに送信した場合、コントラクトはそれを知る方法がないことです。アリスのトランザクションは、制限のないキーを使用して作成されたトランザクションと同じように見えます。したがって、この例で示した種類の贈収賄攻撃を防ぐことはまったく不可能のようです。

しかし、本当にそうなのでしょうか?

完全な知識を確保する

鍵SK が妨げられていないこと、特に誰かがSKに直接アクセスできることを保証する方法があることがわかりました。非公式には、これが完全な知識という意味です。CK の効果は、マロリーのような悪意のあるユーザーがユーザーの選択に従って自分のキーを使用することを防ぐ方法がないため、この例のような贈収賄計画は機能しないということです。

CK を強制するには 2 つの基本的なアプローチがあります。どちらも完全知識証明(PoCK)と呼ばれるもの、具体的にはゼロ知識、つまりSKを明らかにしないものの生成を可能にします。

  1. 火で戦えというアプローチ

ほとんどのユーザーは携帯電話に TEE を搭載しています。私たちは論文の中で、投票やその他のアプリケーションのための CK スキームでそれらをどのように使用できるかを示します。

ただし、論文で説明しているように、TEE、特に携帯電話機の技術的制限にはいくつかの技術的制限があります。そこで、2 番目のアプローチも検討します。

2.作業証明ベースのアプローチ

このアプローチは少し直観に反するものです。これには、マイニング ASIC、つまり、ビットコインに使用される種類のプルーフ・オブ・ワーク・マイニング・ハードウェア・リグの使用が含まれます。ASIC には、CK の目的に適した 2 つの優れた特性があります。これらは、特定の計算、つまりハッシュを通常の CPU や GPU よりもはるかに高速に実行できます。その速度は、最先端の CPU よりも 100 万倍のオーダーです。また、TEE は含まれません。²

知識の証明の理論に関する文献からのテクニックを利用および修正して、 SKが関与する(ただし巧妙に隠蔽する)方法でマイニングに ASIC を使用するプロトコルを設計しました。このプロトコルは、 SK がASIC に送信されたことの証明、つまり PoCK を生成します。ASIC には TEE がないため、SKが事実上 ASIC ユーザーに公開されることになります。このプロパティは、本質的に、RBU の特別な TEE アプリケーションによって実行されることと同等であり、 SKをユーザーに直接吐き出します。ASIC は TEE をサポートするプラットフォームよりもはるかに高速であるため、TEE を使用して同等の PoCK を生成する方法はありません。

私たちの論文は、安価(約 200 ドル)で時代遅れ(2017 年頃)の ASIC を使用しても、高セキュリティの PoCK を実装できることを実験的に示しています。

贈収賄防止を超えた CK の応用

私たちは当初、投票制度における贈収賄の脅威に対処するために CK を設計しましたが、他にも多くの用途があります。CK は、分散型 ID 認証情報 (ユーザーがマネーロンダリング防止の努力を受けていることの証明など) の妨害を防ぐのに役立ちます。これは、ユーザーが自分の資格情報を貸し出すことができる場合に起こり得るさまざまな種類の不正行為 (たとえば、制裁を回避するための ID 資格情報市場など) を防ぐために不可欠です。

CK は、NFT マーケットプレイスにも興味深いアプリケーションを提供しています。たとえば、アーティストへのロイヤルティ支払いの強制を確実にするのに役立ちます。現在、ロイヤルティはオフチェーンでのみ、つまりNFT マーケットプレイスによって自発的に強制されています。代わりに、原則としてスマートコントラクトのオンチェーンで強制することもでき、その場合は強制が必須となります。強制的なロイヤルティの支払いが良い慣行とみなされない理由の 1 つは、ユーザーが自分のアドレス間で NFT を転送するのにロイヤルティを支払わなければならないのは不公平であるためです。問題は、単一のユーザーに属する送信者アドレスSと受信者アドレスRと、アドレスSとRを区別する方法がないことです。異なるユーザーに属します。したがって、単一ユーザーの譲渡とNFTの所有権の変更を区別する方法はありません。

しかし、CK では区別することが可能です。NFT マーケットプレイスの契約では、ロイヤリティフリーの送金に対して、PoCK がRとSに同時に適用され、単一のエンティティが両方を知っていることを証明することが要求される可能性があります。このプロパティは、単一所有権に非常によく似ています。少なくとも、この CK ベースのアプローチはロイヤルティ回避を強力に阻止できると信じています。

NFT への CK のもう 1 つの興味深い応用は、アトミック NFTと呼ばれる概念です。たとえばDoge NFTで起こったように、高価な NFT を細分化する、つまり所有権を小さな断片に分割するのが一般的です。

しかし、私たちが話を聞いた多くのアーティストは、自分の作品が単一の個人によって所有され、評価されることを好みます。アトミック NFT は、この欲求を尊重し、単独所有権を確保する NFT を作成する方法を提供します。この機能を実証するために、ここに示すように、独自の小規模な Atomic NFT コレクションを作成しました。

結論

知識の証明は、暗号化において数十年前からよく研究されている概念です。しかし、TEE や MPC などの強力な新しい (っぽい) テクノロジーは、秘密の妨害によって古典的な知識証明の状況を一変させる恐れがあります。CK は、そのような障害を防ぎ、知識が単一のエンティティまたは個人に帰属するという直観的なアイデアを復元する方法を提供します。投票制度における賄賂などの制約ベースの攻撃に対する救済策を提供することに加えて、さまざまな新しいアプリケーションも提供します。

私たちは CK が実用的であると信じています。私たちは、PoCK 証明を検証するスマート コントラクトを備えたエンドツーエンドの ASIC ベースのシステムを実装しました。当社のプロトタイプ システムには、CK 準拠であることが証明されたスマート コントラクト ベースのアドレス レジストリが含まれています。また、携帯電話機ベースの TEE を使用したプロトタイプ システムも実装しました。私たちのプロトタイプはまだゴールデンタイムに向けた準備ができていませんが、実用的な運用展開への道はあると信じています。私たちのツールのオープンソースバージョンは、ここで見つけることができます。実現に興味のあるプロジェクトからの協力を歓迎します。

¹ 幸いなことに、TEE はネストできないため、Mallory が RBU の TEE アプリケーションをラップし、それによってユーザーのキーに負担をかける賢い方法はありません。

² ほとんどの ASIC には、オンボード セキュリティがほとんどありません。実験中に ASIC がリモート ハッカーによって明らかに侵害されたことが何度かあったときに判明したように、暗号化されたネットワークさえサポートしていません。

3 ここで注意点があります。私たちの論文で議論しているように、社会的回復メカニズムが一般的になれば、鍵の同時知識の CK 証明は機能しなくなります。