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
サイバーフィジカル社会と金融の未来 / Cyber Physical Society and ...
Search
Kenji Saito
PRO
July 02, 2023
Technology
0
190
サイバーフィジカル社会と金融の未来 / Cyber Physical Society and the Future of Finance
早稲田大学大学院経営管理研究科「フィンテック ─ 金融革新とインターネット」2023 夏クォーターの第9-10回で使用したスライドです。
Kenji Saito
PRO
July 02, 2023
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
スマートコントラクトプログラミング / Smart Contract Programming
ks91
PRO
0
13
パット(PAT) : 論文アシスタント(Paper Authoring Tutor) 研究者’s マニュアル / PAT : Paper Authoring Tutor - Researcher's Manual
ks91
PRO
0
6
FinTech 5-6 : The World of Apps
ks91
PRO
0
38
ブロックチェーン概論とインストール大会 / Blockchain Overview and Installation
ks91
PRO
0
13
FinTech 3-4 : Internet Technology and Governance
ks91
PRO
0
72
身体を持つ生成AI と製品トレーサビリティー / Bodily Generative AI and Product Traceability
ks91
PRO
0
15
ブロックチェーン概論 / Introduction to Blockchain
ks91
PRO
0
19
FinTech Lecture 1-2 : Overview of FinTech
ks91
PRO
0
99
ブロックチェーンと分散ファイナンス概論 / Introduction to Blockchain and Decentralized Finance
ks91
PRO
0
32
Other Decks in Technology
See All in Technology
組織デバイスのための効率的なアプリケーション更新戦略
kenchan0130
0
460
テストを楽に書きたい
tomorrowkey
2
270
The road to green code (with Sonar)
bluehats
0
150
運営11年目タイトルを守る最強の盾の有効性と活用法
mixi_engineers
PRO
2
120
RDS for Db2 データ移行編 - Part2:S3経由のバックアップ・リストアでデータ移行 /20241011-RDSforDb2-dojo
mayumihirano
0
140
まだ間に合う! 生成AIトレンド一挙おさらい & AWSのBedrockに入門しよう
minorun365
PRO
4
220
20241015 Toranomon Tech Hub#1 Service Catalog使ってみた
hiashisan
0
220
From naive to advanced RAG: the complete guide
glaforge
0
660
Bluesky 2019〜2022
yamarten
1
120
RAG: from dumb implementation to serious results
glaforge
0
650
AWS Lambda と Amazon SQS で「わかった気になれる」FreeRTOS 入門
soracom
PRO
2
140
Transforming Event Attendees into Lifelong Donors: Insights from Claire Axelrad
auctria
PRO
1
110
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Designing for humans not robots
tammielis
249
25k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
31
1.7k
Why You Should Never Use an ORM
jnunemaker
PRO
53
9k
Typedesign – Prime Four
hannesfritz
39
2.4k
Into the Great Unknown - MozCon
thekraken
31
1.4k
What's in a price? How to price your products and services
michaelherold
243
11k
Building Better People: How to give real-time feedback that sticks.
wjessup
363
19k
Producing Creativity
orderedlist
PRO
341
39k
What's new in Ruby 2.0
geeforr
342
31k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Being A Developer After 40
akosma
85
590k
Transcript
Financial technology on the street. Generated by Stable Diffusion XL
Beta — 2023 9-10 (WBS) — 2023 9-10 — 2023-07-03 – p.1/81
https://speakerdeck.com/ks91 . . . URL — 2023 9-10 — 2023-07-03
– p.2/81
( ) 1 6 5 (1) • 2 6 5
(2) • 3 6 12 Web3 (1) • 4 6 12 Web3 (2) • 5 6 19 (1) • 6 6 19 (2) • 7 6 26 (1) • 8 6 26 (2) • 9 7 3 (1) • 10 7 3 (2) • 11 7 10 (1) 12 7 10 (2) 13 7 24 (1) 14 7 24 (2) 12 — 2023 9-10 — 2023-07-03 – p.3/81
( 20 ) 1 2 3 4 (TCP/IP ) 5
6 7 8 9 10 World Wide Web 11 Web API 12 13 git GitHub 14 (6/19 ) / (2 ) OK / — 2023 9-10 — 2023-07-03 – p.4/81
( ) ( ) Ethereum Ethereum ( ) — 2023
9-10 — 2023-07-03 – p.5/81
: Ethereum + ( ) : everywhere ( ) +
— 2023 9-10 — 2023-07-03 – p.6/81
: — 2023 9-10 — 2023-07-03 – p.7/81
O ⇒ Few-shot learner? Few-short learner . . . (
) web3 ( ) ( ) — 2023 9-10 — 2023-07-03 – p.8/81
Bitcoin 2009 ↑ 14 ( 5 ) — 2023 9-10
— 2023-07-03 – p.9/81
( ) ADR (Active (space) Debris Removal) : https://doi.org/10.1109/TCSS.2018.2890655 (1930
) ( ) — 2023 9-10 — 2023-07-03 – p.10/81
( ) ( ) ( ) — 2023 9-10 —
2023-07-03 – p.11/81
( ) ( - ) : https://doi.org/10.1016/j.future.2019.05.019 — 2023 9-10
— 2023-07-03 – p.12/81
( ) ( ) ( ) — 2023 9-10 —
2023-07-03 – p.13/81
( ) — 2023 9-10 — 2023-07-03 – p.14/81
/ ( ) ( ) ( ) ( ) —
2023 9-10 — 2023-07-03 – p.15/81
( ) ( ) ( ) — 2023 9-10 —
2023-07-03 – p.16/81
( ) : https://www.lij.jp/html/jli/jli_2017/ 2017summer_p018.pdf — 2023 9-10 — 2023-07-03
– p.17/81
( ) ( ) — 2023 9-10 — 2023-07-03 –
p.18/81
— 2023 9-10 — 2023-07-03 – p.19/81
with ( ) : https://doi.org/10.1016/j.icte.2021.08.012 ( ) — 2023 9-10
— 2023-07-03 – p.20/81
DNS : https://ieeexplore.ieee.org/document/9686409 ( ) IP AS — 2023 9-10
— 2023-07-03 – p.21/81
( ) ( ) : https://ieeexplore.ieee.org/document/9686409 ( ) : https://doi.org/10.1016/j.icte.2021.08.012
(web ) — 2023 9-10 — 2023-07-03 – p.22/81
( ) ( ) ( ) : https://doi.org/10.1016/j.icte.2021.08.012 ( )
( ) ( ) : https://ieeexplore.ieee.org/document/9686409 — 2023 9-10 — 2023-07-03 – p.23/81
( ) ( ) : https://ieeexplore.ieee.org/document/9686409 3D ( ) :
HACCP ( ) — 2023 9-10 — 2023-07-03 – p.24/81
N ⇒ ( ) — 2023 9-10 — 2023-07-03 –
p.25/81
T ⇒ Bitcoin (proof of work) Ethereum (proof of stake)
( ) ( ) — 2023 9-10 — 2023-07-03 – p.26/81
E “ ” PF ⇒ ( ) — 2023 9-10
— 2023-07-03 – p.27/81
Ethereum + ( ) — 2023 9-10 — 2023-07-03 –
p.28/81
Ethereum + + = (DeFi) — 2023 9-10 — 2023-07-03
– p.29/81
Ethereum Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART
CONTRACT & DECENTRALIZED APPLICATION PLATFORM” (Dec. 2013∼) 12 ( ) (= ) = = ( ) CPU ⇒ DApps DApps = / — 2023 9-10 — 2023-07-03 – p.30/81
= ( ) run = → — 2023 9-10 —
2023-07-03 – p.31/81
[Lamport 1984][Schneider 1990] ( ) (1) 0 ( ) (2)
(3) (4) ( ) ← — 2023 9-10 — 2023-07-03 – p.32/81
Ether (ETH) Ethereum EOA : Externally-Owned Account ( ) (
) ( ) ( ) ← Ether ( ) EVM EVM = Ethereum = — 2023 9-10 — 2023-07-03 – p.33/81
EVM : Ethereum Virtual Machine ঢ়ଶ ֎෦ΞΫλʔ ΞΧϯτ &7. ίʔυ
&UIFSˠ(BT ىಈ ίϯτϥΫτ ϝοηʔδ͔ɺ৽͍ࣗ͠ಈΦϒδΣΫτ ΞΧϯτؒͰΓऔΓ͞ΕΔσʔλ&UIFS ετϨʔδ ঢ়ଶ` τϥϯβΫγϣϯ ηοτ σδλϧॺ໊ &7. ਓؒͱ͔ ࣗಈ ΦϒδΣΫτ ( ) Gas ( EVM = ( burn)) — 2023 9-10 — 2023-07-03 – p.34/81
/ / (1) Ethereum Bitcoin ( OK) 1 — 2023
9-10 — 2023-07-03 – p.35/81
/ / (2) 3 ( ) · ( ) (
) 1 — 2023 9-10 — 2023-07-03 – p.36/81
/ / (3) ( ) ( ) 1 ( )
1,500 3,000 Ethereum 2022 9 — 2023 9-10 — 2023-07-03 – p.37/81
/ / (4) Gwei Gwei ETH 32 ETH ( )
ETH ETH · 32 ETH ( OK) · 16 ETH ( ) 12 ( ) ( ) 1 — 2023 9-10 — 2023-07-03 – p.38/81
/ / (5) 32 1 (384 ) ( ) (
) 2 3 ( ) 256 512 — 2023 9-10 — 2023-07-03 – p.39/81
/ / (6) ( ) 5 ( ) 2 3
(36 ) — 2023 9-10 — 2023-07-03 – p.40/81
/ / (7) ( ) ( ) DAO (RANDAO) (
) 1 2 — 2023 9-10 — 2023-07-03 – p.41/81
Ethereum ߹ҙ͞Εͨཤྺ ϩʔΧϧʹෳΛҡ࣋
ϒϩοΫ εϩοτ ඵִؒ εϩοτͰ ΤϙοΫ ҉߸ֶతμΠδΣετ ϒϩοΫνΣʔϯͷҡ࣋ࢀՃऀ͕ϩʔΧϧʹཧ͢Δσʔλۭؒ ࣌ؒ ΑΓ৽͍͠ه ΦϒδΣΫτ τʔΫϯγεςϜͷεϚʔτίϯτϥΫτ ֤Ϣʔβͷ ߴͷঢ়ଶ ঢ়ଶ` ঢ়ଶ`` τϥϯβΫγϣϯ ΦϒδΣΫτͷੜ ·ͨঢ়ଶભҠͷࢦࣔ ແޮͳཤྺ ω ỽ τ ϫ ồ Ϋ Λ ௨ ͠ ͯ ૹ ड ৴ ͞ Ε Δ ϩ ồ Χ ϧ ʹ ࣋ ͭ ܨ͙ͨΊʹ&5) Ͱͷσϙδοτͱ σϙδοτ૯ֹͷ ♤ ૬ͷϢʔβʹΑΔ ΤϙοΫͷূݴ͕ඞཁ શΦϒδΣΫτͷભҠޙͷঢ়ଶ ͕ϋογϡ˞ʹू͞Ε ͦͷ ϧʔτ͕ϒϩοΫʹॻ͔ΕΔ ঢ়ଶભҠ ˞ϋογϡσʔλ܈ͷ҉߸ֶతμΠδΣετ ϋογϡ ɹΛߏʹදݱͨ͠ͷͰ ෆ߹ͷݕग़ʹ༻͍ΒΕΔ ETH ( ) ⇒ ETH = Ethereum Virtual Machine (EVM) 2 3 ETH ⇒ ETH — 2023 9-10 — 2023-07-03 – p.42/81
DeFi ( ) (DeFi : Decentralized Finance) ⇒ ⇒ ⇒
( ) BTC, ETH ( ) (DEX)( : Uniswap) ( : MakerDAO/DAI) NFT (Non-Fungible Token)(DeFi ) — 2023 9-10 — 2023-07-03 – p.43/81
( ) Ethereum (ex. ) (ex. ) ⇒ → —
2023 9-10 — 2023-07-03 – p.44/81
— 2023 9-10 — 2023-07-03 – p.45/81
ERC-20 ERC (Ethereum Request for Comments) 20 https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md (EIP: Ethereum
Improvement Proposal) ← EIP ( ) contract ERC20 { function totalSupply() constant returns (uint totalSupply); function balanceOf(address _owner) constant returns (uint balance); function transfer(address _to, uint _value) returns (bool success); function transferFrom(address _from, address _to, uint _value) returns (bool success); function approve(address _spender, uint _value) returns (bool success); function allowance(address _owner, address _spender) constant returns (uint remaining); event Transfer(address indexed _from, address indexed _to, uint _value); event Approval(address indexed _owner, address indexed _spender, uint _value); } name/ , symbol/ , decimals/ approve allowance ERC-777 ( ) — 2023 9-10 — 2023-07-03 – p.46/81
ERC-20 ERC-20 ← ( ) ( ) ⇒ ERC-20 (
ERC-20 ) ERC-20 ⇒ — 2023 9-10 — 2023-07-03 – p.47/81
(fungible) ERC-20 → ERC-223 (draft) or ERC-777 ( )( )
(non-fungible) ERC-721 ( ) ( ) ERC-1155 ( ) ERC-3525 (ERC-721 ; SLOT SLOT ) — 2023 9-10 — 2023-07-03 – p.48/81
— τʔΫϯ ସ՟ฎ εϚʔτίϯτϥΫτ ݕূՄೳͳঢ়ଶϚγϯ ϓϩϏφϯε དྷྺূ໌ ସՄೳ ঈؐෆೳ
ସՄೳ ঈؐՄೳ ସෆೳ ঈؐՄೳ ସෆೳ ঈؐෆೳ ূ໌͢Δ ಉఆ͢Δ ࢧ͍ ࠷ॳͷԠ༻ *%Χʔυ ηΩϡϦςΟ τʔΫϯ ূ݊ ηϯαʔ ྲྀɾ Ҩݴॻ อݥਃ ͢Δ ײ͢Δ தԝۜߦ σδλϧ௨՟ ҭήʔϜ ൿີ伴Λ͑Δ͔Βຊਓʁ ෛ࠴ Ξηοτͷ දݱΛҠసͰ͖Δʁ ొ͞Εͨίʔυͱ ͦͷ࣮ߦϩάͱ݁Ռͷ ਅਖ਼ੑΛ୲อͰ͖Δʁ ݖҖ͕ Կ͔ͷ༰Λূ໌͢Δʁ ࣋ଓ͢Δଘࡏʹ͍ͭͯ هΛΞοϓσʔτՄʁ ओମ͕͍ͳ͘ͳͬͯ աڈͷσʔλ༗ޮʁ /'5 Ұൠతͳ ೝࣝ ػೳͷ ੳ݁Ռ — 2023 9-10 — 2023-07-03 – p.49/81
— 2023 9-10 — 2023-07-03 – p.50/81
transfer settle, retrieve asset, retrieve token 3 — 2023 9-10
— 2023-07-03 – p.51/81
( ( )) ( ) / / — 2023 9-10
— 2023-07-03 – p.52/81
— 1. ( ) 2. ( ) 3. ( )
— 2023 9-10 — 2023-07-03 – p.53/81
token (ERC-20 ) $ brownie bake token GitHub git clone
$ git clone https://github.com/ks91/sample-smart-contracts.git sample-smart-contracts contracts, scripts tests token Token — 2023 9-10 — 2023-07-03 – p.54/81
OneTimeEscrow settle() function settle() public returns (bool) { require(_token_.balanceOf(address(this)) >=
_price_); /* this */ require(_asset_.getOwner() == address(this)); _token_.transfer(_seller_ , _price_); _asset_.transfer(_buyer_); emit Settled(); /* */ return true; } settle() transfer $ brownie compile — 2023 9-10 — 2023-07-03 – p.55/81
(1) from brownie import * import pytest seller = accounts[0]
buyer = accounts[1] def test_deploy_and_settle(Token, IndivisibleAsset, OneTimeEscrow): asset = accounts[0].deploy(IndivisibleAsset, "5322 Endo", "mˆ2", 300) token = accounts[0].deploy(Token, "Test Token", "TEST", 18, "1000 ether") — 2023 9-10 — 2023-07-03 – p.56/81
(2) token.transfer(buyer, 300, {’from’: accounts[0]}) escrow = accounts[0].deploy(OneTimeEscrow, token, buyer,
asset, seller, 300) accounts[0]/seller accounts[1]/buyer 300 300 TX buyer seller 300 bake Token 300 ETH wei — 2023 9-10 — 2023-07-03 – p.57/81
(3) token.transfer(escrow, 300, {’from’: buyer}) asset.transfer(escrow, {’from’: seller}) assert token.balanceOf(seller)
== 999999999999999999700 assert token.balanceOf(buyer) == 0 assert token.balanceOf(escrow) == 300 assert asset.getOwner() == escrow buyer ( ) 300 seller ( ) — 2023 9-10 — 2023-07-03 – p.58/81
(4) escrow.settle({’from’: seller}) assert token.balanceOf(seller) == 1000000000000000000000 assert token.balanceOf(buyer) ==
0 assert token.balanceOf(escrow) == 0 assert asset.getOwner() == buyer settle() seller OK — 2023 9-10 — 2023-07-03 – p.59/81
: — 2023 9-10 — 2023-07-03 – p.60/81
4. × OK Web3 2023 6 30 ( ) 23:59
JST ( ) Waseda Moodle — 2023 9-10 — 2023-07-03 – p.61/81
. . . . . . 37 33 (7/2( )
) ( ) ( ) (12) / (9) / (9) / (4) / (2) / ( , ) (2) / (1) — 2023 9-10 — 2023-07-03 – p.62/81
Y V2H Vehicle to Home V2G Vehicle to Grid ⇒
— 2023 9-10 — 2023-07-03 – p.63/81
Y 5 Uber ⇒ Uber — 2023 9-10 — 2023-07-03
– p.64/81
Y ⇒ — 2023 9-10 — 2023-07-03 – p.65/81
T × × ⇒ — 2023 9-10 — 2023-07-03 –
p.66/81
everywhere ( ) — 2023 9-10 — 2023-07-03 – p.67/81
← (cybernetics) → (AI ) / — 2023 9-10 —
2023-07-03 – p.68/81
(cognitive) ( ) → → 28 ← . . .
(http://cs.stanford.edu/people/karpathy/convnetjs/) everywhere ( : iOS ) — 2023 9-10 — 2023-07-03 – p.69/81
(generative) ( ) ⇒ ( ) Individuals and interactions (
) = ⇒ everywhere — 2023 9-10 — 2023-07-03 – p.70/81
( ) Digital Twins Everywhere — SIEMENS (?) — 2023
9-10 — 2023-07-03 – p.71/81
→ 30 : × — 2023 9-10 — 2023-07-03 –
p.72/81
OS (2007)→ ਓྨֶ ใֶ ڥֶ ࣾձֶ ܦӦֶ ֶ࣏ ݱࡏ ϋʔυ
ΣΞ ΞϓϦέ ʔγϣϯ Ϣʔβ 04 ਓؒ ࣄۀ ۚ༥ܦࡁγεςϜ ਓؒ ࣄۀ ٿن04 ࣗಈγεςϜ ࣗવڥ ٿ ࣗવڥ ٿ ۙະདྷ ࣌ͷΠϝʔδ ਓؒ ϝλ ɾ ωΠνϟʔ ࣗಈԽࢄࣾձڥ ࣗવڥ ٿ ۙະདྷ ࠓͷΠϝʔδ . . . . . . — 2023 9-10 — 2023-07-03 – p.73/81
Amazon Go → — 2023 9-10 — 2023-07-03 – p.74/81
( JPY ) (MUFG) S (CBDC) (“Cause-Oriented Economy”) cf. ChatGPT
⇒ — 2023 9-10 — 2023-07-03 – p.75/81
(4 ) ( ) ( ) — 2023 9-10 —
2023-07-03 – p.76/81
→ (AI ) → ( ) ← → → /
/ — 2023 9-10 — 2023-07-03 – p.77/81
: 30 30 — 2023 9-10 — 2023-07-03 – p.78/81
— 2023 9-10 — 2023-07-03 – p.79/81
5. everywhere Web3 2023 7 7 ( ) 23:59 JST
( ) Waseda Moodle — 2023 9-10 — 2023-07-03 – p.80/81
miro miro ( ) — 2023 9-10 — 2023-07-03 –
p.81/81