Slide 1

Slide 1 text

1 デジタル空間でのブロックチェーン応 用事例 HAKODATE Developers Conference 2019 花村直親

Slide 2

Slide 2 text

2 名前: 花村直親(@naomasabit) 経歴: エンジニア/ ITコンサル (ITコンサル / SI会社) => データアナリスト / ブロックチェーンR&D / エンジニアリード(デロ イト) => ブロックチェーンスタートアップ共同創業( catabira) => ITコンサル・エンジニアでフリーランス(法人化予定) 最近よくやること:  プロダクト立ち上げ支援、ノード運用、ブロックチェーンデータ分析、 鍵管理、スマートコントラクト設計 etc 最近よく使うもの:  Go, Python, Solidity, Kubernetes, Ethereum 自己紹介 発信: Neutrinoで働くブロックチェーンエンジニアのブロ グ https://www.blockchainengineer.tokyo/ ブロックチェーンをデータから見るノート https://note.mu/naohanamura

Slide 3

Slide 3 text

3 過去実績: ・デロイトにて仮想通貨取引分析プラットフォーム開発リード ・株式会社catabira創業とブロックチェーンモニタリング SaaS開発 ・スマートコントラクトの技術書籍監訳「 Solidityプログラミング ブロックチェーン・スマートコントラクト開発入 門」 ・AML/CFT用のブロックチェーン分析ツール開発 ・その他、スマートコントラクトのトークン設計や金融業での実証実験など 自己紹介 過去の実績一部:

Slide 4

Slide 4 text

4 ブロックチェーンについて

Slide 5

Slide 5 text

5 https://medium.com/@gomasuda/2019%E5%B9%B4%E6%9C%80%E6%96%B0%E3%82%AB%E3%82%AA%E3%82%B9%E3%8 3%9E%E3%83%83%E3%83%97-%E5%9B%BD%E5%86%85%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%83%81 %E3%82%A7%E3%83%BC%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%88%E3%82%A2%E3%83%83%E3 %83%97-c6fb3959a178

Slide 6

Slide 6 text

6 ブロックチェーンはビットコインの基幹テクノロジーとして始まった ブロックチェーンを構成する技術要素 トランザクションの電子署名 マイニングによる 二重支払いの防止 P2P通信

Slide 7

Slide 7 text

7 ブロックチェーンは第三者の仲介なしに取引が行えるテクノロジー ・クライアント-サー バー方式での接続 ・他のサーバーが中間 にはいり、取引の仲介 を行う。手数料が引か れる ・P2P方式での接続 ・他のサーバーが中間 に入って仲介をしな い。

Slide 8

Slide 8 text

8 SUICA, LINE Pay, PayPay 「電子マネーをどう作るか?」を考えた時の2パターン 第3者を信頼する電子マネー 第3者を挟まない電子マネー Bitcoin, Ethereum etc ・第3者の事業者が価値を保証 ・円と同等の価値が保証されている ・第3者がなくなると価値がなくなる ・第3者が介在しない ・法定通貨との保証をしている第3者もいない ・システムの崩壊には参加者全てをなくさない といけない

Slide 9

Slide 9 text

9 送金者、着金者、トランザクション の伝播者が改ざんする可能性があ る 信頼する第3者を挟まない場合の問題 問題 電子署名でトランザクションを改ざ んできないように保護する 解決策 マイニングでブロック毎にトランザ クションの変更不可能性を高める 電子署名でトランザクションを保護 しても、送金者が自分の鍵で取り 消して二重送金をする可能性があ る

Slide 10

Slide 10 text

10 信頼する第3者を挟まない場合、P2Pのネットワーク通信の場合、 トランザクションが改ざんされてしまう可能性がある 送金者A 送金者A 伝播者B 伝播者M 着金者Cを指定し て通貨を送る 悪意を持った伝播 者Mが送金先を書 き換える 着金者Cを指定し たトランザクション を送る 着金者C 伝播者Bはトランザク ションをネットワーク に伝播する 通 常 攻 撃 例 伝播後、Cの元に 着金する Cの元に着金しな い 着金者C

Slide 11

Slide 11 text

11 電子署名でトランザクションを改ざんできないように保護する事 で、信頼する第3者を挟まなくても実現できる 秘密鍵 公開鍵 送金者A 秘密鍵で署名してトランザ クションを改竄できないよ うにする 伝播者M 秘密鍵を持たない仲介 者Cはトランザクションを 改竄できない 着金者C 送金者Aは秘密鍵 と公開鍵を持つ

Slide 12

Slide 12 text

12 秘密鍵を用いて中間者から保護しても、送金者が悪意を持つ場 合、二重支払いを起こす可能性がある 送金者M 着金者B 1.秘密鍵で署名してコーヒーの 対価として通貨をBに送る 2.Bは着金を確認したら対価 としてコーヒーを送る 悪意を持った人がコーヒーを暗号通貨で購入するケース 送金者M 着金者B 3.コーヒーを受け取った後、秘密鍵で送付済 トランザクションを書き換えて送った通貨を 再利用できるようにする。Mはコーヒーを無 料で入手できる 4.Bは受け取っていたと思った通貨を 失う

Slide 13

Slide 13 text

13 送信済のトランザクションを改竄し辛いようにする処理としてマイ ニングがある 1.マイニングを行い、その時点の トランザクションを確定する マイニングとは、トランザクション等とナンス値と呼ばれる任意の数値をまとめてハッシュ化し、一定の数値より 小さくなるナンス値を探す作業 ナンス値 ブロック ハッシュ 前のブロック ハッシュ ブロック ハッシュ ナンス値 2.前のブロックのハッシュ値を含 めてマイニングを行う 前のブロック ハッシュ ブロック ハッシュ ナンス値 前のブロック ハッシュ ブロック ハッシュ ナンス値

Slide 14

Slide 14 text

14 送信済のトランザクションを改竄し辛いようにする処理としてマイ ニングがある ナンス値 ブロック ハッシュ 前のブロック ハッシュ ブロック ハッシュ ナンス値 前のブロック ハッシュ ブロック ハッシュ ナンス値 送金者M 送金者Mが、送ったトランザクションを改竄し ようとするにはマイナー相当のパワーが必要 になる 前のブロック ハッシュ ブロック ハッシュ ナンス値

Slide 15

Slide 15 text

15 3つの技術要素によって第3者の仲介を挟まない電子マネーが成 り立っている トランザクションの電子署名 マイニングによる 二重支払いの防止 P2P通信

Slide 16

Slide 16 text

16 スマートコントラクトと応用事例

Slide 17

Slide 17 text

17 ブロックチェーン上で送金以外のプログラムを動かせるスマートコ ントラクトというテクノロジーがある • ビットコインは「送金の合意」プログラ ムの動作に特化している • イーサリアムのようなスマートコントラ クトはより複雑な、通常のシステムに 使われるようなプログラムを動作させ る • 変数としてブロックチェーン上に管理 台帳を発行できる

Slide 18

Slide 18 text

18 大元の管理台帳であるブロックチェーンの上にプログラムで資産 台帳を定義することができる • プログラムの「変数」上でデジタルア イテム、独自トークンの管理台帳を定 義する • 所有者とトークンIDなどのマッピング が変数で定義できれば動作する デジタルアイテムをスマートコントラクトで 表現した規格のERC721

Slide 19

Slide 19 text

19 スマートコントラクトではブロックチェーン上に任意資産の管理台 帳を発行できる ID、パラメータ、所有者を変数で持つ事で、アイテムを擬似的に発行できる ID 名前 攻撃力 1001 ブレード ソード 100 持ち主 A contract ItemToken{ uint256 ID; #ID string name; #名前 mapping (uint256 => address) IdToOwner; #IDと所有アドレスのマッピング uint256 attackPoint; #攻撃力 …. スマートコントラクトでの表現例 (EthereumのSolidity)

Slide 20

Slide 20 text

20 仲介する第3者がなく、オープンなために、自由にゲームアイテム をブロックチェーン上で取引ができる デジタルアイテムの取引マーケット「 OpenSea」 ゲームA ゲームB アセット ゲームA アセット ゲームB

Slide 21

Slide 21 text

21 ゲームアイテムの取引が自由なため、それぞれのゲーム領域を 超えて自由にゲーム経済圏が作れる ゲームA ゲームBア セット ゲームB 変換された ゲームAア セット ゲームAア セット 変換された ゲームBア セット Converter

Slide 22

Slide 22 text

22 事例:OpenSeaでは様々なゲームのアイテムが取引されている OpenSeaの取引高推移(201810~201904) OpenSea

Slide 23

Slide 23 text

23 事例:CryptoKitties / KittyVerseでは、発行した猫のキャラクター を用いて別ゲームで遊べるような構想を描いた

Slide 24

Slide 24 text

24 事例:MyCryptoHeroes / MCH+では、発行したキャラクターを用 いて別のゲームを自由に作れるような構想を描いた https://medium.com/mchplus/announcement-mch-c6 cf58ccbe34 https://www.mch.plus/

Slide 25

Slide 25 text

25 時間やお金を注いできたゲーム資産がデータとして残ることで、 ゲーム終了後も資産として扱える ゲームA ゲームBア セット ゲームB 変換された ゲームAア セット ゲームAア セット 変換された ゲームBア セット Converter

Slide 26

Slide 26 text

26 まとめ:ブロックチェーンは価値の移転を手助けする事と相性の良 い技術 電子署名、マイニング、P2P通信といった技術の組み合わせで 第3者の仲介なしの価値移転を実現した スマートコントラクトを活用して、通貨以外のデジタルアセットなど も価値の移転、権利の移転を実現できる。今回はゲーム事例が 主だが、ID管理や権利管理も応用がありうる 価値の移転 基礎技術