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
続・スマートコントラクトと分散ファイナンス / Smart Contracts and Dec...
Search
Kenji Saito
PRO
July 05, 2025
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
続・スマートコントラクトと分散ファイナンス / Smart Contracts and Decentralized Finance, Continued
早稲田大学大学院経営管理研究科「フィンテック ─ 金融革新とインターネット」2025 夏の第9-10回で使用したスライドです。
Kenji Saito
PRO
July 05, 2025
More Decks by Kenji Saito
See All by Kenji Saito
ロボティクスの技術 / Robotics Technology
ks91
PRO
0
61
インシデントレスポンス演習 I / Incident Response Exercise I
ks91
PRO
0
88
責任 2.0/3.0 ∼ 知的創造過程の脱領土化 / Responsibility 2.0/3.0 - The Deterritorialization of the Intellectual Creative Process
ks91
PRO
0
17
エージェント化するAI:現在地とその先に起きる変化 〜 おかわり / AI as Agents: The Current State and the Changes Ahead - a second helping
ks91
PRO
0
31
金融テクノロジーのガバナンス / Governance of Financial Technology
ks91
PRO
0
69
セキュリティの基礎とインシデントレスポンス / Security Fundamentals and Incident Response
ks91
PRO
0
95
やり抜く力を見せるエージェントたち / Agents Who Demonstrate Perseverance
ks91
PRO
0
37
ブロックチェーン / Blockchain
ks91
PRO
0
130
デジタルとコミュニケーション / Digital and Communication
ks91
PRO
0
54
Other Decks in Technology
See All in Technology
プロダクト開発から業務改善コンサルまで。事業全体へ「染み出す」ことで広がるエンジニアの可能性
ham0215
0
120
AWSシリコン最前線 〜AI時代のチップ選択を読み解く〜
htokoyo
2
600
2026.06.13_AI時代に事業会社が「SIer出身エンジニア」を求める理由 / Why Businesses Seek Engineers with a System Integrator Background in the AI Era
jumtech
0
1.1k
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
3
2.1k
AIエージェントが名古屋の猛暑からあなたを守る
happysamurai294
0
110
2026TECHFRESH畢業分享會 - AI 時代的人生存檔點
line_developers_tw
PRO
0
970
なぜ Platform Engineering の土台に Kubernetes を選ぶのか
r4ynode
2
640
AIっぽい文章を採点して人間らしく直すアプリを作ってみた
yama3133
2
150
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
680
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.9k
エラーバジェットのアラートのタイミングを考える.pdf
kairim0
0
140
あなたの知らないPDFのアクセシビリティ
lycorptech_jp
PRO
0
180
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Odyssey Design
rkendrick25
PRO
2
700
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
290
So, you think you're a good person
axbom
PRO
2
2.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Unsuck your backbone
ammeep
672
58k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
A designer walks into a library…
pauljervisheath
211
24k
Raft: Consensus for Rubyists
vanstee
141
7.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.4k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
390
Transcript
Light and Shadow — Generated by Stable Diffusion 3.5 —
2025 9-10 (WBS) — 2025 9-10 — 2025-07-07 – p.1/58
https://speakerdeck.com/ks91/collections/fintech-2025-summer — 2025 9-10 — 2025-07-07 – p.2/58
( ) 1 6 9 (1) • 2 6 9
(2) • 3 6 16 Web3 (1) • 4 6 16 Web3 (2) • 5 6 23 (1) • 6 6 23 (2) • 7 6 30 (1) • 8 6 30 (2) • 9 7 7 (1) • 10 7 7 (2) • 11 7 14 12 7 14 13 7 21 (1) ( ) 14 7 21 (2) ( ) W-IOI ( ) — 2025 9-10 — 2025-07-07 – p.3/58
( 20 ) 1 ↑ 2 ↓ 2025 3 4
(TCP/IP ) 5 6 7 8 ↑ 9 ↓ 2024 ( ) 10 World Wide Web 11 Web API 12 * 13 git GitHub 14 (6/23 ) / (2 ) OK / — 2025 9-10 — 2025-07-07 – p.4/58
( ) Ethereum — 2025 9-10 — 2025-07-07 – p.5/58
( ) Ethereum ( ) — 2025 9-10 — 2025-07-07
– p.6/58
( ) — 2025 9-10 — 2025-07-07 – p.7/58
Y The DAO ⇒ Monacoin (2018), Bitcoin Gold (2020), etc.
Ethereum The DAO ( ) ( ) Ethereum Classic — 2025 9-10 — 2025-07-07 – p.8/58
M AI AI? ( ) AI ⇒ AI — 2025
9-10 — 2025-07-07 – p.9/58
H Ethereum NFT ⇒ NFT — 2025 9-10 — 2025-07-07
– p.10/58
H ( ) ⇒ — 2025 9-10 — 2025-07-07 –
p.11/58
S ( JPMC CBDC( )) 1 1USD Bit Coin ⇒
OK CBDC — 2025 9-10 — 2025-07-07 – p.12/58
S proof of state proof of works proof of stake
⇒ PoS PoS 2 — 2025 9-10 — 2025-07-07 – p.13/58
N ⇒ — . . . Discuss. — 2025 9-10
— 2025-07-07 – p.14/58
Ethereum Ethereum ( ) — 2025 9-10 — 2025-07-07 –
p.15/58
— 2025 9-10 — 2025-07-07 – p.16/58
Ethereum · → · → · → — 2025 9-10
— 2025-07-07 – p.17/58
↑ — 2025 9-10 — 2025-07-07 – p.18/58
(by ) 1. 2. ( ) ( ) . .
. cf. by McLuhan cf. by McLuhan → — 2025 9-10 — 2025-07-07 – p.19/58
by ⇒ ⇒ — 2025 9-10 — 2025-07-07 – p.20/58
by SNS AI AI ⇒ ( ) ⇒ — 2025
9-10 — 2025-07-07 – p.21/58
Ethereum EVM (Ethereum Virtual Machine) — 2025 9-10 — 2025-07-07
– p.22/58
Ethereum Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART
CONTRACT & DECENTRALIZED APPLICATION PLATFORM” (Dec. 2013∼) 12 ( ) (= ) = = ( ) CPU ⇒ DApps DApps = / — 2025 9-10 — 2025-07-07 – p.23/58
= ( ) run = → — 2025 9-10 —
2025-07-07 – p.24/58
[Lamport 1984][Schneider 1990] ( ) (1) 0 ( ) (2)
(3) (4) ( ) ← — 2025 9-10 — 2025-07-07 – p.25/58
Ether (ETH) Ethereum EOA : Externally-Owned Account ( ) (
) ( ) ( ) ← Ether ( ) EVM EVM = Ethereum = — 2025 9-10 — 2025-07-07 – p.26/58
EVM : Ethereum Virtual Machine ঢ়ଶ ֎෦ΞΫλʔ ΞΧϯτ &7. ίʔυ
&UIFSˠ(BT ىಈ ίϯτϥΫτ ϝοηʔδ͔ɺ৽͍ࣗ͠ಈΦϒδΣΫτ ΞΧϯτؒͰΓऔΓ͞ΕΔσʔλ&UIFS ετϨʔδ ঢ়ଶ` τϥϯβΫγϣϯ ηοτ σδλϧॺ໊ &7. ਓؒͱ͔ ࣗಈ ΦϒδΣΫτ ( ) Gas ( EVM = ( burn)) — 2025 9-10 — 2025-07-07 – p.27/58
/ / (1) Ethereum Bitcoin ( OK) 1 — 2025
9-10 — 2025-07-07 – p.28/58
/ / (2) 3 ( ) · ( ) (
) 1 — 2025 9-10 — 2025-07-07 – p.29/58
/ / (3) ( ) ( ) 1 ( )
1,500 3,000 (← . . . ) Ethereum 2022 9 — 2025 9-10 — 2025-07-07 – p.30/58
/ / (4) Gwei Gwei ETH 32 ETH ( )
ETH ETH · 32 ETH ( OK) · 16 ETH ( ) 12 ( ) ( ) 1 — 2025 9-10 — 2025-07-07 – p.31/58
/ / (5) 32 1 (384 ) ( ) (
) 2 3 ( ) 256 512 — 2025 9-10 — 2025-07-07 – p.32/58
/ / (6) ( ) 5 2 3 (36 )
— 2025 9-10 — 2025-07-07 – p.33/58
/ / (7) ( ) ( ) DAO (RANDAO) 1
— 2025 9-10 — 2025-07-07 – p.34/58
Ethereum ߹ҙ͞Εͨཤྺ ϩʔΧϧʹෳΛҡ࣋
ϒϩοΫ εϩοτ ඵִؒ εϩοτͰ ΤϙοΫ ҉߸ֶతμΠδΣετ ϒϩοΫνΣʔϯͷҡ࣋ࢀՃऀ͕ϩʔΧϧʹཧ͢Δσʔλۭؒ ࣌ؒ ΑΓ৽͍͠ه ΦϒδΣΫτ τʔΫϯγεςϜͷεϚʔτίϯτϥΫτ ֤Ϣʔβͷ ߴͷঢ়ଶ ঢ়ଶ` ঢ়ଶ`` τϥϯβΫγϣϯ ΦϒδΣΫτͷੜ ·ͨঢ়ଶભҠͷࢦࣔ ແޮͳཤྺ ω ỽ τ ϫ ồ Ϋ Λ ௨ ͠ ͯ ૹ ड ৴ ͞ Ε Δ ϩ ồ Χ ϧ ʹ ࣋ ͭ ܨ͙ͨΊʹ&5) Ͱͷσϙδοτͱ σϙδοτ૯ֹͷ ♤ ૬ͷϢʔβʹΑΔ ΤϙοΫͷূݴ͕ඞཁ શΦϒδΣΫτͷભҠޙͷঢ়ଶ ͕ϋογϡ˞ʹू͞Ε ͦͷ ϧʔτ͕ϒϩοΫʹॻ͔ΕΔ ঢ়ଶભҠ ˞ϋογϡσʔλ܈ͷ҉߸ֶతμΠδΣετ ϋογϡ ɹΛߏʹදݱͨ͠ͷͰ ෆ߹ͷݕग़ʹ༻͍ΒΕΔ ETH ( ) ⇒ ETH = Ethereum Virtual Machine (EVM) 2 3 ETH ⇒ ETH — 2025 9-10 — 2025-07-07 – p.35/58
Ethereum (ex. ) (ex. ) ⇒ → — 2025 9-10
— 2025-07-07 – p.36/58
— 2025 9-10 — 2025-07-07 – p.37/58
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 ( ) — 2025 9-10 — 2025-07-07 – p.38/58
ERC-20 ERC-20 ← ( ) ( ) ⇒ ERC-20 (
ERC-20 ) ERC-20 ⇒ — 2025 9-10 — 2025-07-07 – p.39/58
(fungible) ERC-20 → ERC-223 (draft) or ERC-777 ( )( )
(non-fungible) ERC-721 ( ) ( ) ERC-1155 ( ) ERC-3525 (SLOT ) — 2025 9-10 — 2025-07-07 – p.40/58
— τʔΫϯ ସ՟ฎ εϚʔτίϯτϥΫτ ݕূՄೳͳঢ়ଶϚγϯ ϓϩϏφϯε དྷྺূ໌ ସՄೳ ঈؐෆೳ
ସՄೳ ঈؐՄೳ ସෆೳ ঈؐՄೳ ସෆೳ ঈؐෆೳ ূ໌͢Δ ಉఆ͢Δ ࢧ͍ ࠷ॳͷԠ༻ *%Χʔυ ηΩϡϦςΟ τʔΫϯ ূ݊ ηϯαʔ ྲྀɾ Ҩݴॻ อݥਃ ͢Δ ײ͢Δ தԝۜߦ σδλϧ௨՟ ҭήʔϜ ൿີ伴Λ͑Δ͔Βຊਓʁ ෛ࠴ Ξηοτͷ දݱΛҠసͰ͖Δʁ ొ͞Εͨίʔυͱ ͦͷ࣮ߦϩάͱ݁Ռͷ ਅਖ਼ੑΛ୲อͰ͖Δʁ ݖҖ͕ Կ͔ͷ༰Λূ໌͢Δʁ ࣋ଓ͢Δଘࡏʹ͍ͭͯ هΛΞοϓσʔτՄʁ ओମ͕͍ͳ͘ͳͬͯ աڈͷσʔλ༗ޮʁ /'5 Ұൠతͳ ೝࣝ ػೳͷ ੳ݁Ռ — 2025 9-10 — 2025-07-07 – p.41/58
— 2025 9-10 — 2025-07-07 – p.42/58
transfer settle, retrieve asset, retrieve token 3 — 2025 9-10
— 2025-07-07 – p.43/58
( ( )) ( ) / / — 2025 9-10
— 2025-07-07 – p.44/58
— 1. ( ) 2. ( ) 3. ( )
— 2025 9-10 — 2025-07-07 – p.45/58
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 — 2025 9-10 — 2025-07-07 – p.46/58
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 — 2025 9-10 — 2025-07-07 – p.47/58
(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") — 2025 9-10 — 2025-07-07 – p.48/58
(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 — 2025 9-10 — 2025-07-07 – p.49/58
(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 ( ) — 2025 9-10 — 2025-07-07 – p.50/58
(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 — 2025 9-10 — 2025-07-07 – p.51/58
( ) — 2025 9-10 — 2025-07-07 – p.52/58
4. (1) × OK (2) 2025 7 3 ( )
23:59 JST ( ) Waseda Moodle — 2025 9-10 — 2025-07-07 – p.53/58
. . . . . . 17 15 (7/5( )
) ( ) (4 ) (4 ) ( ) (3 ) (2 ) (1 ) (1 ) — 2025 9-10 — 2025-07-07 – p.54/58
I — CO2 ⇒ . . . — 2025 9-10
— 2025-07-07 – p.55/58
— 2025 9-10 — 2025-07-07 – p.56/58
5. AI (1) AI (a) (b) (c) AI (2) 2025
7 10 ( ) 23:59 JST ( ) Waseda Moodle — 2025 9-10 — 2025-07-07 – p.57/58
— 2025 9-10 — 2025-07-07 – p.58/58