Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
デジタル空間でのブロックチェーン応用事例 / Blockchain use cases in digital space
Search
Nao Hanamura
October 05, 2019
Technology
0
610
デジタル空間でのブロックチェーン応用事例 / Blockchain use cases in digital space
2019/10/5「HAKODATE Developers Conference 2019」の登壇資料です。
Nao Hanamura
October 05, 2019
Tweet
Share
More Decks by Nao Hanamura
See All by Nao Hanamura
PMFを生み続ける意志力 #pmconf2022
naomasabit
6
10k
寄り道禁止!LayerX インボイスの爆速開発を支えるロードマップ作り / how-to-create-layerx-invoice-roadmap
naomasabit
7
24k
SHIEDLにおけるGKE, CircleCIを活用したサービス、フルノードの基盤開発 / SHIEDL-blockchain-full-node-infrastructure
naomasabit
1
640
DEXのデータを分析してインサイトを掘り出す / DEX Analysis
naomasabit
1
900
セキュリティインシデント事例とブロックチェーンモニタリング・分析サービスcatabiraのご紹介 / Case of security incidents of cryptocurreny and introduction of blockchain monitoring and analysis service "catabira"
naomasabit
0
690
Yellow Paper から読み解くEthereumブロックチェーンの詳細仕様 / Reading out specifications from Ethereum Yellow Paper
naomasabit
10
9.9k
有名なスマートコントラクト脆弱性・ハックについての復習 / Widely known vulnerability of smart contract
naomasabit
2
1.1k
ブロックチェーンサービスのセキュリティを考える
naomasabit
12
8k
Other Decks in Technology
See All in Technology
AWS IAMのアンチパターン/AWSが考える最低権限実現へのアプローチ概略(JAWS-UG朝会#59資料改修20分版)
htan
0
330
楽しくGoを学び合う、LayerXの勉強会文化 / LayerX's study culture of having fun and learning Go together
ar_tama
2
350
成長期に歩みを止めないための創業期の開発文化形成
mayah
6
420
Scaling Technical Excellence at 104: Evolution in AWS and Developer Empowerment
scotthsieh825
1
150
コンテナ・K8s研修 - 後半 Kubernetes 基礎&ハンズオン【MIXI 24新卒技術研修】
mixi_engineers
PRO
1
120
頼られるのが大好きな 皆さんへ - 支援相手との期待の合わせ方、突き放し方 -/For_people_who_like_to_be_relied_on
naitosatoshi
1
290
DDDにおける認可の扱いとKotlinにおける実装パターン / authorization-for-ddd-and-kotlin-implement-pattern
urmot
4
390
What if...? 처음부터 다시 LLM 어플리케이션을 개발한다면
huffon
0
1k
ペパボのオブザーバビリティ研修2024 説明資料
kesompochy
0
1.1k
エンジニアの生存戦略 〜クラウド潮流の経験から紐解く技術トレンドのメカニズムと乗りこなし方〜
shimy
9
1.9k
【基調講演】変える、今ここから ― IoTとAIで紡ぐ未来
soracom
PRO
0
320
Matterport を使ってクラスメソッド各拠点のバーチャルオフィスツアーを作成してみた
wakatsuki
0
160
Featured
See All Featured
Atom: Resistance is Futile
akmur
261
25k
5 minutes of I Can Smell Your CMS
philhawksworth
200
19k
Speed Design
sergeychernyshev
9
270
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
44
4.7k
Design by the Numbers
sachag
277
18k
No one is an island. Learnings from fostering a developers community.
thoeni
17
2.8k
Unsuck your backbone
ammeep
666
57k
The Invisible Customer
myddelton
117
13k
How to Ace a Technical Interview
jacobian
274
23k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
224
21k
The Cult of Friendly URLs
andyhume
75
5.9k
Transcript
1 デジタル空間でのブロックチェーン応 用事例 HAKODATE Developers Conference 2019 花村直親
2 名前: 花村直親(@naomasabit) 経歴: エンジニア/ ITコンサル (ITコンサル / SI会社) =>
データアナリスト / ブロックチェーンR&D / エンジニアリード(デロ イト) => ブロックチェーンスタートアップ共同創業( catabira) => ITコンサル・エンジニアでフリーランス(法人化予定) 最近よくやること: プロダクト立ち上げ支援、ノード運用、ブロックチェーンデータ分析、 鍵管理、スマートコントラクト設計 etc 最近よく使うもの: Go, Python, Solidity, Kubernetes, Ethereum 自己紹介 発信: Neutrinoで働くブロックチェーンエンジニアのブロ グ https://www.blockchainengineer.tokyo/ ブロックチェーンをデータから見るノート https://note.mu/naohanamura
3 過去実績: ・デロイトにて仮想通貨取引分析プラットフォーム開発リード ・株式会社catabira創業とブロックチェーンモニタリング SaaS開発 ・スマートコントラクトの技術書籍監訳「 Solidityプログラミング ブロックチェーン・スマートコントラクト開発入 門」 ・AML/CFT用のブロックチェーン分析ツール開発
・その他、スマートコントラクトのトークン設計や金融業での実証実験など 自己紹介 過去の実績一部:
4 ブロックチェーンについて
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
6 ブロックチェーンはビットコインの基幹テクノロジーとして始まった ブロックチェーンを構成する技術要素 トランザクションの電子署名 マイニングによる 二重支払いの防止 P2P通信
7 ブロックチェーンは第三者の仲介なしに取引が行えるテクノロジー ・クライアント-サー バー方式での接続 ・他のサーバーが中間 にはいり、取引の仲介 を行う。手数料が引か れる ・P2P方式での接続 ・他のサーバーが中間
に入って仲介をしな い。
8 SUICA, LINE Pay, PayPay 「電子マネーをどう作るか?」を考えた時の2パターン 第3者を信頼する電子マネー 第3者を挟まない電子マネー Bitcoin, Ethereum
etc ・第3者の事業者が価値を保証 ・円と同等の価値が保証されている ・第3者がなくなると価値がなくなる ・第3者が介在しない ・法定通貨との保証をしている第3者もいない ・システムの崩壊には参加者全てをなくさない といけない
9 送金者、着金者、トランザクション の伝播者が改ざんする可能性があ る 信頼する第3者を挟まない場合の問題 問題 電子署名でトランザクションを改ざ んできないように保護する 解決策 マイニングでブロック毎にトランザ
クションの変更不可能性を高める 電子署名でトランザクションを保護 しても、送金者が自分の鍵で取り 消して二重送金をする可能性があ る
10 信頼する第3者を挟まない場合、P2Pのネットワーク通信の場合、 トランザクションが改ざんされてしまう可能性がある 送金者A 送金者A 伝播者B 伝播者M 着金者Cを指定し て通貨を送る 悪意を持った伝播
者Mが送金先を書 き換える 着金者Cを指定し たトランザクション を送る 着金者C 伝播者Bはトランザク ションをネットワーク に伝播する 通 常 攻 撃 例 伝播後、Cの元に 着金する Cの元に着金しな い 着金者C
11 電子署名でトランザクションを改ざんできないように保護する事 で、信頼する第3者を挟まなくても実現できる 秘密鍵 公開鍵 送金者A 秘密鍵で署名してトランザ クションを改竄できないよ うにする 伝播者M
秘密鍵を持たない仲介 者Cはトランザクションを 改竄できない 着金者C 送金者Aは秘密鍵 と公開鍵を持つ
12 秘密鍵を用いて中間者から保護しても、送金者が悪意を持つ場 合、二重支払いを起こす可能性がある 送金者M 着金者B 1.秘密鍵で署名してコーヒーの 対価として通貨をBに送る 2.Bは着金を確認したら対価 としてコーヒーを送る 悪意を持った人がコーヒーを暗号通貨で購入するケース
送金者M 着金者B 3.コーヒーを受け取った後、秘密鍵で送付済 トランザクションを書き換えて送った通貨を 再利用できるようにする。Mはコーヒーを無 料で入手できる 4.Bは受け取っていたと思った通貨を 失う
13 送信済のトランザクションを改竄し辛いようにする処理としてマイ ニングがある 1.マイニングを行い、その時点の トランザクションを確定する マイニングとは、トランザクション等とナンス値と呼ばれる任意の数値をまとめてハッシュ化し、一定の数値より 小さくなるナンス値を探す作業 ナンス値 ブロック ハッシュ
前のブロック ハッシュ ブロック ハッシュ ナンス値 2.前のブロックのハッシュ値を含 めてマイニングを行う 前のブロック ハッシュ ブロック ハッシュ ナンス値 前のブロック ハッシュ ブロック ハッシュ ナンス値
14 送信済のトランザクションを改竄し辛いようにする処理としてマイ ニングがある ナンス値 ブロック ハッシュ 前のブロック ハッシュ ブロック ハッシュ
ナンス値 前のブロック ハッシュ ブロック ハッシュ ナンス値 送金者M 送金者Mが、送ったトランザクションを改竄し ようとするにはマイナー相当のパワーが必要 になる 前のブロック ハッシュ ブロック ハッシュ ナンス値
15 3つの技術要素によって第3者の仲介を挟まない電子マネーが成 り立っている トランザクションの電子署名 マイニングによる 二重支払いの防止 P2P通信
16 スマートコントラクトと応用事例
17 ブロックチェーン上で送金以外のプログラムを動かせるスマートコ ントラクトというテクノロジーがある • ビットコインは「送金の合意」プログラ ムの動作に特化している • イーサリアムのようなスマートコントラ クトはより複雑な、通常のシステムに 使われるようなプログラムを動作させ
る • 変数としてブロックチェーン上に管理 台帳を発行できる
18 大元の管理台帳であるブロックチェーンの上にプログラムで資産 台帳を定義することができる • プログラムの「変数」上でデジタルア イテム、独自トークンの管理台帳を定 義する • 所有者とトークンIDなどのマッピング が変数で定義できれば動作する
デジタルアイテムをスマートコントラクトで 表現した規格のERC721
19 スマートコントラクトではブロックチェーン上に任意資産の管理台 帳を発行できる ID、パラメータ、所有者を変数で持つ事で、アイテムを擬似的に発行できる ID 名前 攻撃力 1001 ブレード ソード
100 持ち主 A contract ItemToken{ uint256 ID; #ID string name; #名前 mapping (uint256 => address) IdToOwner; #IDと所有アドレスのマッピング uint256 attackPoint; #攻撃力 …. スマートコントラクトでの表現例 (EthereumのSolidity)
20 仲介する第3者がなく、オープンなために、自由にゲームアイテム をブロックチェーン上で取引ができる デジタルアイテムの取引マーケット「 OpenSea」 ゲームA ゲームB アセット ゲームA アセット
ゲームB
21 ゲームアイテムの取引が自由なため、それぞれのゲーム領域を 超えて自由にゲーム経済圏が作れる ゲームA ゲームBア セット ゲームB 変換された ゲームAア セット
ゲームAア セット 変換された ゲームBア セット Converter
22 事例:OpenSeaでは様々なゲームのアイテムが取引されている OpenSeaの取引高推移(201810~201904) OpenSea
23 事例:CryptoKitties / KittyVerseでは、発行した猫のキャラクター を用いて別ゲームで遊べるような構想を描いた
24 事例:MyCryptoHeroes / MCH+では、発行したキャラクターを用 いて別のゲームを自由に作れるような構想を描いた https://medium.com/mchplus/announcement-mch-c6 cf58ccbe34 https://www.mch.plus/
25 時間やお金を注いできたゲーム資産がデータとして残ることで、 ゲーム終了後も資産として扱える ゲームA ゲームBア セット ゲームB 変換された ゲームAア セット
ゲームAア セット 変換された ゲームBア セット Converter
26 まとめ:ブロックチェーンは価値の移転を手助けする事と相性の良 い技術 電子署名、マイニング、P2P通信といった技術の組み合わせで 第3者の仲介なしの価値移転を実現した スマートコントラクトを活用して、通貨以外のデジタルアセットなど も価値の移転、権利の移転を実現できる。今回はゲーム事例が 主だが、ID管理や権利管理も応用がありうる 価値の移転 基礎技術