ブロックチェーン ビットコインへの入り口: ブロックチェーン理解の前提知識

ブロックチェーン理解の前提知識

webアプリ作成をしていた時のメンターさんにオススメしていただいたこの本で勉強していきます。

ハッシュ関数について

ハッシュ関数とは、与えられた入力値(長い文字列や電子ファイルなど)を処理し、規則性のない固定長の値を生成する演算である。その結果から得られた値を「ハッシュ値」と呼ぶ

ハッシュ値から元の入力データを導き出すことは不可能である

様々な暗号が必要な場面で活躍。ビットコインでは、SHA-256, RIPEMD-160が使われ、文字列が暗号化された文字列に置換される。

ハッシュ木について

ハッシュ木とは、より大きなデータの要約結果を格納する木構造の一種であり、データの検証を行う際に使用される

例えば、図3においてHash 0には、Hash 0-0とHash 0-1とを結合した結果のハッシュ値が入っている。つまり、Hash 0 = Hash(Hash 0-0 || Hash 0-1)

ハッシュ木の利点は、その一部の枝だけをダウンロードしてハッシュ木の全体を利用しなくても枝の完全性を検査することができるという点にある

例えばあるデータブロック1のデータが改ざんされていないかを確認したい場合には、一個上の階層の引き継いでいない方のハッシュ値(葉ノード)と、そのまた一個上の階層の引き継いでいない方のハッシュ値(親ノード)をデータブロック1のハッシュ値と組み合わせてルートハッシュ(全てのデータの親元)と比較すれば事足りる。

公開鍵暗号について

公開鍵暗号とは、自分だけが知る「秘密鍵」と第三者に知らせる「公開鍵」と呼ばれる2つの鍵(キーペア)を利用してデータを暗号化、復号(元のデータに戻すこと)する暗号方式

公開鍵暗号は、 一方の鍵で暗号化すると他方の鍵でしか復号できない という性質を持って
いる

人物Aが第三者にデータを暗号化して送りたい。Aは自分の持つ秘密鍵で暗号化したものを送信する。第三者Xはこれを開くためにはAの持つ公開鍵を持っていなければならない。Aの持つ公開鍵でしか開けられないのでAのデータであることが保証される。

Peer-to-Peerネットワークについて

ピア=通信相手

これまでのインターネットはクライアントサーバモデル。クライアントがサーバーに対してHTTPリクエストを送信し、サーバ側はCRUD操作でデータを取り出してHTTPレスポンスで送ってあげる。つまり、データを持つ側とお願いする側の構図。

P2Pは各ピア 注 がデータを保持し、他のピアに対して対等にデータの提供および要求・アクセスを行う自律分散型のネットワークモデルであり、サーバまたはクライアントのそれぞれの立場に固定されることがない

シェアする

  • このエントリーをはてなブックマークに追加

フォローする