Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

2018年4月25日(水)、ブロックチェーンハブ主催で開催されたブロックチェーンアカデミー「スマートコントラクト」(ブロックチェーン基盤技術【トークンの設計からシェアリングエコノミーまで】) にて使用したスライドです。

Kenji Saito

April 25, 2018
Tweet

More Decks by Kenji Saito

Other Decks in Technology

Transcript

  1. CSO / SFC
    [email protected]
    — — 2018-04-25 – p.1/41

    View full-size slide

  2. ( )
    SFC ( )
    CSO (Chief Science Officer)
    1993 ( )
    2006 ( )
    SFC 17
    P2P (Peer-to-Peer)
    2011
    → ( )
    — — 2018-04-25 – p.2/41

    View full-size slide

  3. — — 2018-04-25 – p.3/41

    View full-size slide

  4. — — 2018-04-25 – p.4/41

    View full-size slide

  5. — — 2018-04-25 – p.5/41

    View full-size slide


  6. . . .
    — — 2018-04-25 – p.6/41

    View full-size slide

  7. vs.
    — — 2018-04-25 – p.7/41

    View full-size slide

  8. 1.
    ⇒ ( )

    2.


    3.

    — — 2018-04-25 – p.8/41

    View full-size slide

  9. (by )
    1.
    2.
    ( ) ( )
    . . .
    cf. by McLuhan
    cf. by McLuhan
    — — 2018-04-25 – p.9/41

    View full-size slide


  10. :

    — — 2018-04-25 – p.10/41

    View full-size slide


  11. :

    — — 2018-04-25 – p.11/41

    View full-size slide

  12. (Ethereum) ( )
    EVM (Ethereum Virtual Machine)
    — — 2018-04-25 – p.12/41

    View full-size slide

  13. Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART
    CONTRACT & DECENTRALIZED APPLICATION PLATFORM”
    15
    — — 2018-04-25 – p.13/41

    View full-size slide

  14. = run
    — — 2018-04-25 – p.14/41

    View full-size slide

  15. Ether
    Ethereum
    EOA : Externally-Owned Account
    Ether EVM
    EVM
    — — 2018-04-25 – p.15/41

    View full-size slide

  16. EVM : Ethereum Virtual Machine
    Gas
    — — 2018-04-25 – p.16/41

    View full-size slide

  17. — — 2018-04-25 – p.17/41

    View full-size slide

  18. EVM
    :
    . . .
    :
    Solidity — JavaScript
    LLL — Lisp
    — — 2018-04-25 – p.18/41

    View full-size slide

  19. Solidity ( )
    pragma solidity ˆ0.4.8;
    contract IndivisibleAsset { /* */
    string public _name;
    string public _symbol;
    uint256 public _quantity;
    address public _owner;
    function IndivisibleAsset(string name, string symbol, uint256 quantity) {
    _name = name;
    _symbol = symbol;
    _quantity = quantity;
    _owner = msg.sender;
    }
    function transfer(address to) {
    if (_owner != msg.sender) {
    throw;
    }
    _owner = to;
    }
    }
    — — 2018-04-25 – p.19/41

    View full-size slide

  20. Solidity
    JavaScript
    ( , )
    (constructor)
    ( )
    ( )
    Ether
    — — 2018-04-25 – p.20/41

    View full-size slide

  21. · ex.
    · ex.
    — — 2018-04-25 – p.21/41

    View full-size slide

  22. ADEPT
    — — 2018-04-25 – p.22/41

    View full-size slide

  23. ADEPT
    ADEPT : IBM IoT


    — — 2018-04-25 – p.23/41

    View full-size slide

  24. — — 2018-04-25 – p.24/41

    View full-size slide


  25. — — 2018-04-25 – p.25/41

    View full-size slide

  26. The DAO ( )
    The DAO
    Split ( ) 360 ETH (50∼60 ) (2016/6/17)
    ( )
    ( ; )
    (2016/7/20 )
    — — 2018-04-25 – p.26/41

    View full-size slide

  27. — — 2018-04-25 – p.27/41

    View full-size slide

  28. 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)
    — — 2018-04-25 – p.28/41

    View full-size slide

  29. OS
    — — 2018-04-25 – p.29/41

    View full-size slide

  30. OS (2007)
    — — 2018-04-25 – p.30/41

    View full-size slide

  31. OS
    ↑ cf.
    NPO/NGO
    — — 2018-04-25 – p.31/41

    View full-size slide

  32. OS
    — — 2018-04-25 – p.32/41

    View full-size slide

  33. Uber
    — — 2018-04-25 – p.33/41

    View full-size slide

  34. Uber
    Uber
    P2P + Uber
    — — 2018-04-25 – p.34/41

    View full-size slide

  35. /
    .
    .
    .
    — — 2018-04-25 – p.35/41

    View full-size slide

  36. ( )
    /
    /
    — — 2018-04-25 – p.36/41

    View full-size slide


  37. 1. ( )
    2. ( )
    3. ( )
    — — 2018-04-25 – p.37/41

    View full-size slide

  38. Communicating Promises in the Air
    CPA : Communicating Promises in the Air
    etc. →
    — — 2018-04-25 – p.38/41

    View full-size slide

  39. 10 12
    → 120
    120
    12 12 120
    — — 2018-04-25 – p.39/41

    View full-size slide

  40. — — 2018-04-25 – p.40/41

    View full-size slide

  41. — — 2018-04-25 – p.41/41

    View full-size slide