Сегодня утром в популярном канале Twitter пользователя Whale Alert, который известен тем, что постоянно публикует данные по поводу больших переводов криптовалют в публичных блокчейнах, появилось довольно противоречивое сообщение. Согласно опубликованной информации, в сети EOS была осуществлена транзакция размером в 1 000 000 000 000 монет, что составляет примерно $3.66 трлн.
Спустя несколько часов владельцы аккаунта в комментарии к данному посту сообщили, что на самом деле подобного перевода не было.
«Пользователю EOS под ником “fuckhacker.x” удалось выяснить, как создать крупную фейковую транзакцию, но система EOS, похоже, смогла её обезвредить. Однако транзакция все же успела попасть в сеть до того момента, как её удалили, - пишут они. – Мы добавили дополнительный уровень проверки для того, чтобы в будущем не допускать подобных инцидентов».
Как позже выяснилось, обмануть алгоритм удалось благодаря «отложенной транзакции». Её суть заключается в том, что отправитель обязуется осуществить перевод в будущем, однако при этом на него не накладываются никакие обязательства по доказательству владения необходимой суммой.
«Это была отложенная транзакция, - пишет производитель блоков EOS New York в Twitter. – Она свидетельствует лишь о том, был запрос передан успешно или нет. Стандартная проверка на валидность производится уже после передачи в сеть».
Несмотря на достаточно широкую огласку в сообществе, поводов для паники в связи с этой транзакцией появиться не должно. Система валидации транзакций в блокчейне EOS существенно отличается от классической схемы майнинга. Ближайшей аналогией для подобной "отложенной транзакции" можно считать raw-транзакцию в сети Биткоина, разосланную одним из кошельков. Если транзакция нарушает правила протокола (то есть не основана на подтвержденных в блокчейне входах), она не будет принята большинством узлов и в любом случае не будет обработана майнерами. Как оказалось, в сети EOS такая транзакция все же может быть распространена по сети на множество узлов, однако она также не получит подтверждения у "создателей блоков" - майнеров в сети EOS и, следовательно, не будет записана в блокчейн.
Отметим, что в ноябре прошлого года был похожий инцидент в блокчейне Stellar. Неизвестный отправитель пытался перевести 99 999 999 999 XLM, что в пять раз выше общей эмиссии XLM. Тогда для этой цели использовался баг, который был найден еще в апреле 2018 года и на момент инцидента не был исправлен.