ブロックチェーンの仕組みを別の角度から一番分かりやすく書く。
えーっと日々多くの人が困ること。
「ブロックチェーンってなに?」って聞かれた時に読んでもらう記事。
とにかく分かりやすく書きます。
※大事なことをすっ飛ばしている解説が多いので【仕組み・技術】についてフォーカスしてあえて一般的な解説角度ではない方向から解説します。
概念の理解につながるように一部正確性を欠いた表現もあります。
ここで話している内容の詳細
マークルツリー https://gaiax-blockchain.com/merkle-tree
公開鍵暗号方式
分散化台帳
要点は3点です。
1.データを順番に保存する。
2.あなたが保存したデータであることを証明する。
3.たくさんのパソコンに分散して保存する。
ブロックチェーンとは
誰のデータか分かるようにして改竄できない形で複数のパソコンに保存する技術です。
1.データを順番に保存する(マークルツリー)
たとえばある文章をワードで作ったとします。
従来ではそれを販売しようと思ってもそのデータが自分のデータであることの証明が出来ませんでした。
しかしブロックチェーンを使えばそのデータがあなたのものであると言うことが証明ができます。
通常のデータの保存方法との違いはデータの保存順を管理していることにあります。
たとえばワード文章を保存していきます。
これはブロックチェーンに例えると残高の記録になります。
毎日1ページワードの文章を保存していくとします。
必ず1日前のデータがあることを確認してから新しい1ページを書いていきます。(ブロックチェーンでいうブロック情報)
そしてここがポイントなのですが、
さらに当日以前の情報をすべて含めて新しい1ページを書きます。
(過去のブロック情報をすべて入れて次のブロックを作ります)
そうなるとどんどんワードファイルは大きく重たくなっていきますよね?
2日目のデータには2日分、3日目のデータには3日分・・・・・・・
管理できるでしょうか?10年分ともなればなかなかの量です。
そこでハッシュと言うものを使います。
ハッシュはどんなに大きなデータでも同じ文字数に変換してくれます。
たとえば1GBの動画のデータでも100文字のハッシュに変換すると
元のファイルに変更が無い限り必ず同じ100文字に変換されます。
逆に3文字しかないデータでもハッシュに変換すればかならず100文字に変換されます。
元のデータから常に同じ文字数、文字列に変換されます。
もし元のデータに変更があればその文字列が変化します。
これは改竄が起こった瞬間です。
では先ほどのワード文章をハッシュに変換して保存します。
1日目のデータをハッシュ化して保存します。
2日目には新しいデータと1日目のハッシュ化したデータを足したものをハッシュ化して保存します。
3日目にはハッシュ化した1日目と2日目のデータに3日目の新しいデータを追加してハッシュ化します。
4日目。。。5日目。。。
どうでしょうか?
データは増えていくでしょうか?
新しいデータ+以前のハッシュ
と言う全体のデータ量は変わることなく過去すべてのデータから作られたハッシュを常に含めています。
これがブロックチェーンのブロックの正体です。
1つ前の情報を含めていると言われますが実際は
過去すべてのブロック(ブロックの中身というのは取引したデータを10分間隔などでまとめたもの)から作られたハッシュを含めています。
そしてハッシュは元のデータに変更があれば文字列が変わってしまいます。
たとえば1月1日から4月1日まで毎日ワードデータを作成していったとします。
誰かが2月1日のデータを改ざんしました。
後から改ざんした場合、2月1日以降のハッシュには改竄前のハッシュしか含まれておらず改竄した2月1日のハッシュと合わなくなるので改竄されたことが分かります。
なんど検証しても2月1日前と後でハッシュが合いませんので
改竄されたことを意味します。
トランプタワーを思い浮かべてみてください。
途中のトランプを一枚ぬいてください。
一気に崩れます。
1ミリの隙間もなく積み上げたピラミッドみたいなイメージです。
途中でなにか変化すればそれ以降のデータが合わなくなります。
このような形でデータを検証しているためデータの正しい順番が常に守られています。
そして連なったデータ1つでも変更があればデータが不正であることを検出できます。
マークルツリー
2.あなたが保存したデータであることを証明する。(公開鍵暗号方式)
あなただけの秘密鍵とその秘密鍵から作られたあなたを表す公開鍵を利用して証明します。
公開鍵で暗号化したものは秘密鍵で復号でき、
秘密鍵で暗号化したものは公開鍵で復号できます。
そして公開鍵は秘密鍵から作られ、
秘密鍵は公開鍵から作れません。
そういう関係性です。
ワードの文章をあなたが書いたと言うことを証明するにはあなただけが知っている、
パスワード(秘密鍵)で暗号化(署名)します。
そして見てほしい人に渡します(送信相手)。
送信相手はあなたの秘密鍵から作られた公開鍵を使って復号します。
もし復号できなければそれはあなたが暗号化したものではないデータとなります。
ちゃんと復号してデータを見ることが出来ればあなたのデータで間違いないことになります。
この時の公開鍵から作られるものがみんさんがよく使っている送信先のアドレスです。
あなたのアドレスから秘密鍵を使って暗号化したデータが送られ来て、その公開鍵であるアドレスを使って復号できなければ秘密鍵が違うのでどこかで改竄されたことになります。
こうして秘密鍵と公開鍵を使って暗号化(署名)を行うことで誰のデータであるか?を証明しています。
公開鍵暗号方式
3.たくさんのパソコンに分散して保存する。(分散化台帳)
この辺は巷で良く解説されていると思います。
1で解説した通り順序を守ってハッシュ化して保存しているデータをたくさんのパソコンにコピー(同期)して保存します。
そして新しいブロックデータが作られるたびにお互いがデータ(ハッシュ)に間違いが無いか監査しています。
もし違いあれば正しい情報に戻される、あるいはネットワークから外れることになります。
こうして常にハッシュに問題が無いか、検証しながらブロックをチェーンのようにつないでいきます。
分散化台帳技術
ブロックチェーンはこのような技術を組み合わせて改竄できない仕組みを作り仮想通貨の取引記録を保存しています。
NFTDriveもこの仕組みで(ブロックチェーンを使って)保存しているんですね~☺
以上 ブロックチェーンって何?って聞かれた時に読んでもらう記事でした。
この記事が気に入ったらサポートをしてみませんか?