作業証明とはどういう意味ですか?
作業証明とは、スパムメールの送信やサービス拒否攻撃の開始など、軽やかで悪意のあるコンピューティングパワーの使用を阻止するために、取るに足りないが実行可能な量の努力を必要とするシステムのことです。 この概念は、2004年にHal Finneyが「再利用可能な仕事の証明」というアイデアを通じてお金に適合させました。 2009年の導入に続いて、ビットコインはフィニーのアイデアを最初に広く採用したアプリケーションになりました(フィニーは最初のビットコイントランザクションの受信者でもありました)。 作業証明は、他の多くの暗号通貨の基礎にもなります。
証明の説明
この説明は、ビットコインネットワークで機能するため、作業の証明に焦点を当てます。 ビットコインは、「ブロックチェーン」として知られる一種の分散型台帳によって支えられているデジタル通貨です。 この元帳には、すべてのビットコイントランザクションの記録が含まれており、連続した「ブロック」に配置されているため、ユーザーは持ち株を2回使用することはできません。 改ざんを防止するために、元帳は公開、または「分散」されています。 変更されたバージョンは、他のユーザーによってすぐに拒否されます。
ユーザーが実際に改ざんを検出する方法は、ハッシュ、つまり作業の証拠として機能する長い数字列を使用することです。 ハッシュ関数(ビットコインはSHA-256を使用)を介して特定のデータセットを配置すると、1つのハッシュのみが生成されます。 ただし、「なだれ効果」により、元のデータの任意の部分にわずかな変更を加えても、まったく認識できないハッシュになります。 元のデータセットのサイズに関係なく、特定の関数によって生成されるハッシュは同じ長さになります。 ハッシュは一方向の関数です。ハッシュを生成したデータが元のデータと一致することを確認するためだけに、元のデータの取得には使用できません。
一連のビットコイントランザクションのハッシュを生成することは、現代のコンピューターにとっては些細なことなので、プロセスを「作業」に変えるために、ビットコインネットワークは特定のレベルの「難易度」を設定します。 この設定は、新しいブロックが「マイニング」されるように調整されます-有効なハッシュを生成してブロックチェーンに追加されます-約10分ごと。 難易度の設定は、ハッシュの「ターゲット」を確立することによって達成されます。ターゲットが低いほど、有効なハッシュのセットが小さくなり、ハッシュの生成が難しくなります。 実際には、これはゼロの長い文字列で始まるハッシュを意味します。たとえば、ブロック#429818のハッシュは000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8dです。 このブロックには、前のブロックのヘッダーだけでなく、1, 000ビットコインをわずかに超える2, 012のトランザクションが含まれています。 ユーザーが1つのトランザクション量を0.0001ビットコイン変更した場合、結果のハッシュは認識できず、ネットワークは詐欺を拒否します。
特定のデータセットは1つのハッシュしか生成できないので、マイナーはターゲットの下でハッシュを生成することをどのように確認しますか? ノンス(「1回使用した番号」)と呼ばれる整数を追加することにより、入力を変更します。 有効なハッシュが見つかると、ネットワークにブロードキャストされ、ブロックチェーンにブロックが追加されます。
マイニングは競争力のあるプロセスですが、人種というよりは宝くじです。 平均して、誰かが10分ごとに受け入れ可能な仕事の証明を生成しますが、それが誰になるかは誰でも推測します。 鉱夫は一緒にプールして、鉱業ブロックの可能性を高めます。これにより、取引手数料が発生し、限られた期間、新しく作成されたビットコインの報酬が発生します。
作業の証明により、ブロックチェーンのあらゆる側面を変更することは非常に困難になります。そのような変更には、後続のすべてのブロックの再マイニングが必要になるためです。 また、ハッシュ関数を完了するために必要な機械と電力は高価であるため、ユーザーまたはユーザーのプールがネットワークの計算能力を独占することを困難にします。