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
対話による知の拡張 / Extending Knowledge Through Dialogue
ks91
PRO
0
18
プロンプトに対する攻撃と対策 / Attacks Against Prompts and Countermeasures
ks91
PRO
0
15
傾聴の理論 〜 傾聴する相棒の創り方 / Theory of Listening and How to Create a Listening Partner
ks91
PRO
0
17
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
90
アカデミーキャンプ 2025GWeeeeeeK「がんばれ!!ロボコン」 DAY 3 / Academy Camp 2025GWeeeeeeK "Go For It!! Robocon" DAY 3
ks91
PRO
0
8
アカデミーキャンプ 2025GWeeeeeeK「がんばれ!!ロボコン」 DAY 2 / Academy Camp 2025GWeeeeeeK "Go For It!! Robocon" DAY 2
ks91
PRO
0
13
BIG HEXAPOD ROBOT KIT for Raspberry Pi 組み立てサポートマニュアル / BIG HEXAPOD ROBOT KIT for Raspberry Pi Assembly Support Manual
ks91
PRO
0
22
TANK ROBOT KIT for Raspberry Pi 組み立てサポートマニュアル / TANK ROBOT KIT for Raspberry Pi Assembly Support Manual
ks91
PRO
0
21
ロボットとのコミュニケーションマニュアル / Manual for Communicating with Robots
ks91
PRO
0
14
Other Decks in Technology
See All in Technology
PagerDuty×ポストモーテムで築く障害対応文化/Building a culture of incident response with PagerDuty and postmortems
aeonpeople
3
570
時間がないなら、つくればいい 〜数十人規模のチームが自律性を発揮するために試しているいくつかのこと〜
kakehashi
PRO
22
4.6k
Twelve-Factor-Appから学ぶECS設計プラクティス/ECS practice for Twelve-Factor-App
ozawa
3
160
Compose におけるパスワード自動入力とパスワード保存
tonionagauzzi
0
200
大規模サーバーレスプロジェクトのリアルな零れ話
maimyyym
3
150
10分で学ぶ、RAGの仕組みと実践
supermarimobros
0
880
20 Years of Domain-Driven Design: What I’ve Learned About DDD
ewolff
0
110
OPENLOGI Company Profile for engineer
hr01
1
26k
社会人力と研究力ー博士号をキャリアの武器にするー
kentaro
2
110
Why Platform Engineering? - マルチプロダクト・少人数 SRE の壁を越える挑戦 -
nulabinc
PRO
0
110
意思決定を支える検索体験を目指してやってきたこと
hinatades
PRO
0
400
30代からでも遅くない! 内製開発の世界に飛び込み、最前線で戦うLLMアプリ開発エンジニアになろう
minorun365
PRO
16
5.1k
Featured
See All Featured
It's Worth the Effort
3n
184
28k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
How to train your dragon (web standard)
notwaldorf
91
6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
A Tale of Four Properties
chriscoyier
159
23k
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