Новые исследования показывают, что широко распространенная ошибка скомпрометировала особый тип транзакций с биткоинами, которые должны препятствовать майнерам обманывать сеть.
В отчете инженера под ником «0xb10c» заявленно обнаружение более миллиона таймлок-транзакций, совершенных в период с сентября 2019 года по март 2020 года, которые не были точно учтены сетью. Это увеличивает риск гипотетической атаки, при которой майнеры могут по существу красть биткоины у других майнеров. Ошибка затрагивает 10% транзакций с временной привязкой или 2% транзакций с биткоинами в целом.
Таймлок (Timelocked) транзакция не позволяет получателю биткоина получить к нему доступ сразу. Вместо этого человек должен подождать, пока сеть не добавит определенное количество блоков в реестр. Поскольку для записи каждого нового блока требуется около 10 минут, можно запрограммировать временную блокировку на истечение в приблизительной точки в будущем, установив соответствующую высоту блока. Один из вариантов использования этой функции — это форма наделения правами — например, при запуске Blockstream сотрудники платили сотрудникам биткоины с временной привязкой, что теоретически дает им стимул делать то, что лучше для долгосрочной ценности сети.
Полученные результаты подчеркивают ключевую область исследований биткоинов, которая направлена на то, чтобы не дать майнерам становиться слишком влиятельными или обманывать различными способами, чтобы крупнейшая в мире криптовалюта с рыночной капитализацией около 173 миллиардов долларов работала как задумано.
Автор отчета является одним из сети глобальных разработчиков и исследователей, которые проводят «боевые испытания» сети, чтобы защититься даже от теоретических атак, которые до сих пор не были большой проблемой. 0xb10c пишет:
Обнаруженные ошибочные таймлок-транзакции имели непосредственную цель. Установленные для текущего блока (поэтому они недействительны до одного блока позже), они были предназначены для того, чтобы сделать потенциально разрушительную стратегию майнинга, называемую «сбором денег», менее прибыльной.
То есть, с помощью перехвата платы злоумышленник пытается заменить блок, который кто-то только что добыл, своим, включая те же транзакции плюс потенциально другие транзакции, которые все еще ожидают рассмотрения. Временная блокировка не позволяет им включить последние, ограничивая добычу от атаки, поэтому не стоит беспокоиться.
Долгосрочный риск
Вероятность такой атаки может возрасти, так как сборы за транзакции, которые пользователи платят за установление приоритетов своих платежей, становятся более важным источником дохода для майнеров. В настоящее время майнеры в основном полагаются на блочные награды недавно отчеканенного биткоина для покрытия своих расходов. Но этот поток доходов со временем уменьшается, как показывает пишет:
В настоящее время невыполнение временной блокировки до абсолютной высоты блока не имеет последствий для большинства транзакций. Через несколько лет, когда вознаграждение за блок будет состоять в основном из комиссионных за транзакции, это может сделать сбор комиссионных более выгодным.
Следовательно, ошибка может быть вредной для всей сети. Но сейчас, скорее всего, это проблема с «низким приоритетом», которую нужно решить для большинства кастодиальных сервисов и горячих кошельков, поскольку ошибка не приводит к потере денег пользователями.
Дыра для утечки даных
Выявленная ошибка также опасна потерей конфиденциальности для пользователей. Необычно сформированный таймлок отличается от всех других таймлоков в сети, поэтому для вуайеристов блокчейна легко увидеть, что транзакция происходит из определенного кошелька.
Многие из обнаруженных ошибочных транзакций 0xb10c были сделаны одним крупным объектом, который он не назвал. Инженер сказал, что обратился к предприятию, производящему программное обеспечение с ошибками. Однако для развертывания решения может потребоваться время. Исследователь поделился:
Исправление для этого было выпущено в начале 2020 года. Однако пройдет некоторое время, прежде чем будут обновлены все экземпляры развернутого в настоящее время программного обеспечения.
0xb10c надеется, что его исследования повысят осведомленность о риске атак со взломом, поэтому кошельки, которые не устанавливают транзакции с таймлоком, могут исправить ситуацию, сделав сеть биткоин немного более устойчивой сетью.
Источник: AltStake