作業証明(PoW)
##作業証明(PoW)とは何ですか?
Proof of Work(PoW)は、スパムメールの送信やサービス拒否攻撃の開始など、コンピューティング能力の軽薄または悪意のある使用を阻止するために、取るに足らないが実行可能な量の労力を必要とするシステムを表します。その後、このコンセプトは、SHA-256ハッシュアルゴリズムを使用した「再利用可能な作業証明」のアイデアを通じて、2004年にHalFinneyによってデジタルマネーを保護するために採用されました。
2009年に導入された後、ビットコインはフィニーのPoWアイデアの最初の広く採用されたアプリケーションになりました(フィニーは最初のビットコイントランザクションの受信者でもありました)。プルーフオブワークは、他の多くのクリプトオカレンスの基礎を形成し、安全で分散化されたコンセンサスを可能にします。
##作業証明を理解する
ビットコインネットワークで機能するプルーフオブワークに焦点を当てます。ビットコインは、「ブロックチェーン」と呼ばれる一種の分散型台帳によって支えられているデジタル通貨です。この元帳には、すべてのビットコイントランザクションの記録が含まれており、連続した「ブロック」に配置されているため、ユーザーは自分の持ち株を2回使うことはできません。改ざんを防ぐために、元帳は公開されているか、「配布」されています。変更されたバージョンは、他のユーザーによってすぐに拒否されます。
ユーザーが実際に改ざんを検出する方法は、ハッシュ、作業の証拠として機能する長い数字の文字列を使用することです。ハッシュ関数(ビットコインはSHA-256を使用)を介して特定のデータセットを配置すると、1つのハッシュのみが生成されます。ただし、「アバランシェ効果」のため、元のデータの任意の部分にわずかな変更を加えただけでも、ハッシュはまったく認識できなくなります。元のデータセットのサイズに関係なく、特定の関数によって生成されるハッシュは同じ長さになります。ハッシュは一方向の関数です。元のデータを取得するために使用することはできず、ハッシュを生成したデータが元のデータと一致することを確認するためにのみ使用できます。
一連のビットコイントランザクションのハッシュを生成することは、最近のコンピューターでは簡単です。そのため、プロセスを「作業」に変えるために、ビットコインネットワークは一定レベルの「難易度」を設定します。この設定は、新しいブロックが約10分ごとに「マイニング」(有効なハッシュを生成することでブロックチェーンに追加)されるように調整されます。設定の難しさは、ハッシュの「ターゲット」を確立することによって達成されます。ターゲットが低いほど、有効なハッシュのセットは小さくなり、生成が難しくなります。実際には、これは非常に長いゼロの文字列で始まるハッシュを意味します。
作業の証明は、スパムメールの増大する問題に対する提案された解決策として最初に作成されました。
##特別な考慮事項
特定のデータセットは1つのハッシュしか生成できないため、マイナーはターゲットの下にハッシュを生成することをどのように確認しますか?それらは、ナンス(「一度使用された数」)と呼ばれる整数を追加することによって入力を変更します。有効なハッシュが見つかると、ネットワークにブロードキャストされ、ブロックがブロックチェーンに追加されます。
マイニングは競争の激しいプロセスですが、レースというよりは宝くじです。平均して、誰かが10分ごとに許容できる作業証明を生成しますが、それが誰であるかは誰の推測でもあります。鉱夫は一緒にプールして鉱区を採掘する可能性を高めます。これにより、取引手数料が発生し、期間限定で、新しく作成されたビットコインの報酬が発生します。
作業の証明により、ブロックチェーンの任意の側面を変更することは非常に困難になります。そのような変更では、後続のすべてのブロックを再マイニングする必要があるためです。また、ハッシュ関数を完了するために必要な機械と能力が高価であるため、ユーザーまたはユーザーのプールがネットワークの計算能力を独占することを困難にします。
マイニングネットワークの一部が代替の作業証明を受け入れ始めた場合、それはハードフォークとして知られています。
##プルーフオブワークの例
作業の証明には、コンピュータが、正しい最小量の先行ゼロを含む出力に到達するまで、ランダムにハッシュ関数を実行する必要があります。たとえば、2020年12月4日にマイニングされたブロック#660000のハッシュは、00000000000000000008eddcaf078f12c69a439dde30dbb5aac3d9d94e9c18f6です。その成功したハッシュのブロック報酬は6.25BTCでした。
そのブロックには、前のブロックのヘッダーだけでなく、1,666ビットコインをわずかに超える745のトランザクションが常に含まれます。誰かがトランザクション量を0.000001ビットコインでさえ変更しようとすると、結果のハッシュは認識できなくなり、ネットワークは詐欺の試みを拒否します。
##プルーフオブワークに関するFAQ
###作業証明とはどういう意味ですか?
PoWは、分散型の方法でコンセンサスを達成し、悪意のある人物がネットワークを追い抜くのを防ぐために、ネットワーク上のノードが計算能力(つまり作業)を消費したという証拠を提供することを要求します。
###作業証明は、暗号トランザクションをどのように検証しますか?
作品自体は恣意的です。ビットコインの場合、SHA-256ハッシュアルゴリズムの反復が含まれます。ただし、ハッシュラウンドの「勝者」は、mempoolから次のブロックへのトランザクションを集約して記録します。 「勝者」は行われた作業に比例してランダムに選択されるため、ネットワーク上のすべての人が正直に行動し、真のトランザクションのみを記録するように促します。
###暗号通貨がプルーフオブワークを必要とするのはなぜですか?
それらは分散化されており、設計上ピアツーピアであるため、暗号通貨ネットワークなどのブロックチェーンには、コンセンサスとセキュリティの両方を実現するための何らかの方法が必要です。作業の証明は、そのような方法の1つであり、ネットワークを追い抜こうとするとリソースを大量に消費します。リソースをあまり消費しないが、ステークの証明(PoS)や火傷の証明などの他の欠点や欠陥がある他の証明メカニズムも存在します。証明メカニズムがないと、ネットワークとその中に保存されているデータは攻撃や盗難に対して脆弱になります。
###ビットコインは作業証明を使用しますか?
はい。 SHA-256ハッシュ機能に基づくPoWアルゴリズムを使用して、トランザクションを検証および確認し、新しいビットコインを発行します。
###ステーク証明(PoS)はPoWとどのように異なりますか?
PoSは、ノードが保持するコインの数に応じて、ブロックトランザクションをマイニングまたは検証するノードをランダムに割り当てるコンセンサスメカニズムです。ウォレットに保持されるトークンが多いほど、より多くのマイニングパワーが効果的にウォレットに付与されます。 PoSはリソースをはるかに消費しませんが、他にもいくつかの欠陥があります。たとえば、小さなアルトコインで51%の攻撃が発生する可能性が高く、トークンを保管して使用しないインセンティブがあります。
##ハイライト
-プルーフオブステーク(POS)は、プルーフオブワークの代替として作成されたいくつかの新しいコンセンサスメカニズムの1つでした。
-作業証明(PoW)は分散型コンセンサスメカニズムであり、ネットワークのメンバーが任意の数学的パズルを解くために労力を費やして、誰もがシステムをゲームできないようにする必要があります。
-大規模なプルーフオブワークには大量のエネルギーが必要ですが、ネットワークに参加する鉱夫が増えると増加します。
-作業の証明により、ビットコインおよびその他の暗号通貨トランザクションは、信頼できるサードパーティを必要とせずに、安全な方法でピアツーピアで処理できます。
-作業証明は、トランザクションの検証と新しいトークンのマイニングのために、暗号通貨マイニングで広く使用されています。