お困りですか?

ブロックチェーンの基礎 - Proof of Work

この記事では、最も重要なブロックチェーン技術やコンポーネントの1つである Proof-of-Work についてお話しします。Proof-of-Workは、二重支出を防ぐブロックチェーンの革命的な技術です。

二重支出とは

プルーフ・オブ・ワークがどのような問題を解決するのかを理解するためには、まず実際の問題が何なのかを理解しなければなりません。

二重使用とは、ブロックチェーン上で1ビットコインを2回以上使用する違法行為です。

物理的な世界で、ボブがアリスに絵を渡した。ボブはアリスに絵をあげたので、彼はもうその絵を所有していない。ボブは同じ写真をジョンに渡すことはできない。

デジタルの世界では、ボブは写真を添付した電子メールをアリスに送る。ボブはまだ自分のコンピュータに写真を所有しており、同じ写真をジョンに送ることができる。このようにして、彼は画像を2回送り、これを無期限に続けることができる。

これは過去のデジタル通貨で大きな問題だった。同じデジタル通貨を2度送らないようにするにはどうすればいいのか?また、誰かが自分の仮想コインをただ無限にコピーペーストするのを防ぐにはどうすればいいのか。これを解決したのがプルーフ・オブ・ワークだ。

What is proof of work double spend

プルーフ・オブ・ワークとは

Proof of Work(プルーフ・オブ・ワーク、略してPoW)とは、ブロックチェーン上のトランザクションを確認する方法のことで、マイニング¥とも呼ばれる。

ブロックチェーンは、過去のブロックの分散型台帳(データベース)である。ブロックチェーンは、分散化を可能にするノードによって世界中に分散されている。ノードの機能の一つは、ブロックチェーンに新しいブロックを追加することであり、これらのノードはマイナーと呼ばれる。ブロックチェーンに新しいブロックを追加できるのは、計算資源を費やす意思のあるノードだけです。

NHOS

プルーフ・オブ・ワークは実際にどのように機能するのか?

PoWでは、マイナーは数学的な一方向性関数を解いている。複数のマイナーが同時に競い合う。最初に関数を解いた者は金銭的報酬を得て、その解は他のすべてのノードにブロードキャストされる。

SHA256では、XからYを得ることはできるが、YからXを取り戻すことはできない。これは一方向性関数と呼ばれ、暗号技術でよく使われる。例えばビットコインのウォレットアドレスは秘密鍵の出力であり、SHA256の出力にハッシュ化される。

例として「NiceHash」をSHA256でハッシュ化すると:
D22df564d771ed4e6785029de215e9f9e2affe9bbe37bacc8544c32f0a162ba3

NiceHash」は秘密鍵として機能し、出力は公開鍵となる。秘密鍵や入力データがなければ、関数を逆引きしてその意味を知ることは事実上不可能だ。

Sha256は無限のデータで使用でき、画像でも使用できることに注意。

自分でやってみよう:

マイナーがデータを入力すると、長いランダムな文字列が得られる。しかし、ブロックチェーンはノンス (一度しか使用されない番号) と呼ばれる別の文字列を使用する。Nonceを使うことで、マイナーはSHA256の出力を操作して目的の出力を推測することができる。

ブロックチェーン・ネットワークは、例えば、6つのゼロから始まる出力を設定する: 000000c49ede7f965ba8e7e6419d6efb0afc99e7ecd10095b286310ca55a6355

マイナーはブロックハッシュの出力が000000で始まるまで、文字通りnonceを推測する。これがマイナーが行うことで、ブロックトランザクションをデータ入力として組み合わせ、SHA256の出力が000000で始まるまでnonceを推測する。

以下のフォームにランダムなデータを入力し、nonceを推測して4つのゼロ (0000) で始まるハッシュを見つけよう:

Time to solve the block: 0.241 sec

MINE」を押すことで自動的にnonceを推測することができる。

これは簡易版であることに注意。マイナーは、取引データとともに過去のブロックハッシュ出力も入力データに含める必要がある。また、難易度が上がるにつれてゼロの数が増え、正しい nonce を推測できる可能性が低くなるため、正しい出力ハッシュを推測するのが難しくなる。4つのゼロ (0000) よりも1つのゼロ (0) の方が出力を見つけやすい。

執筆:
Marko Tarman
MarkoはNiceHashのマイニングマネージャーであり、コンテンツ・クリエーターです。彼は最初のASICがリリースされる前の2012年にマイニングを始め、GPUでBTC・LTC・VTCからDOGEまでもマイニングするようになりました。彼の座右の銘は「問題が99個あったとしても、ライザーの不具合がすべての原因だ」です。