В платёжной системе Bitcoin произошла программная ошибка: цепочки блоков раздвоились в районе блока 225430. Из-за бага приостановлена работа крупнейшей биржи Mt. Gox, а также некоторых других сервисов, принимающих биткоины.

Проблема вызвана ошибкой в клиентской программе версии 0.7, которая установлена у многих пользователей Bitcoin. У пользователей этой версии перестала обновляться база данных, хранящая записи всех блоков, из-за ограничения на максимальное количество «локов» в БД.

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

2013-03-12 00:00:10 SetBestChain: new
best=000000000000015aab28064a4c521d6a5325ff6e251e8ca2edfdfe6cb5bf832c
height=225439 work=853779625563004076992 tx=14269257 date=2013-03-11
23:49:08

Если он отсутствует, значит на вашем компьютере обновление базы тоже прекратилось. Убедиться в этом можно, если в логе debug.log и db.log присутствует запись “Lock table is out of available lock entries”.

Система платежей в Bitcoin организована таким образом, что транзакции не подтверждаются, пока не будут коллективными усилиями сети упакованы в последовательность блоков. Блок представляет собой запись последних транзакций, которые ещё не были записаны в предыдущие блоки. Он делится на заголовок и список транзакций. Заголовок блока включает в себя свой хеш SHA-256, хеш предыдущего блока из цепочки, список хешей транзакций, время создания блока и другую служебную информацию.

Проблема в том, что очередной блок 225430 был принят клиентами 0.8, но не принят клиентами 0.7. Выпадение из сети части узлов с версией 0.7 привело к появлению «альтернативной» цепочки блоков. Всем «майнерам» с версией клиента 0.7 рекомендуется сделать апгрейд на версию 0.7.2 или повысить лимит «локов» в локальной базе данных, хранящей записи всех блоков.

По мнению разработчиков, всем лучше перейти на 0.7.2 и аннулировать цепочку от версии 0.8. Правда, это может ударить по обменным пунктам, которые приняли биткоины по транзакциям из цепочки 0.8 и уже перечислили клиентам деньги в другой валюте (доллары, WebMoney и т.д.).

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

Оставить мнение