作業証明の代替案の概要。 パート2.アクティビティの証明、書き込みの証明、容量の証明、および将軍

Bytecoin.orgからのクールな記事の翻訳を続けています。 今日は、仕事の証明のためのレイパターソンの代替案、パート2:活動の証明、火傷の証明、能力の証明、およびビザンチン将軍です。 パート1はここにあります



PoW vs PoS:他に何が?



そのため、Proof of Stakeのエネルギー効率は両刃の剣です。 一方では、エネルギーは無駄になりませんが、他方では、これらの支出がなければ、分散コンセンサスモデルはやや不安定に見えます。



他にどんな引数を与えることができますか? PoSに対して、このスキームは「金持ちをより豊かにする」と繰り返し主張されてきました。 実際、コインが最も多いものが最も多くのブロックを見つけて利益を最大化し、コインの数を増やします。 実際、この形式では、この告発はPoWに直面して表現することもできます。鉄に最も多くのお金を投資した人はより多くの収入を得るでしょう、これは自然なことです。



しかし、暗号通貨について話すと、写真は異なって見えるようになります... PoSは最初のブロックから始まります。 そして、新しいお金を発行するために使用されます。 たとえば、開始時にすべてのコインの10%を持っている人は、すべてのブロックの10%を見つけるため、問題の10%を受け取ります。 つまり、可能な100個のうち最初の10個のコインを購入した後、彼はしばらくすると100万個のうち10万個を持つことになります。 いいですね?



ご覧のように、PoSの問題は、この非常に限られたリソース(コイン)がシステム内で非常に制限されている場合に発生します。 絶対値は相対値よりもはるかに重要になります。結局、ブロックチェーンセキュリティモデルは相対値で動作します(「ネットワーク容量の半分は正直な参加者の制御下にある必要があります」)。



さらに、PoSは初期のコイン配布の問題を解決しません。 つまり、それは決定します-しかし「不誠実」。 ほぼすべてのマネーサプライが数十人の手に渡っていたピュアPoSベースの通貨NXTに対する告発は、まだ終わっていません。



結論は次のとおりです。純粋なPoSシステムは、野生の暗号通貨環境での生存にはあまり適していません。 しかし、PoWと交差させたらどうなりますか?



ハイブリッドシステム。 活動証明



PoWとPoSを組み合わせた標準的なハイブリッドスキームは、実際、非常に多くのPeerCoinクローンとその中に実装されています。 PoWブロックは、PoSブロックとともに検索されます。 ブロックチェーンは両方のタイプのブロックで構成されています。



これの利点は何ですか? まず、「履歴の書き換え」はそれほど単純ではありません。 チェーン全体での作業の全体的な複雑さを考えると、PoWブロックはある種のチェックポイントとして機能できます。 「実際の」作業でブロックに含まれるトランザクションは、売り手の信頼を高めます。 第二に、PoWブロックを介して「正直な」新しいお金の放出を行うことができ、PoSは「年間預金収入」と見なすことができます。



ただし、賭けなしの問題は依然として残っています。PoSブロックは任意の高さで検索できます。 アイデアがあります:両方のアプローチを1つのブロックで同時に使用して、いわば、両方ともステークウルフに餌を与え、電気羊を救うことです。 これらの電気ヒツジの夢は2014年にIddo Bentovらによって実現され(これまでは紙上でのみ)、Proof of Activity(PoA)と呼ばれていました。



PoAの仕組み
PoAは非常に簡単に機能します。



  1. まず、PoWマイナーが機能します。複雑さを満たすハッシュを検索します...すべてが通常どおりです。
  2. このようなハッシュを検出すると、すべてのデータをネットワークに送信しますが、これはまだブロックではなく、「空白」にすぎません。 このような空白がいくつかある場合があります。
  3. ブロックハッシュ(256の擬似ランダムビット)は、N個の数値として解釈されます。 各番号は、サトシに一意に関連付けられています(たとえば、最初のブロックから発行されたすべてのコインに番号を付ける場合)。
  4. 各Satoshiは、現在の所有者の単一の公開キーに関連付けられています。 つまり、N個のランダムな所有者を特定しました。
  5. ブロックの「調達」は、N人の所有者全員が(ステップ4で定義されたキーで)このブロックに署名を置くとすぐに本格的なブロックに変わります。
  6. 現時点で署名者の1人が利用できない場合(または個人的な理由でマイニングに参加していない場合)、問題はありません。 PoWマイナーは作業を継続し、さまざまな候補者のセットでこれまでにない「空白」を生成します。
  7. 遅かれ早かれ(オンライン参加者の割合に応じて)、ブロックはN回署名されます。 ブロック報酬は、PoWマイナーとN人の所有者すべてに分配されます。




備考:

  • このプロトコルでは、明らかに一定のデータ交換が必要です。 トラフィックを削減するために、ブロックプレハブにはトランザクションのリストが含まれていません。 最後の所有者がそれらをピックアップし、ブロックを完成させます。
  • N = 3で、ユーザーの約10%がオンラインの場合、PoWマイナーは、署名されるまで、平均で約10 * 10 * 10 = 1000の「空白」を生成することは明らかです。 しかし、数百バイトのオーダーのメッセージサイズでは、これは重要ではありません。






PoAでは、各ブロックはPoWマイナーとPoSマイナーの両方が共同で参加した製品です。 そして、ここでの主なポイントは、PoW参加者によって何らかの作業が行われた後にのみ所有者がゲームに参加するということです。 つまり、コインの50%の特定の所有者がいる場合でも、新しいブロックの作成を単独で管理することはできません。 まず、Nの値が大きい場合、彼は他の所有者と計算する必要があります(N = 3の場合、「選択される」だけの確率は0.5 * 0.5 * 0.5 = 12.5%です)。 第二に、PoWマイナーはそれを単に無視できます。つまり、「独占者」がブロックに署名できるようにするブロックブランクを「破棄」します。



前述のとおり、PoAは理論的なプロジェクトにすぎません。 なんて残念...



エキゾチックなビット



もちろん、PoWとPoSに加えて、あなたの名前を選択する他の証明も提供されました。インターネットには常に十分な証拠がありません。



燃焼の証拠は 、あなたが思った通りに機能します。電気を燃やすのではなく、デジタルコインを破壊する必要があります。 いいえ、ハードドライブをフォーマットする必要はありません。 「バーニング」は、使用されないことが保証されているアドレスに送金することにより発生します。 たとえば、乱数のハッシュであるアドレスに対して、それに対応する公開鍵と秘密鍵を取得する可能性は無視できます。



したがって、このようにしてコインを取り除くと、生涯の採掘権が得られます。これは、燃やされたコインのすべての所有者の間で宝くじとしても手配されます。 そして、もちろん、あなたが燃やすほど、あなたのチャンスは大きくなります。 本質的に、それは決して悪くならないコインのために仮想PoWハードウェアを購入するようなものです。 または、返金できないPoSデポジットとして。



著者自身が指摘しているように、この方法は暗号通貨開発の初期段階には適していません。 しかし、マネーサプライの大部分がすでに生成されている「成熟した年」においては、(経済的観点からも含めて)うまく機能するはずです。



Proof of Capacityは、リソースとしてメガバイトという一般的な考え方を実装したものです。 何かを破壊したり破壊したりする必要はありませんが、マイニングに参加するには大量のディスクスペースを割り当てる必要があります。 このようなソリューションのエネルギー効率に加えて、ボットネットに対する保護という別のポイントがあります。 被害者のコンピューターにマイナーをインストールして、数テラバイトをつかむことが非常に困難です。



アルゴリズムは、公開キーと乱数からハッシュを繰り返して取得した大量の大きなデータブロックをディスク上に作成します。 最後のブロックヘッダーからインデックス番号を取得し、大きなデータブロックのそれぞれにこれらのインデックスを持つ小さな断片を取り込みます。 より多くのスペースが割り当てられると、より多くの断片ができます。 さらに通常どおり:ピースからのハッシュと最後のヘッダーは、ターゲットよりも小さくなければなりません(現在の複雑さを考慮して)。 要するに、メガバイトのHDDのそれぞれは、マイニングにおける追加の宝くじチケットです。



控えめに言っても、この実装は理想的ではありません。 第一に、ステークの問題は何もありません。PoSの場合のように、すべてのテラバイトを即座に調べて、代替チェーンでチャンスをチェックできます。 つまり、余分なリソースを消費することなく、一度に複数のチェーンを同時にマイニングします。 第二に、ディスクへのアクセスにはかなりの時間がかかり、単純なASICを使用してその場で新しいチャンクを生成する方がおそらくより効率的です。 次に、PoWアルゴリズムを取得します。



「メガバイト」 -Proof-of-Storageについても同様の概念がありますが、割り当てられたスペースは共有クラウドストレージとしてすべての参加者によって使用されます。 このアイデアは非常に興味深いものですが、その単なる説明はこの記事には大きすぎます。 サイトのシステムの設計に慣れることができます。



私が聞いたことのない、何人かのさまざまな見た目のママの手がないことが疑われます。 おそらくそれらの中に真珠があります。



数学的補足:一般的にはそれと何の関係があるのでしょうか?



コンピュータサイエンスには、「 ビザンチン将軍の問題 」というタスクがあります。 次のように定式化されます。



ビザンチウム。 大戦の前夜、ビザンチン軍にはn個の軍団が含まれます。 それらのそれぞれは、彼の将軍に従います。 ビザンチン軍全体には司令官がおり、将軍を率いています。 帝国は衰退しており、司令官を含む将軍の間には裏切り者がいる可能性があります。 一晩中、各将軍はリーダーから朝に行動の命令を受け取ります。 これは、「攻撃」または「退却」の2つのオプションのいずれかです。 すべての正直な将軍が攻撃すれば、彼らは勝利するでしょう。 全員が退却すれば、軍隊を救うことができます。 部品が攻撃され、部品が後退すると、それらは失われます。 司令官が裏切り者である場合、彼は異なる将軍に異なる命令を与えることができます。したがって、彼の命令は暗黙的に実行されるべきではありません。 各将軍が独立して行動する場合、戦闘の結果も悲惨なものになります。 したがって、一般の人々は合意に達するために互いに情報を交換する必要があります。



これは暗号通貨と何の関係がありますか? これへの答えはサトシ自身によって与えられます:仕事の証明メカニズムを使用して、将軍はこのタスクに対処できます(一般的に言えば、実際には非常に困難です。 実際、彼らは分散コンセンサスを確立するためだけにアルゴリズムを必要としています。これは、「多数派が考えていること」を見つけ出し、自分で貢献するための方法です。



暗号通貨では、将軍はネットワークノードであり、それらのメッセージはブロックのチェーンです:長い方が真実であると見なされます(より正確には、より多くの作業が行われています)。 重要な点が1つあります。Satoshiモデルでは、確率論的ソリューションが得られます(「攻撃者がx%のハッシュレートを持っている場合、y%の確率でネットワークをだますことができます」)。 違いと正式なアプローチについては、 こちらをご覧ください



サトシはステークの証明と他の代替案が登場する前にシーンを去ったので、ビザンチン将軍の任務への適用性についての彼の意見を知ることはまずありません。 明らかに、すべてがそれほど単純ではありません。これまで見てきたように、純粋なPoSは純粋なPoW(無料のランチなし)ほど安全ではありません。 他のオプション-ハイブリッドプロトコルまたは完全に異なるアプローチ-それらは対処しますか? 質問はまだ開いています。



All Articles