Доверие начинается там, где видны действия · 2010–2018
Ключ тревоги Биткоина: право предупредить всю сеть
В ранних версиях Биткоина существовал специальный закрытый ключ. Его обладатели могли отправить предупреждение, которое появлялось в программах пользователей по всей сети. Это был не ключ от монет и не пульт управления протоколом — но важное исключение из идеи децентрализации.
Зачем понадобилась система предупреждений
В августе 2010 года ошибка в коде позволила создать огромное количество недействительных биткоинов. Проблему быстро обнаружили, цепочку исправили, а уже в Bitcoin версии 0.3.10 появился механизм сетевых предупреждений.
Идея была практичной: если обнаружена серьёзная ошибка, разделение цепочки или опасная версия программы, пользователей нужно быстро предупредить.
Сообщение распространялось между узлами почти так же, как информация о блоках и транзакциях. Программа проверяла цифровую подпись и показывала текст только в том случае, если он был подписан специальным ключом.
Что позволял делать ключ
Подписанное сообщение могло указать, каких версий программы касается предупреждение, как долго его передавать и какие предыдущие сообщения следует отменить. Сервисы также могли настроить автоматическую реакцию на тревогу.
В самых ранних версиях действительное предупреждение могло включить так называемый безопасный режим. Некоторые команды, связанные с отправкой BTC, временно прекращали работать.
Но этот ключ не позволял забрать чужие биткоины, создать новые монеты, отменить подтверждённую транзакцию или заставить узлы принять другие правила консенсуса. Это был мощный канал связи — но не пульт управления Биткоином.
Полезный механизм превратился в риск
Пока сеть была небольшой, единый аварийный канал казался разумным. С ростом Биткоина его слабости стали заметнее. Главный вопрос был прост: кто имеет право говорить от имени всей сети?
Копии ключа передавались нескольким людям. При этом невозможно было отозвать уже переданную копию или определить, кто именно подписал конкретное предупреждение.
Если одна из копий попадала к постороннему, тот мог отправлять сообщения, выглядевшие официальными. Кроме того, система была связана главным образом с Bitcoin Core, хотя в сети уже существовали другие программы и кошельки.
Получалось противоречие: децентрализованная сеть сохраняла централизованный канал тревоги.
Отказ от особого полномочия
В 2016 году разработчики объявили о полном прекращении работы системы. К тому моменту в новых версиях Bitcoin Core она уже была отключена или удалена.
19 января 2017 года по сети отправили последнее предупреждение. Оно отменяло остальные сообщения и показывало старым программам текст о компрометации ключа.
Публикацию самого закрытого ключа пришлось отложить. При проверке старого кода разработчики обнаружили уязвимости: обладатель ключа мог перегрузить память устаревших узлов и вызвать остановку их работы.
Сначала предупредили разработчиков программ, в которых ещё оставался старый механизм. В июле 2018 года ключ опубликовали открыто.
Зачем публиковать бывший секрет
После удаления системы секрет больше не давал законной власти. Публикация окончательно уничтожала его особый статус. Если подписать сообщение мог каждый, никто уже не мог выдавать такую подпись за голос Биткоина.
Что пришло ему на смену
Сегодня предупреждения распространяются через разные независимые каналы: сообщения разработчиков, списки рассылки, репозитории программ, сайты проектов, операторов узлов и участников сообщества.
Это менее удобно, чем одна кнопка тревоги. Информацию приходится сравнивать и проверять. Но ни один человек не может единолично разместить обязательное предупреждение во всех программах сети.
Биткоин стал децентрализованнее не потому, что в нём никогда не было особых полномочий. Он стал таким ещё и потому, что сообщество смогло увидеть одно из них, обсудить риск и отказаться от него.
Децентрализация измеряется не обещаниями, а полномочиями, от которых система способна отказаться.
Проверить первоисточники
Исторический и образовательный материал. Система предупреждений полностью выведена из эксплуатации; её опубликованный ключ не даёт контроля над современной сетью Биткоина.
← Вернуться к рубрике