Cryptocurrency book cover wide

ブロックチェーンの真価を問う、
スタートラインに立つ

『ゼロから創る暗号通貨』

  • 製本版  3,600  円
  • 電子版  3,200  円

製本版: 送料無料!

Logo amazonpay primary fullcolor positive

Amazon Payをご利用いただくと、すでにAmazonアカウントに登録されている
お支払い情報や配送先を利用してスピーディにお買い物ができます。

本の概要

ブロックチェーンの真価を問う、
スタートラインに立つ

本書は Simple Bitcoin という本書のためにデザインされた暗号通貨をPythonを使って実装しながら、ブロックチェーンについて学ぶための入門書です。

私は「こういうものです。覚えなさい」と教えられるのが昔から大嫌いでした。 たとえば高校の数学の授業。黒板に書かれた問題に対する解説をただただノートにとり、 それを暗記する。たとえそれが連綿と続く人類の歴史の積み重ねの中で獲られた知恵の結晶だとしても、 私にとっては苦痛以外の何ものでもない「作業」でした。 その性分は今でも変わっておらず、紙に書かれた何かをただ記憶する、という作業がとても苦手です。

さて、そんな性分を抱える私が、職務上のいろいろな出会いを通じて「暗号通貨に関連する技術を学ぼう」ということになり、 有名どころの本を揃えたりTwitterで話題の記事などを漁ったりしていたところ、ある1つの問題にぶつかりました。すなわち、

  • 「ビットコインの仕組みはこのようになっています」
  • 「ブロックチェーンとはこういうものです」

といった「事実の紹介」しかしてくれない教材ばかりが目につき、「なぜそのような形に至ったのか?」 という肝心な「思考の過程」を伝えてくれるものに出会えなかった、ということです。

  • 「こんなことを実現したいなら、こういうふうに作ればよいのでは?」
  • 「ああ、なるほど。こういう問題が起こるのか……」

あえて不完全なところからスタートし、失敗や反省を繰り返しながら「創る」ことで完成品に至るまでの思考の過程をシェアする。 私が欲しかったのはそういうテキストでした。本書は、私のような性分を持った人たちに対して「あのときこういう本があれば良かった」 と筆者自らが思えるものを提供することを大きな目的としています。

このところ、ブロックチェーンという技術は、ネット上でもその他の媒体でも用語を目にしない日はないのではないかというほどポピュラーになりつつあります。 ですが、その中身をしっかりと理解し、必要に応じて自分の用途に応じてカスタマイズできる人となると、まだまだ僅か。 学生から現役のエンジニアまで、ブロックチェーンの技術を学ぼうとする方々の動機はさまざまでしょう。 本書では、暗号通貨技術の本質を掴むために、 細かな部分を削ぎ落としてデザインされたSimpleBitcoinというプラットフォームをゼロから創造していきます。

SimpleBitcoinの完成までの過程には、当然、失敗もあります。「学ぶ」という目的を外れない程度のシンプルさを保つために、 あえて不完全なまま終わる部分もあります。とはいえ、不完全であるということさえ理解できていれば、 「今回は解決を見送ったこの問題は、たとえば本家のビットコインではどう対処しているのだろう?他の暗号通貨ではどうしているんだろう?」といった、 暗号通貨技術全般に対する勘所は身につくはずです。

本書の解説、そしてSimpleBitcoinの実装には、コードの可読性の高さや近年の流行を鑑み、プログラミング言語Python(バージョン3系)を採用しました。 読み進める上でPythonに対する深い知識は前提としていないので安心してください。 ただし、Pythonの解説書ではありませんので、環境のセットアップをはじめとするプログラミング言語Pythonの詳細な解説は含めてありません。 必要であれば他の書籍などで適宜補完してください。

繰り返しになりますが、本書で創っていくSimpleBitcoinのゴールは、既存の実装の完全なコピー実装ではありません。 暗号通貨のエッセンスをつかみ取れることがSimpleBitcoinの主眼です。 本書を通じ、既存の仕組みの仕様を単純に受け入れるのではなく、 より良いものにするためにどんな工夫が考えられるかを常に意識できるようなブロックチェーン・エンジニアが一人でも多く誕生してくれれば幸いです。

濵津 誠

みんなの声

  • 待ってましたとしか言いようのない、ブロックチェーン界に必要な本です

  • ちょうどブロックチェーンのキャッチアップをしようと思っていたタイミングで、ベストな本に出会えました。

  • ブロックチェーン技術で価値の移転の仕組みを極力シンプルに実装するという点に専念しており、実際にSimple Bitcoinが依存するモジュールがcryptoのみというあたりに著者の覚悟や気概が窺えます。晃と樹の掛け合いに目が滑りますが技術的には非常に真っ当で素晴らしい書籍です。

  • 考えて、実装して、動かしてみて、修正して少しずつ暗号通貨を作っていくので、読み終わった時には自然とブロックチェーンのコンセプトから細かな仕様だけでなく実装上の工夫までが身につく本。 こんな風に優しく導いてくれる人は存在しない!

  • うちのイーサリアムエンジニアが「とてもクリエイティブな本」と言って回し読みしています!!5冊追加で買います

書籍サンプル

製本版レイアウト

PDFサンプル

目次

第1章 Simple Bitcoin:価値の移転を記録するプロトコル

  • 1.1 これから作ろうとするものは何か?あるいは何ではないか?
  • 1.2 全体像を俯瞰する
  • 1.3 これからの話の流れ
  • 『ゼロから創る暗号通貨』カリキュラム

第2章 P2Pネットワーク : 基盤作りから始めよう

  • 2.1 P2Pネットワーク
  • 2.2 CoreノードとEdgeノード
    • 2.2.1 接続するCoreノードの選択
    • 2.2.2 接続先のCoreノードを信用できるか
    • 2.2.3 CoreノードとEdgeノードの仕様まとめ
  • 2.3 P2Pネットワークの実装
    • 2.3.1 プロトコルを考える
    • 2.3.2 Coreノードの動作
    • 2.3.3 メッセージを定義しよう
  • 2.4 CoreノードとEdgeノードを作って繋ぐ
    • 2.4.1 Coreノードを作る
    • 2.4.2 Coreノード同士を接続する
    • 2.4.3 Edgeノードを作る
    • 2.4.4 CoreノードとEdgeノードを接続してみる
  • 2.5 P2Pネットワークのプロトコルを拡張しよう
    • 2.5.1 暗号通貨に向けた準備
    • 2.5.2 ちょっと寄り道 --- 分散掲示板
  • 2.6 この章の成果

第3章 Hello Blockchain ! : こんにちはブロックチェーン

  • 3.1 簡単なブロックチェーンを作ってみる
  • 3.2 P2Pネットワーク機能に繋ぎ込もう
  • 3.3 Proof of Work 、そしてコンセンサス
    • 3.3.1 SimpleBitcoinにおけるPoW
    • 3.3.2 Coreノードを複数にしてコンセンサスを理解する
  • 3.4 この章の成果

第4章 Wallet と Transaction : Transactionの中身について考える

  • 4.1 送金相手をどのようにして特定するか
    • 4.1.1 電子署名とは
  • 4.2 やり取りする通貨はどこから出てくるのか?
  • 4.3 ブロックの中のTransaction
  • 4.4 Transactionの構成を作りながら考えよう
  • 4.5 Walletができることについて考えながらUIを作ってみる
  • 4.6 WalletでTransactionを生成してみる
  • 4.7 この章の成果

第5章 すべての機能を結合し、動かしてみよう

  • 5.1 Walletを完成させよう
    • 5.1.1 Wallet_GUIとClientCoreを接続しよう
    • 5.1.2 ブロックチェーンの更新と利用可能残高の確認処理を追加しよう
    • 5.1.3 ここまでのまとめ
  • 5.2 サーバーを完成させよう
    • 5.2.1 Transaction受信時の処理
    • 5.2.2 CoinbaseTransactionの生成
    • 5.2.3 受信したブロックの正当性確認
    • 5.2.4 ここまでのまとめ(サーバー編)
  • 5.3 実際にサーバーとWalletを接続してみよう
    • 5.3.1 送金Transactionの生成から送信まで
    • 5.3.2 サーバーB側での送金Transactionの受信からブロックの生成まで
    • 5.3.3 サーバーA側でのブロックの受信からブロックチェーンへの反映まで
    • 5.3.4 WalletA側でのブロックチェーンの更新から残高情報の更新まで
    • 5.3.5 WalletAからWalletBへの送金
  • 5.4 この章の成果

第6章 SimpleBitcoin のセキュリティに関する考察

  • 6.1 インターネット上にサーバーを公開する上での注意点について
    • 6.1.1 P2Pネットワークとしてのセキュリティ
    • 6.1.2 仕様上の前提条件からくるセキュリティ問題
  • 6.2 SimpleBitcoinでは重要視していないセキュリティについて
  • 6.3 その他の注意点
    • 6.3.1 今のところNAT越えはできない
    • 6.3.2 今のところPoWのコントロールは不完全
    • 6.3.3 自分用の鍵の生成タイミングについて
    • 6.3.4 すべてはメモリの上
  • 6.4 この章の成果

第7章 ここから先のSimpleBitcoin

  • 7.1 そうはいっても暗号通貨なので
    • 7.1.1 ブロックチェーンで否認防止
    • 7.1.2 ブロックチェーンは証拠である
  • 7.2 暗号通貨から離れたブロックチェーンの活用例
    • 7.2.1 これから作ろうとするサービスを確認しよう
    • 7.2.2 実際に動作を確認しよう
  • 7.3 P2Pネットワークの活用例について考えてみよう
    • 7.3.1 暗号化メッセージ機能を追加してみよう
  • 7.4 この章の成果

著者

  • 濵津 誠

    P2Pネットワーク、公開鍵暗号方式、そしてブロックチェーン。暗号通貨は面白い技術の塊として純粋に今、追いかける価値がある。そういうのを伝えたくて書きました!「仮想通貨とかもう落ち目でしょ?」みたいな方にもぜひ手にとって頂きたい。

編集者

  • 鹿野 桂一郎

    暗号通貨というトピックに感じるバズっぽさ、ゼロから到達できそうなレベルに対するネガティブな期待、あるいはゼロから創るのは無理そうという尻込み、そして、兄と弟の対話形式という見た目のゆるさ、それらをすべてあっさりと裏切る見事な本です!

書誌情報

  • ページ数:304ページ
  • 電子版フォーマット:PDF
  • 製本版:B5変形・モノクロ
  • 発売日:2018年10月25日