〜 ハッシュとは 〜
仮想通貨のシステムであるブロックチェーンには、
ハッシュ関数というものが使われていますが、
そもそもハッシュって何?
という人のためにココで説明しておきます。
まず、一言で例えれば、
ハッシュとは自動販売機で買ったジュースのことを言います。
例えば、アナタが近くの自動販売機に120円を入れてボタンをポチっと押して、ジュースを買ったとします。
この時にアナタが入れた120円を
自動販売機が自動でジュースに変えて
あなたに出したわけですが、
この時の「ジュース」の部分が
プログラミング言語でいう
ハッシュ と呼ばれるものなのです。
( 。・・)/⌒ 自販機(関数)
\(◎o◎)/! 自販機(関数)
これをパソコンで言うと、
パソコン(自動販売機)にデータ(お金)を入れたら、
パソコン(自動販売機)がそのデータ(お金)を元に
自動的に数値(ジュース)を探して出す
こうして出てきた数値のことをハッシュというわけですね。
たとえば、アナタが誰かに
次のようなメールを送信したとします。
「来月の10日、予定はありますか?」
この内容(データ)をパソコンの中にある、
あるシステム(関数)に入れると、
自動的にジュース(数値)を探して出してくれるのです。
その数値というのは、パッと見てバラバラに見える
このような数値です ↓
「ojafaf094hfjg054902rjjfpjfjapgj0jl」
「なんだこの文字は?」
と思いますよね。
この羅列した数値のことを
ハッシュ とか ハッシュ値 と言うんです。
そして、これは、入れるモノが毎回、同じなら、
毎回、必ず同じジュース(ハッシュ)が出てきますし、
一文字でもちがったら、全然ちがうジュースがポロっと
出てくるようになっています。
「来月の10日、予定はありますか?」自販機(関数)
ojafaf094hfjg054902rjjfpjfjapgj0jl自販機(関数)
「来月の10日、予定はありますか!」自販機(関数)
290fh8943hf94qprhrhlaoier40l自販機(関数)
「でも、なんでこんな意味のわからないシステムを
作った人がいるのか?」
ハッシュを作る意味、理由にはいくつかありますが、
一番大きな理由は
間違ったデータを送らないためです。
そのために、送られたデータを、
ひとまず自販機(関数)に入れて、
出てきたジュース(ハッシュ)が、
アナタが欲しかったジュースで間違っていないか
確認するためです。
昔はインターネットの速度も遅かったですし、
エラーも起きやすかったから、
内容がバグることも、よくあったわけです。
つまり、送信者が送った内容と違う内容が
受信者に届いてしまうことがよくあったわけです。
しかし、
『コレ、明らかにバグってるな・・』
という内容が届いたらまだいいのですが、内容がバグったかどうかハッキリとわからないケースもありますよね。
<例>
1.○「来月の10日、予定はありますか?」
2.×「来月の10日、予定はあり?」
3.×「来月の15日、予定はありますか?」
1.は送信者が送った内容ですが、
2.3.は途中でデータがバグってしまった例です。
2.だと、送信者との関係性によっては
返信に戸惑いも出てくるでしょう。
※ ほぼ敬語で話してくる後輩とか、
少し仲の良くなってきた同僚などが相手の場合
しかし、3.にいたっては日時がバグっているので、
予定しだいでは大きな問題になってしまいます。
そこで登場したのが ハッシュ です。
送信者がデータと一緒に、
そのハッシュも一緒に添えて送ります。
そして、受信者は、送られてきたデータを、 自販機(関数)に入れて、ジュース(ハッシュ)に変え、
そのジュース(ハッシュ)が2つとも同じだったら
OK、問題なし!と確認できるわけですね。
では、その自販機っていったい何なのか?
→ プログラミングの関数とは
ハッシュ関数とは?
→ ハッシュ関数とは
仮想通貨の仕組みとは?
→ 仮想通貨とは ブロックチェーン
スポンサードリンク
〜 ハッシュとは 関連ページ 〜
|