ブロックチェーンについて復習します
これを読めばサルでもわかるかも?
1623 views
* ごめん、サルにはわからん*
ブロックチェーンではたくさんの暗号技術が使われている。その中でも特に重要なのは以下の5つや
1. ハッシュ関数
2. 公開鍵暗号方式
3. 共通鍵暗号方式
4. 楕円曲線暗号
5. 電子署名
それぞれ解説していくで
ハッシュ関数でハッシュ値を計算することを「ハッシュ化」というんや
(別名:ダイジェスト)
ハッシュ関数には4つの特徴があるで
これらの特徴を生かすことで、「データの正しさ」を証明したり、
「データの容量」を節約したりできる。
暗号には「暗号化」と「複合」の二段階があるで。
公開鍵暗号方式は、「暗号化」と「複合」で異なる鍵を使う方式やで。
使う鍵は「公開鍵」と「秘密鍵」や。
ここで大切なのは、公開鍵から、秘密鍵が特定が不可能な点。
取引データのやり取りとかいろんな場面で使われている。
共通鍵暗号方式は「暗号化」と「複合」で同じ鍵を使う方式や。
共有する相手が鍵を持つ必要があるから、相手が増えるほど管理がややこしいんよ
「楕円曲線」とは、楕円曲線離散対数問題という数学問題を利用しているんや。
難しくてサルにはわからんから要約すると、与えられた情報から特定の情報が逆算しにくいんや。
具体的には「秘密鍵」と「公開鍵」を作成するときに使うんやでb
「電子署名」とは、データが誰に作成されたかを検証する技術や。
「P2Pネットワーク」とは、Peer(ぴあ)と呼ばれる立場が対等なPC同士が、相互にデータを融通して形成されるネットワークや。
この時、ネットワーク上にあるPCを「ノード」と呼ぶで
[特徴]
* システムがダウンしない
* ネットワークの分断耐性が強い
* データの一貫性維持が難しい
世界中のPCがブロックチェーンを保持している。
ブロックチェーンの取引データなどは、ノードからノードへバケツリレーして、ネットワーク全体に広めるんやで。
P2Pネットワークには種類がある
「フルノード」はブロックチェーンのすべてのデータを保持しているノードや。
かなり容量を食うから、相当タフなPCでないと難しいで。
(2019/09時点で、200GBだったりする)
「SPVノード」は、ブロックチェーンのブロックヘッダ(要約)の情報のみ持つで。
足りない部分は「フルノード」に問い合わせるんや。
容量が軽く済むで(だいたい1000分の1くらいにはなるらしい)
さっき、P2Pの特徴に「データの一貫性維持」が難しいってかいたやろ?
何とかして「正しいデータ」を判断する必要がある。
そのための仕組みが「コンセンサスアルゴリズム」や。
P2Pは「データの一貫性維持」が難しいんや。つまり、何が正しいデータかわからんくなる。
そこで、データ書き換えとか怖いってなるんや。
この不正を防ぐためにP2Pネットワーク上のすべてのノードがただ一つの正しいデータを共有する必要がある。
加えて、不正を検出する必要もある。
そのために提案されたのが「Proof of Work」や
「Proof of Work」とは、不特定多数のPCによる演算を行って、ブロックチェーン全体の整合性を保つアルゴリズムや。
具体的には
など多数のデータをまとめるんや。
そのデータに「ナンス(Nonce)」を加えて、ハッシュ化するんや。
この値が一定の値より小さくなるまで計算を続けるんやで。
これを「マイニング」と呼ぶ。これやる人をご存じ「マイナー」と呼ぶで。
具体的には、「ナンス」の値を変化させるんや。
ハッシュは、少し値を変えるだけで出力が大きく変わる。この仕組みを使ってるんやな。
あ、「マイニング」成功したら報酬もらえるで。
(2019/09時点で12.5BTC。約750万円。ただし、半減していく)
悪意のある組織や個人によって、不正な取引を正当化することや。
この弱点を克服するために、いろいろアルゴリズムは出て来とるで。
例えば、NEMはPolって仕組みを使っとる
Page 3 of 9.
owl
駆け出しエンジニア
だいたいweb系をかじってる
最近ちょとブロックチェーンに興味出てきた