6章_ブロックチェーン
発火大根
https://scrapbox.io/files/670289d84b1b05001ce87c21.png
6.1 リサがトランザクションを削除できることについて
5章 (トランザクションの導入) で検証できないこと
リサがトランザクションを削除していない
6章で扱う
リサがトランザクションを検閲していない
検閲の防止策 : 7-8章
SPVウォレット
帯域幅・ストレージスペースの節約のために、フルノードとは異なるトランザクションの検証方法を用いる
フルノード : 台帳を全部ダウンロードする
SPVノード : フルノードとは違う方式
6.2 ブロックチェーンの構築
リサが全てのトランザクションが管理されたスプレッドシートからトランザクションを削除しても、誰も検証できない
そこでブロックチェーンを導入
https://scrapbox.io/files/67028944e6d5b5001ded4d75.png
最後のブロック : チェーンチップと呼ぶ
個々のブロックの構成
前ブロックの参照情報 (ダブルSHA-256 ハッシュ)
ブロックに含まれるトランザクション(1個以上)全体のマークルルート
ブロック作成時刻
ブロックヘッダーに対するデジタル署名
ブロックテンプレート (署名のないブロック)を作る
ブロックに格納するトランザクションを集めてブロックヘッダを作る
前のブロックのブロックヘッダーをハッシング
ハッシングした値を前のブロックのブロックIDにする
新しいブロックヘッダにブロックIDを格納
ブロックテンプレート内の全てのテンプレートからマークルルートを作る
タイムスタンプに現在の時刻を書き込み
ブロックへの署名 (ビットコインのブロックはPoWなので実際とは違う)
ブロック署名用の秘密鍵を使って署名する
6.3 簡易ウォレット
6.4 マークル木
6.5 簡易ウォレットのセキュリティ
6.6 復習
6.7 演習問題