堅牢なシステム開発/運用を実現するための ビットコイン[技術]入門
2018年7月26日紙版発売
2018年7月20日電子版発売
田篭照博 著
B5変形判/368ページ
定価3,608円(本体3,280円+税10%)
ISBN 978-4-7741-9909-2
ただいま弊社在庫はございません。
書籍の概要
この本の概要
本書は,最初に構築されたブロックチェーンネットワークである「ビットコインネットワーク」の解説書です。利用される技術(暗号,アドレス,トランザクション,ブロック)をご自身で手を動かしながら習得できる構成です。さらに,後半ではマルチシグ(MultiSig)やコールドウォレットなどをいかに有効活用するかなど,セキュリティ対策のあるべき姿をシステムアーキテクチャや運用設計の観点から説明しています。
こんな方におすすめ
- ブロックチェーンの技術や具体的な開発/運用方法,セキュリティ問題/対策に興味のある方
- ビットコインのシステム開発を企画している方
この書籍に関連する記事があります!
- 仮想通貨を支えるブロックチェーンのセキュリティはいかにあるべきか?
- 仮想通貨取引所に代表される,ブロックチェーン関連ビジネスが盛り上がりを見せている一方で,セキュリティに問題があり,被害を受けるケースも増えています。
本書のサンプル
本書の一部ページを,PDFで確認することができます。
- サンプルPDFファイル(1,030KB)
目次
Part1 ブロックチェーンと関連技術
Chapter1 ブロックチェーンの全体像
- 1.1 ブロックチェーン
- 1.2 ビットコインネットワーク
- 1.3 Ethereum
- 1.4 ブロックチェーンネットワークの構成要素
- 1.5 ビットコインネットワークの全体図
- 1.6 BIP(Bitcoin Improvement Proposals)
Chapter2 ビットコインネットワークを利用するための環境準備
- 2.1 Ubuntuのインストール
- 2.2 Bitcoin Explorerのインストール
- 2.3 Bitcoin Coreのインストール
- 2.4 初期セットアップとtestnetへの接続
Chapter3 ビットコインネットワークを理解するための暗号技術
- 3.1 ハッシュ関数
- 3.2 公開鍵暗号
- 3.3 楕円曲線
- 3.4 デジタル署名
- 3.5 ECDSAの署名と検証の詳細
Part2 ビットコインネットワーク
Chapter4 鍵,アドレス,ウォレット
- 4.1 所有権を特定する「鍵」と「錠」
- 4.2 鍵を管理する「ウォレット」
- 4.3 ウォレットの種類
- 4.4 送金先となるアドレス
- 4.5 秘密鍵/公開鍵のフォーマット
- 4.6 非決定性ウォレットと決定性ウォレット
- 4.7 階層的決定性ウォレット(HDウォレット)
- 4.8 拡張鍵
- 4.9 強化導出鍵
- 4.10 ニモニックコード
- 4.11 BIP 0044のHDウォレット
Chapter5 トランザクション
- 5.1 トランザクションのライフサイクル
- 5.2 トランザクションの概要
- 5.3 トランザクションの構造
- 5.4 UTXOと残高
- 5.5 Locking ScriptとUnlocking Script
- 5.6 トランザクションの署名ロジック
- 5.7 トランザクションの識別子(TXID)
- 5.8 トランザクションの置換(Replace by Fee)
Chapter6 ブロックとブロックチェーン
- 6.1 ブロックの構造と識別子
- 6.2 ブロックからトランザクションを検索する(マークルツリー)
Chapter7 マイニングとコンセンサスアルゴリズム
- 7.1 ビザンチン将軍問題と分散型コンセンサス
- 7.2 PoW(Proof-Of-Work)
- 7.3 トランザクションの集積
- 7.4 マイナーの報酬トランザクション(coinbaseトランザクション)
- 7.5 チェーンの分岐(フォーク)
- 7.6 51%攻撃
Chapter8 Segregated Witness
- 8.1 SegWitが導入された背景
- 8.2 トランザクションのデータ構造の変化
- 8.3 ブロックサイズの計算方法の変更
- 8.4 witness version と witness program
- 8.5 P2WPKH(Pay to Witness Pubkey Hash)
- 8.6 P2WSH(Pay to Witness Script Hash)
- 8.7 P2SH-P2WPKH
- 8.8 P2SH-P2WSH
- 8.9 SegWitトランザクションの署名方法
- 8.10 SegWitのアドレス
- 8.11 SegWitのcoinbaseトランザクション
Chapter9 P2P
- 9.1 ノードの発見とP2Pへの参加
- 9.2 メッセージのタイプとデータ
- 9.3 ハンドシェイク
- 9.4 トランザクションの伝搬
Part3 ビットコインネットワークを体験しよう
Chapter10 ウォレット
- 10.1 ウォレットを操作するための準備
- 10.2 ウォレットファイルのダンプとバックアップ
- 10.3 アドレスの生成
- 10.4 HDウォレットの確認
- 10.5 マルチウォレットの利用
Chapter11 P2PKH,P2SH
- 11.1 P2PKH
- 11.2 P2SH
Chapter12 P2WPKH,P2WSH
- 12.1 P2WPKH
- 12.2 P2WSH
Chapter13 P2SH-P2WPKH,P2SH-P2WSH
- 13.1 P2SH-P2WPKH
- 13.2 P2SH-P2WSH
Chapter14 Locktime,Replace by Fee
- 14.1 Locktime
- 14.2 Replace by Feeを試してみよう
Chapter15 ブロック
- 15.1 ブロックを確認しよう
- 15.2 coinbaseトランザクションを確認しよう
- 15.3 ブロックハッシュを計算しよう
- 15.4 マークルルートを計算しよう
Chapter16 オリジナルウォレットで送金しよう
- 16.1 オリジナルウォレットでTXを生成・署名してみよう
- 16.2 P2Pのプロトコルを実装してトランザクションを送信する
Part4 セキュリティ
Chapter17 ホットウォレットのセキュリティ
- 17.1 秘密鍵をホットウォレットとするか検討する
- 17.2 拡張公開鍵の利用時の注意点
- 17.3 一定額を超えたらコールドウォレットで保管する
- 17.4 秘密鍵を公開サーバに保管しない
- 17.5 侵入経路を断つ
- 17.6 セグメントを分ける
- 17.7 許可する通信/起動するサービスを最小限にする
- 17.8 OSのユーザを適切に分ける
- 17.9 ファイルのアクセス権限を最小限にする
- 17.10 内部端末からの攻撃への対策
- 17.11 内部犯行対策も行う
- 17.12 マルチシグで秘密鍵を分散する
- 17.13 バックアップサイトやDRサイトのアクセスコントロール
- 17.14 JSON-RPCにIDとパスワードを設定する
- 17.15 通信の暗号化と注意点
- 17.16 ウォレットの暗号化
- 17.17 不正の検知・遮断
- 17.18 監査ログの取得
- 17.19 リリース前に本番で使うウォレットを生成しない
Chapter18 コールドウォレットのセキュリティ
- 18.1 外部の人間によるウォレットへのアクセス
- 18.2 ハードウェアウォレット接続端末への攻撃
- 18.3 担当者のアクセスコントロール
- 18.4 ニモニックコードの取り扱い
- 18.5 ホットウォレット/コールドウォレットセキュリティの総括
Chapter19 その他のセキュリティ事項
- 19.1 ユーザのプライバシーを守る
- 19.2 リスクとスピードのバランスに鑑みて承認回数を決定する
- 19.3 クライアントアプリの脆弱性と鍵管理
- 19.4 ECDSAパラメータの使い回しによる秘密鍵の漏洩
この本に関連する書籍
-
実践IPFS入門
IPFS(InterPlanetary File System)とは,Protocol Labsが開発を進めている分散型ファイルシステムです。耐障害性,負荷分散,耐改ざん性などの観点から,HTTPを置き換...
-
堅牢なスマートコントラクト開発のためのブロックチェーン[技術]入門
ブロックチェーンの技術は,ビットコインに代表される仮想通貨に使用されるだけではありません。従来のように中央集中管理型のシステムに比べて,改ざんが難しく,かつ...
-
スマートコントラクト本格入門―FinTechとブロックチェーンが作り出す近未来がわかる
FinTechの中でも大きなインパクトをもたらす技術と目されている「スマートコントラクト」。本書では,FinTechの最新アウトラインから入り,スマートコントラクトの基礎...