BTC
ETH
HTX
SOL
BNB
View Market
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

乾物: 権利と合意について

以太坊爱好者
特邀专栏作者
この記事は約12006文字で、全文を読むには約18分かかります
システム内のリソースのみに依存するプルーフ・オブ・ステークは、罰を形成しようとする自身の試みの履歴に依存する必要があるため、分散型の合意を形成することはできません。
AI要約
システム内のリソースのみに依存するプルーフ・オブ・ステークは、罰を形成しようとする自身の試みの履歴に依存する必要があるため、分散型の合意を形成することはできません。

編集者注: この記事は以下から引用しましたイーサリアム愛好家 (ID: ethfa​​ns)、許可を得てOdailyによって転載されました。

イーサリアム愛好家 (ID: ethfa​​ns)https://download.wpsoftware.net/bitcoin/old-pos.pdf現れる。

イーサリアム愛好家 (ID: ethfa​​ns)

、許可を得てOdailyによって転載されました。

注: このドキュメントは 2015 年 3 月に大幅に改訂されました。古いバージョンは次の場所にあります。

現れる。

1 はじめに

2009 年、サトシ ナカモトはビットコイン [Nak09] を作成しました。ビットコインは、ピアツーピアのデジタル トークン転送を可能にするインターネット通貨システムです。トークンの所有権について全員が確実に合意できるようにするために、サトシはネットワーク参加者全員が複製および検証できる公開台帳を採用しています。単一障害点を回避するために、台帳は動的メンバーシップ マルチパーティ署名 (DMMS) [BCD+14] メカニズムを使用して認証されます。つまり、台帳履歴全体が「ハートビート」ごとに 1 回実行されます。高い計算コスト (ただし検証コストは低い)。

従来のデジタル署名とは異なり、DMMS には、DMMS の「偽造可能性」という概念がありません。各DMMSの作成には費用がかかります(ビットコインでは電気代が高くなります)。この行為は、台帳で発行される新しいコインによって報われる可能性があります。これらの新しいトークンが有用であるためには他の人によって承認される必要があるため、参加者は台帳を自分で作成するのではなく、集合的に「真の台帳」を拡張するよう動機付けられます1。 (訳者注:ここでの「認識」という言葉の原文は「認識する」です。つまり、その本来の意味には「社会的合意」のヒントがそれほど多くない可能性があり、それ自体が厳密な技術的な意味を持つ可能性があります。 not accept ブロックに対して、このブロックによって発行された通貨を承認しません。)

ビットコインのDMMSは計算的および熱力学的に高価であるため[Poe14a]、他のより経済的で環境に優しい代替案が提案されています。最も一般的に提案されているソリューションは、低コストの分散型コンセンサス メカニズムである PoS (Proof of Stake) です。 Andrew Poelstra [Poe14b] が 2014 年に述べたように、PoS は実現不可能ですが、さまざまな形式の PoS スキームが登場しています。同時に、ポールストラの議論は、説得力のある反例や誤りを決して提示していないにもかかわらず、さまざまなフォーラムで「誤り」または「誤り」であると主張されることがよくあります。さらに、ポールストラの論文は曖昧で退屈に書かれているという適切な意見を述べた人もいました。この論文にはまだ多くの欠点があることがわかります。 Poelstra 氏は、これまでの研究で不正確さを発見しませんでしたが、機会を利用して自分の議論をさらに形式化する用意があります。

Poelstra が論文 [MLJ14、BMC+15] を書いて以来、ビットコインのコンセンサスの科学的理解は大きく進歩しました。

この記事は、ビットコインが解決する問題、PoS の背後にある設計理論的根拠、そしてなぜ PoS のようなメカニズムがビットコインの信頼モデル内で分散型合意を生み出すことができないのかを明らかにするために、ポールストラの論文を更新することを目的としています。

注 1: すべての参加者が「真の台帳」を確実に参照できるようにするには、同期ネットワークが必要です。すべての (有効な) データは、一定の時間 λ 以内にすべての参加者に到達でき、ネットワークのハートビート時間は λ よりも長くなります。同期されたネットワークがなければ、分散型の合意形成はさらに困難になります。 (よく引用される結論の 1 つは、分散型コンセンサスは決定論的アルゴリズムでは不可能であるというものです [FLP85]。この問題は確率的アルゴリズムを使用すると簡単に回避できるため、コンセンサス システムの設計の難しさについてはあまり議論されていません。このドキュメントの古いバージョンには誤って引用されています。この結論は、非同期ネットワーク内のすべての分散コンセンサス メカニズムでコンセンサスが不可能になったと考えられています。これを指摘してくれた Dominic Williams に感謝します。)

2. 分散型コンセンサス

分散型コンセンサス問題に対するビットコインの解決策について議論する前に、まず問題の性質を理解する必要があります。分散型コンセンサス (ビットコイン システムで使用される用語) は、相互に信頼を持たない当事者間のコンセンサス (つまり、世界的な合意) です。これらの当事者は匿名であり、システムの設立時に必ずしも存在していたわけではありません。 Poelstra は論文の中で次のように説明しています。

仮想通貨の場合は、取引の時系列順、つまり「特定の金額を送金する最初の取引についての合意」だけで分散型合意が得られれば十分です。これにより、ネットワーク全体が資金の新しい所有者を確実に認識できるようになります。

この合意が必要な理由は、二重支出を防ぐためです。すべての分散型デジタル通貨メカニズムでは、支払者が同じ資金を 2 人の異なる人物に送金することが可能であり、両方の取引が有効であるように見えます。したがって、受取人は、競合が発生していないこと、または競合が発生した場合にネットワークがそのトランザクションを正しいバージョンとして認識することを保証できる必要があります。トランザクションの順序に関する分散型コンセンサスにより、これが可能になります。競合が発生した場合、全員が最初のトランザクションが有効で、残りは無効であることに同意します。

(許可や偽造防止など、デジタル通貨に関するその他の問題は比較的簡単で、従来の暗号化によって解決できます。)

重要なのは、分散型コンセンサスは難しい問題ですが、一般的なコンセンサスはより簡単で、よりよく調査され、信頼できる識別可能な署名者がいれば何兆倍も効率的であることを認識する必要があるということです。したがって、(限られた条件下であっても)信頼できる当事者を導入する暗号通貨は、その新しい信頼モデルが合意形成の難しさを軽減するのに役立つかどうかを検討する必要があります。信頼できる当事者とのより効率的な合意メカニズムに興味のある読者は、それを検討してみてください。

3. 動的メンバーシップの複数当事者署名

ビットコインの台帳は公開されており、ビットコインネットワークのすべての参加者は台帳上の各トランザクションの正当性を検証できます。ただし、台帳は基本的に歴史記録であるため、暗号では真正性を区別できず、誰かが台帳を証明し、他の人がその人が間違った歴史に署名しないことを信頼する必要があります。

初期のデジタル キャッシュ システムでは、匿名でない 1 人の人物がすべての取引に署名していました [Cha83]。ただし、これにより、システムに単一障害点のリスクが生じるだけでなく、署名者 (およびその署名者を権力または強制的に強制できる者) がトランザクションを検閲したり、二重支払いを開始したりすることも可能になります。ブラインド署名 (詳細は [Cha83] を参照) は検閲を防ぐために使用できますが、単一障害点や二重支出を防ぐことはできません。後者の 2 つの問題は複数当事者の署名によって解決できる可能性がありますが、すべての署名者に同時に強制することは困難であること、およびすべての署名者はすべての参加者から信頼されなければならないという 2 つの要件は互いに矛盾します。非匿名性は、特定の攻撃者がいつでもシステムを攻撃できることも意味します。

ビットコインの解決策は、固定された識別可能な署名者を完全に削除することです。ビットコインの台帳は、マイナーと呼ばれる署名者のグループによって検証されます。マイナーは、他の参加者に身元を開示せず、おそらくコストゼロでシステムに出入りできるでしょう。マイナーは「マイニング」と呼ばれるプロセスを通じて署名を生成します。マイニング中に、トランザクション データの連続ブロックのプルーフ オブ ワーク [Bac02] を集合的に生成します。

  • このセクションでは、マイニングの仕組みとマイニングがどのように検証を行うかについて説明します。
  • 3.1 匿名の世界での認証
  • 暗号電子署名機構の動作原理は以下のとおりです。署名者は、「署名」および「検証」キー ペア (s, v) を生成し、v をその名前とともに何らかのパブリック チャネルで公開します。署名者は与えられたメッセージ m に従って署名 σ を生成でき、誰でも σ の正当性を検証できます。つまり、検証アルゴリズムに v、m、σ を入力すると、署名が有効であれば常に 1 が出力されます。

セキュリティ上の理由から、従来のデジタル署名は偽造防止である必要があります。つまり、限られた計算能力を持つ攻撃者が署名を偽造する可能性は無視できるものです。具体的には、「フェイク」とは、(攻撃者が)次のゲームに勝つことができることを意味します。署名者は検証キー v を攻撃者に渡します。攻撃者はメッセージ m_i を署名者に送信し、それらのメッセージに対する有効な署名 σ_i を受け取ります。攻撃者はこの操作を複数回繰り返す可能性があります。攻撃者は、m に基づく有効な署名 σ とともに新しいメッセージ m を生成します。このセキュリティは、選択メッセージ攻撃下における実存的偽造不可能性として知られており、暗号化文献における一般的な標準です。[複数署名メカニズムでは、各署名者が検証キーを持ちます。署名者 (または署名キー) の「許容されるサブセット」によって生成された署名のみが有効です。セキュリティを定義する際、攻撃者が「許容されるサブセット」を形成しない鍵を取得する限り、攻撃者が署名鍵を要求 (および取得) できるように上記のゲームが変更されます。 】

検証アルゴリズムは検証キー v を使用して署名を検証し、これにより署名者の「身元」を検証することがわかります。誰でもキー ペアを作成できるため、署名に価値があるためには、公開記録によって検証キーが署名者の本当の身元にリンクされている必要があります。不正な行為(無効な履歴に署名)があった場合、不正な当事者が責任を問われます。

この観点から、認証は署名者が匿名で固定されていないシステムには適していません。実際、そのようなシステムにおいて「認証」がどのような役割を果たすことができるのかは明らかではありません。もし誰かが匿名で署名を生成できれば、誠実な署名と不正な署名、本物の歴史と偽の歴史を区別することは不可能になるでしょう。その場合、攻撃者は署名者のセットに自由に参加して「署名を偽造」できるため、上記のセキュリティの定義は意味を失います2。

  • この問題を解決するために、ビットコインは別のセキュリティ モデルを採用しています。このモデルでは、すべての参加者は平等ですが、正直に言うと、参加者には経済的なインセンティブがあります。次のセクションでは、このセキュリティ モデルを紹介します。

  • 注 2: セクション 4 で見たように、暗号通貨の場合、匿名の当事者が預金をロックし、身元を確認せずに不正行為者を罰する何らかのメカニズムを持つことが可能です。これは事実上、プルーフ・オブ・ステークです。ただし、仮想通貨はコンセンサスと切り離せないものであるため、「仮想通貨であれば」という前提があるため、ここでプルーフ・オブ・ステークを使用することができず、循環論法に陥ってしまいます。この問題については次のセクションで説明します。
  • 3.2 DMMS のセキュリティの定義

DMMS に関する限り、すべての関係者は平等であり、不完全な知識しか持たない「敵」を抱えてもセキュリティは得られません。したがって、以下の 3 つの部分を使用して DMMS を定義します。これらの部分は、従来の署名の鍵生成アルゴリズムとは異なります。コスト関数 c を使用してアルゴリズムの実行を追跡し、「コスト」 t ∈ を出力します。ここで、 は何らかの「コスト フィールド」です。 2 つのアルゴリズムを連続して実行するコストはそれぞれのコストの合計であるため、関数は線形である必要があります。ランダム化アルゴリズム AttemptSign は、メッセージ m を入力として受け取り、署名 σ を受け取ります。このアルゴリズムのコストは、入力メッセージ m に対して 1 でなければなりません。

決定論的アルゴリズム Verify は、メッセージ m、署名 σ、およびターゲット コスト T を入力として受け取り、0 または 1 を出力します。

Verify(m, T, AttemptSign(m)) = 1 がそれ​​に属するすべての T に対して 1/T の確率を持つ場合に限り、DMMS は正しい (正しい) と言えます。この確率は AtemptSign によって決定されます。アルゴリズムが保証されている; Verify(m, T, A (m)) = 1 を実現する多項式アルゴリズムの確率が 1−(1−1/T)t を超えない場合に限り、そのような DMMS は安全 (安全) (t はアルゴリズム A の実行コスト)。言い換えれば、安全な DMMS とは、(検証署名を作成するという意味で) AttemptSign を繰り返し実行することより優れた署名アルゴリズムはないことを意味します。セキュリティの定義を簡単に説明します。動的なメンバーシップセットを実現するために、参加費を高額にしすぎたり、既存の署名者が明らかな手段や経済的要因によって新しい署名者を排除したりすることはできません。これは、署名プロセスが「分割可能」であるべきであり、署名者間のコミュニケーションを要求したり奨励したりする必要がないことを意味します。つまり、署名アルゴリズムの実行に 2 倍の時間がかかっても、同じ 2 つのハードウェア上で並列実行する場合と同じくらい成功する確率が高くなります。極端に言えば、これは、最良の署名アルゴリズムは、定義によって導出される、単一の基礎となるステップの繰り返しの独立した実行で構成される必要があることを意味します。

  • 3.3 DMMSとしてのマイニングメカニズム
  • ビットコインのマイニングでは、ハッシュ関数に基づく作業証明アルゴリズムである hashcash [Bac02] が使用されます。これはランダムオラクルモデルを使用したDMMS[BR93]です。計算モデルとして、ランダム オラクルとは、ハッシュ関数を「乱数オラクル」、つまり出力が純粋にランダムであり、この関数を通じてのみ計算できる真のランダム関数 3 とみなすモデルを指します。
  • 乱数オラクル モデルの使用は多くの論争を引き起こしましたが [Gre11]、セキュリティを確保するために使用できるという強力な経験的証拠があります。以下、H は最大 256 ビットの入力を持つハッシュ関数を指し、これは乱数オラクルと考えられます。

ビットコインのDMMSは以下の通りです。

コスト関数は、実行中に乱数オラクルが呼び出される回数を示します。

AttemptSign はメッセージ m を入力として受け取り、乱数 σ ∈ {0,1}256 を出力します。

Verify は、署名 σ、メッセージ m、およびターゲット T を入力として受け取ります。 H(m || σ) < 2256/T の場合のみ 1 を出力します。乱数オラクル モデルでは、有効な署名を作成するには、ハッシュ関数を繰り返し実行するより良い方法がないことを理解するのは難しくありません。注 3: このモデルは完全に非現実的です。なぜなら、たとえば 512 ビットから 256 ビットまでの真のランダム関数を表現するには平均 2512 · 256 ビットが必要であり、これは現在知られている式の制限を超えているからです。

3.4 ワールドタイムなし

  • 前のセクションでは、コスト関数としてハッシュ関数の呼び出し数を使用しました。これは計算数にほぼ比例し、計算数は熱放散にもほぼ比例します。最終的に、熱放散量は、これらの署名の作成にかかる経済的および環境的コストにほぼ比例します。

明らかな疑問は、「より安価な」コスト関数を使用できるかということです。特に、時計時間を直接使用できないのはなぜでしょうか?コンセンサスの競合を解決するためにトランザクションを時系列に直接並べ替えるのではなく、DMMS を使用してブロックに署名し、ブロックチェーンを作成するのはなぜですか?

  • その答えは、分散システムには明確に定義されたクロック時間が欠如しているということです。ネットワーク遅延により、情報の伝達速度が制限されます。特殊相対性理論によれば、異なる観察者は、ほぼ同時に発生する出来事の時間的順序について同意することはできません。

これが唯一の問題である場合は、各トランザクションの間に数秒間置くよう要求します (競合するトランザクション間の間隔が短すぎる場合、両方のトランザクションが拒否されます。ただし、各トランザクションの後に数秒待つと、関係者全員がこれを確実に行うことができます)。起こらない)。しかし、実際の状況は次の 2 つの理由によりさらに悪化しています。

過酷な環境では「ネットワーク遅延」を制限することはできません。攻撃者は、サービス拒否対策を使用してシステムの速度を恣意的に低下させたり、ネットワークを物理的に分割したりする可能性があります。相対性理論の用語で言えば、これは、待ち時間がどれだけ長く設定されていても、参加者がネットワーク内の他の参加者から空間的に分離されないようにする方法はないことを意味します。ネットワークを初めて使用するユーザー、または最近オフラインになったユーザーは、履歴データにアクセスする必要があります。ただし、トランザクションが発生した順序を事後的に確認する方法はないため、トランザクションの競合が発生した場合、ユーザーは受け取ったトランザクションが最初に発生したという保証がありません。3.5 DMMS からの合意DMMS を理解し、ビットコインのハッシュキャッシュが安全なアルゴリズムである理由を説明したところで、DMMS を通じて分散型合意を達成する方法について考えてみましょう。私たちの主張は、DMMS を通じて分散型コンセンサスを達成することが可能であるということです。まず、(a) 一度に多くのメッセージの署名を作成できないある種の希少なリソース、および (b) コスト関数 (単調関数) を介して署名の作成にかかる平均時間を測定する必要があります。 (分散化するためには、ビットコイン システムのように、この希少なリソースを永久に消費する必要があるかもしれません。これにより、マイニングの限界コストが資本コストを支配することが可能になります。Poelstra はこの見解を支持しています [Poe14a]、しかし、John Tromp は [トロ14]。)ビットコインを例にとると、コスト関数は「ハッシュ関数が呼び出される回数」として定義されます。我々は、この関数は署名の計算に消費されるエネルギーを実際に測定しており、ランダウアー限界 [Lan61] によって正当化されると主張します。物理的な観点から見ると、いわゆるエネルギーは、不可逆ビット操作によって消費される最小の熱です。 sha256 計算に含まれる不可逆ビット操作の数をカウントすることで、(少なくとも原理的には) ビットコイン DMMS の作成に必要なエネルギー量に下限を設けることができます。コスト関数は、ブラックホールを作成しない限り(つまり、署名を許可しない場合、または実際に)、単位時間あたりに一定量のエネルギーしか消費できないため、署名の作成にかかる時間を測定するために使用することもできます。利用可能な形式で抽出されるあらゆる情報)。もちろん、現実の世界では、ビットコインマイナーはブラックホールの限界近くで動作することはなく、それにかかる時間はマイニングハードウェアの速度によって異なります。マイニング ハードウェアが改良され、同時にオンラインになるハードウェアの数が増加するにつれて、DMMS の作成に必要な時間が短縮されます。ビットコインでは、これに応じて目標コストが調整され、各署名の作成に必要な時間は約 10 分に保たれます4。注 4: 3.4 で言及されているワールドタイムがないことを考えると、読者は時間を正確に調整する方法を疑問に思うかもしれません。実際には、タイムスタンプはマイナーによってブロックに挿入されますが、マイナーによるタイムスタンプの改ざんを防ぐ方法は実際にはありません。ビットコインは、誤ったタイムスタンプによって引き起こされる目標からのわずかな逸脱に耐性があり、目標(訳者注:難易度)が急激に変化することも禁止します。したがって、目標から大きく逸脱することは非常にコストがかかり、非協力的なマイナーによって阻止される可能性があります。詳細については、[Poe14c、セクション 6.3] を参照してください。では、コスト関数を介して希少なリソースを測定する安全なDMMSを使用して、コンセンサス履歴を取得するにはどうすればよいでしょうか?まず、ネットワークが同期しているため、(大部分の) 参加者が特定の時間 λ 以内にすべての有効なデータを利用できると仮定します。トランザクション履歴を一連のブロックに分割し、各ブロックには一連のトランザクションと前のブロックへの暗号化コミットメントが含まれています5。すべての有効なブロックには、ブロックの作成に λ よりもはるかに長い時間がかかるようなターゲットを持つ DMMS が必要です (そのため、同じコンセンサス履歴で作業しているマイナーはどのブロックが最新であるかを知ることができ、ブロック作成者には多くの情報がありません)最新のブロックを最初に知ることに利点があります)。明確にしておきますが、各DMMSの目標コストはマイナーではなくシステムルールによって定義されます。注5:コミットメント(コミットメント)とは、ある秘密データから計算される暗号オブジェクトですが、データが漏洩することはないため、後からデータを変更することはできません。衝突耐性のあるハッシュ関数はその一例です。データ x が与えられた場合、最初に H(x) (H はハッシュ関数) を公開し、後で x を公開できます。検証者は公開値を使用して H(x) を計算し、この値が元の値と同じかどうかを確認できます。ネットワーク参加者は、まず同じジェネシス ブロック (システムにハードコードされている) で始まるすべての有効なブロック ブランチを考慮することによって作業します。 (各ブロックには前のブロックのコミットメントが含まれるため、結果はジェネシス ブロックをルートとする有向非巡回グラフとなり、これらのブロックの分岐がグラフ内のパスになります。) 次に、DMMS のターゲット コストの合計を計算して、各ブロック分岐の重み。最も重いブロック ブランチが「真の」履歴とみなされます。ブロックを作成するとき、マイナーは自分の希望に従ってトランザクションを選択し、他のトランザクションの手数料とネットワークによって定義された補助金を自分に分配するための特別な「報酬トランザクション」に、(彼が正統なチェーンのと考えているもの) を追加します。最新のブロックコミットメントを取得してから、DMMS を計算します。別のマイナーがブロックを作成して公開すると、マイナーはそれに応じて「真の履歴の最新ブロック」を更新し、この変更に対応するために自分のブロック内のコミットメントを変更します。 DMMS を計算した後、完成したブロックをネットワークに公開します。私たちは、これがコンセンサス履歴につながると主張します。これは、正確にどのブロックが真の履歴の一部であるか (どれがそうではないのか) について、ネットワーク全体が徐々に合意に達することを意味し、不一致は最近の履歴でのみ発生することを意味します。具体的な議論は Miller and La Viola Jr. [MLJ14] にあります (この記事ではエネルギー消費の度合いを測定できます。DMMS を使用できます。記事内の表現は「中程度に難しいパズル」です)。ここでは、それほど正式な議論ではありません。ネットワークは同期しているため、ブロックの送信時間はブロックの生成時間よりもはるかに短いため、すべての参加者は最も重い履歴をすぐに認識できます。

さらに、ネットワークの参加者のほとんどが、実際の歴史を拡張するDMMSの作成に参加すると信じています。エレガントで正しい理由が Vitalik Buterin [But15] によって提案されています。「報酬トランザクション」は、そのブロックが実際の履歴に属している場合にのみ受け入れられるため、各マイナーにとって、ナッシュ均衡は 6 の絶対的なモストに従うことになります。

注6: また、同じ記事でブテリンは次のように述べています: 「PoS 反対派が Andrew Poelstra が書いたこの記事 (つまり [Poe 14b]) から引用するのにうんざりしている場合は、この記事を Hit back として自由にリンクしてください。」彼がそれが何を意味するのかは完全には明らかではありませんが、彼は、1 つのシステムの外部のリソースを消費する以外にコンセンサスを生成する方法はないという記事の主張に、どこまでも反論していません。

「真の履歴」を変更するには、攻撃者はより大きな重みを持つ (つまり、ターゲットのコストがより大きい) 別の履歴を生成する必要があります (そのような代替履歴バージョンは、現在の履歴の最新の先頭から生成されるものとして定義できます) N ブロック) のフォーク)。実際の歴史を拡張している鉱山労働者のグループが多数派であるため、彼が持つリソースはそのグループよりも少ないです。したがって、ネットワーク内で彼が勝てる確率は 1 未満です (どの期間においても、ネットワーク内で実際の歴史を拡張しようとする試行回数は、自分自身の代替履歴を拡張しようとする試行回数よりも多いため)。そして彼自身の歴史は現実の歴史を超えており、彼はN回以上勝たなければなりません。 1 回勝つ確率が P < 1 の場合、N 回勝つ確率は PN ですが、N が十分に大きい場合、確率は無視できるほど小さいです。

(ここでの議論は非常に弱いです。攻撃者が継続的に勝利しなければならないことのみを考慮しており、ブロック生成の難易度が調整されることは考慮されていません。難易度を調整すると、攻撃者は古いブロックをより速く再作成できるようになります。ネットワークよりも新しいブロックの方が高速です。私はここで、何の根拠もなく、これらは深刻な問題ではなく、単に退屈な問題であると断言します。)

3.6 DMMS を使用しないコンセンサス

分散型コンセンサスメカニズムを作成するには、DMMS を使用する必要がありますか?これまでのところ、これは未解決の問題です。私の推測は「ノー」です。より具体的には、より低い難易度で将来のブロックをマイニングするための「クーポン」をマイナーに与えるようにビットコインプロトコルを変更するだけではコンセンサスを破る可能性は低いですが、このモデルは明らかにDMMSの上記の定義を満たしていません。

4. ステークの証明

ビットコインのコンセンサスメカニズムを基礎として、最も人気のある代替手段であるプルーフ・オブ・ステークを分析してみましょう。 PoS の説明については、[Poe14b] を参照してください。

現代の暗号化により、「情報」自体は物理的に現実で価値のあるものである」という概念が哲学科の教室から現実のビジネスの世界に移りました。私たちは、安全な通信によって支えられている経済活動をよく知っています。交渉、契約、取引、請求書、注文はすべて、偽造や傍受を恐れることなく公共のインターネットに送信できます。また、機密データが紛失または盗難された場合の経済的影響も誰もが知っています。 2009 年 1 月までに、暗号通貨 [Nak09] の出現により、価値のある情報の概念がより具体的になりました。詐欺や盗難を防ぐために暗号化 (物理的なセキュリティ機能なし) のみを使用して、オープンな通信媒体で代替可能な価値の保存場所を保持および交換できます。 「この暗号化キーは 10,000 ドルの価値があります。なぜなら、公開されたらこれだけのお金を失うからです」と言うだけでなく、「このキーは 10,000 ドルの価値があるが、その価値は割り切れます。はい、分割できます」とも言えます。 20ドルを他の人に送って、残りは自分用に保管してください。」この背景知識があれば、プルーフ・オブ・ステークは実際に簡単に理解できます。プルーフ・オブ・ステークは、暗号化された所有権の証明です。暗号通貨では、資本の証明は通貨の所有権を証明するだけでなく、お金がいくつかの特性を満たしていることも証明できます(たとえば、お金はロックされており、特定の条件が満たされるまで使用できません)。具体的には、資金が希少な実験的な暗号通貨に閉じ込められていることを証明することは、プロジェクトの成功に真剣な関心を持っていることの証拠とみなすことができます。ユーザーは、ロックインされた権利と利益を提供することで、プロジェクトの存続 (および持続可能な開発) に対する関心を証明できます。

つまり、Proof of Stake は、特定の計算が法外に高価であることを証明するために、ランダウアー限界のような物理理論ではなく、暗号の証明を使用できるという概念です。

4.1 プルーフ・オブ・ステーク対DMMS

「純粋なプルーフ・オブ・ステーク」を使用して暗号通貨の歴史に関するコンセンサスを生成するには、コスト関数がコイン自体の数を測定する、DMMS のような署名スキーム 7 を作成できることが前提となります。これは原理的には簡単に聞こえるので、[Poe14b] をもう一度引用します。

十分に表現力豊かな台帳では、通貨保有者は一定期間通貨をロックして、暗号的に検証可能な「ステーク」をリースできます。コンセンサス履歴を進める必要がある場合、各関係者は拡張コンテンツ (ブロック) にプルーフ・オブ・ワークを添付する代わりに、これらのコンテンツに署名します。実際的な便宜のため、一般的に言えば、ブロックが生成されるたびに、ブロックの生成を担当する利害関係者の一部がランダムに選択されます。さらに、ブロックの正当性を取得するには、小規模なチームの大部分のみが必要です。同意します。これらの選択されたステークホルダーには報酬が与えられ、一定期間後に希望に応じてステークのロックを解除できます。ここでの考え方は、歴史を制御する経済的コストを法外に高くするのではなく、(a) ブロックはすべてランダムに選択され、互いに共謀する可能性が低いため、利害関係者にはすべてのブロックに同意するインセンティブがあるということです。(b) たとえ彼らは互いに共謀するかもしれないが、システム全体を崩壊させることは望んでいない(例えば、矛盾する歴史に署名するとそうなってしまう)、(c) 彼らは大きな損害を与えるための資本が限られている。上記の理由により、次にランダムに選択された利害関係者グループは、信頼できると信じる履歴に基づいてブロックを作成することのみを選択する可能性があります。

注7: プルーフ・オブ・ステークスキームは、常にプロセスフリー(進捗フリー、つまり、以前に何を行ったかに関係なく、次の試行の成功率に影響を与えない)になるように設計されているわけではありません。それらはすべて、適切または安全なDMMSになる可能性があります。しかし、根底にある教義は依然として「歴史を作ることは非常に高価であり、正しい歴史に参加する人々に報酬を与える」というものであるため、私たちはコストというレンズを通してそれを見続けています。

この記事には少し複雑な内容が含まれています。実際のプルーフ・オブ・ステーク システムでは、多くの場合、1 人の署名者の承認のみが必要で、ほとんどの承認は必要ありません。

ここでの問題は、(通貨で)ロックされたステーク量を測定するコスト関数を適切に定義するには、その通貨のコンセンサス履歴が必要であることです。 「これらのコインが一緒にロックされている特定の歴史がある」という点までしか到達できない場合、最終的なDMMSは明確に定義されているかもしれませんが、そのコスト関数はもはや希少性の尺度ではなくなり、この論文のセクション3.5で述べられているようになります。結論も当てはまりません。

もちろん、複数の歴史に署名する利害関係者にペナルティを課すことによって、希少性が形成される可能性があります。たとえば、システムが Schnorr または ECDSA 署名スキームを使用しており、ステークホルダーが署名時に特定のノンスのみを選択できる場合、複数の履歴ペアに署名して 2 つのメッセージに署名する場合は、同じ (キー、ノンス) を使用する必要があります。秘密鍵を幾何学的に解く人もいます。ただし、このような設計では、利害関係者がブロックを「研削」すること (異なるブロックを継続的に試行すること) を防ぐことはできず、利害関係者が次のブロックでブロック プロデューサーであり続けることを許可するブロック 8 のみを公開することになります。この繰り返しにより、利害関係者がブロック全体を完全に制御できるようになります。ブロックチェーン。これは「杭打ち」攻撃の一例です。以下で説明するように、株式の粉砕は、より一般的な問題の特殊なケースにすぎません。

一般に、ワンタイム署名スキームは利害関係者が矛盾する歴史を公開することを防ぎます(攻撃者が引き起こした混乱からより多くを得るよりも失うコインの価値を高く評価している場合に限ります)が、一度性的署名が利害関係者が秘密裏に公開することを防ぐことはできません。相反する歴史を生み出します。

注8: 乱数は全員が同意する必要がある唯一のオブジェクトであるため、ブロックチェーン自体によって決定される必要があることに注意してください。そのため、PoS マイナーはステーク グラインドによってシステムをひねることができます。乱数を決定するために複数のブロックや長期ブロックを使用しても、この問題は解決されません。いずれにしても、誰かが乱数を操作する可能性があります。

4.2 コストのかからないシミュレーション

結局のところ、問題は、ステーク署名に対して結合されたコインが、それらのコインが属するブロックチェーン内にのみ存在することです。これは、特定のグループがブロックチェーンを安価に作成できる限り、そのようなグループは複数のブロックチェーンを作成し、自分たちの利益にとってより有利なものを選択することを意味します。

誰もが歴史を安く作ることができたら、システムは崩壊するでしょう。ロックド・エクイティのポイントは、通貨を長期保有する意欲のある人々のみが「安価な創造履歴」を利用できるようにすることであり、これらの人々にとって、このシステムは攻撃が不可能なほど意味のあるものであると推測できます。それ、それ。しかし、グローバルタイムがないため(ネットワークを初めて使用する人にとってはグローバル履歴もない)、「最近」コインを保持し始めた人と「常に」コインを保持している人を区別する方法はまったくありません。プルーフ・オブ・ステーク システムの場合、歴史のどの時点でも、通貨の転送、株式のロックとロック解除、ブロックへの署名を行うことができる一連の署名キーが存在します。現実世界のある時点で、システムが新しいブロックを作成すると、その時点でいくつかのキーが所有権に対応すると想定できます。ただし、現実世界の時間は流れ続け、このブロックは静的なものになり、それに関連付けられたすべての署名キーも静的になります。

もう一度言います。リアルタイムでは、ブロックチェーンはますます長くなり、権利のロックが解除され、コインは他の製品やサービスと交換され、それらのキーは、たとえ悪用されたとしても、所有者の価値を失うことになります。そして無意味になってしまう。しかし、不変ブロックチェーンの場合、ブロックのキーの意味は決して変更できません。

プルーフ・オブ・ステーク システムではキーの一部が将来を決定するため、これが問題を引き起こします。これらの鍵を誰が入手できるかは関係ありません (通貨を自分で清算したユーザー、または秘密鍵を一緒に購入した人、または秘密鍵を拾った人である可能性があります。ユーザーは秘密鍵を長期間保管するのが苦手です。特に、キーを非公開にし、二度と使用しないと思われるユーザーは、ネットワークをフォークしたり、別の履歴を作成したりすることができますが、新規ユーザーはどれが本物でどれが偽物であるかを区別できません。

重要なのは、ステークホルダーが多額の資金(市場価値が高い)をロックし、合意に従わなかった場合にすべての資金を失ったとしても、ユーザーがステークのロックを解除すると、この抑止力は消滅するということです。ロックが解除されるのは遅かれ早かれ(システムの外側から見ても、システムの内側から見ても)訪れるでしょう。そして現時点(このブロック)では、いつ(どのブロックが)ロック解除されるかを判断することは不可能に違いありません。権利と利益が解放されます。したがって、システム内部で定義された値をロックしても、フリーヒストリー、つまり「ゼロコストシミュレーション」を防ぐことはできません。

4.3 「遠距離」攻撃と「近距離」攻撃

ステークホルダーにステークを長期間バインドすることを要求し、署名者の選択にランダム性を生成するために昔のブロック (ブロック単位) を使用する場合、上記の攻撃者が長期間にわたって履歴を書き換えなければならないようにすることができます。よく「近距離攻撃を防ぐ」と言われます。

明らかに、これでもゼロコスト シミュレーションの問題は解決されていません。結局のところ、履歴自体の作成が簡単であれば、どれだけ長くても履歴ブランチの作成は簡単です。しかし、支持者は、正直な署名者によって作成された歴史があり、このチェーンに蓄積されたブロックの数も現実世界のより長い時間に対応し、この歴史の変更は参加者に関係するだろうとよく言います。衝突。したがって、人々はそれが攻撃であることを検出して認識し、それを拒否することができます。

ソフトウェアがここでのルールを正しく実装している場合は問題ありませんが、ビットコインなどのシステムで使用される信頼モデルが変更されます。ネットワークに初めて参加する人は複数の歴史に直面し、どれが真実であるかを自分だけで判断することはできなくなり、ネットワークの既存の参加者 (友人、家族、有名な大企業、公共の Web サイトなど) に尋ねる必要があります。 .) どの歴史が真実なのか。これは分散型コンセンサスメカニズムではありません。これは別のタイプのコンセンサス メカニズムであり、常にオンラインにいる仲間間で分散的に形成できますが、新規ユーザーや長期間オフラインだったユーザーは誰かを信頼する必要があります。このモデルは、当然のことながら、法的圧力、「信頼できる」エンティティに対する攻撃、サイバー攻撃に対して非常に脆弱です。

4.4 その他の考慮事項

[Poe14b] を再度引用します。

ETH
开发者
Odaily公式コミュニティへの参加を歓迎します
購読グループ:
https://t.me/Odaily_News
チャットグループ:
https://t.me/Odaily_GoldenApe
公式アカウント:
https://twitter.com/OdailyChina