3. ● Код и техническое описание в 2008
● Поверхностный анализ
● Но на практике все работает
● Стихийные исследования внутри
сообщества с 2009
● Академические исследования с 2013
История блокчейн
4. ● Двойные траты
● У Алисы есть 1 монета
● Она создает 2 транзакции
Alice → Bob & Alice → Charlie.
● Кто получит монету?
● Централизованное решение – валидна
первая транзакция (с т.з. банка)
● Децентрализованное решение – сортировка
транзакций при помощи блокчейна
Проблема
13. ● Persistence (параметр k)
Если честный участник отмечает транзакцию как
стабильную (глубина блоков > k), то всякий раз, когда
другой честный участник пометит ее как стабильную, она
будет на том же месте
● Liveness (параметры u, k)
Если все честные участники пытаются добавить
транзакцию в блокчейн, то они отметят ее как стабильную
не позже чем через u блоков
Свойства
14. ● “The Bitcoin Backbone Protocol: Analysis and Applications”,
Garay et. al
https://eprint.iacr.org/2014/765.pdf
● Синхронная сеть
● Фиксированное количество участников
● Все участники обладают одинаковой вычислительной
мощностью
● Злоумышленник контролирует не более половины
участников
● Свойства Persistence и Liveness выполняются!
Протокол Биткоин
16. ● Одноранговая p2p сеть ● Реальная сеть Биткоин
● “Analysis of the Blockchain Protocol in Asynchronous Networks.”,
Pass et al. http://eprint.iacr.org/2016/454.pdf
● “Multi-mode Cryptocurrency Systems” Chepurnoy et al.
Сетевой уровень
18. Пересчет сложности
● Сложность пересчитывается каждые 2016 блоков
● Предполагается постоянная вычислительная мощность сети
Graph from https://bitcoinwisdom.com/bitcoin/difficulty
19. ● “The bitcoin backbone protocol with chains of variable difficulty”
Garay et al
https://eprint.iacr.org/2016/1048.pdf
● “Difficulty control for blockchain-based consensus systems”
Kraft
https://goo.gl/3RhdPE
● “Theoretical Bitcoin Attacks with less than Half of the
Computational Power” Bahack
https://arxiv.org/abs/1312.7013
● “Revisiting Difficulty Control for Blockchain Systems” Meshkov
et al
https://eprint.iacr.org/2017/731.pdf
Пересчет сложности
24. ● “Majority is not enough: Bitcoin mining is vulnerable” I. Eyal. et. al.
http://www.cs.cornell.edu/~ie53/publications/btcProcArXiv.pdf
: selfish miningСтратегии майнинга
27. ● “On the Instability of Bitcoin Without the Block Reward”
Carlsten et al.
http://www.cs.princeton.edu/~smattw/CKWN-CCS16.pdf
: instabilityСтратегии майнинга
30. ● “One CPU One Vote”
● 270
хэшей в секунду
● “AsicBoost: A Speedup for Bitcoin Mining”
https://goo.gl/HfTUkD
ASIC-устойчивые алгоритмы майнинга
● “Equihash: Asymmetric proof-of-work based on the
generalized birthday problem” Biryukov and Khovratovich
https://eprint.iacr.org/2015/946.pdf
● “Scrypt is maximally memory-hard” Alwen et al
https://eprint.iacr.org/2016/989.pdf
Майнинг
31. ● “Proofs of Space”, Dziembowski et. al
http://eprint.iacr.org/2013/796.pdf
● “Beyond Hellman's Time-Memory Trade-Offs with
Applications to Proofs of Space” Abusalah et al.
https://eprint.iacr.org/2017/893
● “Permacoin: Repurposing Bitcoin Work for Data
Preservation”, Miller et al.
http://cs.umd.edu/~amiller/permacoin.pdf
Proof-of-X (X is a Physical Resource)
32. ● “Ouroboros: A provably secure proof-of-stake blockchain
protocol”, Kiayias et. al
https://eprint.iacr.org/2016/889
● “Snow White: Provably Secure Proofs of Stake”, Daian
et al.
http://eprint.iacr.org/2016/919
● “Securing Proof-of-Stake Blockchain Protocols” Li et al.
● “Cryptocurrencies without proof of work” Bentov et al.
https://arxiv.org/pdf/1406.5694
● TwinsCoin: A Cryptocurrency via Proof-of-Work and
Proof-of-Stake. Chepurnoy et al.
https://eprint.iacr.org/2017/232.pdf
Proof-of-Stake
34. Параметры
● Время между блоками / Размер блоков
● “On Scaling Decentralized Blockchains” K. Croman,
http://fc16.ifca.ai/bitcoin/papers/CDE+16.pdf
35. Минимум форков
● “Bitcoin-NG: A Scalable Blockchain Protocol” I.Eyal et al.
https://goo.gl/BPTsM4
● “Enhancing Bitcoin Security and Performance
with Strong Consistency via Collective Signing”, Kogias et al.
https://goo.gl/mB53x7
● “Algorand: Scaling Byzantine Agreements for Cryptocurrencies”
Gilad Y. et al.
https://goo.gl/pu9b7D
36. Мы требуем 51% честных участников, но обычно
честных участников горадо больше
● Thunderella: Blockchains with Optimistic Instant
Confirmation, Pass R.
https://eprint.iacr.org/2017/913.pdf
● Tortoise and Hares Consensus: the Meshcash
Framework for Incentive-Compatible, Scalable
Cryptocurrencies, Bentov I. et al.
● Ethereum Casper
Оптимистические протоколы
37. Inclusive protocols
● Учитывать блоки из форков и транзакции в них
● Inclusive Block Chain Protocols, Lewenberg Y.
http://fc15.ifca.ai/preproceedings/paper_101.pdf
39. OmniLedger
● OmniLedger: A Secure, Scale-Out, Decentralized
Ledger via Sharding, Kokoris-Kogias E.
https://eprint.iacr.org/2017/406.pdf
40. Размер транзакций
Чем меньше транзакций, тем больше их влезет
● Аггрегированные подписи
● Mimblewimble, Poelstra A.
https://goo.gl/wxQPHW
In 1
In 2
Out 1
Out 2
Out 3
In 3
In 4
Out 5
Out 6
In 1
In 2
Out 1
Out 3
Out 4
In 3
Out 5
42. Off-chain
● The Nuts and Bolts of Micropayments: a Survey, Ali
S. et al.
https://arxiv.org/pdf/1710.02964.pdf
Централизованные решения
● Перевод внутри биржи
● Untrusted third party
● Вероятностные платежи
43. Off-chain
Депозит и переводы в рамках депозита
● The Bitcoin Lightning Network: Scalable Off-Chain
Instant Payments, Poon J. et al.
https://goo.gl/52Vs4J
● Scalable Funding of Bitcoin Micropayment Channel
Networks, Burcher C. et al.
● https://goo.gl/e4qrPt
45. Off-chain
● “Improving Authenticated Dynamic Dictionaries, with
Applications to Cryptocurrencies” Reyzin et al.
https://eprint.iacr.org/2016/994
● “Proofs of Proofs of Work with Sublinear
Complexity” Kiayias et al.
http://fc16.ifca.ai/bitcoin/papers/KLS16.pdf
47. Смарт контракты
Язык аутентификации (Bitcoin script)
● “Simplicity: A New Language for Blockchains”
Russell O’Connor
https://arxiv.org/pdf/1711.03028.pdf
Код на блокчейне (Ethereum)
● “Scripting smart contracts for distributed ledger
technology”, Seijas P. at al.
https://pdfs.semanticscholar.org/264f/c40b4224b2b
b7c23e4f84a0e728945fea525.pdf
48. ZK-contracts
● “Zero-Knowledge Contingent Payments Revisited: Attacks
and Payments for Services”. Matteo Campanelli et al.
http://stevengoldfeder.com/papers/ZKCSP.pdf
50. ● “An Empirical Analysis of Linkability in the Monero Blockchain”
Miller et al.
www.monerolink.com/monerolink.pdf
● “Mixing Confidential Transactions: Comprehensive Transaction
Privacy for Bitcoin” Ruffing et al
http://fc17.ifca.ai/bitcoin/papers/bitcoin17-final6.pdf
● “Zerocash: Decentralized anonymous payments from bitcoin”
Ben-Sasson et al.
http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6956581
● “Mixing Coins of Different Quality: A Game-Theoretic Approach”
Abramova et al.
http://fc17.ifca.ai/bitcoin/papers/bitcoin17-final40.pdf
Приватность