Сегодня в сети Bitcoin произошли неприятные события, которые могут представлять опасность для пользователей старых версий кошелька - 0.9.4 и ниже. Некоторые пулы, кошельки которых давно не обновлялись, начали генерировать невалидные блоки, несовместимые с остальными.
Это произошло вследствие того, что в версии Bitcoin Core 0.9.5 был применен патч BIP66. В нем появились новые правила криптографического консенсуса (v3), на котором основана сеть Bitcoin. Вследствие этого, появилась альтернативная цепочка блоков, поддерживаемая несколькими крупными пулами.
В соответствии с Bitcoin Wiki, на старой версии (v2, без соблюдения BIP66) работают следующие пулы:
- BitMinter
- Eligius
- CKPool
- P2Pool
- F2Pool
Майнеры этих пулов могут потерять часть дохода, так как когда неправильная цепочка будет отвергнута, все находящиеся в ней блоки перейдут в разряд брошенных (orphaned). Поэтому, майнерам желательно перейти на другие пулы, пока на каждом из перечисленных пулов не появится информация о том, что рабочий кошелек обновлен.
Что происходит?
Началось это событие с того, что утром 4 июля был достигнут уровень в 95% кошельков, перешедших на новую версию c BIP66. После этого, все кошельки новых версий Bitcoin Core стали отвергать блоки, созданные с нарушением этих правил. Однако, оказалось, что почти 50% хэшрейта сети (несколько крупнейших пулов) все еще работает на старой версии кошелька.
Когда один из майнеров сгенерировал несовместимый блок, все пулы, работающие на старой версии, продолжили эту цепочку, а не новую. Появилось классическое раздвоение сети, которое вскоре было побеждено большинством. Вследствие этого майнеры потеряли до 8 блоков (200 BTC или примерно 50 000$). Пока все основные пулы не перейдут на новую версию, возможно повторение этой ситуации.
Дополнительное осложнение возможно по той причине, что большинство крупных пулов используют не стандартный Bitcoin Core, а собственную модификацию, оптимизированную под массовый майнинг. Обновление программного кода в этих самописных клиентах сети может затянуться.
Что делать?
Вследствие такого раздвоения, возможно двойная трата средств с кошельков старой версии, так как отправленные с них транзакции могут попасть в обе цепочки.
- Пользователям старых версий следует немедленно обновить свой клиент до последней - 0.10.2.
- Пользователи новых версий, начиная с 9.5, могут не беспокоиться - их кошелек автоматически распознает и отвергнет неправильные блоки.
- Пользователям легких и мобильных кошельков желательно подождать большего количества подтверждений (не менее 30), чтобы удостовериться в принятии их транзакций сетью.
- Онлайн-кошельки зависят от оперативности их владельцев, поэтому, если пользователь не уверен, что оператор кошелька использует новую версию клиента, ему следует придерживаться тех же правил, что и владельцам легких кошельков.
Теперь остается только ждать, пока все крупные пулы проапгрейдят свои кошельки. Критической опасности для сети нет, однако стоит соблюдать указанные выше меры предосторожности, пока разработчики не оповестят о нормализации работы сети.
Обновление на 23:40 4 июля
На Вики обновился список пулов, "подозреваемых" в использовании старой версии:
- BTC Nuggets
- F2Pool
- AntPool
- BTC China
Уже перешли на новую версию после оповещения:
- BitMinter
- CKPool
- Eligius
- P2Pool