作業証明の代替案の概要。 パート1.ステークの証明

Bytecoin.orgからのクールな記事の翻訳を続けています。 今日-「 仕事の証明の代替案、パート1:ステークの証明 」レイパターソン。

「暗号通貨における仕事の証明の進化の簡単な歴史」の翻訳も読んでください: パート1およびパート2



作業証明の批判



私たち全員が覚えているように、Proof of Workは1993年に暗号学者の家族で生まれました。 彼の両親はDoSとスパムに対する防御者として彼の経歴を予測しました。 しかし、2008年に、彼は特定の匿名の著者から日本語のアクセントのある魅力的なオファーを受け取りました。これは、分散タイムスタンプサーバーの基盤になるためです。 スキームは単純に見えました。ネットワークノードは、トランザクション履歴のバージョンに「投票」し、「まれな」ハッシュの計算に力を注ぎます。 投票の過半数を受け取ったバージョンは、他のノードによって参照として受け入れられます。



重要なポイントは、ネットワーク全体の大きな電力を提供することでした。潜在的な攻撃者からリソースの51%を保護するためです。 ただし、PoWの当初の概念は、サーバーリソースにアクセスするためにクライアントが完了する必要がある小さなタスクを意味していました。 このようなDoS保護モデルのフレームワーク内では、小さなクライアント容量でもリソースの公正な使用を妨げず、大きなクライアント容量は単に必要ありませんでした。 したがって、鉱山労働者の仕事の動機は、「現物」、ビットコイン、すなわち 実際にお金。



そして、それはすべて変わりました。 暗号通貨の世界では、PoWは採鉱の収益性をめぐる競争で電気をむさぼり食うモンスターに変わりました。 深刻な主張は、ビットコインネットワークの総容量がパフォーマンスで世界で最も強力なスーパーコンピューターを「 上回った 」2012年頃に現れました。 「エネルギーの無駄遣いです!」叫び声があらゆる方面から聞かれました。 最初の代替案がすでに地平線上にあるため、51%の攻撃と銀行ターミナルのエネルギー欲求に対する保護に関する防御者のti病な抗議は無視されました。



ステークの証明



アイデアとして、彼は2011年にbitcointalkの投稿の1つで生まれました 。 最初の実装は、1年後の2012年に暗号通貨PPCoin (現在はPeerCoinと呼ばれる)でリリースされました。 将来、同様のプロトコルが他のプロジェクトに登場しましたが、それらについては少し後になってからです。



PoSにはさまざまな化身がありますが、1つの一般的なアイデア:投票する必要がある限られたリソースは、外の世界(焼けた鉄と電気)だけでなく、システム自体の内部(デジタルコイン自体)にもあります。 コインホルダー-利害関係者(利害関係者)-もちろん、投票中にそれらを費やすのではなく、しばらくの間それらをブロックするため、制限が達成されます。 明らかに、マイニングのためにコンピューターの電源を入れる必要がありますが、深刻な計算を行う必要はありません。



PPCoinの仕組み
したがって、鉱夫の資源はコインです(もちろん、未使用)。 より正確には、それぞれが特定の数のコインに対応する未使用のトランザクション出力です。 マイニングは次のように行われます。











  1. 少なくとも30日前に受け取った出口を選択します。
  2. カーネル構造を形成します。これには、出力からの決定論的データ(出現したブロックの時間、ブロック内のその番号など)、現在の時間などが含まれます。 nStakeModifier(周期的に再計算された擬似ランダムビットのブロック)。
  3. カーネルをハッシュし、受信値を現在の目標と比較します。現在の目標は、ネットワークの現在の複雑度(複雑度が高い-目標が低い)、出力の「年齢」(年齢が高い-目標が多い)およびその量(コインが多い-目標が多い)に依存します。
  4. ハッシュがターゲットよりも大きいことが判明した場合、ステップ1に戻り、次の出力を取得します。
  5. 出口が「成功」であることが判明した場合-コインベーストランザクション(自己送信)に費やし、含まれるトランザクションからブロック報酬とコミッションを追加し、使用済みの出口に関連付けられたキーでブロック全体に署名します。
  6. 出来上がり、ブロックの準備ができました。 次の検索を開始します。


備考:

  • ブロックチェックは確定的です。現在の時間はブロックヘッダーから取得され、終了データはブロックチェーンから取得され、nStakeModifierも各ブロックに対して一意に計算されます。
  • 出口は「古い」ものである必要があります。これにより、攻撃者は自分の財布の間でお金を送って「すぐに」出口を得ることができ、すぐにブロックを見つけることができます。
  • nStakeModifierは最後のブロックに基づいて計算されるため、予測できません。 これにより、マイニングはさらに予測不可能になります(そして、起こりうる攻撃に対してより耐性があります)。
  • パラグラフ2の現在のタイムスタンプは大きく異なる可能性があります:プラスまたはマイナス1時間。 したがって、実際には、各出力について、1つのハッシュではなく7200のハッシュをチェックできます。
  • 「年齢」の目標乗数は、上から90日間に制限されています。 さもなければ、攻撃者は、ごく少数の非常に古いコインで、高い確率で連続していくつかのブロックを生成できます。




実際、PoSマイニングのプロセスはPoWと同じ宝くじです。 ただし、容量に応じてチケットを「支払う」必要はありません。オプションの並べ替えは、ご自身の出力の非常に限られたスペースで行われ、CPUの速度に依存しません。 チャンスは、コインの総数と現在のネットワークの複雑さによってのみ影響を受けます。



これにより、次の利益が得られます。



  1. エネルギーを節約します。 ここで議論することはできませんが、マイニングエリアを個人のPCに制限するPoW(Primecoinを参照)またはASIC耐性機能(Cuckoo Cycle、CryptoNigh、Ethashなど)に「有用な作業」を使用できます。
  2. 終わりのない「軍拡競争」の欠如:現在、総ハッシュレートは、ムーアのルールと熱力学の法則によってではなく、参加者の財布のコインの総数によって制限されています。 一方、そのようなモデルでは、リソースの大部分が正直な手にあるかどうかを理解することは困難ですか?
  3. 攻撃はさらに高価になっています。 コインの51%を購入したい場合、市場は価格の急激な上昇に反応します。 さらに、すべてのリソースがこのネットワークの仮想コインに投資されている場合、ネットワークを攻撃するポイントは何ですか?


すべてが素晴らしいようです。実際に、物理的な作業を何らかの仮想リソースに置き換えました。 しかし、これは問題ではありませんか?











ステークの証明に対する批判



質問に答えてください:お金はいくらですか? 誰かがあなたに目を向けて、あなたが長い間あなたのすべてのお金を使った秘密鍵をあなたから買うことを申し出たら、あなたはどんな価格を交渉しますか? これらのキーはすでに無料であり、誰も必要としないので、どんなオファーもあなたに合っていると思います:これは何もないからのお金です!



ここで、過去のポイントXについて、すべてのコインの50%(またはそれ以上)が攻撃者が現在購入したキーにあったことが判明したと想像してください。 簡単にするために、瞬間Xは2番目のブロックの作成直後の時間であり、誰かが両方のブロックのキーを購入したと仮定できます。 もし彼が過去に戻っていたら、彼は全体のマネーサプライの100%を所有していたでしょう。



実際、彼は過去に物理的に戻る必要はありません。 この瞬間から、彼はこれらの古いコインでマイニングすることにより、「ブロックチェーンの歴史全体を書き換える」ことができます! さらに、新しいブロックごとに報酬を受け取り、その資本を増やします。 彼はトランザクションを作成する必要さえありません(ただし、彼は自分自身にお金を移すことができます)。



ある時点で、彼の代替チェーンは実際のチェーンに追いつき、ブロック数を追い越すことさえあります。 それらの間に構文上の違いがないため、ネットワーク全体がそれに切り替わります。 ただし、主な違いは、そのうちの1つでは、コインの半分以上が依然として攻撃者のものであるということです。 だから、「死んだ魂」を売ることによって、あなたは簡単に「生きている」ものを失うことができます。



もちろん、そのような特定の攻撃は戦うことができます。 たとえば、PeerCoinは、通常のチェックポイントの実践を使用します。開発者のキーで署名されたブロックで、ブロックチェーンの再構築が禁止されている「より深い」ブロックです。 しかし、これはプライベートなソリューションであり、より一般的な問題を排除するものではありません。











問題は、マイニング-投票-に費用がかからず、物理的な費用を必要としないことです。 たとえば、ある時点で2つのブロックが同じ高さで表示される場合(フォークチェーン)、両方のバージョンのチェーンを同時にマイニングできます。 PoWでは、これは明白な理由により、原則として不可能です。チェーンAの検証済みハッシュは、チェーンBの未検証ハッシュです。過去)。



PoSでは、ダブル支出攻撃を実装するのがはるかに簡単です。 次のブロックの2つのバージョンをマイニングすれば常に十分です。1つは売り手にお金を転送するトランザクション(Nの確認を待たない)、もう1つはあなたに転送するものです。 両方のブロックが見つかった場合は、最初のブロックを売り手に送り(そしてあなたの商品を受け取り)、2番目のブロックを他の全員に送ります。 高い確率で、チェーンの2番目のバージョンが継続され、お金が戻ってきます。



PoSの問題は、複数の代替ブランチを一度にマイニングすることが有益であることです。 成功の可能性がゼロでない限り、無料でそれを行うことができます。つまり、収入の期待を高めることができます。 PoWでは、このようないたずらは許可されていないため、1つのブランチ(どちらを選択するか)でしか採掘できません。 その結果、PoWモデルでは遅かれ早かれコンセンサスに達し、純粋なPoSでは収束を保証できません。



この問題に興味がある場合は、 ここで詳細を見つけることができます



次のシリーズを読む:



-戦争。 戦争は変わらない。 PoWおよびPoSサポーターは他にどのような議論を展開していますか?

-戦争ではなく愛を作る:PoW + PoS =活動証明

-あなたの証拠は何ですか? 書き込みの証明、容量の証明。

「将軍は一体何をしているの?」



All Articles