ハッシュキャッシュ(Hashcash)~Satoshi Nakamotoが参考にしたプルーフ・オブ・ワークの仕組み~

ハッシュキャッシュ(Hashcash)はビットコイン(bitcoin)のマイニング機能として利用されています。どのマイニングマシーンを利用しているマイナーもトランザクションを検証するためにプルーフ・オブ・ワークのハッシュキャッシュ(Hashcash)を利用しています。
ハッシュキャッシュ(Hashcash)のプルーフ・オブ・ワーク機能は1997年にAdam Backによって発明された。当初は匿名リメーラー、mail2news gatewayなどのDos攻撃対策として提案されていました。
ハッシュキャッシュ(Hashcash)がビットコインで使用される前にはスパムアサシンと呼ばれるスパムフィルタリングとhotmailやoutlookなどのマイクロソフト製品などに利用されていました。
Wei Daiが提案したB-moneyNick Szaboが提案したbitgoldは共にこのハッシュキャッシュ(Hashcash)を利用する前提で、提案されていました。

ハッシュキャッシュ(Hashcash)の歴史

1997年に提唱されたハッシュキャッシュ(Hashcash)はSHA1というアルゴリズムを利用していた。何故なら当時MD5と呼ばれるハッシュに脆弱性が見つかりNISTが推奨していたのがSHA1だったからです。
2009年にビットコインがリリースされた際はSHA256と利用していた。SHA1を使用しない確固たる理由はなかったが、ハッシュキャッシュ(Hashcash)は一方向性や誕生日攻撃への耐性を考えた際にSHA1よりもサイズの大きいSHA256を選んだと思われる。また1997年には見つかってなかった脆弱性が見つかったこともありSHA1は選ばれず、よりコンサバにSHA256を選びました。

ビットコイン(bitcoin)で2度ハッシュする理由は?

ビットコインはハッシュを2回反芻してセキュリティ対策をしている。ハッシュを2回反芻する理由はSHA1に起因しています。SHA1の誕生日攻撃耐性は2005年に脆弱性が見つかっています。ハッシュキャッシュ(Hashcash)はプリイメージ攻撃耐性をあてにして誕生日攻撃を受けにくい一方で、SHA1が誕生日攻撃対策するにはハッシュを2回繰り返すのが一般的な方法です。
SHA256に対して上記のような脆弱性を突く攻撃は今のところ存在していませんが、SHA256はSHA1を元に作られたのでおそらく2度、暗号化した方が安全だと判断されました。

You may also like...

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA