このページでは、ブロックチェーン技術を下支えする仕組みの1つである、「ハッシュ関数」および「ハッシュ値」について解説しています。ブロックチェーンについての理解をより深めるため、ぜひ参考にしてください。
ハッシュ関数とハッシュ値について
取引データを暗号化する技術
「ハッシュ関数(要約関数)」とは、入力されたデータ(取引データ)を英数字の羅列に変換(暗号化)する操作、および羅列を出す関数のことを言います。また、ハッシュ関数から得られる値のことを「ハッシュ値(要約値)」と呼びます。
ハッシュ値の大きな特徴が、1つのデータからは何度計算しても同じ値が算出されるという点。逆に言えば、入力データがわずかでも異なると全く別のハッシュ値がはじき出されます。
ちなみに、このデータを暗号化する技術のことを「ハッシュ」と呼ぶこともあります。
ブロックチェーンとハッシュ関数
ハッシュ関数・ハッシュ値は、ブロックチェーンを形成する上で欠かせないものです。1つのブロックには、「取引データ」と1つ前のブロックの「ハッシュ値」、そして「ナンス値」という使い捨ての数字が格納されています。ハッシュ値は一方向(不可逆)の値であるため、ブロックとブロックをつなぐ役割を果たしてくれているのです。
コンセンサスアルゴリズムで合意形成
データが分散保管されているブロックチェーンでは、異なるユーザーが同じタイミングで処理を行うことも考えられます。この際、各々の判断で処理を進めると、履歴が分岐することになります。
このケースでは、一貫性のあるブロックチェーンを維持するために、どちらの分岐が正しいかを判断しなければなりません。ここで登場するのが「コンセンサスアルゴリズム(合意方法)」。ルールにもとづいて作られた処理およびブロックを「正」として認め、正しい履歴としてブロックに残す仕組みを作る必要があります。
なお、コンセンサスアルゴリズムについては別ページでまとめていますので、そちらも併せて参考にしてください。
まとめ
ハッシュ関数およびハッシュ値は、ブロックチェーンに格納されているデータの正しさを証明するために欠かせない技術です。ハッシュ化によってデータの秘匿性を高めておくことで、社内の電子データを安全に扱えるようになります。
なお、ブロックチェーン技術の導入を検討しているのであれば、自社の目的に合ったプラットフォームを使用して構築することが大切です。当サイトでは導入事例とともに、ブロックチェーンのプラットフォームを提供している企業の情報をまとめています。こちらも併せて参考にしてください。