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

ブロックチェーン・分散レッジャー総まくり — 2017 年版 — / General Overview of Blockchains and Distributed Ledgers 2017

Kenji Saito
December 18, 2017

ブロックチェーン・分散レッジャー総まくり — 2017 年版 — / General Overview of Blockchains and Distributed Ledgers 2017

2017年12月18日(月)、Beyond Blockchain テクニカルプログラムで話させて頂いた際に使用したスライドです。

Kenji Saito

December 18, 2017
Tweet

More Decks by Kenji Saito

Other Decks in Technology

Transcript

  1. — 2017 —
    / SFC
    [email protected]
    — 2017 — 2017-12-18 – p.1/70

    View full-size slide

  2. ( )
    SFC ( )
    CSO (Chief Science Officer)
    1993 ( )
    2006 ( )
    SFC 17
    P2P (Peer-to-Peer)
    2011
    → ( )
    — 2017 — 2017-12-18 – p.2/70

    View full-size slide

  3. — 2017 — 2017-12-18 – p.3/70

    View full-size slide

  4. ( )
    (1)
    (2)
    (3)
    (4) ( )

    — 2017 — 2017-12-18 – p.4/70

    View full-size slide

  5. ( )
    (by ) (since 1984) ( ) ( )
    ( )
    . . .
    ( )
    ⇒ state machine replication
    — 2017 — 2017-12-18 – p.5/70

    View full-size slide

  6. ( )
    ( ) ( ) ( ) ( )
    ( )
    (by )
    — 2017 — 2017-12-18 – p.6/70

    View full-size slide

  7. — 2017 — 2017-12-18 – p.7/70

    View full-size slide

  8. 1)
    2)
    3)

    ( ) { | }

    / (dependable )
    — 2017 — 2017-12-18 – p.8/70

    View full-size slide

  9. /DLT
    ( )
    Bitcoin ( )
    Open Assets Protocol (OAP)
    ( )
    Ethereum ( ) ( )
    Enterprise Ethereum Alliance (↓ )
    (DLT) ( ) ( )
    Hyperledger (Linux Foundation)
    Fabric (IBM/DAH), Sawtooth (Intel), Iroha ( )
    Corda (R3), Tangle (IOTA),
    . . .
    , BBc-1 ( )
    — 2017 — 2017-12-18 – p.9/70

    View full-size slide

  10. (Bitcoin)
    — 2017 — 2017-12-18 – p.10/70

    View full-size slide

  11. ( )
    P2P
    ( )
    (double spending) ( )
    ⇒ ( )

    ( ) ( )
    — 2017 — 2017-12-18 – p.11/70

    View full-size slide

  12. / (1)
    2,100 cm3 (cc)
    1 1cm3
    10
    12.5cm3

    ⇒ ( )
    — 2017 — 2017-12-18 – p.12/70

    View full-size slide

  13. / (2)
    ( )
    ( )
    ( )
    ( )
    ( )
    ( )

    ( )
    — 2017 — 2017-12-18 – p.13/70

    View full-size slide

  14. /DLT
    End-to-End
    ( ) ( )
    — 2017 — 2017-12-18 – p.14/70

    View full-size slide

  15. ∼ UTXO
    M A 60BTC ( )
    SegWit ( )
    — 2017 — 2017-12-18 – p.15/70

    View full-size slide

  16. (Segregated Witness)
    (witness)
    — 2017 — 2017-12-18 – p.16/70

    View full-size slide

  17. 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
    — 2017 — 2017-12-18 – p.17/70

    View full-size slide

  18. Merkle Tree (Bitcoin)
    Digest = double SHA-256 value
    Existence of a TX can be verified if a relevant subtree is provided
    O(logN)
    — 2017 — 2017-12-18 – p.18/70

    View full-size slide

  19. OP_RETURN PUSH
    0xaa21a9ed 4
    (witness) SHA-256 32
    Merkle
    — 2017 — 2017-12-18 – p.19/70

    View full-size slide

  20. SegWit
    SegWit ( )
    1. (malleability)
    2.
    3.
    4.
    5.
    6. UTXO
    7.
    8. TX ←
    9.
    https://bitcoincore.org/en/2016/01/26/segwit-benefits/
    — 2017 — 2017-12-18 – p.20/70

    View full-size slide


  21. ( )

    — 2017 — 2017-12-18 – p.21/70

    View full-size slide

  22. 1 1 (O(N))
    : MH/s 50
    — 2017 — 2017-12-18 – p.22/70

    View full-size slide


  23. ( )
    — 2017 — 2017-12-18 – p.23/70

    View full-size slide

  24. CS1 :
    CS2 :
    CS3 :
    CL1 :
    CL2 :
    :
    :
    (e.g. )
    — 2017 — 2017-12-18 – p.24/70

    View full-size slide


  25. postfix / SegWit
    UTXO / SegWit
    UTXO : Unspent TX (transaction) Output ( )
    — 2017 — 2017-12-18 – p.25/70

    View full-size slide

  26. — 2017 — 2017-12-18 – p.26/70

    View full-size slide

  27. (Hyperledger )
    ( )
    ( )
    ( )
    IoT
    / /
    ( )
    — 2017 — 2017-12-18 – p.27/70

    View full-size slide

  28. ( = )
    ( )
    ( )

    — 2017 — 2017-12-18 – p.28/70

    View full-size slide

  29. /DLT
    ( )
    ( ) ( )
    ( vs. )
    ( )
    ( )
    ( )

    ( : BBc-1)
    DLT
    :
    :
    — 2017 — 2017-12-18 – p.29/70

    View full-size slide

  30. (Ethereum)
    EVM (Ethereum Virtual Machine)
    — 2017 — 2017-12-18 – p.30/70

    View full-size slide

  31. Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART
    CONTRACT & DECENTRALIZED APPLICATION PLATFORM”
    15
    ( )
    — 2017 — 2017-12-18 – p.31/70

    View full-size slide

  32. = run
    — 2017 — 2017-12-18 – p.32/70

    View full-size slide

  33. Ether
    Ethereum
    EOA : Externally-Owned Account
    Ether EVM
    EVM
    — 2017 — 2017-12-18 – p.33/70

    View full-size slide

  34. EVM : Ethereum Virtual Machine
    Gas
    — 2017 — 2017-12-18 – p.34/70

    View full-size slide

  35. Ethereum
    Frontier
    Homestead
    Metropolis
    Byzantium (2017) ←
    zkSNARKs ( ) → Zcash on Ethereum (ZoE)
    Constantinople (2018)
    Serenity
    — 2017 — 2017-12-18 – p.35/70

    View full-size slide

  36. — 2017 — 2017-12-18 – p.36/70

    View full-size slide


  37. → validators
    → (PoS)
    (key, value)
    PoS
    — 2017 — 2017-12-18 – p.37/70

    View full-size slide

  38. (Linux Foundation)
    https://www.hyperledger.org
    Apache License, Version 2.0
    — 2017 — 2017-12-18 – p.38/70

    View full-size slide

  39. /
    :
    Proposal → Incubation → Active → Deprecated → End of Life
    — 2017 — 2017-12-18 – p.39/70

    View full-size slide

  40. ( https://www.hyperledger.org/about/members )
    — 2017 — 2017-12-18 – p.40/70

    View full-size slide

  41. Fabric (IBM)
    IBM Digital Asset Holdings
    http://hyperledger-fabric.readthedocs.io/en/latest/
    State : Active
    — 2017 — 2017-12-18 – p.41/70

    View full-size slide

  42. ( )
    ( )
    — 2017 — 2017-12-18 – p.42/70

    View full-size slide

  43. Fabric –
    (Docker) (chaincode)
    PBFT (Practical BFT) ( )
    RocksDB CA PKI
    v1.0 DB CA
    BFT : Byzantine Fault Tolerance ( )
    CA : Certificate Authority ( )
    PKI : Public Key Infrastructure ( )
    — 2017 — 2017-12-18 – p.43/70

    View full-size slide

  44. Sawtooth (Intel)
    https://github.com/hyperledger/sawtooth-core
    State : Active
    — 2017 — 2017-12-18 – p.44/70

    View full-size slide

  45. ( )
    (permissioned) (permissionless)
    Proof of Elapsed Time (PoET)
    Proof of Work ( )
    (Intel )
    /
    Transaction Families
    — 2017 — 2017-12-18 – p.45/70

    View full-size slide

  46. Sawtooth –
    (transaction families)
    (PoET )
    PoET ( )
    (transaction families)
    — 2017 — 2017-12-18 – p.46/70

    View full-size slide

  47. Iroha ( )
    https://github.com/hyperledger/iroha
    State : Active
    — 2017 — 2017-12-18 – p.47/70

    View full-size slide

  48. ( )
    DLT
    :
    C++
    Sumeragi
    Whitepaper : https://github.com/hyperledger/iroha/blob/master/docs/iroha_whitepaper.md
    — 2017 — 2017-12-18 – p.48/70

    View full-size slide

  49. Iroha –
    JVM (chaincode)
    Sumeragi (BFT) → YAC?
    JVM : Java Virtual Machine (Java )
    — 2017 — 2017-12-18 – p.49/70

    View full-size slide

  50. Corda (R3) Tangle (IOTA)
    — 2017 — 2017-12-18 – p.50/70

    View full-size slide

  51. Corda (R3)
    R3
    https://github.com/corda/corda
    — 2017 — 2017-12-18 – p.51/70

    View full-size slide

  52. R3
    R3CEV
    77 (2017 2 )
    3 SBI
    R3Net( )
    Corda
    — 2017 — 2017-12-18 – p.52/70

    View full-size slide

  53. Corda
    Corda :
    :
    — 2017 — 2017-12-18 – p.53/70

    View full-size slide

  54. ( )
    +
    CAP
    ( DLT )
    — 2017 — 2017-12-18 – p.54/70

    View full-size slide

  55. Corda –
    JVM
    ( )
    (Uniqueness Services)
    UTXO X.509 PKI
    ( )
    X.509 : PKI
    — 2017 — 2017-12-18 – p.55/70

    View full-size slide

  56. Tangle (IOTA)
    IoT IOTA
    https://iota.readme.io
    — 2017 — 2017-12-18 – p.56/70

    View full-size slide

  57. IoT
    TX TX (DAG)
    ( )
    TX
    Tangle
    — 2017 — 2017-12-18 – p.57/70

    View full-size slide

  58. Tangle –
    IoT (IOTA)
    DAG ( )
    DAG
    — 2017 — 2017-12-18 – p.58/70

    View full-size slide

  59. BBc-1 (Beyond Blockchain One)
    https://github.com/beyond-blockchain/bbc1
    https://beyond-blockchain.org
    — 2017 — 2017-12-18 – p.59/70

    View full-size slide

  60. vs.
    :
    :
    :
    :
    :
    :
    :
    :
    :
    — 2017 — 2017-12-18 – p.60/70

    View full-size slide

  61. Proof of Work
    Bitcoin ( )
    BBc Trust ( )
    https://beyond-blockchain.org/public/bbc-trust.pdf ( )
    https://beyond-blockchain.org/public/bbc-trust_ja.pdf ( )
    Design Paper (white paper)
    https://beyond-blockchain.org/public/bbc1-design-paper.pdf
    — 2017 — 2017-12-18 – p.61/70

    View full-size slide

  62. Beyond Blockchain One (BBc-1)
    #JUDPJO
    ͦͷଞͷ
    ύϒϦοΫϨοδϟʔ
    BBc-1
    ΦʔϓϯͰύϒϦοΫͳɹ෼ࢄϨοδϟʔ
    ෼ࢄετϨʔδ؅ཧ
    αʔόϨε ۃྗϝΠϯςφϯεϑϦʔ
    ͳ࣮ߦ؀ڥ
    ΞϓϦέʔγϣϯ
    ͦ
    ͷ

    ͞
    ·
    ͟
    ·
    ͳ
    Ξ
    ϓ
    Ϧ
    ͷ
    Մ


    σδλϧ௨՟ 4%, σδλϧΞηοτ "1*
    ##D ։ൃ߲໨
    ҠߦΞγελϯτ

    Ҭ

    ՟
    Ξ
    ϓ
    Ϧ
    ϙ
    Π
    ϯ
    τ
    Ξ
    ϓ
    Ϧ




    Ξ
    ϓ
    Ϧ
    ʜ
    ॳظ
    λʔήοτ
    ॳظ
    λʔήοτ
    ॳظʹ͓͍ͯଘࡏূ໌Λґଘ
    ݸʑͷετϨʔδαʔϏε
    Մೳͳλʔήοτ
    — 2017 — 2017-12-18 – p.62/70

    View full-size slide

  63. ࣝผࢠ
    ෼཭ʂ
    ެ։ݤ
    ݕূՄೳ
    υϝΠϯ
    ه࿥ͷ಺༰͸
    υϝΠϯͷ֎ʹग़ͳ͍
    ࣙॻ
    ͜Ε΋ه࿥
    UTXO

    — 2017 — 2017-12-18 – p.63/70

    View full-size slide

  64. (1)
    ⇒ — 2017 — 2017-12-18 – p.64/70

    View full-size slide

  65. (2)
    → DAG (Directed Acyclic Graph)
    ⇒ ( )
    — 2017 — 2017-12-18 – p.65/70

    View full-size slide

  66. ( → )

    — 2017 — 2017-12-18 – p.66/70

    View full-size slide

  67. BBc-1 –
    ( Python)
    ( DAG)
    ( )
    UTXO
    v1.0 (2018 2 ; v0.7)
    — 2017 — 2017-12-18 – p.67/70

    View full-size slide

  68. BBc-1
    — 2017 — 2017-12-18 – p.68/70

    View full-size slide

  69. 1 BBc-1
    https://github.com/beyond-blockchain/bbc1
    v0.7.2 ( v )
    ( OK)
    Xmas pull request
    beyond-blockchain.org technical steering committee
    — 2017 — 2017-12-18 – p.69/70

    View full-size slide

  70. , — , R&D
    (2017-12-25 )
    — 2017 — 2017-12-18 – p.70/70

    View full-size slide