Разработчики обнаружили критическую уязвимость в сети Bitcoin Unlimited, исправление которой может иметь катастрофический эффект для конвергенции цепи. Информация об этом была опубликована на Reddit.
Суть проблемы состоит в том, что в рамках механизма приема больших блоков 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.
Источник.