Как устроена сеть Биткоин на примере с атакой бобров и пиратов. Отрывок из книги «Блокчейн и децентрализованные системы»

Спустя почти десять лет после публикации “белой книги” Биткоин многие наслышаны о криптовалютах и децентрализованном реестре. Но большинство людей не понимает как работает технология и чем она будет полезна обществу.

Чтобы решить эту проблему, Павел Кравченко, основатель украинской компании Distributed Lab, ее ведущий специалист по криптографии Богдан Скрябин и профессор Харьковского политеха Оксана Дубинина написали книгу “Блокчейн и децентрализованные системы”. В ней авторы на примерах и с необходимым минимумом технических деталей объясняют принципы работы децентрализованных реестров и возможности технологии блокчейн.

Авторскую редакцию книги представят 14 сентября на конференции BlockchainUA в Киеве. Редакция BITSIDE публикует фрагмент из будущего издания.

Влияние разрывов сети на учетную систему Bitcoin

Очевидно, что большинство узлов сети Bitcoin используют глобальную сеть для общения друг с другом, а популяция предпринимателей-майнеров неравномерно нанесена на поверхность материковой части Земли. Что же может произойти с этой цифровой валютой, если в работе Всемирной сети между шестью континентами будут сбои?

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

Устройство сети интернет до атаки бобров.

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

После разрыва связей между континетами валидаторы продолжают формировать блоки, обладая разной мощностью.

В момент, когда доктор Айболит и инспектор Гаджет закончили свою работу и каналы передачи данных были восстановлены, узлы сети Bitcoin с разных континентов одновременно начали синхронизироваться друг с другом. Тогда-то и выяснилось, что есть несколько разных версий цепочки блоков, и что все они имеют разную длину. Более того, в разных цепочках находятся разные транзакции, подмножества которых могут только частично пересекаться.

В соответствии с правилами протокола Bitcoin все узлы выберут наиболее длинную цепочку и будут считать ее основной (mainchain). Интересным является и тот факт, что транзакции, которые были включены только в альтернативные цепочки, снова получили статус неподтвержденных. Тем не менее полные узлы сети продолжают их хранить и синхронизировать, а узлы валидаторы, как и всегда, заинтересованы включить их в свои блоки и получить вознаграждение, при условии что эти транзакции не конфликтуют с уже подтвержденными в mainchain.

Несколько версий цепочки блоков с разной длинной, сформированных на разных континентах.

Таким образом, транзакции из отброшенных блоков (orphan blocks) попадут в список неподтвержденных и с высокой вероятностью будут подтверждены позже. В итоге часть валидаторов не получит вознаграждение за решение задач, хотя все они работали с прежним усердием.

В описанной ситуации существуют риски потерять монеты не только для валидаторов биткоина, но и для пользователей. Эти риски обусловлены тем, что не вся вычислительная мощность сети Bitcoin использовалась для поддержания надежности валюты. Например, пользователи могут не заметить разделение глобальной сети на подсети и продолжить принимать платежи в криптовалюте, рискуя позже не обнаружить принятые монеты на своем балансе. Провести подобный обман способны даже пираты Карибского моря.

Допустим, Джек Воробей раздобыл изображение личного ключа. На соответствующий этому ключу адрес, еще до того, как пираты научили морских бобров пить ром и бушевать, кто-то отправил биткоины, и они сохранились непотраченными. А когда бобры превратили глобальную сеть в шесть локальных, капитан решил, не теряя времени оплатить биткоинами установку дизельного двигателя на Черную Жемчужину в порту первого континента. После чего корабль пиратов сразу направился ко второму континенту под действием попутного ветра, чтобы заправиться там дизельным топливом.

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

Коварный Джек Воробей тратит одни и те же биткоины на разных континентах.

Тем временем Айболит и инспектор Гаджет обещают устранить угрозу и решить проблему связи очень скоро. Учитывая их добросовестное отношение к работе, пираты заблаговременно подготовились к плотному графику кругосветного путешествия. Имея изображение личного ключа и быстроходный корабль с полным баком дизельного топлива они готовы навестить и другие континенты, чтобы заполнить трюм ромом и купить руководство по изучению квантовой механики.

Очевидно, что после того, как узлы синхронизировались, подтвержденной осталась только одна транзакция – которая платила торговцу того континента, где находится наибольшая часть вычислительной мощности сети Bitcoin. Пираты же преподнесли хороший урок торговцам, которых обманули. После этого многие пользователи биткоина решили отказаться от обычных транзакций в пользу Lightning Network, а Капитан и его команда анализируют события, думают над улучшением своей стратегии и рассматривают варианты применения квантового компьютера.

Distributed Lab