В протоколе Bitcoin Unlimited обнаружена критическая уязвимость
Разработчики обнаружили критическую уязвимость в протоколе Bitcoin Unlimited, исправление которой может иметь катастрофический эффект для конвергенции цепи.
Суть проблемы состоит в том, что в рамках механизма приема больших блоков Bitcoin Unlimited внедрили функцию «sticky gate», т.е. если нода получает блок с размером больше позволенного на данный момент и если этот блок получает AD подтверждение, то на протяжении 24 часов у ноды отсутствует лимит размера блока.
Эта функция может дать потенциальным хакерам возможность разрушения всей цепи Bitcoin Unlimited. Они могут создать слишком большой блок, и в случае успеха у атакующего появится возможность создать 144 блока с неограниченным размером. После этого он может подтвердить любое количество аномальных блоков, сделав их постоянной частью цепи Bitcoin Unlimited, что приведет к возможной фрагментации цепи и/или выбрасыванию ряда пользователей из сети.
В связи с этим поступило предложение убрать эту функцию. Однако ее отключение может привести к тому, что ноды не смогут осуществлять взаимодействие в одной цепи. К тому же, в случае образования большого блока майнеры с меньшим уровнем ЕВ будут уходить в меньшие цепи.
Но вместо того, чтобы понять потенциальное влияние этого явления и рекомендовать отказаться от запуска нод до решения проблемы, разработчики Bitcoin Unlimited просто увеличили уровень сложности систе,мы.
«Для того, чтобы решить проблему атаки меньшинства и сохранить конвергенцию цепи, алгоритм должен быть модифицирован с целью увеличения AD соответственно с размером превышения раздутыми блоками. Но начальный раздутый блок должен как минимум подождать АВ-блоки. Поэтому график EAD должен базироваться на том, какой блок стоит первым. Последующие раздутые блоки не должны иметь изначальной АВ “стены”. Стратегия состоит в том, что если проблема идентифицируется системой, то создается новый уровень сложности и абстрактности», — комментируют это решение разработчики.
На данный момент такое решение разработчиков команды Bitcoin Unlimited не отразилось на работе системы, но это может привести к тому, что ряд пулов, вероятно, перейдет на Bitcoin Core.
Напомним, Bitcoin Unlimited возник в качестве альтернативного решения проблемы размера блока, но на данный момент не получил широкой поддержки. По мнению большинства специалистов, на сегодняшний день наиболее эффективным решением с масштабируемостью биткоина является использование связки Bitcoin Core + Lightning Network + Segwit.
Подписывайтесь на новости Forklog в Facebook!
Рассылки ForkLog: держите руку на пульсе биткоин-индустрии!