Proof of Workの説明:PoWの長所と短所

ネットワークのトランザクションを検証するための権限ユニットがないため、コンセンサスアルゴリズムはすべてのブロックチェーンベースのテクノロジーに固有の部分です。コンセンサスアルゴリズムは、ネットワークの分散型のトラブル防止機能を提供するためのものです。特定のブロックチェーンベースのプロジェクトごとに適用されるコンセンサスアルゴリズムの重要性を過小評価することはできません。ビットコインは、Ethereumブロックチェーンの元のコンセンサスアルゴリズムでもあるProof of Workを利用しています。このコンセンサスアルゴリズムを使用する価値があるのか、それとも他のオプションを使用するのが良いのかについて、人々は議論しています。

仕事の証明の初期の歴史

Proof of Workに近いアルゴリズムの最初の例は、1993年に、 "On Memory-Bound Functions For Fighting Spam"と呼ばれる科学論文でアンチスパムソリューションを考案したCynthia DwardとMoni Naorによって紹介されました。このホワイトペーパーで説明する方法では、送信者がスパマーではないことを証明するために、メッセージの不明な送信者が自分のCPUパワー(たとえば10秒)を費やす必要があると想定しています。

DwardとNaorによると、スパマーがCPU時間の10秒を費やす必要があるのは、今日送信できる無制限の数のスパムメッセージではなく、1日に最大8,000のスパムメッセージだけを送信することです。作業証明の裏にある機能を確認することは難しいことではありませんが、それを計算することはスパム送信者にとって本当に頭痛の種です。

Proof of Workという用語は1999年に作られた。 「Proofs of work and bread pudding protocol」 (著者のMarkus JakobssonとAri Juels)という記事で登場した。 Proof of Workの概念そのものは、「検証者」が「検証者」に、指定された時間経過で実行された必要なコンピューター作業の証拠を提供する必要があることを想定しています。概念は非常に興味深いように見えましたが、信頼を伴わずに分散コンセンサスによって管理されるネットワークを作成するためにProof of Workに強く依存するビットコインが作成されるまで、それは実現されませんでした。

ビットコインと作業証明

作業の証明は、正確性を簡単に確認できるデータの一部を作成するための高価で時間を節約するプロセスを必要とするコンセンサスアルゴリズムです。 HashcashのProof of Workシステムは、スパムボットからの救済として作成されましたが、最終的にはビットコインネットワークの定番になりました。

人々がお互いにコインを送る間、台帳はこの情報をトランザクションのブロックの形で反映します。これらのトランザクションの検証には、マイニングを実行している一部のワーカーの参加が必要です。

トランザクションの検証に熱心な人々(「マイナー」と呼ばれます)は、目標を達成するために、作業証明の手順を実行する必要があります。 1つのワーカーは1つのノードです。この作業(タスク)の難易度は柔軟であるため、新しいブロックは10分ごとに生成する必要があります。マイナーの数は非常に多く、10分の経過時間が比較的短いため、新しいブロックを生成するワーカー(マイナー)を予測することは非常に困難です(ブロック内のすべてのトランザクションを検証します)。

作業証明のメカニズム

新しいブロックマイナーを生成するために、マイナーはトランザクションのブロックに正しいハッシュを提供する必要があります。そうするために、鉱夫はナンスとハッシュ関数を理解する必要があります。ナンスは1回だけ使用される乱数です(ビットコインネットワークはゼロと4,294,967,296の間の整数をノンスとして使用します)、ハッシュは64シンボルの文字列(数字と文字)暗号化されたデータを含みます。

ブロックチェーン内のブロックには個別のハッシュがあります(このようなハッシュは「id」と呼ばれます)。すべてのハッシュは、ブロックの検証が成功した結果として作成されます。次のブロックを検証するために、鉱夫は最新のハッシュを現在のブロックに追加して、巨大なテキストブロックを作成します。次に、ナンス(乱数)がテキストブロックの最後に追加されます。このテキストは、前のブロックハッシュ、検証を待っている新しいトランザクション、ノンスで構成されています。そこから計算が始まります。計算中に、ワーカーは、文字列の前にあるゼロの正しい数が定義される瞬間まで乱数を変更します。

このタスクの難しさを過小評価してはなりません。前述のように、難易度は、鉱山労働者の数や装備の力に関係なく、各問題が10分に1回しか解決されないレベルに設定されています。この作業を行うために、コンピュータは毎秒数百万の可能なハッシュを生成する必要があります。

一部のノードが必要な作業を正しく実行したかどうかを確認するには、検証の結果として表示された文字列とナンス番号が必要です。これらの2つの値に関数を適用すると、文字列の前にゼロの数が表示されます。この数が正しければ、作業はうまく行われました。誰かが悪意を持ってチェーンに無効なデータを追加しようとすると、マイニングの他の参加者によって停止されます。 10年間の規模で、このスキームはビットコインブロックチェーンの保護に成功しました。 SHA-256アルゴリズムの特別な点は、ブロック内の1ビットの情報でさえも密かに変更できないことです。このため、この元帳は不変と呼ばれます。

作業証明の短所

このコンセンサスアルゴリズムはブロックチェーンの保護に関して非常に効果的であることをすでに説明したので、PoWが必要とする信じられないほどの電力消費が単なるリソースの浪費であることに同意することはできません(PoWの多くの反対者がそのような主張をしています)。それにもかかわらず、Proof of Workがトランザクションの検証中にゼロの数を推測するために莫大なエネルギーを費やすという事実を無視することはできません。現在、 ビットコインネットワークは従来のお金のシステムの3分の1のエネルギーしか消費しませんが、ビットコインが大量に採用されると想像すると、エネルギー消費は大幅に増加します。とにかく、ビットコインは従来の銀行に取って代わるものではないので、ビットコインのおかげで消費量は増加します。

もう1つの問題は、マイニングにCPU、GPU、またはASICデバイスを使用している人は、マイニングに何万ものデバイスを利用するマイニングプールと競争しなければならないため、新しいブロックを見つけて報酬を得る機会がほとんどないということです。マイニングの約半分は、比較的小さなマイニングプールのグループで行われます。これらのプールの所有者が、ハッシュ力を使用してビットコインブロックチェーンを統合および統治することを決定した場合、彼らはそれを実行できるというリスクがあります。ハッシュ能力の50%を超える権限が実際にブロックチェーンを管理できます。このような侵入は、 51%攻撃として知られています。

もう1つの注目すべき事実は、ハッシングパワーの70%が中国から来るということです。中国には電気が安いからです。それはこの国にビットコインマイニングの利点を与え、地方分権のレベルを下げます。

結論

このコンセンサスアルゴリズムのコストにより、トランザクションを検証してネットワークを正しくスムーズに機能させる他の可能な方法が考えられますが、Proof of Workは実際にネットワークを悪役から保護します。別のブロックチェーンプロジェクトに適用されている他のコンセンサスアルゴリズムがすでにいくつかあるのも不思議ではありません。 PoWで最も注目されているのはProof of Stakeです。