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

セキュリティトークンの技術 / Security Token Technology

Kenji Saito
February 12, 2020

セキュリティトークンの技術 / Security Token Technology

2020年2月12日、一般社団法人日本セキュリティトークン協会のセミナーにて使用したスライドです。

Kenji Saito

February 12, 2020
Tweet

More Decks by Kenji Saito

Other Decks in Technology

Transcript

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

    2006 ( ) SFC 19 P2P (Peer-to-Peer) ( 9 ) 2011 2018 2019 ∼ 2019 ∼ REINVENT THE WORLD → ( ) — 2020-02-12 – p.3/24
  2. Ethereum Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART

    CONTRACT & DECENTRALIZED APPLICATION PLATFORM” (Dec. 2013∼) 15 (= ) = = ( ) CPU ⇒ DApps DApps = / — 2020-02-12 – p.6/24
  3. Ether Ethereum EOA : Externally-Owned Account ( ) ( )

    Ether ( ) EVM EVM = Ethereum = — 2020-02-12 – p.8/24
  4. EVM : Ethereum Virtual Machine Gas ( EVM = )

    → — 2020-02-12 – p.9/24
  5. ( , ) (constructor) (deploy) = ( ) ( )

    ETH — 2020-02-12 – p.11/24
  6. 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-12 – p.12/24
  7. ERC20 ERC20 ( ) ⇒ ERC20 ( ERC20 ) ERC20

    ⇒ — 2020-02-12 – p.13/24
  8. (fungible) ERC20 → ERC223 (draft) or ERC777 (non-fungible) ERC721 (

    ) (partially fungible) ERC1410 (draft) (ERC1400 ) — 2020-02-12 – p.14/24
  9. 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-12 – p.15/24
  10. ZoE (Zcash on Ethereum) Ethereum UTXO ( ) ( )

    Ethereum Bitcoin Zcash zk-SNARKs Ethereum zk-SNARKs zk-STARKs 2017 Byzantium Gas — 2020-02-12 – p.19/24
  11. zk-SNARKs Zero Knowledge - Succinct ( ) Non-interactive ARgument of

    Knowledge 3 G Generator, C circuit, λ : G(λ, C) → (pk, vk) C ; pk , vk P Prover, x C , w : P(pk, x, w) → π w witness, π proof V Verifier : V (vk, x, π) = true ⇒ ∃w : w C(x, w) V Ethereum G P — 2020-02-12 – p.20/24
  12. C H H( ) C s (x, w) : x

    [H( ),H( ),H( )], w [ , ] ≥ w H x H( ) H( ) H( - ) H( ) C r (x, w) : x [H( ),H( ),H( )], w [ , ] w H x H( ) H( ) H( + ) H( ) — 2020-02-12 – p.21/24
  13. ( ) , H( ), H( s ), H( r

    ) P π s , π r V (vk s , [H( s ), H( s ), H( )], π s ) V (vk r , [H( r ), H( r ), H( )], π r ) H( ) H( ) — 2020-02-12 – p.22/24