Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Technical Introduction to IBM's Open Blockchain (OBC)

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Hier ansehen

1 von 29 Anzeige
Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Anzeige

Ähnlich wie Technical Introduction to IBM's Open Blockchain (OBC) (20)

Weitere von Altoros (20)

Anzeige

Aktuellste (20)

Technical Introduction to IBM's Open Blockchain (OBC)

  1. 1. Renat Khasanshyn CEO @ Altoros | @renatco Sergey Matykevich Sr. Software Engineer @ Altoros Technical Introduction to Open Blockchain (OBC) an IBM’s contribution to March 23, 2016
  2. 2. Why Open Blockchain?
  3. 3. 1. Increasing demand for permissioned networks 2.Some users/use cases require validating or non-validating nodes to be controlled or sometimes just sponsored by select whitelisted organizations 3.Many network operators want transactors on network to obtain an identity from an issuing authority service on the network 4.Need for private networks, as well as public networks 5.Privacy on iPhone…. Privacy on the network? a. Many network operators want to keep identity and patterns of behavior completely private, inaccessible for 3rd parties 6. Performance / Scalability 7. World of many networks... Why Open Blockchain?
  4. 4. Not one but many…. A world of many networks
  5. 5. Why not Ethereum? Wrong License is the primary reason.
  6. 6. What is Open Blockchain?
  7. 7. What is scope of core Hyperledger vs. non-core?
  8. 8. OBC Roadmap Enterprise Integration Performance and Scalability Additional Consensus Plugins Additional Languages Portability
  9. 9. Biggest bottleneck? Identity on the blockchain.
  10. 10. 10 Step1: Create first validation peer 10 VP 1 VM vagrant ssh docker run --rm -it openchain-peer go build export OPENCHAIN_VM_ENDPOINT=http://172.17.0.1:4243 export OPENCHAIN_PEER_ID=vp1 export OPENCHAIN_PEER_ADDRESSAUTODETECT=true ./obc-peer peer
  11. 11. 11 Step2: Create second validation peer 11 VP 1 VM VP 2 VM vagrant ssh docker run --rm -it openchain-peer go build export OPENCHAIN_PEER_ID=vp2 export OPENCHAIN_PEER_ADDRESSAUTODETECT=true export OPENCHAIN_PEER_DISCOVERY_ROOTNODE=172.17.0.2:30303 ./obc-peer peer
  12. 12. 12 How peer discovery works? 12 1.VP2 sends DISC_HELLO message to its root discovery node (VP1) 2.VP1 replies with 3.Nodes start “chatting” a.Periodically sending DISC_GET_PEERS (asks to share active connections) b.Each node should reply with DISC_PEERS (list of connections) 4.After node receives new connections it starts chatting with them
  13. 13. 13 Step4: Deploy application 13 VP 1 VM VP 3 VM APP VP 2 VM CLI Chaincode
  14. 14. 14 Step4: Deploy application 14 vagrant ssh cd $GOPATH/src/github.com/openblockchain/obc-peer export OPENCHAIN_PEER_ADDRESS=172.17.0.2:30303 ./obc-peer chaincode deploy -p github.com/openblockchain/obc- peer/examples/chaincode/go/map -c '{"Function":"init", "Args": []}'
  15. 15. 15 Application is distributed across all peers 15 VP 1 VM APP VP 3 VM APP VP 2 VM APP CLI App source
  16. 16. 16 Step4: Deploy chaincode 16 vagrant ssh cd $GOPATH/src/github.com/openblockchain/obc-peer export OPENCHAIN_PEER_ADDRESS=172.17.0.2:30303 ./obc-peer chaincode deploy -p github.com/openblockchain/obc- peer/examples/chaincode/go/map -c '{"Function":"init", "Args": []}'
  17. 17. 17 Step4: Execute transaction 17 ./obc-peer chaincode invoke -n <container-id> -c '{"Function":"put", "Args": ["key1", "val1"]}' /obc-peer chaincode query -n <container-id> -c '{"Function":"get", "Args": ["key1"]}'
  18. 18. 18 DB structure 18 Blockchain Block1 TX1 TX2 Block2 TX1 TX2 State State Delta Chaincode State 1 State Delta 1
  19. 19. 19 Transaction flow 19 CLI PEER CHAINCODE LEDGER OTHER PEER
  20. 20. 20 Transaction flow 20 CLI PEER CHAINCODE LEDGER OTHER PEER
  21. 21. 21 Transaction flow 21 CLI PEER CHAINCODE LEDGER OTHER PEER
  22. 22. 22 Transaction flow 22 CLI PEER CHAINCODE LEDGER OTHER PEER
  23. 23. 23 Transaction flow 23 CLI PEER CHAINCODE LEDGER OTHER PEER
  24. 24. 24 Transaction flow 24 CLI PEER CHAINCODE LEDGER OTHER PEER
  25. 25. 25 Transaction flow 25 CLI PEER CHAINCODE LEDGER OTHER PEER
  26. 26. 26 Consensus: State machine definition 26 A set of States A set of Inputs A set of Outputs A transition function (Input × State → State) An output function (Input × State → Output) A distinguished State called Start.
  27. 27. 27 Consensus: System properties 27 The algorithm provides both safety and liveness assuming no more than 1/3 replicas are faulty.
  28. 28. 28 Consensus: Practical Byzantine Fault Tolerance 28
  29. 29. Renat Khasanshyn CEO @ Altoros | @renatco Sergey Matykevich Sr. Software Engineer @ Altoros Thank you! More on the topic: altoros.com/blog/tag/hyperledger March 23, 2016

Hinweis der Redaktion

  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.
  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.
  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.
  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.
  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.
  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.
  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.
  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.
  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.
  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.
  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.
  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.
  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.
  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.
  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.
  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.
  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.
  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.
  • goal:
    single platform for all devices
    Increase quality and reduce the amount of stabilization
    reduce planning.

    PaaS is good fit for Project automatization
    tests should be small.

×