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
February 21, 2020
Technology
1
120
スマートコントラクト / Smart Contracts
2020年2月21日(金)、ブロックチェーンハブ主催のブロックチェーンアカデミー「スマートコントラクト」にて使用したスライドです。
Kenji Saito
PRO
February 21, 2020
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
スマートコントラクトと分散ファイナンス / Smart Contracts and Decentralized Finance
ks91
PRO
0
51
シン・ブロックチェーン / Truth of Blockchain
ks91
PRO
0
78
パスワード/パスフレーズと認証 / Password, Passphrase and Authentication
ks91
PRO
0
32
git と GitHub / git and GitHub
ks91
PRO
0
34
ソフトウェアの開発と保守 / Software Development and Maintenance
ks91
PRO
0
46
インターネットの特徴 / Features of the Internet
ks91
PRO
0
32
インターネットのガバナンス / Governance of the Internet
ks91
PRO
0
29
暗号学的ハッシュ関数 / Cryptographic Hash Function
ks91
PRO
0
35
デジタル署名 / Digital Signature
ks91
PRO
0
30
Other Decks in Technology
See All in Technology
PHPでWebブラウザのレンダリングエンジンを実装する
dip_tech
PRO
0
210
解析の定理証明実践@Lean 4
dec9ue
0
180
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
900
Абьюзим random_bytes(). Фёдор Кулаков, разработчик Lamoda Tech
lamodatech
0
350
Prox Industries株式会社 会社紹介資料
proxindustries
0
310
Кто отправит outbox? Валентин Удальцов, автор канала Пых
lamodatech
0
350
Witchcraft for Memory
pocke
1
420
Amazon S3標準/ S3 Tables/S3 Express One Zoneを使ったログ分析
shigeruoda
4
540
エンジニア向け技術スタック情報
kauche
1
270
M3 Expressiveの思想に迫る
chnotchy
0
110
Agentic Workflowという選択肢を考える
tkikuchi1002
1
530
2年でここまで成長!AWSで育てたAI Slack botの軌跡
iwamot
PRO
4
740
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
We Have a Design System, Now What?
morganepeng
53
7.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Building Applications with DynamoDB
mza
95
6.5k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Designing for humans not robots
tammielis
253
25k
Optimizing for Happiness
mojombo
379
70k
BBQ
matthewcrist
89
9.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
How STYLIGHT went responsive
nonsquared
100
5.6k
Building an army of robots
kneath
306
45k
Transcript
Chief Science Officer /
[email protected]
— — 2020-02-21 – p.1/39
https://speakerdeck.com/ks91 — — 2020-02-21 – p.2/39
( ) SFC CSO (Chief Science Officer) 1993 ( )
2006 ( ) SFC 19 P2P (Peer-to-Peer) ( 9 ) 2011 2018 2019 ∼ 2019 ∼ REINVENT THE WORLD → ( ) — — 2020-02-21 – p.3/39
— — 2020-02-21 – p.4/39
— — 2020-02-21 – p.5/39
— — 2020-02-21 – p.6/39
↑ . . . — — 2020-02-21 – p.7/39
vs. — — 2020-02-21 – p.8/39
(by ) 1. 2. ( ) ( ) . .
. cf. by McLuhan cf. by McLuhan → — — 2020-02-21 – p.9/39
Ethereum ( ) EVM (Ethereum Virtual Machine) — — 2020-02-21
– p.10/39
Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART CONTRACT
& DECENTRALIZED APPLICATION PLATFORM” 15 = ( ) DApps ( ) — — 2020-02-21 – p.11/39
EVM : Ethereum Virtual Machine Gas ( EVM = )
→ — — 2020-02-21 – p.12/39
— — 2020-02-21 – p.13/39
EVM : . . . : Solidity — JavaScript Vyper
— Python LLL — Lisp — — 2020-02-21 – p.14/39
Solidity ( ) pragma solidityˆ0.5.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; } } — — 2020-02-21 – p.15/39
( , ) (constructor) (deploy) = ( ) ( )
ETH — — 2020-02-21 – p.16/39
(ex. ) (ex. ) — — 2020-02-21 – p.17/39
ADEPT The DAO — — 2020-02-21 – p.18/39
ADEPT ADEPT : IBM IoT → ⇒ — — 2020-02-21
– p.19/39
— — 2020-02-21 – p.20/39
⇒ — — 2020-02-21 – p.21/39
The DAO ( ) The DAO Split ( ) 360
ETH (50∼60 ) (2016/6/17) ( ) ( ; ) (2016/7/20 ) — — 2020-02-21 – p.22/39
— — 2020-02-21 – p.23/39
ERC20 ERC (Ethereum Request for Comment) 20 https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md 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) — — 2020-02-21 – p.24/39
ERC20 ERC20 ( ) ⇒ ERC20 ( ERC20 ) ERC20
⇒ — — 2020-02-21 – p.25/39
(fungible) ERC20 → ERC223 (draft) or ERC777 (non-fungible) ERC721 (
) (partially fungible) ERC1410 (draft) (ERC1400 ) — — 2020-02-21 – p.26/39
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 ( ) ( ) — — 2020-02-21 – p.27/39
OS — — 2020-02-21 – p.28/39
OS (2007) — — 2020-02-21 – p.29/39
OS ↑ cf. NPO/NGO — — 2020-02-21 – p.30/39
OS — — 2020-02-21 – p.31/39
Uber — — 2020-02-21 – p.32/39
Uber Uber P2P + Uber — — 2020-02-21 – p.33/39
/ . . . — — 2020-02-21 – p.34/39
( ) / / — — 2020-02-21 – p.35/39
— 1. ( ) 2. ( ) 3. ( )
— — 2020-02-21 – p.36/39
10 12 → 120 120 12 12 120 — —
2020-02-21 – p.37/39
— — 2020-02-21 – p.38/39
— — 2020-02-21 – p.39/39