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

Блокчейн и Python

Блокчейн и Python

Александр Горелик (VP Product @ VChain) на Moscow Python Conf 2017
"Веду разработку на блокчейне уже 2 года - начинал как энтузиаст, но теперь, в рамках собственного проекта, это является моей основной деятельностью. В рамках доклада я расскажу про проблемы, которые помогает решать блокчейн, как эти проблемы решали раньше и почему с блокчейном - лучше. Обсудим когда это всего лишь инструмент, а когда - нечто большее. Рассмотрим области применения, а также когда и как его стоит использовать и для решения каких задач. Поделюсь подходами к выбору блокчейна для решения нужной задачи. Расскажу что есть в Python для работы с блокчейном, а чего - нет. Задачей доклада вижу дать интересующимся разработчикам, которые только слышали про блокчейн, или знают лишь общие концепции, хорошую стартовую площадку для дальнейшего самостоятельного изучения в глубину".\
Видео: https://conf.python.ru/blockchain-python/

Moscow Python Meetup
PRO

October 20, 2017
Tweet

More Decks by Moscow Python Meetup

Other Decks in Programming

Transcript

  1. Blockchain & Python

    View Slide

  2. I’m not a Crypto-anarchist

    View Slide

  3. I’m not a Crypto-anarchist
    Will try to make an objective view

    View Slide

  4. I. Expectations
    and takeaways
    What’s this lecture about?

    View Slide

  5. This lecture is NOT about
    HOW Blockchain works

    View Slide

  6. It’s not about deep
    protocol understanding either
    Segregated Witness
    SegWit2x
    HD Wallets
    zkSNARKs Lightning
    Side chains
    BIPs Soft fork
    Hard fork UASF
    UAHF
    Multisig
    Casper
    Proof of Stake
    Blocksize
    Hash-Time Lock Contracts
    UTXO
    Consensus
    Oracle
    Merkle Trees
    ECC

    View Slide

  7. Mining is out of scope as well

    View Slide

  8. How can a developer USE Blockchain
    Except to become a millionaire through ICO

    View Slide

  9. A desired takeaway
    Overview + good starting point for further self-study

    View Slide

  10. II. What is the current
    state of art?
    What should a developer know?

    View Slide

  11. Blockchain space is a total mess

    View Slide

  12. Similar to the early days of HTTP

    View Slide

  13. BUT still is very immature

    View Slide

  14. Frameworks, approaches and tools are arising
    Best practices are evolving

    View Slide

  15. BTC/ETH stalls - what to do?
    You should be prepared

    View Slide

  16. Confirmations
    Always remember about orphan blocks

    View Slide

  17. Crypto will punish you. HARD
    Tiny mistakes - HUGE consequences

    View Slide

  18. Who is in control of YOUR Blockchain?

    View Slide

  19. Could be NOT YOU tomorrow
    Who is in control of YOUR Blockchain?
    Segwit2x

    View Slide

  20. Decentralisation comes with a price
    Full node should be nearby
    140GB
    and growing…

    View Slide

  21. OR rely on 3rd parties
    But be aware of Cybil attack
    ?

    View Slide

  22. But own full nodes are MUCH more secure
    Spread the risk!

    View Slide

  23. Legality is still a question
    Anything could happen, really

    View Slide

  24. III. When does it make
    sense to use it?
    And when it doesn’t

    View Slide

  25. Everything is better with Blockchain

    View Slide

  26. Blockchain CAN’T help/solve everything
    Nope, it is not

    View Slide

  27. It’s not an efficient database
    Not even near

    View Slide

  28. Neither it is a Global Computer
    #sorrynotsorry, Vitalik!

    View Slide

  29. Obvious use case

    View Slide

  30. Obvious use case
    Full node + RPC

    View Slide

  31. Obvious use case
    Full node + RPC 3rd parties APIs

    View Slide

  32. Micro payments
    Low TX costs, less friction & clearance

    View Slide

  33. Payments, money & asset transfer
    Where there is NO bank accounts

    View Slide

  34. Timestamping / record keeping
    Keep data off the ledger, hash to OP_RETURN

    View Slide

  35. Decentralisation + !Consensus!
    Removing trust, trusted authorities and intermediaries

    View Slide

  36. Privacy
    Voting, Identity, GDPR

    View Slide

  37. When it is more than just a tool
    Entirely new use cases, new Blockchain infrastructure
    Lightning Network

    View Slide

  38. IV. How do we choose
    the right Blockchain?
    Major factors

    View Slide

  39. Consensus mechanism
    Proof of Work
    Proof of Stake
    PBFT (Hyperledger)
    BFT (Tendermint)
    FBA (Stellar)
    Paxos / Raft
    Really a HUGE topic to discuss and research

    View Slide

  40. Block times
    Remember, we are talking SECONDS here

    View Slide

  41. Cost per TX
    And its trend

    View Slide

  42. Capabilities
    Timestamping, asset issuance, smart contracts, privacy, …

    View Slide

  43. Write your own from scratch?
    Really BAD idea

    View Slide

  44. Use what is there already
    Hyperledger
    Monax
    Credits
    Multichain
    Tendermint
    If you REALLY need to
    Ethereum
    Exonum
    CoCo

    View Slide

  45. V. What do we have in Python?

    View Slide

  46. Customer facing DApp?
    Forget about Python

    View Slide

  47. ecdsa
    pybitcointools
    pycoin + pycoinnet
    21.co
    Bitcoin Ethereum
    pyethereum
    Populus
    Web3.py
    python-bitcoinlib
    pycoind
    Bitcoin Armory
    btcpy
    Eth-TestRPC
    ethereum-utils
    ethereum-abi-tools
    py-evm
    py-solc

    View Slide

  48. THANK YOU!
    Aleksandr Gorelik
    CTO @ VChain
    [email protected]

    View Slide