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
0
99
続・スマートコントラクトと分散ファイナンス / Smart Contracts and Decentralized Finance, Continued
早稲田大学大学院経営管理研究科「フィンテック ─ 金融革新とインターネット」2025 夏の第9-10回で使用したスライドです。
Kenji Saito
PRO
July 05, 2025
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
アカデミーキャンプ2026 冬「ウチらとヤツらのフューチャー・デザイン」DAY3 / Acadmy Camp 2026 Winter - Future Design by Us and Them DAY3
ks91
PRO
0
37
アカデミーキャンプ2026 冬「ウチらとヤツらのフューチャー・デザイン」DAY1 / Acadmy Camp 2026 Winter - Future Design by Us and Them
ks91
PRO
0
69
アカデミーキャンプ2026 冬「ウチらとヤツらのフューチャー・デザイン」DAY2 / Acadmy Camp 2026 Winter - Future Design by Us and Them DAY2
ks91
PRO
0
53
アナログAI からの逃走とメタ・ネイチャーポジティブ / Escape from Analog AI, and Meta-Nature Positive
ks91
PRO
0
32
AI 前提社会におけるトラスト / Trust in an AI-Driven Society
ks91
PRO
0
63
非営利組織の起業/発表と総括 / Starting up a Nonprofit Organization, Presentation and Summary
ks91
PRO
0
64
自己開発 / Self-Development
ks91
PRO
1
30
あなたは何によって憶えられたいですか? / What Do You Want to be Remembered for?
ks91
PRO
0
39
ボランティアと理事会 / Volunteers and Board of Directors
ks91
PRO
0
61
Other Decks in Technology
See All in Technology
EKSで実践する オブザーバビリティの現在地
honmarkhunt
2
310
Goで実現する堅牢なアーキテクチャ:DDD、gRPC-connect、そしてAI協調開発の実践
fujidomoe
3
760
【PyCon mini Shizuoka 2026】生成AI時代に画像処理やオーディオ処理のノードエディターを作る理由
kazuhitotakahashi
0
110
AWSが推進するAI駆動開発ライフサイクル入門 〜 AI駆動開発時代に必要な人材とは 〜/ introduction_to_aidlc_and_skills
fatsushi
7
4.9k
WBCの解説は生成AIにやらせよう - 生成AIで野球解説者AI Agentを実現する / Baseball Commentator AI Agent for Gemini
shinyorke
PRO
0
130
もう怖くないバックグラウンド処理 Background Tasks のすべて - Hakodate.swift #1
kantacky
0
110
「使いにくい」も「運用疲れ」も卒業する UIデザイナーとエンジニアが創る持続可能な内製開発
nrinetcom
PRO
0
400
[続・営業向け 誰でも話せるOCI セールストーク] AWSよりOCIの優位性が分からない編(2026年2月20日開催)
oracle4engineer
PRO
0
110
俺の失敗を乗り越えろ!メーカーの開発現場での失敗談と乗り越え方 ~ゆるゆるチームリーダー編~
spiddle
0
340
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
94k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
Agent Ready になるためにデータ基盤チームが今年やること / How We're Making Our Data Platform Agent-Ready
zaimy
0
170
Featured
See All Featured
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
130
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
850
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
180
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
190
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
470
4 Signs Your Business is Dying
shpigford
187
22k
The Invisible Side of Design
smashingmag
302
51k
Believing is Seeing
oripsolob
1
68
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