4. Governance
● Код – это закон
● Программисты обладают правом писать закон?
● Можно не принимать изменения, которые внесли
программисты (Ethereum classic)
● Голосования (майнеров, владельцев монет,
мастернод, ...)
5. Problematics
● Double spending
● У Alice есть монета, она создает 2 транзакции:
Alice → Bob и Alice → Charlie.
● Кто получит монету?
● Централизованное решение – кому первому
отправлена транзакция
● В децентрализованном мире определить кому
раньше непросто
8. Input-output transactions
● Транзакция – это связь между input и output
● ∑inputs >= ∑outputs
● Кроме coinbase транзакции
● У каждого output есть скрипт
● Чтобы потратить output, нужно подать на вход
скрипта такие данные, чтобы получить true
● Большинство скриптов требуют подпись на вход
9. Input-output transactions
● Очень гибкая модель
● Не очень понятная интуитивно
● Большой размер транзакций
● Небольшая пропускная способность
● Микро остатки
10. Account transaction
● Применяется в Ethereum, Waves, Nxt, …
● Аккаунты (публичные ключи) с изменяемым
балансом
● Транзакция – перевод N монет от одного
аккаунта другому
● Транзакции подписанны
● Нужна дополнительная защита от replay
атак
12. Consensus
● Набор транзакции – это блок
● Связанные в цепочку блоки – это блокчейн
● Косенсус определяет последовательность
блоков в блокчейне
● Какая из двух транзакций (Alice → Bob и
Alice → Charlie) раньше окажется в
блокчейне – та и была раньше
15. Consensus: Proof-of-Work
● Вероятность создать блок пропорциональна
вычислительной мощности
● One-CPU-one-vote
● Распределенный timestamp
● Чтобы изменить блок, нужно проделать работу по
созданию всех блоков после него
● Безопасен
● Сжигает ресурсы
● Полезный PoW: primecoin, permacoin
16. Consensus: Proof-of-Stake
● Вероятность создать блок ~ балансу
● Не сжигаются ресурсы
● Подразумевает timestamp
● Нет случайности => griding attacks
● Дешево создавать блоки => History attack
● Nothing-at-stake attack
● Bribe attack
20. P2p: throughput
● On Scaling Decentralized Blockchains”
http://fc16.ifca.ai/bitcoin/papers/CDE+16.pdf
21. P2p: throughput
● Block size/ X% effective throughput < block interval
● Для сети биткоин (~4000 нод)
● Для маленьких блоков превалирует latency,
минимальное время между блоками для X90% - 12
секунд.
● Для 10 мин. размер блока < 4 Мб для X90% и 36
Мб. для X50%