ハッシュ

仮想通貨に関わっていれば避けては通ることができない言葉がこの「ハッシュ」ではないでしょうか。ハッシュという言葉は、IT用語で仮想通貨専門の用語ではありませんが、今回は仮想通貨という文脈の中で簡単に言葉の意味を説明したいと思います。

ハッシュとは

仮想通貨においてハッシュとは、マイニングや電子署名の際に使用されるデータ暗号化技術のことです。

ハッシュ化、ハッシュ値、ハッシュ関数とは

ハッシュによってあるデータを暗号化することをハッシュ化といいます。

例えば、「AさんがBさんに1BTCを送金する」というデータをハッシュ化すると、「66999672cd9063258dd9bbf43e394b46」という文字列が生まれます。

この文字列のことをハッシュ値と呼びます。

また、このデータからハッシュ値を導き出すために使用される関数を、ハッシュ関数と呼びます。

ハッシュ関数には複数の種類があり、今回使用したのはMD5という名前のハッシュ関数です。

ハッシュの特徴

ハッシュにおいて特徴的な点は2つあります。

1つは、データが少しでも違えばハッシュ値は全く異なるものになるということです。

先ほどの「AさんがBさんに1BTCを送金する」というデータを「AさんがBさんに1BTCを送金します」に変更して、同じハッシュ関数を使用しハッシュ値を出すと、

「3b96d97b440fcb4b50236151c4587968」となります。

データの少しの違いが、大きくハッシュ値を変えることが分かります。

2つ目の特徴は、ハッシュ値から逆算して元のデータを割り出すことができないということです。

データ→ハッシュ値はできでも、ハッシュ値→データはできないのです。このように一方向にのみ変換ができるため、ハッシュ関数は正確には「一方向ハッシュ関数」と呼ばれています。

ハッシュの具体的な活用事例

ハッシュの役割は2つあり、1つ目が二重支払いを防止することです。

送信データを受信側がハッシュ関数を用いて計算することで、データを確実にやり取りすることができます。

2つ目は、データの改ざんを防止することです。

上記の通り、データを少しでも改ざんすればハッシュ値が大きく変わるため、不正はすぐにばれてしまのです。

ハッシュのまとめ

ハッシュ仮想通貨のセキュリティに大きく貢献しています。ハッシュを理解することは仮想通貨全体を理解することにつながります。しっかりと知識を深めていきましょう。