Блокчейн - проблемы и
потенциальные решения
к.ф.-м.н. Мешков Дмитрий1,2
1. Ergo platform
2. IOHK Research
Введение в блокчейн
● Код и техническое описание в 2008
● Поверхностный анализ
● Но на практике все работает
● Стихийные исследования внутри
сообщества с 2009
● Академические исследования с 2013
История блокчейн
● Двойные траты
● У Алисы есть 1 монета
● Она создает 2 транзакции
Alice → Bob & Alice → Charlie.
● Кто получит монету?
● Централизованное решение – валидна
первая транзакция (с т.з. банка)
● Децентрализованное решение – сортировка
транзакций при помощи блокчейна
Проблема
● Сортировка внутри блока
● Каждый блок ссылается на предыдущий
Blockchain
Row 1 Row 2 Row 3 Row 4
0
2
4
6
8
10
12
Column 1
Column 2
Column 3
Proof-of-Work
● Создание блока – случайный процесс
● Могут возникать форки
54 (A→B)Block 53
55 (A→C)
Дерево блоков
● Создание блока – случайный процесс
● Могут возникать форки
● Правильная цепочка – самая длинная
● Вероятность форков экспоненциально
убывает с длиной
Дерево блоков
Block N54 (A→B) Block 56 Block 59Block 53
55 (A→C) Block 57 Block 58
Block NBlock 60
● Eventual consistency
Block N54 (A→B) Block 56 Block 59Block 53
55 (A→C) Block 57 Block 58
Block NBlock 60
Block NBlock 61
Дерево блоков
Атака 51%
● Имея больше 50% вычислительной мощности,
можно всегда майнить все блоки
Атака 51%
● Имея больше 50% вычислительной мощности,
можно всегда майнить все блоки
Модель Биткоин
● Persistence (параметр k)
Если честный участник отмечает транзакцию как
стабильную (глубина блоков > k), то всякий раз, когда
другой честный участник пометит ее как стабильную, она
будет на том же месте
● Liveness (параметры u, k)
Если все честные участники пытаются добавить
транзакцию в блокчейн, то они отметят ее как стабильную
не позже чем через u блоков
Свойства
● “The Bitcoin Backbone Protocol: Analysis and Applications”,
Garay et. al
https://eprint.iacr.org/2014/765.pdf
● Синхронная сеть
● Фиксированное количество участников
● Все участники обладают одинаковой вычислительной
мощностью
● Злоумышленник контролирует не более половины
участников
● Свойства Persistence и Liveness выполняются!
Протокол Биткоин
Сетевой уровень
● Одноранговая 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.
Сетевой уровень
Переменное число
участников
Пересчет сложности
● Сложность пересчитывается каждые 2016 блоков
● Предполагается постоянная вычислительная мощность сети
Graph from https://bitcoinwisdom.com/bitcoin/difficulty
● “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
Пересчет сложности
Coin-hopping attackDifficulty
Time
: BTC/BCHПример
Graph from http://fork.lol/pow/speed
Рациональное поведение
● “Blockchain Mining Games” Kiayias et al.
http://www.research.ed.ac.uk/portal/files/29075910/Blockch
ainMiningGames.pdf
Стратегии майнинга
● “Majority is not enough: Bitcoin mining is vulnerable” I. Eyal. et. al.
http://www.cs.cornell.edu/~ie53/publications/btcProcArXiv.pdf
: selfish miningСтратегии майнинга
: selfish miningСтратегии майнинга
: selfish miningСтратегии майнинга
● “On the Instability of Bitcoin Without the Block Reward”
Carlsten et al.
http://www.cs.princeton.edu/~smattw/CKWN-CCS16.pdf
: instabilityСтратегии майнинга
● Можно объединять стратегии
: instabilityСтратегии майнинга
Алгоритмы консенсуса
● “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
Майнинг
● “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)
● “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
Пропускная способность:
On-chain
Параметры
● Время между блоками / Размер блоков
● “On Scaling Decentralized Blockchains” K. Croman,
http://fc16.ifca.ai/bitcoin/papers/CDE+16.pdf
Минимум форков
● “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
Мы требуем 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
Оптимистические протоколы
Inclusive protocols
● Учитывать блоки из форков и транзакции в них
● Inclusive Block Chain Protocols, Lewenberg Y.
http://fc15.ifca.ai/preproceedings/paper_101.pdf
Meshcash
OmniLedger
● OmniLedger: A Secure, Scale-Out, Decentralized
Ledger via Sharding, Kokoris-Kogias E.
https://eprint.iacr.org/2017/406.pdf
Размер транзакций
Чем меньше транзакций, тем больше их влезет
● Аггрегированные подписи
● 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
Off-chain
Off-chain
● The Nuts and Bolts of Micropayments: a Survey, Ali
S. et al.
https://arxiv.org/pdf/1710.02964.pdf
Централизованные решения
● Перевод внутри биржи
● Untrusted third party
● Вероятностные платежи
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
Легкие клиенты
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
Смарт контракты
Смарт контракты
Язык аутентификации (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
ZK-contracts
● “Zero-Knowledge Contingent Payments Revisited: Attacks
and Payments for Services”. Matteo Campanelli et al.
http://stevengoldfeder.com/papers/ZKCSP.pdf
Приватность
● “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
Приватность
И многое другое...
Что еще?
● Протоколы поверх блокчейн
● Экономические аспекты
● Децентрализованное управление
● Сценарии использования
● Удобство использования
● http://www.slideshare.net/DmitryMeshkov
● https://twitter.com/DmitryMeshkov
● Dmitry.meshkov@iohk.io
Контакты

Блокчейн - проблемы и потенциальные решения

  • 1.
    Блокчейн - проблемыи потенциальные решения к.ф.-м.н. Мешков Дмитрий1,2 1. Ergo platform 2. IOHK Research
  • 2.
  • 3.
    ● Код итехническое описание в 2008 ● Поверхностный анализ ● Но на практике все работает ● Стихийные исследования внутри сообщества с 2009 ● Академические исследования с 2013 История блокчейн
  • 4.
    ● Двойные траты ●У Алисы есть 1 монета ● Она создает 2 транзакции Alice → Bob & Alice → Charlie. ● Кто получит монету? ● Централизованное решение – валидна первая транзакция (с т.з. банка) ● Децентрализованное решение – сортировка транзакций при помощи блокчейна Проблема
  • 5.
    ● Сортировка внутриблока ● Каждый блок ссылается на предыдущий Blockchain
  • 6.
    Row 1 Row2 Row 3 Row 4 0 2 4 6 8 10 12 Column 1 Column 2 Column 3 Proof-of-Work
  • 7.
    ● Создание блока– случайный процесс ● Могут возникать форки 54 (A→B)Block 53 55 (A→C) Дерево блоков
  • 8.
    ● Создание блока– случайный процесс ● Могут возникать форки ● Правильная цепочка – самая длинная ● Вероятность форков экспоненциально убывает с длиной Дерево блоков Block N54 (A→B) Block 56 Block 59Block 53 55 (A→C) Block 57 Block 58 Block NBlock 60
  • 9.
    ● Eventual consistency BlockN54 (A→B) Block 56 Block 59Block 53 55 (A→C) Block 57 Block 58 Block NBlock 60 Block NBlock 61 Дерево блоков
  • 10.
    Атака 51% ● Имеябольше 50% вычислительной мощности, можно всегда майнить все блоки
  • 11.
    Атака 51% ● Имеябольше 50% вычислительной мощности, можно всегда майнить все блоки
  • 12.
  • 13.
    ● Persistence (параметрk) Если честный участник отмечает транзакцию как стабильную (глубина блоков > k), то всякий раз, когда другой честный участник пометит ее как стабильную, она будет на том же месте ● Liveness (параметры u, k) Если все честные участники пытаются добавить транзакцию в блокчейн, то они отметят ее как стабильную не позже чем через u блоков Свойства
  • 14.
    ● “The BitcoinBackbone Protocol: Analysis and Applications”, Garay et. al https://eprint.iacr.org/2014/765.pdf ● Синхронная сеть ● Фиксированное количество участников ● Все участники обладают одинаковой вычислительной мощностью ● Злоумышленник контролирует не более половины участников ● Свойства Persistence и Liveness выполняются! Протокол Биткоин
  • 15.
  • 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. Сетевой уровень
  • 17.
  • 18.
    Пересчет сложности ● Сложностьпересчитывается каждые 2016 блоков ● Предполагается постоянная вычислительная мощность сети Graph from https://bitcoinwisdom.com/bitcoin/difficulty
  • 19.
    ● “The bitcoinbackbone 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 Пересчет сложности
  • 20.
  • 21.
    : BTC/BCHПример Graph fromhttp://fork.lol/pow/speed
  • 22.
  • 23.
    ● “Blockchain MiningGames” Kiayias et al. http://www.research.ed.ac.uk/portal/files/29075910/Blockch ainMiningGames.pdf Стратегии майнинга
  • 24.
    ● “Majority isnot enough: Bitcoin mining is vulnerable” I. Eyal. et. al. http://www.cs.cornell.edu/~ie53/publications/btcProcArXiv.pdf : selfish miningСтратегии майнинга
  • 25.
  • 26.
  • 27.
    ● “On theInstability of Bitcoin Without the Block Reward” Carlsten et al. http://www.cs.princeton.edu/~smattw/CKWN-CCS16.pdf : instabilityСтратегии майнинга
  • 28.
    ● Можно объединятьстратегии : instabilityСтратегии майнинга
  • 29.
  • 30.
    ● “One CPUOne 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 ofSpace”, 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: Aprovably 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
  • 33.
  • 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
  • 38.
  • 39.
    OmniLedger ● OmniLedger: ASecure, 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
  • 41.
  • 42.
    Off-chain ● The Nutsand 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
  • 44.
  • 45.
    Off-chain ● “Improving AuthenticatedDynamic 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
  • 46.
  • 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 ContingentPayments Revisited: Attacks and Payments for Services”. Matteo Campanelli et al. http://stevengoldfeder.com/papers/ZKCSP.pdf
  • 49.
  • 50.
    ● “An EmpiricalAnalysis 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 Приватность
  • 51.
  • 52.
    Что еще? ● Протоколыповерх блокчейн ● Экономические аспекты ● Децентрализованное управление ● Сценарии использования ● Удобство использования
  • 53.