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
Search
Kenji Saito
PRO
June 28, 2021
Technology
0
160
スマートコントラクト / Smart Contracts
2021年6月28日、早稲田大学 大学院経営管理研究科の「フィンテック ─ 金融革新とインターネット (2021夏)」第8-9回にて使用したスライドです。
Kenji Saito
PRO
June 28, 2021
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
We Never Took the Kobayashi Maru Test Until Now. What Do You Think of Our Solutions? — Journeys of the Mind Through a No-Win Game
ks91
PRO
0
4
思いつきが武器になる:研究というゲームを始めよう / Ideas Are Your Equipments : Let the Game of Research Begin!
ks91
PRO
0
59
ロボットを雰囲気(ヴァイブ)でプログラミングするこどもたち / Children Vibe-Programming Robots
ks91
PRO
0
21
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 3
ks91
PRO
0
29
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 2
ks91
PRO
0
31
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 1
ks91
PRO
0
150
未来へのフォワードキャスト / Forward Cast to the Future
ks91
PRO
0
82
発表と総括 / Presentations and Summary
ks91
PRO
0
59
サイバーフィジカル社会、金融の未来とアイデアソン / Cyber Physical Society, Future of Finance, and Ideathon
ks91
PRO
0
76
Other Decks in Technology
See All in Technology
どこで動かすか、誰が動かすか 〜 kintoneのインフラ基盤刷新と運用体制のシフト 〜
ueokande
0
190
GitHub Copilot coding agent を推したい / AIDD Nagoya #1
tnir
4
4.7k
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual Localization
takmin
0
430
Evolution on AI Agent and Beyond - AGI への道のりと、シンギュラリティの3つのシナリオ
masayamoriofficial
0
190
Goでマークダウンの独自記法を実装する
lag129
0
220
Postman MCP 関連機能アップデート / Postman MCP feature updates
yokawasa
1
160
.NET開発者のためのAzureの概要
tomokusaba
0
230
第4回 関東Kaggler会 [Training LLMs with Limited VRAM]
tascj
12
1.8k
事業価値と Engineering
recruitengineers
PRO
3
580
ドキュメントはAIの味方!スタートアップのアジャイルを加速するADR
kawauso
3
410
DeNA での思い出 / Memories at DeNA
orgachem
PRO
3
1.6k
モダンフロントエンド 開発研修
recruitengineers
PRO
4
720
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
How STYLIGHT went responsive
nonsquared
100
5.7k
Thoughts on Productivity
jonyablonski
69
4.8k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The Cult of Friendly URLs
andyhume
79
6.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Side Projects
sachag
455
43k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Designing for Performance
lara
610
69k
Transcript
— 2021 8-9 (WBS) — 2021 8-9 — 2021-06-28 –
p.1/70
https://speakerdeck.com/ks91 — 2021 8-9 — 2021-06-28 – p.2/70
( ) 1 5 31 • 2 6 7 (1)
• 3 6 7 (2) • 4 6 14 – (1) • 5 6 14 – (2) • 6 6 21 (1) • 7 6 21 (2) • 8 6 28 (1) • 9 6 28 (2) • 10 7 5 (1) 11 7 5 (2) 12 7 12 (1) 13 7 12 (2) 14 7 19 (1) 15 7 19 (2) — 2021 8-9 — 2021-06-28 – p.3/70
1. 2. 3. 4. 5. Ethereum 6. 7. 8. 9.
— 2021 8-9 — 2021-06-28 – p.4/70
ϒϩοΫ൪߸O ϒϩοΫ൪߸O ϒϩοΫ൪߸O ϒϩοΫ൪߸O ϒϩοΫ൪߸O ϒϩοΫ൪߸O
ϒϩοΫ൪߸O ϒϩοΫ൪߸O ͍ͪΜهɾॻ͖͑ͷίετ͕ߴ͍ྺ࢙ ࠷վ͟Μ͠ʹ͍͘ྺ࢙ ͕༗ޮ ͻͱͭखલͷϒϩοΫͷ ʮμΠδΣετʯ σδλϧॺ໊͞Εͨ ʮτϥϯβΫγϣϯ औҾ ʯ ϒϩοΫΛ࡞ΔͨΊʹɺͦͷʮμΠδΣετʯ͕͋ΔҎԼͱ͍͏݅Λຬͨͨ͠Γ 1SPPGPG8PSL Ծ௨՟ͷ࣋ͪʹԠͨ͡ݖརΛͬͨථͰউͬͨΓ 1SPPGPG4UBLF ͢Δඞཁ͕͋Δ ίετ͕͔͔Δ ϒϩοΫΛ࡞ΔਓͦͷதʹࣗʹѼͯͨ Ծ௨՟ͰͷใुΛॻ͖ࠐΉ͜ͱ͕Ͱ͖ɺ ͦͷϒϩοΫ͕༗ޮͳྺ࢙ͷதʹ͋Δ߹ʹ ݶΓใु༗ޮͱͳΔ τϥϯβΫγϣϯͷଘࡏΛ֬ೝ͢Δ ͨΊͷޮతͳํ๏͕ఏڙ͞ΕΔ ਖ਼ੑ ଘࡏੑ །Ұੑ Proof of Work ( ) . . . → — 2021 8-9 — 2021-06-28 – p.5/70
1. — 2021 8-9 — 2021-06-28 – p.6/70
(Hyperledger ) ( ) ( ) ( ) ( )(
) IoT / / ( ) — 2021 8-9 — 2021-06-28 – p.7/70
: . . . : Proof of Existence, Everledger, .
. . ( ) : ( ) (Ethereum ( ) ) ( ) ( ) — 2021 8-9 — 2021-06-28 – p.8/70
( ) จ ॻ จ ॻ จ ॻ
จ ॻ จ ॻ O μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ حͷ߹ ෳ͢Δ ɾจॻ ΛಘͨΫϥΠΞϯτɺಉ࣌ʹূ໌ཁૉͱͯ͠ɺϒϧʔͰࣔ͞ΕΔμΠδΣετͱ֤ʑ͕ࠨӈͷͲͪΒʹҐஔ͢Δ͔Λड͚औΔɻ ɾΫϥΠΞϯτจॻ ͷμΠδΣετ͔Β࢝Ίͯɺ࿈͖݁͢Ұ࿈ͷμΠδΣετΛΔ͜ͱʹͳΔͷͰɺϚʔΫϧϧʔτʹࢸΔ·Ͱͷ ɹܭࢉΛ࠶ݱͰ͖ɺಘΒΕͨϚʔΫϧϧʔτ͕ϒϩοΫνΣʔϯʹه͞Ε͍ͯΔͱҰக͢Δ͜ͱΛ֬ೝͰ͖Δɻ ɾͦͷܭࢉݪཧͷཧղͱඞཁͳใ͕͋Ε୭Ͱ࠶ݱͰ͖Δ จॻ ͷଘࡏͱͦͷ༰ূ໌͞ΕΔɻ ˞μΠδΣετݩͷσʔλ͕ ɹϏοτͰҟͳΔͱશ͘ҟͳΔ ɹͱͳΓɺ·ͨɺμΠδΣετ ɹ͔ΒݩͷσʔλΛਪଌ͢Δ͜ͱ ɹͰ͖ͳ͍ɻ ˞ઍɾສͷจॻΛϚʔΫϧʹͯ͠ ɹͦͷͷߴ͞ߴʑʙ ఔ ه͢Δ ಡΈग़ͤΔ ূ໌Λ ඞཁͱ͢Δऀʹ ։ࣔ͞ΕΔใ ެ։͞ΕΔใ ϚʔΫϧϧʔτ Ϛ ồ Ϋ ϧ γ ε ς Ϝ ͕ อ ͠ ֤ Ϣ ồ β ʹ ෦ త ʹ ͑ Δ ʜʜ ʜʜ ʜʜ ʜʜ ʜʜ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ ϒϩοΫνΣʔϯ ʜ ʜ — 2021 8-9 — 2021-06-28 – p.9/70
2. — 2021 8-9 — 2021-06-28 – p.10/70
(Bitcoin; 2009 1 ∼2021 6 ) 2 → 2 2
→ → — 2021 8-9 — 2021-06-28 – p.11/70
vs. — 2021 8-9 — 2021-06-28 – p.12/70
The DAO ( ) Ethereum The DAO Split ( )
360 ETH (50∼60 ) (2016/6/17) ( → ) ( → ; ) ( ) (2016/7/20 ) — 2021 8-9 — 2021-06-28 – p.13/70
— 2021 8-9 — 2021-06-28 – p.14/70
: ⇒ ⇒ — 2021 8-9 — 2021-06-28 – p.15/70
Ethereum Ether Ether Ether ( ) Ether Ether ( )
. . . . . . BTC ⇒ ( ) — 2021 8-9 — 2021-06-28 – p.16/70
— 2021 8-9 — 2021-06-28 – p.17/70
( ) ( ) ( vs. ) ( ) (
) ( ) ( ) ⇒ ( : BBc-1) : : — 2021 8-9 — 2021-06-28 – p.18/70
Ethereum ( ) ( ) ⇒ (Casper) ( ) ⇒
ZoE (Zcash on Ethereum) ( vs. ) ( ) ⇒ Plasma ( ) ⇒ ( ) (Benevolent Dictator For Life (BDFL)) ( ) ⇒ — 2021 8-9 — 2021-06-28 – p.19/70
BBc-1 ( ) ( ) ⇒ ( ) ⇒ (
vs. ) ( ) ⇒ DHT ( ) ⇒ ( ) ( ) ⇒ — 2021 8-9 — 2021-06-28 – p.20/70
/ Bitcoin, Ethereum LT BBc-1 ( ) ( ) (
) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ެڞۭؒ ɾτϥϯβΫγϣϯͷূڌΛແؔͳྺ࢙͕อ༗ ɾͲΕ͔ͷாΛແໃ६ʹॻ͖͑ͯূڌ͕Δ τϥϯβΫγϣϯ ா υϝΠϯ ϩʔΧϧۭؒ υϝΠϯ ϩʔΧϧۭؒ υϝΠϯ ϩʔΧϧۭؒ Ethereum ( ) — 2021 8-9 — 2021-06-28 – p.21/70
3. : https://news.denfaminicogamer.jp/interview/gameai_miyake — 2021 8-9 — 2021-06-28 – p.22/70
( ) (by ) (since 1984) ( ) ( )
( ) . . . ( ) ⇒ . . . — 2021 8-9 — 2021-06-28 – p.23/70
( ) ( ) ( ) ( ) ( )
Remember? , , , (by ) — 2021 8-9 — 2021-06-28 – p.24/70
Q. ( ) ( = / = ) ⇒ —
2021 8-9 — 2021-06-28 – p.25/70
( ) ( ) ( ) — 2021 8-9 —
2021-06-28 – p.26/70
( ) ( ) / / — 2021 8-9 —
2021-06-28 – p.27/70
— ( ) 1. ( ) 2. ( ) 3.
( ) — 2021 8-9 — 2021-06-28 – p.28/70
. . . Ethereum https://speakerdeck.com/ks91/introduction-to-bbc-1-and-ethereum-f1a5d202-36fe-4a4f-9536-d01e66d51f83 https://speakerdeck.com/ks91/bbc-1-and-ethereum-exercise-ii-39acc9be-9ec2-4fc1-ad3d-d2cca737fa09 — 2021 8-9 —
2021-06-28 – p.29/70
4. — 2021 8-9 — 2021-06-28 – p.30/70
4. 2021 6 24 ( ) 23:59 JST Waseda Moodle
(Discord ) — 2021 8-9 — 2021-06-28 – p.31/70
. . . . . . 20 18 (6/25( )
16:00 ) ( ) / / / “ ” / / / / / / (NHK) / / / / / / / / / ( A B ) / / — 2021 8-9 — 2021-06-28 – p.32/70
SF — 2021 8-9 — 2021-06-28 – p.33/70
M 4 1 1 ES . . . — 2021
8-9 — 2021-06-28 – p.34/70
N [ ] AI ( ) AI / ⇒ ←
MTRON from 1980s ↑ FinTech — 2021 8-9 — 2021-06-28 – p.35/70
T ⇒ — 2021 8-9 — 2021-06-28 – p.36/70
T ⇒ — 2021 8-9 — 2021-06-28 – p.37/70
K [ ] ⇒ . . . . . .
— 2021 8-9 — 2021-06-28 – p.38/70
WIRED vol.25 The Power of Blockchain (2016) : 5 Family
( ) — 2021 8-9 — 2021-06-28 – p.39/70
SFC ⇒ ( ) . . . — 2021 8-9
— 2021-06-28 – p.40/70
5. Ethereum Ethereum — 2021 8-9 — 2021-06-28 – p.41/70
— 2021 8-9 — 2021-06-28 – p.42/70
— 2021 8-9 — 2021-06-28 – p.43/70
↑ . . . → vs. — 2021 8-9 —
2021-06-28 – p.44/70
(by ) 1. 2. ( ) ( ) . .
. cf. by McLuhan cf. by McLuhan — 2021 8-9 — 2021-06-28 – p.45/70
by ⇒ : ⇒ — 2021 8-9 — 2021-06-28 –
p.46/70
by ⇒ : ⇒ — 2021 8-9 — 2021-06-28 –
p.47/70
Ethereum EVM (Ethereum Virtual Machine) — 2021 8-9 — 2021-06-28
– p.48/70
Ethereum Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART
CONTRACT & DECENTRALIZED APPLICATION PLATFORM” 15 = (↑ ) DApps ( ) — 2021 8-9 — 2021-06-28 – p.49/70
= ( ) run ⇒ — 2021 8-9 — 2021-06-28
– p.50/70
Ether Ethereum EOA : Externally-Owned Account ( ) ( )
Ether ( ) EVM EVM = Ethereum = — 2021 8-9 — 2021-06-28 – p.51/70
EVM : Ethereum Virtual Machine Gas ( EVM = )
— 2021 8-9 — 2021-06-28 – p.52/70
6. — 2021 8-9 — 2021-06-28 – p.53/70
EVM : . . . : Solidity — JavaScript Vyper
— Python Fe — Vyper Rust ← NEW! — 2021 8-9 — 2021-06-28 – p.54/70
Solidity ( ) pragma solidityˆ0.7.0; contract IndivisibleAsset { /* */
string public _name; string public _symbol; uint256 public _quantity; address public _owner; constructor(string memory name, string memory symbol, uint256 quantity) public { _name = name; _symbol = symbol; _quantity = quantity; _owner = msg.sender; } function transfer(address to) public returns (bool) { require (_owner == msg.sender); _owner = to; return true; } } — 2021 8-9 — 2021-06-28 – p.55/70
( , ) (constructor) (deploy) = ( ) ( )
ETH Trusted Actor Model — 2021 8-9 — 2021-06-28 – p.56/70
Ethereum (ex. ) (ex. ) — 2021 8-9 — 2021-06-28
– p.57/70
7. ADEPT DeFi ( ) — 2021 8-9 — 2021-06-28
– p.58/70
ADEPT ADEPT : IBM IoT → ⇒ — 2021 8-9
— 2021-06-28 – p.59/70
— 2021 8-9 — 2021-06-28 – p.60/70
⇒ — 2021 8-9 — 2021-06-28 – p.61/70
DeFi ( ) (DeFi : Decentralized Finance) ⇒ ⇒ ⇒
( ) NFT (Non-Fungible Token) — 2021 8-9 — 2021-06-28 – p.62/70
8. — 2021 8-9 — 2021-06-28 – p.63/70
ERC20 ERC (Ethereum Request for Comments) 20 https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md (EIP: Ethereum
Improvement Proposal) 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 ERC223 ( ), ERC721 (Non-Fungible) — 2021 8-9 — 2021-06-28 – p.64/70
ERC20 ERC20 ← ( ) ( ) ⇒ ERC20 (
ERC20 ) ERC20 ⇒ — 2021 8-9 — 2021-06-28 – p.65/70
(fungible) ERC20 → ERC223 (draft) or ERC777 (non-fungible) ERC721 (
) (partially fungible) ERC1410 (draft) (ERC1400 ) (redeemable) — 2021 8-9 — 2021-06-28 – p.66/70
ERC ERC1400 (draft) : Security Token Standard ERC20 ERC777 ERC1594
(draft) : Core Security Token Standard ( ) (KYC ) ERC1643 (draft) : Documnet Management Standard ERC1644 (draft) : Controller Token Standard ( ) ( ) ERC2258 (draft) : Custodial Ownership Standard ( ) ( ) — 2021 8-9 — 2021-06-28 – p.67/70
9. — 2021 8-9 — 2021-06-28 – p.68/70
5. 2021 7 1 ( ) 23:59 JST Waseda Moodle
(Discord ) — 2021 8-9 — 2021-06-28 – p.69/70
— 2021 8-9 — 2021-06-28 – p.70/70