понедельник, 26 октября 2020 г.

Дэвид Розенталь: Замечания по поводу блокчейна


Данный пост д-ра Дэвида Розенталя (David Rosenthal – на фото) была опубликован на его блоге (DSHR's Blog) 6 октября 2020 года.

Блокчейн-решения состоят из трех компонентов: структуры данных, набора реплик и механизма консенсуса:
  • Часто говорят, что структура данных обеспечивает неизменность (immutability), защищённость от несанкционированного доступа (tamper-proof), - но это неверно. Структура данных состоит из битов, а биты могут быть изменены или уничтожены. На самом деле эта структура обеспечивает невозможность незаметного внесения несанкционированных изменений (tamper-evident), позволяя увидеть, что структура данных изменилась.

    Мой комментарий: В формулировке профильного комитета ИСО по блокчейну, неизменность данных (а также порядка блоков) является целевой характеристикой при проектировании блокчейн-систем. Хотя 100% гарантию неизменности на практике дать невозможно, разработчики блокчейн-решений тем не менее принимают все разумные меры для обеспечения этого свойства, поскольку решения, всего лишь поддерживающие детектирование изменений, куда менее интересны пользователям.

  • Если обнаружены несанкционированные изменения в структуре данных, повреждения необходимо устранить. Для этого должны поддерживаться несколько реплик структуры данных с тем, чтобы можно было заменить поврежденную реплику, скопировав неповрежденную.

  • Роль механизма консенсуса заключается в авторизации изменений, вносимых в структуру данных, и в предотвращении несанкционированных изменений. Изменение авторизовано, если достигнут консенсус между репликами.

    Мой комментарий: Как отмечается в терминологическом стандарте ИСО по технологиям блокчейна и распределенных реестров, консенсус не означает согласия абсолютно всех участников процесса консенсуса.
Структура данных

Используемая в блокчейн-решениях структура данных представляет собой форму дерева Меркля (хеш-дерева), концепция которого была опубликована Ральфом Мерклем (Ralph Merkle) в 1980 году (см. http://www.merkle.com/papers/Protocols.pdf ). В контексте блокчейна это линейная цепочка, к которой регулярно добавляются блоки фиксированного размера. Каждый блок содержит хеш своего предшественника; таким образом формируется цепочка блоков. Срок службы алгоритмов хеширования ограничен, - однако пока такой алгоритм остается невзломанным, чрезвычайно сложно изменять блоки в цепочке, сохраняя при этом те же хещ-значения. Изменение, которое не сохраняет то же значение хеша, легко обнаружить.

Реплики

Набор реплик структуры данных может быть либо закрытым, состоящим только из реплик, утвержденных каким-либо уполномоченным органом, либо открытым, и в этом случае одобрение для участия не требуется. На жаргоне блокчейна закрытые наборы реплик соответствуют блокчейнам с ограниченным доступом (permissioned), а открытые наборы реплик – блокчейнам без ограничения доступа (permissionless).

Механизм консенсуса

Важный результат в области теоретической информатики был опубликован группой учёных во главе с Лампортом (Lamport) в 1982 году в книге «Проблема византийских генералов» (The Byzantine Generals Problem, https://doi.org/10.1145/357172.357176 ). Они показали, что минимальный размер набора реплик, выдерживающего f одновременных отказов, равен 3f + 1 (см. таблицу справа). Таким образом, протокол «Византийской отказоустойчивости» (Byzantine Fault Tolerance, BFT) является наиболее эффективным из возможных механизмов консенсуса с точки зрения количества реплик. Протокол BFT требует закрытого набора реплик и их синхронизированной работы, поэтому он может использоваться только в блокчейнах с ограниченным доступом.

Если возможно свободное присоединение к набору реплик блокчейна без ограничения доступа, такое решение будет уязвимо для атаки Сивиллы (Sybil attacks, см. https://ru.wikipedia.org/wiki/Атака_Сивиллы ), при которой злоумышленник создает множество независимых на первый взгляд реплик, которые на дел находятся под его единоличным контролем. Если создание и поддержка реплики бесплатны, то любой может авторизовать какое угодно изменение по своему выбору, просто создав достаточное количество реплик Сивиллы.

Защита от атаки Сивиллы требует, чтобы членство в наборе реплик было дорогостоящим. Стоимость атаки равна как минимум стоимости размещения половины набора реплик, чтобы злоумышленник получил контроль над большинством реплик. В блокчейнах без ограничения доступа реализованы несколько способов, позволяющих сделать участие затратным, включая следующие:
  • «Доказательство работы» (Proof of Work, PoW) – это концепция, разработанная в 1992 году Синтией Дворк (Cynthia Dwork) и Мони Наором (Moni Naor, https://dl.acm.org/citation.cfm?id=705669 ), в которой дорогостоящим ресурсом являются циклы центрального процессора. Этот тот метод «майнинга», что используется Биткойном, и единственный метод, который продемонстрировал свою хорошую работоспособность в больших масштабах. Но при больших масштабам затраты и экологический ущерб оказываются неподъёмными; по существующим оценкам, 5 ведущих криптовалют потребляет столько же энергии, сколько вся Голландия ( https://www.ofnumbers.com/2018/08/26/how-much-electricity-is-consumed-by-bitcoin-bitcoin-cash-ethereum-litecoin-and-monero/ ). При меньших масштабах этот подход не работает, поскольку в этом случае аренда 51% мощностей для майнинга оказывается достаточно дешёвой, чтобы мотивировать атаки. «Атаки 51%» стали обычным явлением среди более мелких альтернативных криптовалют. Например за один месяц, было три успешных атаки на Ethereum Classic (см. https://www.coindesk.com/ethereum-classic-blockchain-subject-to-yet-another-51-attack ).

  • «Доказательство доли» (Proof of Stake, PoS), где дорогостоящим ресурсом является вложенный/поставленный как ставка капитал. Участники могут потерять свою долю/ставку в случае, если будут замечены в некорректном поведении. Блокчейн Ethereum в течение 5 лет пытался реализовать PoS, но пока что без успеха. Этот метод имеет экономические ограничения ( https://dx.doi.org/10.2139/ssrn.3494434 ) и уязвимости ( https://blog.dshr.org/2020/03/proof-of-stake-in-practice.html ), аналогичные методу PoW.

  • «Доказательство времени и пространства» (Proofs of Time and Space, PoTS) - пропагандируется Брэмом Коэном (Bram Cohen, https://blog.dshr.org/2018/03/proofs-of-space.html ). Здесь дорогостоящим ресурсом является дисковое хранилище данных.
Выводы

Эрик Будиш (Eric Budish) указывает на фундаментальную проблему дорогостоящей защиты в своей книге «Экономические ограничения Биткойна и блокчейна» (The Economic Limits of Bitcoin and the Blockchain, http://www.nber.org/papers/w24717 ):

«С точки зрения компьютерной безопасности, ключевым моментом, который следует отметить ... является то, что безопасность блокчейна линейно зависит от суммы затрат на вычислительные мощности для майнинга ... По контрасту, инвестиции в компьютерную безопасность во многих других контекстах дают нелинейную отдачу (например, традиционное использование криптографии) ... аналогично тому, как эффект от увеличения безопасности дома благодаря установке дверного замка куда больше, чем стоимость замка.»

Разница между блокчейнами с ограниченным доступом и без ограничения доступа заключается в наличии или отсутствии доверенного органа, контролирующего набор реплик. Решение не доверять такому органу накладывает огромные дополнительные расходы и приводит к снижению производительности системы, поскольку механизм консенсуса в системах без ограничения доступа должен быть дорогостоящим.

В статье Адема Эфе Генцера (Adem Efe Gencer) и др. «Децентрализация в сетях Биткойн и Эфириум» (Decentralization in Bitcoin and Ethereum Networks, https://arxiv.org/pdf/1801.03998.pdf ) сравниваются затраты системы с ограниченным доступом, использующей протокол BFT, с фактическим блокчейном Bitcoin, использующим PoW:

… система порядка 20 с «византийским» кворумом могла бы обеспечить лучшую децентрализацию, чем майнинг на основе доказательства работы, при намного более низких затратах ресурсов.

Как англичанин, я ценю преуменьшения. Под «намного более низкими» они подразумевают разницу примерно в 5 порядков величины.

Дэвид Розенталь (David Rosenthal)

Источник: DSHR's Blog
https://blog.dshr.org/2020/10/a-note-on-blockchains.html

Комментариев нет:

Отправить комментарий