Kedar Iyer 著
Chris Dannen 著
久富木 隆一 翻訳
人工知能(AI)や機械学習に並び、現在注目されている技術の一つが
ブロックチェーンであり、dapp(分散アプリ)です。
ICOやSTOといったトークンの基盤となる暗号通貨として
FinTech分野で期待されるのみならず、
非中央集権的なWebであるWeb3.0時代における
世界的規模のコンピューティングプラットフォームとしても
ブロックチェーンは注目されています。
そのため、現代のソフトウェアエンジニアにとって、
ブロックチェーンやブロックチェーン上で動作する
dapps開発の知識は、避けて通れないものになってきています。
本書は、プログラマのためのブロックチェーンアプリ開発の入門書として、
・ブロックチェーンの概念
・開発環境
・スマートコントラクト(仮想マシンで自動実行される
ブロックチェーン上のプログラム)
などの基礎を学びつつ、ゲームを中心に
現実的なアプリケーションを実装していきます。
具体的には、ビットコイン(Bitcoin)以降に登場し、
ユーザーが多く、dapps開発基盤のデファクトスタンダードとなっている
イーサリアム(Ethereum)で、スマートコントラクト実装用の言語
「Solidity」を用いて、ゲームやアプリの開発を学んでいきます。
決して多すぎないページ数に凝縮された解説を読めば、
あなたもブロックチェーンアプリ開発の概観を掴むことができます。
本書を読むことで、ブロックチェーン上でできること、
できないことについて、現実的な、地に足の付いたセンスが得られるはずです。
また、特にゲーム開発者にとっては、乱数生成アルゴリズム、
データ隠蔽、ゲーム内経済やゲーム理論など、示唆に富む内容で
満ちており、他にはないユニークな一冊になっています。
さらに、実際にアプリを構築する段階で、
特に問題となりやすいのがセキュリティです。
さまざまな事件の原因となった脆弱性を取り上げながら、
気をつけなければならないポイントを複数の章にわたって解説しています。
Chapter 1 概念の紹介
1.1 ブロック
1.2 マイニング
1.3 トランザクション
1.4 ステートツリー
1.5 Web3解説
1.6 最近のイーサリアム関連動向
1.7 ビットコインvsイーサリアム
1.8 アドレスとキーペア
1.9 コントラクトと外部アカウント
1.10 イーサリアムにおけるプログラム
1.11 Solidityを掘り下げる
1.12 ハックを防ぎ続ける
1.13 ブロックエクスプローラー
1.14 有用なスマートコントラクト
1.15 イーサリアムでのゲーミングに関する賛否
1.16 フォローすべき人々
1.17 まとめ
Chapter 2 イーサリアム開発環境
2.1 設定を行う
2.2 イーサリアムクライアント
2.3 ブロックチェーンに接続する
2.4 まとめ
Chapter 3 イーサリアムの初歩
3.1 プロジェクト3-1:トランザクション作成
3.2 プロジェクト3-2:デプロイ入門
3.3 まとめ
Chapter 4 スマートコントラクトの理論的概要
4.1 Truffleの理論
4.2 EVMの理論
4.3 Solidityの理論
4.4 まとめ
Chapter 5 コントラクトのセキュリティ
5.1 コントラクトのデータは全部公開されている!
5.2 失われたイーサ
5.3 コントラクトへのイーサ保存
5.4 イーサ送信
5.5 引き出し関数
5.6 外部コントラクトの呼び出し
5.7 一時停止可能コントラクト
5.8 乱数生成
5.9 整数に関する問題
5.10 関数はデフォルトで公開状態
5.11 tx.originではなくmsg.senderを使うべし
5.12 すべてはフロントランニング可能
5.13 以前のハックや攻撃
5.14 まとめ
Chapter 6 暗号経済学とゲーム理論
6.1 ブロックチェーンの安全性を確保する
6.2 コンセンサス形成
6.3 トランザクション手数料
6.4 インセンティブ
6.5 攻撃経路
6.6 まとめ
Chapter 7 ポンジとピラミッド
7.1 スキーム:ポンジvsピラミッド
7.2 検証可能な悪徳
7.3 単純なポンジ
7.4 現実的なポンジスキーム
7.5 単純なピラミッドスキーム
7.6 GovernMental
7.7 まとめ
Chapter 8 宝くじ
8.1 乱数生成(再び)
8.2 単純な宝くじ
8.3 複数回宝くじ
8.4 RNG宝くじ
8.5 パワーボール
8.6 まとめ
Chapter 9 賞金付きパズル
9.1 解答の隠蔽
9.2 単純なパズル
9.3 公約-公表パズル
9.4 まとめ
Chapter 10 予測市場
10.1 コントラクトの概観
10.2 イベントによる状態追跡
10.3 株取引
10.4 市場の決定
10.5 まとめ
Chapter 11 ギャンブル
11.1 ゲームプレイの制限
11.2 サトシダイス
11.3 ルーレット
11.4 まとめ
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
youta32449999 さん
2021-08-04
ゲーム開発というタイトルの通り、ランダムな値の生成方法やコントラクト内のデータが公に見えるという前提でのクイズゲームの答えの隠し方などゲームにとって重要な要素の解説に力を入れている印象。 コントラクトを使用するフロントエンドは作らないので画面を含めた動くもののハンズオンを期待してる人はがっかりするかもしれない。 ゲームを作るという部分を重要視しない場合、現時点でのsolidity最新バージョンでは本書のコードがそのまま動かないので、より新しいハンズオン系の書籍を読んだ方が良いと思う。