■ はじめに
ブロックチェーンを分かりやすい解説があったので、 メモっておく。
目次
【1】教材 1)概要を掴む 2)技術よりの動画 3)ブロックチェーン基礎 4)書籍 【2】ブロックチェーン技術 1)デメリット 2)51%攻撃 【3】構成 1)特記 【4】用語整理
【1】教材
1)概要を掴む
以下の動画を見るとざっくりブロックチェーンを 把握することができる
https://www.youtube.com/watch?v=iGzP11LNJZA
2)技術よりの動画
https://www.youtube.com/watch?v=hL4DPEDb74I&t=97s
Pythonコード
https://www.youtube.com/watch?v=gcAJWpQgcIs&t=326s
https://www.youtube.com/watch?v=WGSytLSi628&t=8s
3)ブロックチェーン基礎
https://aidemy.net/courses/7000/exercises/Bk-ppgxXOz
4)書籍
【2】ブロックチェーン技術
1)暗号化技術 2)コンセンサス・アルゴリズム(合意形成) 3)P2P (Peer to Peer) 4)DLT(Distributed Ledger Techonology; 分散型台帳技術) ⇒ 改ざんしづらくなるので、セキュリティが高まる
1)デメリット
1)データサイズが大きいと使えない(ブロック容量に上限があり、取引が格納しきれない) 2)データが検索しづらい 3)処理速度が遅い・取引承認の遅延 4)自律分散的な仕組みなので、システム停止が容易ではない 5)悪意をもった人でも簡単に参加できる
2)51%攻撃
* 悪意のあるグループまたは個人により、 ネットワーク全体の採掘速度の 51%(50% 以上)を支配し、 不正な取引を行うこと (これは、ブロックチェーンの仕組みから思った。自分以外の全員がグルだったらって)
どういったことが起こる?
1)2重支払い 2)取り引きの承認を妨害する 3)マイニング報酬の独占
起きないこと
1)過去の取引の改ざん 2)他人の仮想通貨を盗む(秘密鍵が分からないため) 3)ビットコインを好きなだけ生み出す
対応策
1)PoS (Proof of Stake/プルーフオブステーク) ⇒ 仮想通貨の所持量によってブロック承認が行えるというシステム
【3】構成
1)timestamp タイムスタンプ 2)previous hash 前回のブロックチェーンのハッシュ 3)nonce(ナンス) 4)transactions (取引一覧) 5)transaction pool (一定量の取引をためておくメモリ領域)
「3)nonce(ナンス)」について
* number used once の略 (=一度だけ使われる数)
1)特記
不正な取引を防ぐためには...
* ビットコインの送信者を特定するために、 公開鍵暗号方式を採用する i)秘密鍵 ... 利用者に独自で割り当て、公開してはいけない ii)公開鍵 ... 公開しても問題ない。秘密鍵からハッシュを用いて作成する
【4】用語整理
1)ブロックチェーン (Block chain)
* 中央集権的な主体による管理を必要とせず、 情報を改ざん不可能な形で記録する技術
2)トランザクション (Transaction)
* 取引データのこと
3)ブロック (Block)
* トランザクションをまとめたもの
* ブロックチェーンの最初のブロック
4)フォーク (fork)
* ブロックチェーンの分岐する現象
ソフトフォーク
* 新バージョンのブロックは旧バージョンでも有効 * 新旧で互換性があり、いずれ収束する
ハードフォーク
* 新旧で互換性がなく、分岐したままになる
5)P2P (Peer to Peer)
* 各端末間の情報共有によって、 データを管理するネットワークモデル
6)ノード (Node)
* P2P接続している端末
7)ピア (Peer)
* ブロックチェーンに参加する他のノード
8)コンセンサス・アルゴリズム(合意形成)
* ブロックチェーンに参加する他のノード cf. consensus = 合意
9)ワレット(Wallet)
* 仮想通貨(秘密鍵)を補完するところ
ホットワレット(Hot wallet)
* 秘密鍵の保管場所:サーバ・アプリ上
コールドワレット(Cold wallet)
* 秘密鍵の保管場所:サーバ・アプリ上以外の場所で 「ハードウェアワレット(専用HD)」と「ペーパーワレット(紙面)」がある
関連記事
【Python】ハッシュ
https://dk521123.hatenablog.com/entry/2020/05/03/010502