【プルーフオブワーク】
Proof of Work(PoW) とは?
最終更新:
💡 見つけるのは大変、確かめるのは簡単な計算の証拠
見つけるには平均的に多数の試行が必要で、検証は比較的容易な計算結果を示す仕組み。Bitcoinではブロックのハッシュが目標値以下になる結果を探し、有効な取引やブロックの検証と組み合わせて履歴を保護する。
📌 このページのポイント
- Bitcoinではブロックヘッダーを変え、ハッシュが目標値以下になる結果を探す
- PoWの条件を満たしても、不正な取引やブロックが有効になるわけではない
- 有効な履歴のうち累積作業量の大きいものを採用し、書き換えに計算を要求する
- 計算競争は電力を使う。過半数未満の計算能力でも攻撃の成功確率はゼロではない
Proof of Workって、なんで計算しないといけないの?
過去の履歴を書き換えるにも計算をやり直す必要があるようにするためだよ。Bitcoinでは有効な履歴の中で累積作業量が大きいものを採用する。ただし計算量だけで、取引内容が正しいと判断するわけではないんだ。
どんな計算をしてるの?
Bitcoinではナンスなどのブロックヘッダーの値を変えてハッシュを繰り返し計算し、目標値以下になる結果を探すよ。先頭にゼロが多い、という説明はその見た目の例だね。見つけた結果の条件確認は、探索よりずっと軽いんだ。
マイニングで報酬がもらえるって聞いたけど?
採用される有効なブロックを作ったマイナーは、新規発行分と取引手数料を報酬にできるよ。ただし同時に別のブロックが見つかることもあるので、条件を満たした候補を見つければ必ず報酬を得られるわけではないんだ。
電力をたくさん使うって問題になってるよね?
計算を何度も試す競争なので、機器を動かす電力が必要だね。その負担と履歴を書き換えにくくする効果を考える必要がある。ただし「電力を使うほど、どんな攻撃にも安全」と言えるものではないよ。
51%以上の計算能力がないと、攻撃はできないの?
過半数を握ると履歴の巻き戻しや二重支払いを起こしやすくなるけど、過半数未満でも成功する確率はあるよ。一方、計算能力が多くても他人の署名を偽造したり、無効な取引を検証するノードに受け入れさせたりできるわけではないんだ。
まとめ:ざっくりこれだけ覚えればOK!
「Proof of Work」って出てきたら「見つけるのが大変な計算結果を、作業の証拠として示す仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Proof of Work」 = 作業の証明
💬 Workは計算の作業、Proofはその証拠だよ。条件に合う結果を検証して、計算の作業の証拠とする仕組みなんだ。実際に何回試したかを数えるものではないよ。