$30 off During Our Annual Pro Sale. View Details »

Dive deep into blockchain

Dive deep into blockchain

Blockchain became very popular due to the cryptocurrencies boom in the last few years. It is an interesting technology choice, but with every advantage comes a challenge that needs to be thoroughly reviewed and addressed. Feedback: https://joind.in/talk/2fdb3 .

Tomasz Kowalczyk

March 09, 2018
Tweet

More Decks by Tomasz Kowalczyk

Other Decks in Technology

Transcript

  1. blockchain
    dive deep into
    Tomasz Kowalczyk @tmmx

    View Slide

  2. View Slide

  3. View Slide

  4. blockwhat?

    View Slide

  5. database

    View Slide

  6. chain of blocks

    View Slide

  7. block of data

    View Slide

  8. data structure

    View Slide

  9. cryptocurrency

    View Slide

  10. general purpose

    View Slide

  11. blockwhy?

    View Slide

  12. immutability

    View Slide

  13. append only

    View Slide

  14. traceability

    View Slide

  15. verifiability

    View Slide

  16. tamper proof

    View Slide

  17. integrity

    View Slide

  18. reproducibility

    View Slide

  19. decentralization

    View Slide

  20. trust(less)

    View Slide

  21. transparency

    View Slide

  22. blockwhen?

    View Slide

  23. voting
    medical records
    cloud storage
    financial transactions
    decentralized messaging
    property registry
    land sales
    insurance
    digital wallets
    smart contracts
    crowdfunding
    property ownership
    social networking
    P2P finances
    virtual countries
    asset trading

    View Slide

  24. few hours later...

    View Slide

  25. loyalty programs
    internal currency
    regulatory reporting
    cross-border payments
    smart contracts
    ecommerce
    digital identity
    anti-counterfeiting
    mechanisms

    View Slide

  26. blockhow?

    View Slide

  27. public
    shared
    private

    View Slide

  28. cryptography

    View Slide

  29. addresses

    View Slide

  30. hash algorithm

    View Slide

  31. Merkle tree
    aka. binary hash tree

    View Slide

  32. A B C D
    HAB HCD
    R
    B Merkle path: R-HAB-HB
    HA HB HC HD

    View Slide

  33. genesis block

    View Slide

  34. consensus

    View Slide

  35. proof of work
    proof of stake

    View Slide

  36. example

    View Slide

  37. Hashchain?

    View Slide

  38. $storage = new SqliteStorage('chain.sq3');
    $signer = new OpenSslSigner('private.key', 'public.key');
    $genesis = new GenesisBlock('fiat lux');
    $state = new State();
    $chain = new Hashchain($storage, $signer, $genesis, $state);
    $chain->createBlock(new CreateAccount('A', 'Alpha'));
    $chain->createBlock(new CreateAccountWithCredits('Z', 'Zulu', 1000));
    $chain->createBlock(new SendCredits('Z', 'A', 100));

    View Slide

  39. // Not enough credits: Z sent 100 to A and has only 900!
    $chain->createBlock(new SendCredits('Z', 'A', 1000));
    // Sender X does not exist!
    $chain->createBlock(new SendCredits('X', 'A', 1000));
    // Account Zulu already exists!
    $chain->createBlock(new CreateAccount('Z', 'Zulu'));

    View Slide

  40. challenges

    View Slide

  41. conflict resolution

    View Slide

  42. integration with
    existing systems

    View Slide

  43. performance
    scalability
    throughput

    View Slide

  44. mining and incentives
    rewards for maintaining network nodes

    View Slide

  45. security

    View Slide

  46. privacy

    View Slide

  47. hard forks

    View Slide

  48. summary

    View Slide

  49. right solution
    for the right kind of problem

    View Slide

  50. Event Sourcing
    (on steroids)

    View Slide

  51. scratching surface

    View Slide

  52. BlocQuestions?

    View Slide

  53. Slides
    https://speakerdeck.com/thunderer/dive-deep-into-blockchain
    Resources
    http://www.imponderablethings.com/2013/07/how-bitcoin-works-under-hood.html
    http://chimera.labs.oreilly.com/books/1234000001802/index.html (Mastering Bitcoin)
    https://www.coindesk.com/math-behind-bitcoin (EC)
    https://en.wikipedia.org/wiki/Four_Knights_Game (Chess)
    http://queue.acm.org/detail.cfm?id=3136559 (Bitcoin)
    https://blog.acolyer.org/2017/08/30/a-concurrent-perspective-on-smart-contracts (smart contracts)
    https://en.bitcoin.it/wiki/Secp256k1 (Bitcoin Elliptic Curve)
    Pictures (Creative Commons)
    https://www.flickr.com/photos/skyseeker/14404947216 (lightning)
    https://www.flickr.com/photos/atermath/3053484935 (stripes)
    https://www.flickr.com/photos/randnotizenorg/32110828536 (electronic)
    https://www.flickr.com/photos/23221002@N00/7204014842 (equations)
    https://www.flickr.com/photos/spookyamd/14184019077 (mountain)
    https://www.flickr.com/photos/s1ng0/5445857570 (trees)
    https://www.flickr.com/photos/95213174@N08/10329928973 (handshake)
    https://www.flickr.com/photos/wiertz/4563720850 (signature)
    https://www.flickr.com/photos/33279673@N03/5482493912 (chains)

    View Slide

  54. please rate the talk and give feedback on
    joind.in/talk/74cb2

    View Slide

  55. Thankschain!
    github /thunderer
    twitter @tmmx

    View Slide