Под капотом.
Сравнение блокчейн систем
Мешков Дмитрий
Structure
● Решаемая проблема
● Транзакционный уровень
● Консенсус
● P2p сеть
● Возможные улучшения
Why?
Governance
● Код – это закон
● Программисты обладают правом писать закон?
● Можно не принимать изменения, которые внесли
п...
Problematics
● Double spending
● У Alice есть монета, она создает 2 транзакции:
Alice → Bob и Alice → Charlie.
● Кто получ...
Transasctions
Input-output transactions
● Применяется в Bitcoin, Litecoin, Monero, Dash, ...
● Есть только input и output
● Output можно...
Input-output transactions
● Транзакция – это связь между input и output
● ∑inputs >= ∑outputs
● Кроме coinbase транзакции
...
Input-output transactions
● Очень гибкая модель
● Не очень понятная интуитивно
● Большой размер транзакций
● Небольшая про...
Account transaction
● Применяется в Ethereum, Waves, Nxt, …
● Аккаунты (публичные ключи) с изменяемым
балансом
● Транзакци...
Consensus
Consensus
● Набор транзакции – это блок
● Связанные в цепочку блоки – это блокчейн
● Косенсус определяет последовательност...
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
● Последовательность блоков
● Дерево блоков
Block 1 Block NGenesis Block N-2 Block N-1 Block NBlock N-3
Block 1 Block NGen...
Consensus: Proof-of-Work
● Вероятность создать блок пропорциональна
вычислительной мощности
● One-CPU-one-vote
● Распредел...
Consensus: Proof-of-Stake
● Вероятность создать блок ~ балансу
● Не сжигаются ресурсы
● Подразумевает timestamp
● Нет случ...
Consensus
● Proof-of-Work
● Proof-of-Stake
● Proof-of-Burn
● Proof-of-Space
● Proof-of-Retrievability
● ….
● Hybrid
Network layer
P2p: eclipse attacks
● Bitcoin: http://ia.cr/2015/263
● Ethereum: https://goo.gl/mQv58v
P2p: throughput
● On Scaling Decentralized Blockchains”
http://fc16.ifca.ai/bitcoin/papers/CDE+16.pdf
P2p: throughput
● Block size/ X% effective throughput < block interval
● Для сети биткоин (~4000 нод)
● Для маленьких блок...
Возможные улучшения
Throughput
● Bitcoin: 2-3 tx/s
● Уменьшение размера транзакций
● Lightning
● Bitcoin-NG, Byzcoin
● Sidechains
● Частично ц...
Privacy
● Bitcoin псевдоанонимен
● Есть анонимные форки – monero, zcache
● Ring signatures, composite signatures,
zk-snark
Storage scalability
● SPV nodes
● Rollerchain
(https://arxiv.org/pdf/1603.07926.pdf)
● Authenticated data structures (ia.c...
Confirmation delay
● Bitcoin – минимум 10 мин
● Более частые блоки – больше форков
● GHOST – используем блоки форков
● Bit...
Controllable
● Для внутренней валюты нужен контроль
● RsCoin - криптоваюта с центробанком
● Изменяемые блокчейны
Contacts
● http://www.slideshare.net/DmitryMeshkov
● https://twitter.com/DmitryMeshkov
● dmitry.meshkov@iohk.io
Nächste SlideShare
Wird geladen in …5
×

Blockchain: under the hood

207 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

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

×