Blockchain: under the hood

190 views

Published on

Technical introduction to blockchain on "Digital October blockchain weekend".

Published in: Software
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
190
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Blockchain: under the hood

  1. 1. Под капотом. Сравнение блокчейн систем Мешков Дмитрий
  2. 2. Structure ● Решаемая проблема ● Транзакционный уровень ● Консенсус ● P2p сеть ● Возможные улучшения
  3. 3. Why?
  4. 4. Governance ● Код – это закон ● Программисты обладают правом писать закон? ● Можно не принимать изменения, которые внесли программисты (Ethereum classic) ● Голосования (майнеров, владельцев монет, мастернод, ...)
  5. 5. Problematics ● Double spending ● У Alice есть монета, она создает 2 транзакции: Alice → Bob и Alice → Charlie. ● Кто получит монету? ● Централизованное решение – кому первому отправлена транзакция ● В децентрализованном мире определить кому раньше непросто
  6. 6. Transasctions
  7. 7. Input-output transactions ● Применяется в Bitcoin, Litecoin, Monero, Dash, ... ● Есть только input и output ● Output можно потратить только полностью
  8. 8. Input-output transactions ● Транзакция – это связь между input и output ● ∑inputs >= ∑outputs ● Кроме coinbase транзакции ● У каждого output есть скрипт ● Чтобы потратить output, нужно подать на вход скрипта такие данные, чтобы получить true ● Большинство скриптов требуют подпись на вход
  9. 9. Input-output transactions ● Очень гибкая модель ● Не очень понятная интуитивно ● Большой размер транзакций ● Небольшая пропускная способность ● Микро остатки
  10. 10. Account transaction ● Применяется в Ethereum, Waves, Nxt, … ● Аккаунты (публичные ключи) с изменяемым балансом ● Транзакция – перевод N монет от одного аккаунта другому ● Транзакции подписанны ● Нужна дополнительная защита от replay атак
  11. 11. Consensus
  12. 12. Consensus ● Набор транзакции – это блок ● Связанные в цепочку блоки – это блокчейн ● Косенсус определяет последовательность блоков в блокчейне ● Какая из двух транзакций (Alice → Bob и Alice → Charlie) раньше окажется в блокчейне – та и была раньше
  13. 13. Consensus: Proof-of-Work Row 1 Row 2 Row 3 Row 4 0 2 4 6 8 10 12 Column 1 Column 2 Column 3
  14. 14. ● Последовательность блоков ● Дерево блоков Block 1 Block NGenesis Block N-2 Block N-1 Block NBlock N-3 Block 1 Block NGenesis Block 3 Block 6 Block 9Block 2 Block 4 Block 7 Block 5 Block NBlock 8
  15. 15. Consensus: Proof-of-Work ● Вероятность создать блок пропорциональна вычислительной мощности ● One-CPU-one-vote ● Распределенный timestamp ● Чтобы изменить блок, нужно проделать работу по созданию всех блоков после него ● Безопасен ● Сжигает ресурсы ● Полезный PoW: primecoin, permacoin
  16. 16. Consensus: Proof-of-Stake ● Вероятность создать блок ~ балансу ● Не сжигаются ресурсы ● Подразумевает timestamp ● Нет случайности => griding attacks ● Дешево создавать блоки => History attack ● Nothing-at-stake attack ● Bribe attack
  17. 17. Consensus ● Proof-of-Work ● Proof-of-Stake ● Proof-of-Burn ● Proof-of-Space ● Proof-of-Retrievability ● …. ● Hybrid
  18. 18. Network layer
  19. 19. P2p: eclipse attacks ● Bitcoin: http://ia.cr/2015/263 ● Ethereum: https://goo.gl/mQv58v
  20. 20. P2p: throughput ● On Scaling Decentralized Blockchains” http://fc16.ifca.ai/bitcoin/papers/CDE+16.pdf
  21. 21. P2p: throughput ● Block size/ X% effective throughput < block interval ● Для сети биткоин (~4000 нод) ● Для маленьких блоков превалирует latency, минимальное время между блоками для X90% - 12 секунд. ● Для 10 мин. размер блока < 4 Мб для X90% и 36 Мб. для X50%
  22. 22. Возможные улучшения
  23. 23. Throughput ● Bitcoin: 2-3 tx/s ● Уменьшение размера транзакций ● Lightning ● Bitcoin-NG, Byzcoin ● Sidechains ● Частично централизованные схемы (DPoS, Byteball, Dash)
  24. 24. Privacy ● Bitcoin псевдоанонимен ● Есть анонимные форки – monero, zcache ● Ring signatures, composite signatures, zk-snark
  25. 25. Storage scalability ● SPV nodes ● Rollerchain (https://arxiv.org/pdf/1603.07926.pdf) ● Authenticated data structures (ia.cr/2016/994)
  26. 26. Confirmation delay ● Bitcoin – минимум 10 мин ● Более частые блоки – больше форков ● GHOST – используем блоки форков ● Bitcoin-NG, Byzcoin ● Быстрые подтверждения – больше доверия (Dash)
  27. 27. Controllable ● Для внутренней валюты нужен контроль ● RsCoin - криптоваюта с центробанком ● Изменяемые блокчейны
  28. 28. Contacts ● http://www.slideshare.net/DmitryMeshkov ● https://twitter.com/DmitryMeshkov ● dmitry.meshkov@iohk.io

×