キーポイント

  • Proof of Work (PoW) は、デジタル決済システムでの二重支出を防ぐために設計されたコンセンサス メカニズムです。

  • PoW はマイニングの重要な部分であり、トランザクションのブロックをブロックチェーンに追加し、暗号通貨の新しいユニットを作成することが含まれます。

  • ビットコインや他の多くの暗号通貨は、ブロックチェーン ネットワークとデータを保護するために PoW メカニズムを使用しています。

導入

つまり、Proof of Work (PoW) は、デジタル決済システムでの二重支出を防ぐために設計されたメカニズムです。ビットコインや他の多くの暗号通貨は、ブロックチェーン ネットワークとデータを保護するために PoW を使用しています。このような要素は、複数の当事者がお互いを信頼することなく合意に達することを可能にするため、コンセンサス メカニズム (またはアルゴリズム) と呼ばれます。

Proof of Work は最初のコンセンサス アルゴリズムであり、現在でも Proof of Stake (PoS) と並んで最も重要なアルゴリズムの 1 つです。 PoW は 2008 年のビットコイン ホワイトペーパーでサトシ ナカモトによって紹介されましたが、テクノロジー自体はそれよりずっと前に提案されていました。

Proof of Work アルゴリズムの初期の使用例は、暗号通貨よりも前に登場した Adam Back の HashCash システムです。電子メールを送信する前に少数の計算が必要なため、スパムの量が減少しました。このような計算は、平均的な送信者にとっては実質的に何の費用もかかりませんが、大量のメール送信プロセスは大幅に複雑になります。

二重支出とは何ですか?

同じ資金が複数回使用されると、二重支出が発生します。実生活では同じお金が二度使われる状況を想像するのは難しいため、この用語はほとんど常にデジタル通貨に関連して使用されます。 

たとえば、コーヒーを買うとき、レジ係にお金を渡し、レジ係がそれをレジに置きます。別のカフェに行って、同じ請求書で 2 杯目のコーヒーの代金を支払うことはできません。ただし、電子マネー システムではこれが可能です。 

おそらく、すでにコンピュータにファイルをコピーしているでしょう。同じファイルを数十人に簡単に送信できます。また、電子マネーは単なるデータであるため、同じ単位をコピーして別の場所に送信するという二重支払いの可能性を排除する必要があります。デジタル決済システムが二重支出を防ぐことができなければ、すぐに崩壊してしまいます。

二重支出について詳しくは、「二重支出とは」の記事をご覧ください。

なぜ作業証明が必要なのでしょうか?

ブロックチェーンのガイドをすでに読んでいる方は、暗号通貨ユーザーがトランザクションをネットワークにブロードキャストしていることをご存知でしょう。ただし、トランザクションはすぐに有効になるわけではなく、検証されてブロックチェーンに追加された後にのみ有効になります。

たとえば、ビットコイン ブロックチェーンは、誰でも閲覧できるパブリック トランザクション データベース (レジストリ) として動作します。あなたと 3 人の友人が、ビットコインの取引を書き留めるメモ帳を持っているとします。誰かが資金を送金したい場合、その人はノートに次のようにメモします。

アリスはボブに 5 BTC を支払います。ボブはキャロルに 2 BTC などを支払います。

各送金を行う際には、資金を受け取った前の取引を参照する必要があります。つまり、ボブが 2 BTC をキャロルに送金すると、エントリは次のようになります。 

ボブは、アリスとの以前の取引から 2 BTC をキャロルに転送します。

このようにして、すべての BTC 送金を追跡できます。ボブがキャロルに送金したのと同じ 2 BTC を使用して別のトランザクションを実行しようとすると、すぐに誰もがそれを知ることになります。同グループは、同氏がその2BTCをすでに使ってしまったため、そのような取引をノートブックに記録することを許可していない。

このようなシステムは、参加者全員がお互いをよく知っている小グループでうまく機能します。これは、トランザクションを一般リストに追加する責任を誰が担当するかについて合意することが容易になるためです。しかし、10,000 人のメンバーを集めたい場合はどうすればよいでしょうか?見知らぬ人がそのような財務台帳を管理することを誰も信頼しないため、メモ帳を使用するというアイデアはうまく拡張できません。

これが、Proof of Work アルゴリズムが必要な理由です。ユーザーが使えないお金を使わないようにすることができます。ゲーム理論と暗号を使用するこのアルゴリズムにより、どのユーザーもシステムのルールに従ってブロックチェーンを更新できます。

PoWはどのように機能しますか?

上の例のメモ帳をブロックチェーンとして考えてください。ただし、トランザクションは 1 つずつシステムに追加されるのではなく、ブロックに結合されます。ブロックを作成するユーザーは、候補ブロックにトランザクションを含めます。トランザクションは、候補ブロックが確認され、ブロックチェーン データベースに追加された後にのみ有効とみなされます。

トランザクションを確認し、新しいブロックを追加するプロセスはマイニングと呼ばれます。非常に複雑でコストがかかりますが、ブロック報酬の形で利益を生み出すことができます。これは、取引手数料とプロトコルによって作成された新しいビットコインで構成されます。 

Proof of Work メカニズムでは、マイナー (ブロックを作成するユーザー) は、解決策が見つかるまで候補ブロックのデータのハッシュにリソース (電力と計算能力) を投資する必要があります。

ブロックのハッシュ化には、ブロックをハッシュ関数に渡してハッシュを生成することが含まれます。ブロック ハッシュは「フィンガープリント」として機能し、各ブロックに固有の入力データの識別子として機能します。

言い換えれば、マイナーは保留中のトランザクションを検証して収集し、それらを候補ブロックに結合し、ハッシュ関数を通じてブロック データを実行して正しいハッシュを取得する必要があります。マイナーが候補ブロックの正しいハッシュを見つけることができた場合、それをネットワークに送信し、ブロックをブロックチェーンに追加して、マイニング報酬を受け取ります。

マイナーが候補ブロックとハッシュをネットワークに送信すると、他のネットワーク参加者がハッシュ プロセスを繰り返し、結果の有効性を確認します。 

正しいハッシュを見つけるには膨大な回数の試行が必要ですが、完成したハッシュの正しさをチェックするのは非常に簡単です。これを行うには、同じ入力データ (ブロック データ) をハッシュ関数に渡し、結果が一致するかどうかを確認するだけです。

Proof of Work では、データを直接取得する方法がわからない場合、そのハッシュがプロトコルで定められた特定のルールに従っているデータを提供する必要があります。唯一のオプションは、データをハッシュ関数で実行し、条件に一致するかどうかを確認することです。一致しない場合は、データを変更して別のハッシュを取得する必要があります。データ内の 1 文字でも変更すると、まったく異なる結果が得られるため、出力がどのようになるかを単純に予測することは不可能です。

したがって、ブロックを作成するには、ハッシュを計算する必要があります。これを行うために、ユーザーは、ブロックおよびその他のデータに追加する必要があるすべてのトランザクションに関する情報を一緒にハッシュします。ただし、データセットは変更されないため、ユーザーは変数となる情報を追加します。それ以外の場合、出力は常に同じハッシュになります。この可変データをノンスと呼びます。これらは、新しいハッシュを取得しようとするたびに変更されます。

したがって、マイニングは、ブロックチェーン データを収集し、適切なハッシュが見つかるまでワンタイム コードとともにハッシュするプロセスです。プロトコルによって設定された条件を満たすハッシュが見つかった場合、新しいブロックをネットワークにブロードキャストする権利を取得します。この時点で、ネットワーク内の他の参加者は、新しいブロックを含めるようにブロックチェーンを更新する必要があります。

主要な仮想通貨が設定した条件を満たすのは信じられないほど困難です。ネットワークのハッシュレートが高くなるほど、有効なハッシュを見つけるのが難しくなります。これは、ブロックが急速に生成されるのを防ぐために行われます。

膨大な数のハッシュを推測する定期的な試みは、膨大な量のコンピューティング リソースと電気エネルギーを浪費するため、コストがかかります。ただし、マイナーが有効なハッシュを見つけることができた場合、プロトコルはその作業に対して報酬を与えます。

説明した内容を確認してみましょう。

  • マイニングは、ネットワークのセキュリティを確保するための複雑で高価なプロセスです。

  • 有効なブロックを作成したマイナーには、新しい暗号通貨と取引手数料の形で報酬が与えられます。

  • 正しいハッシュの生成には時間がかかりますが、ハッシュ プロセスを繰り返すことで、その精度を簡単かつ迅速に検証できます。

しかし、システムを騙そうとした場合はどうなるでしょうか?大量の不正なトランザクションをブロックに入れて有効なハッシュを作成することを妨げているのは何ですか?

公開キー暗号化はこの目的のために開発されました。このトピックについて詳しくは、「公開キー暗号化とは」の記事をご覧ください。つまり、このアルゴリズムは特定の暗号化技術を使用しており、これにより、あらゆるユーザーが個々のネットワーク参加者が資金を別のアドレスに移動する権利を検証できるようになります。

トランザクションを作成するときは、トランザクションに署名します。ネットワーク参加者は、あなたの署名と公開鍵を比較して、一致するかどうかを確認できます。これにより、資金を使用できるかどうか、また経費が許容額を超えないかどうかがわかります。

無効なトランザクションを含むブロックは自動的に拒否されます。ネットワークを騙そうとすると、何の報酬も得られずにコンピューティング リソースを無駄にすることになるため、多額の費用がかかります。

これが Proof of Work の考え方です。ユーザーにとっては、システムを欺こうとするよりも正直に行動する方が有益です。マイナーは投資を回収しようとしているため、ほとんどは利益を上げるためにルールに従います。

プルーフ・オブ・ワーク (PoW) またはプルーフ・オブ・ステーク (PoS)

PoW 以外にも多くのコンセンサス アルゴリズムがありますが、最も人気のあるアルゴリズムの 1 つは Proof of Stake (PoS) です。その概念は 2011 年に遡り、イーサリアムや他のいくつかのプロトコルに実装されています。

Proof of Stake コンセンサスを備えたネットワークでは、プロトコルがマイニング プロセスやハッシュの推測に関連付けられていないため、マイナーの役割はバリデーターによって演じられます。代わりに、ユーザーはランダムに選択され、選択された参加者は新しいブロックを提案する必要があります。ブロックが有効であると判明した場合、バリデーターはそのブロックの取引手数料からなる報酬を受け取ります。

プロトコルは、いくつかの要素に基づいて新しいバリデーターを選択します。選択されるチャンスを得るには、トークンの一部をステーキングに追加してロックする必要があります。この金額は一種の担保として機能します。バリデーターはシステム内の特定の数のコインをブロックします。バリデーターがシステムを欺こうとするとコインは失われます。バリデーターが無効なブロックを検証しようとすると、ステーキングコインは没収されます。

プルーフ・オブ・ステークには、プルーフ・オブ・ワークに比べていくつかの利点があります。その 1 つは二酸化炭素排出量の削減です。これは、Proof of Stake では強力なマイニング ファームのメンテナンスが必要ないため、消費電力が Proof of Work よりもはるかに少ないという事実によるものです。 

ただし、PoS には PoW ほどの実績はありません。 PoW は無駄であると認識されているかもしれませんが、マイニングは現在、10 年以上うまく機能してきた唯一のコンセンサス アルゴリズムです。この間、ビットコインの PoW メカニズムは数兆ドル相当のトランザクションを安全に処理してきました。 PoS プロトコルは、長期的にはその有効性と競争力をまだ証明していません。

結論は

Proof of Work は、二重支出の問題に対する信頼性が高く安全な解決策です。ビットコインは中央集権的な組織を必要としないことを証明しました。暗号化、ハッシュ関数、ゲーム理論を適切に使用することで、分散環境の参加者自身が金融データベース全体の正しい動作を監視できます。

推奨読書

  • 暗号通貨マイニングとは何ですか?またその仕組みは何ですか?

  • 公開鍵暗号とは何ですか?

  • ブロックチェーンのコンセンサスアルゴリズムとは何ですか?

免責事項: 以下の資料は、一般的な参照および教育目的のみを目的として、いかなる種類の保証もなく「現状のまま」提供されます。この情報は、財務上のアドバイス、法律上のアドバイス、または特定の製品やサービスの購入の推奨とは見なされるべきではありません。適切な専門アドバイザーから独自のアドバイスを求める必要があります。この記事は第三者の著者によって書かれたものであるため、表明された意見は第三者の著者のものであり、必ずしもバイナンス アカデミーの見解を反映しているわけではないことに注意してください。詳細については、リンクを参照してください。デジタル資産の価値は変動する可能性があります。投資された資金の価値は上下する可能性があります。投資した資金が戻ってこない可能性があります。投資に関する決定については、お客様ご自身が単独で責任を負います。 Binance Academy は、お客様が損失を被る可能性については責任を負いません。この情報は、財務的、法律的、または専門的なアドバイスを構成するものではありません。詳細については、利用規約とリスク開示をお読みください。