Двойная трата в биткоине

Двойная трата в биткоине

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

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

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

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

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

Мы все с вами знаем, что это началось с биткоина, главное преимущество которого: НЕвозможность двойной траты и исключение центрального узла управления.

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

Итак. Фундаментом для любой валюты и любого банка является в первую очередь доверие. Мы все с вами верим в технологию блокчейн и непреложность ее постулатов.

Но один случай 2013 года несколько настораживает нас.

Уязвимость, о которой общественность узнала 11 марта 2013 г. в 22 часа 27 минут по гринвичскому времени.

В это время один из майнинговых узлов в сети обрабатывал блок с более высоким номером, чем тот, который только что был зарегистрирован на сайте blockexplorer.com – примитивной версии blockchain.info, где в режиме реального времени размещается информация о последних занесенных в книгу учета транзакциях. Это заставило майнера задуматься, какой же блок присоединился последним. Правильно ли его компьютер определил, к какому блоку следует присоединять сформированный им блок?

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

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

Джоук Хофман из Нидерландов вклинился в разговор, заявив, что тоже сталкивался с расхождениями в номерах блоков.

В ходе беседы участники продолжали проверять номера блоков в блокчейне на разных сайтах. Расхождения продолжали появляться. В конце концов в 23:06 разработчик программного обеспечения для майнинга Люк Дашжр понял, что случилось. – Итак??? Увы, случайное раздвоение блокчейна?

Теоретически блокчейн должен быть только один. По идее, он последовательно формируется на основе хеш-связей, создающих неразрывную, монолитную запись всех подтвержденных транзакций. Время от времени в блокчейне появляются раздвоения: возникает брошенный блок – незавершенный или содержащий неподтвержденные транзакции. Другие майнеры стремятся верифицировать его, но иногда бывают не уверены в его легитимности и возможности присоединять к нему свои блоки. Система биткоина построена на общем согласии в том, что такие раздвоения не могут существовать долго. Ведь сообщество майнеров действует, исходя из предположения о том, что легитимной считается самая длинная ветвь блокчейна. Ведь блоки и транзакции считаются легитимными, только если их признает таковыми большинство майнеров. Но этот принцип может породить проблему, если один отдельно взятый майнер сосредоточит в своих руках более 50% вычислительного ресурса сети.

В данном случае эта стандартная процедура устранения расхождений не сработала. Обе ветви блокчейна продолжали расти.

Вуилле быстро понял, что конкретно это раздвоение вызвано отнюдь не действиями алчного хакера, а программным глюком, случившемся в результате внедрения его коллегами из группы администрирования новой 0.8 биткоиновой программы. Предполагалась, что ее реорганизованная база данных объединится с базой данных 0.7, но этого не произошло. Вскоре в дело вмешался ведущий разработчик Андресен. Проконсультировавшись с Вуилле и еще двумя базовыми разработчиками, Джеффом Гарзиком и Грегори Максвеллом, а также переговорив с владельцем биткоиновой биржи Mt. Gox, которая на тот момент была наиболее крупным финансовым учреждением биткоиновой сети, Марком Карпелесом, Андресен решил отказаться от новой версии программного обеспечения 0.8 и вернуться к старой версии 0.7.

Был выявлен один случай «двойной траты» на сумму около 10 тысяч долларов. Однако некоторые майнеры оказались перед необходимостью отказаться от биткоинов, которые они уже считали честно заработанными в результате эксплуатации версии 0.8. общая сумма потерь достигла 600 монет, что на тот момент равнялось примерно 26 тысячам долларов. Вся эта суматоха привела к падению биткоина на 24%.

Данный факт с двойной тратой неактивно освещался в СМИ. И курс биткоина быстро восстановился.

Обзор подготовлен компанией Cryptor.guru

55
7 комментариев

хорошая статья)

1

Это боль тех, кто слил биткойн когда начал падать)))

1

или просто кто потерял ключи))

Жалею вас, заложники криптовалютных курсов, —
Томитесь, как наложницы в гареме!
Уязвимость найдена — и, может быть, конец
Биткоина, отодвинулся на время!

Ахахах))) кто не желает легкой наживы? Обидно, что упущен шанс)))

2

После других обновлений ее убрали,
но кто знает))

1