スマートコントラクト / Smart Contracts

847a328633b1df6b11cc2f72430025e6?s=47 Kenji Saito
September 16, 2020

スマートコントラクト / Smart Contracts

2020年9月16日(水)、ブロックチェーンハブ主催のブロックチェーンアカデミー「スマートコントラクト」にて使用したスライドです。

847a328633b1df6b11cc2f72430025e6?s=128

Kenji Saito

September 16, 2020
Tweet

Transcript

  1. Chief Science Officer / ks91@blockchainhub.co.jp — — 2020-09-16 – p.1/39

  2. https://speakerdeck.com/ks91 — — 2020-09-16 – p.2/39

  3. ( ) SFC ( ) CSO (Chief Science Officer) 1993

    ( ) 2006 ( ) SFC 20 P2P (Peer-to-Peer) ( 9 ) 2011 2018 2019 2019 2020 2020 → ( ) — — 2020-09-16 – p.3/39
  4. — — 2020-09-16 – p.4/39

  5. — — 2020-09-16 – p.5/39

  6. — — 2020-09-16 – p.6/39

  7. ↑ . . . — — 2020-09-16 – p.7/39

  8. vs. — — 2020-09-16 – p.8/39

  9. (by ) 1. 2. ( ) ( ) . .

    . cf. by McLuhan cf. by McLuhan → — — 2020-09-16 – p.9/39
  10. Ethereum ( ) EVM (Ethereum Virtual Machine) — — 2020-09-16

    – p.10/39
  11. Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART CONTRACT

    & DECENTRALIZED APPLICATION PLATFORM” 15 = ( ) DApps ( ) — — 2020-09-16 – p.11/39
  12. EVM : Ethereum Virtual Machine Gas ( EVM = )

    → — — 2020-09-16 – p.12/39
  13. — — 2020-09-16 – p.13/39

  14. EVM : . . . : Solidity — JavaScript Vyper

    — Python LLL — Lisp — — 2020-09-16 – p.14/39
  15. 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-09-16 – p.15/39
  16. ( , ) (constructor) (deploy) = ( ) ( )

    ETH Trusted Actor Model — — 2020-09-16 – p.16/39
  17. (ex. ) (ex. ) — — 2020-09-16 – p.17/39

  18. ADEPT The DAO — — 2020-09-16 – p.18/39

  19. ADEPT ADEPT : IBM IoT → ⇒ — — 2020-09-16

    – p.19/39
  20. — — 2020-09-16 – p.20/39

  21. ⇒ — — 2020-09-16 – p.21/39

  22. The DAO ( ) The DAO Split ( ) 360

    ETH (50∼60 ) (2016/6/17) ( ) ( ; ) (2016/7/20 ) — — 2020-09-16 – p.22/39
  23. — — 2020-09-16 – p.23/39

  24. 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) — — 2020-09-16 – p.24/39
  25. ERC20 ERC20 ← ( ) ( ) ⇒ ERC20 (

    ERC20 ) ERC20 ⇒ — — 2020-09-16 – p.25/39
  26. (fungible) ERC20 → ERC223 (draft) or ERC777 (non-fungible) ERC721 (

    ) (partially fungible) ERC1410 (draft) (ERC1400 ) (redeemable) — — 2020-09-16 – p.26/39
  27. 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-09-16 – p.27/39
  28. OS — — 2020-09-16 – p.28/39

  29. OS (2007) — — 2020-09-16 – p.29/39

  30. OS ↑ cf. NPO/NGO — — 2020-09-16 – p.30/39

  31. OS . . . — — 2020-09-16 – p.31/39

  32. Uber — — 2020-09-16 – p.32/39

  33. Uber Uber P2P + Uber — — 2020-09-16 – p.33/39

  34. / . . . — — 2020-09-16 – p.34/39

  35. ( ) / / — — 2020-09-16 – p.35/39

  36. — 1. ( ) 2. ( ) 3. ( )

    — — 2020-09-16 – p.36/39
  37. 10 12 → 120 120 12 12 120 — —

    2020-09-16 – p.37/39
  38. — — 2020-09-16 – p.38/39

  39. — — 2020-09-16 – p.39/39