未分類

【解説】ハッシュ(ハッシュ値)とは、ハッシュ関数から得られた数値のこと

ハッシュ(ハッシュ値)とは、ハッシュ関数から得られた数値のことを言います。このハッシュ関数とは、与えられたデータをもとに、そのデータを代表する数値をはじき出すこと、またはそのような操作を行うための関数のことです。ハッシュ関数から得られたこのハッシュ値はある意味で「暗号」のようなものですが、ハッシュはそのデータを一方向にしか演算できないという特徴を持ちます。すなわち、得られたハッシュ値は元のデータには戻せない(元のデータを推測できない)という点で、一般の「暗号」とは異なります。

ハッシュ関数によりハッシュ値を得ることは、データの比較や検索の高速処理に活用されるほか、データ改ざんの検出にも利用されます。ビットコインの世界において、このハッシュはとりわけ重要な意味を持ちます。たくさんのハッシュを得られる(つまりハッシュを得るため演算速度が速い)ことは、ビットコインの発掘者からすると、たくさんのビットコインを採掘できることを意味します。そのため、多くの採掘者は、演算速度の速い(また、ハッシュ計算に特化した)マシンを導入しています。このような採掘速度のことは「ハッシュレート」と呼ばれます。

ビットコイン利用者の保有するビットコインアドレスも、公開鍵をハッシュ化するなどの操作を組み合わせることで作成されています。つまり、アドレスそのものは公開鍵をもとに作成されてはいても、そのアドレスから元の公開鍵を知ることは不可能です。

また、ビットコイン取引に限らず、インターネット上で利用される様々なパスワードも、ハッシュ化することで安全に管理することができます。先ほども述べたとおり、ハッシュ値から元のデータを知ることはできないので、ユーザー以外の者がパスワードを知ることは不可能であり、パスワード漏洩の防止に役立ちます。