Читать прошлое · Проверка важнее сигнала

Шесть подтверждений, которых не было

4 июля 2015 года часть программ показывала до шести подтверждений. Полные узлы с новыми правилами видели другое: эти блоки были недействительными.

Небольшое изменение с большим смыслом

BIP 66 потребовал строгого формата DER для подписей. Целью было убрать зависимость правил Биткоина от того, какие отклонения принимала конкретная версия OpenSSL.

Обновление активировалось после того, как 950 из последних 1 000 блоков сообщили о поддержке новых правил.

Как выросла ложная ветвь

Один не обновившийся майнер создал недействительный блок. Несколько крупных майнеров строили следующий блок только по заголовку и не проверили предшественника полностью. Так появилась ветвь из шести недействительных блоков; на следующий день эпизод повторился с тремя.

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

Главный урок

Proof-of-work показывает объём выполненной работы, но не превращает нарушение правил в допустимый блок. Полный узел проверяет и работу, и каждое условие консенсуса.

Количество подтверждений имеет смысл только вместе с качеством проверки. Доверие к чужому счётчику — отдельный риск.

Заявить о поддержке правила — ещё не значит его выполнять.

Источники и проверка

  1. Предупреждение Bitcoin.org от 4 июля 2015 года
  2. BIP 66: строгий формат DER-подписей
  3. Bitcoin Optech: история активации BIP 66

Исторический материал об инциденте июля 2015 года, а не сообщение о текущей проблеме сети.

Вернуться к рубрике