中島:ハッシュ関数では、少しでも異なるデータはまったく異なるハッシュ値になります。ビットコインではSHA−256というハッシュ関数が使われていますが、膨大な取引データがあってもハッシュ関数によって圧縮できるんです。
木本:ハッシュ関数をかますことのメリットはなんでしょう。
中島:ブロックの容量が決まっているので、データをなるべく小さくしたいわけです。だから圧縮するんですが、1つ前のブロックのデータを使っているので、前のブロックの取引データを変えると次のブロックも変わってしまうので、データの変造や偽造ができないわけです。こうした仕組みが連続している。
木本:大きくなりがちなデータを圧縮するためにハッシュ関数があるという理解でいいですか。
中島:それと、1つ前のブロックとの関係性を築いて偽造を防ぐために、ハッシュ関数を使うわけです。
ブロックチェーンを構成する複雑な計算式
木本:聞いているとなるほどと思えますが、一晩寝たらすぐに忘れそうです(笑)。
中島:圧縮する仕組みがあるということを覚えておいてください。圧縮するんですが、そこでプルーフ・オブ・ワーク(PoW)というのがあります。「ナンス値」を計算することです。
ナンス値というのは、ブロックの中にある3種類のデータの1つです。前のブロックにある3種類のデータを圧縮すると、次のブロックのハッシュ値が出てきます。その際のハッシュ値は、先頭に一定数以上のゼロが並ぶようにすることが条件となっています。
無料会員登録はこちら
ログインはこちら