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. ( ) SFC ( ) CSO (Chief Science Officer) 1993

    ( ) 2006 ( ) SFC 17 P2P (Peer-to-Peer) 2011 → ( ) — — 2018-04-25 – p.2/41
  2. 1. ⇒ ( ) ⇒ 2. ⇒ ⇒ 3. ⇒

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

    . cf. by McLuhan cf. by McLuhan — — 2018-04-25 – p.9/41
  4. Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART CONTRACT

    & DECENTRALIZED APPLICATION PLATFORM” 15 — — 2018-04-25 – p.13/41
  5. EVM : . . . : Solidity — JavaScript LLL

    — Lisp — — 2018-04-25 – p.18/41
  6. 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
  7. Solidity JavaScript ( , ) (constructor) ( ) ( )

    Ether — — 2018-04-25 – p.20/41
  8. The DAO ( ) The DAO Split ( ) 360

    ETH (50∼60 ) (2016/6/17) ( ) ( ; ) (2016/7/20 ) — — 2018-04-25 – p.26/41
  9. 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
  10. — 1. ( ) 2. ( ) 3. ( )

    — — 2018-04-25 – p.37/41
  11. Communicating Promises in the Air CPA : Communicating Promises in

    the Air etc. → — — 2018-04-25 – p.38/41
  12. 10 12 → 120 120 12 12 120 — —

    2018-04-25 – p.39/41