マイニングや高セキュリティ通信を体験
ラズパイで作る ブロックチェーン暗号コンピュータ
佐藤 聖 他 著
新書判 264ページ
定価1,320円(税込)
JAN9784789850285
2020年3月1日発行
好評発売中!
ブロックチェーンの技術は,仮想コインのものだけではありません.複数人でやりとりするデータを,時系列にたどることができ,また,データの提供者,データの確からしさを証明することもできます.
なんだか難しそうな仕組みに見えるかも知れませんが,個人でも利用できるように,開発環境も提供されています.つまり,皆さんが個人でブロックチェーンを利用したシステムを開発でき,それを地域のコミュニティーや流通分野,学校などに利用してもらえる可能性があります.
キャッシュレス決済が浸透しています.やがて紙幣がなくなり,デジタル通貨に変わる日が来るでしょう.ブロックチェーンは小型コンピュータ・ボードの開発者だけでなく,お金を扱う仕事に携わる方達にとって,必修の知識となるでしょう.本書がその助けになれば幸いです.
※ 本書は月刊『Interface』2018年8月号の特集「IoT新技術 なるほどブロックチェーン」の内容を再編集・加筆してまとめたものです.
イントロダクション こんなところで活躍中
■ 世界で活躍している
■ 世界の利用例
■ IoT と相性の良い理由
■ 覚えて欲しい言葉…ビジネスに応用される分散型アプリケーションdApps
第1部 IoT時代の新常識 ブロックチェーン入門
第1章 広がる世界
■ 暗号通貨じゃないブロックチェーンのポテンシャル
■ ブロックチェーンで広がるIoT の世界
第2章 基礎知識
■ 知っておかないとマズい理由
■ 一番の特徴…ネットワークにサーバが要らない
■ 技術の階層
■ ネットワークへの参加者
■ ブロックチェーン端末に使えるハードウェア
第3章 台帳のデータ構造
■ チェーンのつながり方
■ ヘッダの中身(1)…前ブロック・ヘッダのハッシュ値
■ ヘッダの中身(2)…取引履歴ツリーのルート・ハッシュ値
■ ヘッダの中身(3)…重要なランダム値「ノンス値」
■ 新規ブロックを追加するための「マイニング」
■ 取引履歴データ
■ ブロックチェーンで使われるハッシュ関数
■ 新規の台帳(ブロック)を承認する基本メカニズム
■ 新規台帳を作るための「難易度」の考え方
■ 新規台帳作成の競合が起こる理由& 処理
■ ブロックチェーンのバージョンアップで起こる問題
コラム1 アドレスをネットワーク上に公開せずに済ませるための「ブルーム・フィルタ」
コラム2 ブロック生成の指標にはハッシュ・パワーとハッシュ・レートがある
Appendix 1 アニメーションでメカニズムを可視化する
■ お勧めサイト1 … ブロックがつながる様子をイメージしやすいchainFlyer
■ お勧めサイト2 … ブロックの中を詳しく調べられるBLOCKCHAIN
■ その他のお勧めサイト
第4章 伝説のSatoshi Nakamoto論文
第5章 読み解くために必須の暗号技術入門
■ ブロックチェーンで使われる暗号技術(1)…電子署名
■ 基礎技術「RSA署名」
■ 楕円曲線演算を試す
■ ブロックチェーンで使われる暗号技術(2)…ハッシュ関数
■ 今後の話
Appendix 2 知っておくと理解が早いビットコインの基礎知識 104
第2部 ラズパイで動かして合点
Appendix 1 体験プログラムの準備
第1章 Jupyter Notebookでステップ・バイ・ステップ
■ 試す準備
■ 体験1…ハッシュ値の計算
■ 体験2…取引履歴ツリーのルート・ハッシュ値の算出
■ 体験3…全ハッシュ値の検証
■ 体験4… 今回の取引データが履歴ツリーにちゃんとつながっているかの検証
■ 体験5…新規台帳の作成・マイニング
コラム 分散ネットワークで相手との取引を可能にするプロトコル
第3部 ラズパイIoT×ブロックチェーン実験研究
Appendix 1 ブロックチェーンIoT端末で広がる世界
■ 組み込み装置×ブロックチェーン的プログラム自動実行で広がる世界
■ IoT のネットワーク的連係動作にピッタリ
第1章 シンプルMyブロックチェーン・ネットワークを作る
■ 作るもの
■ 開発環境
■ ステップ1…API 部の実装
■ ステップ2…P2P ネットワーク部の実装
■ ステップ3…ブロックチェーン部の実装
■ Myブロックチェーン実行環境の構築
第2章 実験研究…つかみにくい分散ネットワーク的ふるまいの確認
■ 実験の手順
■ 実験1…ブロックへのデータ記録
■ 実験2…ブロックの改ざんを検知できることを確認
■ 実験3…台帳が複数のサーバに分散されて保存されることを確認
■ 実験4…ブロックが全サーバで同期されることを確認
第3章 ラズパイ端末でブロックチェーン的IoTを実感する
■ ラズパイ×ブロックチェーンの利点
■ 準備
■ 動作確認
■ IoT センサ・データを保存してみる
■ センサ値を元に全ラズパイがアクションする実験
Appendix 2 プログラムの改良… ブロック・データが失われないようにする
■ プログラムの変更点
■ 動作確認