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
130
スマートコントラクト / 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
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
110
LLM とプロンプトエンジニアリング/チューターをビルドする / LLM and Prompt Engineering and Building Tutors
ks91
PRO
0
250
講師自己紹介 / Lecturer's Self-Introduction
ks91
PRO
0
82
講師研究紹介 / Lecturer's Research Introduction
ks91
PRO
0
67
Discord とビルダー&チャットボットの使い方 / How to use Discord and Builder & Chatbots
ks91
PRO
0
160
研究って何だっけ / What's Research?
ks91
PRO
0
27
ブロックチェーンと分散ファイナンス概論 / Introduction to Blockchain and Decentralized Finance
ks91
PRO
0
18
招き猫コマロ— ネットワーク贈答経済のエージェント / Manekineko Komaro - Network Gift Economy Agent
ks91
PRO
0
17
Implementation of Blockchain Ecosystems
ks91
PRO
0
12
Other Decks in Technology
See All in Technology
Next'24 事例セッションの紹介とクラウド資格を活用したキャリア形成について語りMuscle
yasumuusan
1
420
**強い**エンジニアのなり方 - フィードバックサイクルを勝ち取る / grow one day each day
soudai
64
19k
DevOpsメトリクスとアウトカムの接続にトライ!開発プロセスを通して計測できるメトリクスの活用方法
ham0215
2
230
アクセス制御にまつわる改善 / Improving access control
itkq
0
480
チームでロジカルシンキングに改めて向き合っている話 〜学習環境と実践⽅法〜
sansantech
PRO
0
190
テストプロセスで大事にしていること #jasstnano
makky_tyuyan
0
150
コンテナセキュリティの基本と脅威への対策
kyohmizu
3
740
FrontDoorとWebAppsを組み合わせた際のリダイレクト処理の注意点
kenichirokimura
1
450
生産性向上チームの紹介
cybozuinsideout
PRO
1
840
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
340
Postman v10リリース後を振り返る / Looking back at Postman v10 after release
yokawasa
1
150
「手動オペレーションに定評がある」と言われた私が心がけていること / phpcon_odawara2024
blue_goheimochi
2
370
Featured
See All Featured
Scaling GitHub
holman
457
140k
Bash Introduction
62gerente
604
210k
What the flash - Photography Introduction
edds
64
11k
Done Done
chrislema
178
15k
Why Our Code Smells
bkeepers
PRO
331
56k
Happy Clients
brianwarren
91
6.4k
Building Adaptive Systems
keathley
30
1.9k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
The Cult of Friendly URLs
andyhume
74
5.7k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Practical Orchestrator
shlominoach
181
9.7k
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