ブロックチェーンが「挑戦」であることの根幹「ハッシュ」って何だ?

謎の文字列を作る「関数」の深い意味
岡嶋 裕史 プロフィール

一定の文字数になるから扱いやすい、というのは納得できると思う。先ほどのSHA-1を使えば、『それから』も、太宰の『女生徒』も、原文はまったく異なる長さであるにもかかわらず、ハッシュ値は40文字の16進数(160桁の2進数)になる。

改変のくだりはどうだろうか。冒頭の『それから』で試したように、たった一つの「。」を削っただけで、まったく違ったハッシュ値になった。

これなら、「改竄されていないかな」と目を皿のようにしなくても、ハッシュ値を比較すれば一目瞭然である。原文を変更しない限りにおいて、そこから生成されるハッシュ値は必ず同じになるのだから。

ハッシュ値はパスワードの保存などにも使える。パスワードそのものを保存しておくのはリスクが高いので、パスワードのハッシュ値を保存しておくのだ。

これなら、仮に流出しても、パスワードが漏れることはない。ハッシュ値から原文を復元することはできないからである。

一方で、パスワードの確認には使える。利用者が入力したパスワードからハッシュ値を作り、保存しておいたハッシュ値と比較すればよい。

このように、ハッシュ値は現代のセキュリティシステムのさまざまな場所に使われている。ブロックチェーンもまさにそうなのだ。

ブロックチェーンはいっぷう変わったデータ蓄積のしくみである。一般的なデータベースは、圧倒的な権限を持つ管理者がおり、その強大な権限の庇護下において、データを体系化し、整合性を保証し、うっかり削除したり誤データを保存してしまう事故からデータを守る。間違ったデータを保存したら、管理者に頼めば書き換えてくれるし、機密保持にも万全の備えを施している。

データベースとはそういうものだと、みんな思ってきた。

しかし、ブロックチェーンには偉い管理者がいない。ブロックチェーンというシステムの前に、すべての利用者が平等である。

データを書き込むことはできるが、修正はきかない。仮に修正する必要があるデータだったとしてもだ。

データを「この人には見せられない」と秘密にしておくしくみもない。

なぜ、こうしたしくみが欲されているかは、これまでも多くの解説書が論じてきた。管理者が信用できないケースがあるからだ。

ブロックチェーンとは、データ蓄積のしくみを超えて、信用ならない相手ばかりの環境で、それでも信頼できる結果を残すための挑戦でもあるのだ。

この挑戦の根幹に、ハッシュという技術がある。めんどうで理解が大変なものではあるのだが、これをきちんと理解できれば、ブロックチェーンに対する理解が格段に増すのは確実である。

今回上梓した『ブロックチェーン』(講談社ブルーバックス)をきっかけに、ブロックチェーンの全体像をより精深に捉えて、ビジネスに生活に活用して欲しい。

ブロックチェーン
『ブロックチェーン 相互不信が実現する新しいセキュリティ』
社会を一変させる可能性を秘めた新技術の根幹と限界を見きわめるべく技術解説書のトップ著者が挑んだ、「これ1冊で網羅できる」決定版入門書!