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

ブロックチェーン 2.0 / Blockchains 2.0

Kenji Saito
December 07, 2017

ブロックチェーン 2.0 / Blockchains 2.0

2017年12月7日(木)、ブロックチェーンアカデミー「ブロックチェーン基盤技術 ブロックチェーン 2.0」にて使用したスライドです

Kenji Saito

December 07, 2017
Tweet

More Decks by Kenji Saito

Other Decks in Technology

Transcript

  1. 2.0
    CSO / SFC
    [email protected]
    2.0 — — 2017-09-07 – p.1/41

    View full-size slide

  2. ( )
    SFC ( )
    CSO (Chief Science Officer)
    1993 M.Eng ( )
    2006 ( )
    SFC 17
    P2P
    2011
    → ( )
    2.0 — — 2017-09-07 – p.2/41

    View full-size slide

  3. / Segregated Witness
    Proof of Stake
    2.0 — — 2017-09-07 – p.3/41

    View full-size slide

  4. 2.0
    1.
    2. Segregated Witness
    3.
    4. Proof of Stake ( )
    5.
    6.
    2.0 — — 2017-09-07 – p.4/41

    View full-size slide

  5. 1.
    2.0 — — 2017-09-07 – p.5/41

    View full-size slide

  6. BTC
    / . . .
    2.0 — — 2017-09-07 – p.6/41

    View full-size slide

  7. EPOBC
    (Open Assets)
    OP_RETURN
    2.0 — — 2017-09-07 – p.7/41

    View full-size slide

  8. Open Assets Protocol (OAP)
    ( = )
    2.0 — — 2017-09-07 – p.8/41

    View full-size slide

  9. ID
    ID (asset ID)
    1.
    2.
    3. 160
    = ID ( )
    4. base58check ‘A’
    ( = 23)
    (asset quantity)
    BTC
    2.0 — — 2017-09-07 – p.9/41

    View full-size slide

  10. OP_RETURN PUSH
    0x4f41 (‘OA’) = 2
    0x0100 2
    1∼9
    LEB128
    1∼9
    2.0 — — 2017-09-07 – p.10/41

    View full-size slide

  11. 2.0 — — 2017-09-07 – p.11/41

    View full-size slide

  12. 2. Segregated Witness
    ( = )
    (malleability)
    2.0 — — 2017-09-07 – p.12/41

    View full-size slide

  13. (witness)
    2.0 — — 2017-09-07 – p.13/41

    View full-size slide

  14. OP_RETURN PUSH
    0xaa21a9ed 4
    (witness) SHA-256 32
    Merkle
    2.0 — — 2017-09-07 – p.14/41

    View full-size slide

  15. Merkle Tree (Bitcoin)
    Digest = double SHA-256 value
    Existence of a TX can be verified if a relevant subtree is provided
    2.0 — — 2017-09-07 – p.15/41

    View full-size slide

  16. (1)
    P2WPKH (version 0) (pay-to-(witnessed)-public-key-hash)
    witness ( ): < > < >
    scriptSig ( ):
    scriptPubKey ( ) 0 <20-byte >
    20-byte
    < > < > CHECKSIG
    2.0 — — 2017-09-07 – p.16/41

    View full-size slide

  17. (2)
    P2WSH (version 0) (pay-to-(witnessed)-script-hash)
    witness: < 1 > <1 < 1 > < 2 > 2 CHECKMULTISIG>
    scriptSig:
    scriptPubKey 0 <32-byte >
    32-byte
    1-out-of-2
    2.0 — — 2017-09-07 – p.17/41

    View full-size slide

  18. SegWit
    https://bitcoincore.org/en/2016/01/26/segwit-benefits/
    2.0 — — 2017-09-07 – p.18/41

    View full-size slide

  19. SegWit
    2016 100 SegWit (95% )
    . . . 2017 8 24
    2.0 — — 2017-09-07 – p.19/41

    View full-size slide

  20. 3.
    2.0 — — 2017-09-07 – p.20/41

    View full-size slide

  21. BIP (Bitcoin Improvement Proposal)
    ex. BIP 1 : BIP Purposes and Guidelines
    https://github.com/bitcoin/bips/blob/master/bip-0001.mediawiki
    ex. BIP 9 : Version bits with timeout and delay
    ex. BIP 141 : Segregated Witness (Consensus layer)
    TCP/IP RFC XMPP XEP
    2.0 — — 2017-09-07 – p.21/41

    View full-size slide

  22. Block Header Data Structure
    Field Description Size (bytes)
    Version 4
    Digest Double SHA-256 value 32
    Merkle root Double SHA-256 value 32
    Time Seconds (since 1970-01-01T00:00 UTC) 4
    Target Compressed format 4
    Nonce Appropriate value 4
    Merkle root is the digest of all TXs
    2.0 — — 2017-09-07 – p.22/41

    View full-size slide

  23. BIP 9 SegWit
    https://github.com/bitcoin/bips/blob/master/bip-0009/assignments.mediawiki
    MTP : Median Time Past ( 11 )
    2.0 — — 2017-09-07 – p.23/41

    View full-size slide

  24. 4. Proof of Stake ( )
    2.0 — — 2017-09-07 – p.24/41

    View full-size slide

  25. Proof of Stake
    ( )
    ( )
    2.0 — — 2017-09-07 – p.25/41

    View full-size slide

  26. Proof of Stake
    Hn
    (PD + id + t + . . .) ≤
    2n × balance
    d
    H
    n
    : n
    (ex. SHA-256 (n = 256))
    PD :
    id : (ex. )
    t : (ex. UNIX ( ))
    balance :
    d : (ex. )
    PoW
    2.0 — — 2017-09-07 – p.26/41

    View full-size slide

  27. Proof of Stake 3
    1.
    2. “Nothing at Stake”
    3. 51%
    2.0 — — 2017-09-07 – p.27/41

    View full-size slide

  28. : Proof of Stake Velocity
    Reddcoin
    2.0 — — 2017-09-07 – p.28/41

    View full-size slide

  29. Nothing at Stake -
    =
    2.0 — — 2017-09-07 – p.29/41

    View full-size slide

  30. Nothing at Stake -
    100%
    Proof of Stake
    2.0 — — 2017-09-07 – p.30/41

    View full-size slide

  31. 51%
    2.0 — — 2017-09-07 – p.31/41

    View full-size slide

  32. Nothing at Stake

    2.0 — — 2017-09-07 – p.32/41

    View full-size slide

  33. 5.
    . . .
    2.0 — — 2017-09-07 – p.33/41

    View full-size slide

  34. 2.0 — — 2017-09-07 – p.34/41

    View full-size slide

  35. 2.0 — — 2017-09-07 – p.35/41

    View full-size slide



  36. A. Back, et. al., “Enabling Blockchain Innovations with Pegged Sidechains”, 2014
    2.0 — — 2017-09-07 – p.36/41

    View full-size slide

  37. 6.
    2.0 — — 2017-09-07 – p.37/41

    View full-size slide

  38. 1
    1 10
    2
    2.0 — — 2017-09-07 – p.38/41

    View full-size slide

  39. A-B
    2.0 — — 2017-09-07 – p.39/41

    View full-size slide

  40. 2
    2
    ( )
    Ripple Path
    2.0 — — 2017-09-07 – p.40/41

    View full-size slide

  41. 2.0 — — 2017-09-07 – p.41/41

    View full-size slide