Блокчейн-решения состоят из трех компонентов: структуры данных, набора реплик и механизма консенсуса:
- Часто говорят, что структура данных обеспечивает неизменность (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
Комментариев нет:
Отправить комментарий