Руководство ведущей биржи криптовалют Mt.Gox обещало сегодня, в понедельник, дать объяснение своих, якобы “технических” проблем, вследствие которых, напоминаем, вывод биткоинов был приостановлен. Mt.Gox сдержали свое обещание, пеняют на ошибку в реализации протокола Биткоин, предостерегают другие биржи и предлагают свое решение. Постараемся объяснить для неискушенного читателя что же на самом деле произошло.
Все дело в особенности протокола Биткоин под названием “Transaction Malleability“. Это явление было известно еще с 2011-го года и ПО биржи Mt.Gox было уязвимо к особого вида атакам через эту особенность. В частности, атакующий мог потребовать от биржи вывести некоторое количество BTC и пока транзакция не успевала быть упакованой в блок, одновременно с этим, небольшими мощностями, запросить от сети обработку этой же самой транзакции, но со слегка измененными данными. В результате подобной гонки, иногда транзакция злоумышленника могла попасть в blockchain раньше аналогичной транзакции Mt.Gox. Биткоины переводились по-честному, никакого “double spending” не происходило, но ПО биржы получало на свою транзакцию “отбой” и пробовало весь процесс повторить снова. Как результат, Mt.Gox повторно уже отправляли не только деньги злоумышленника, но и свои собственные (или биткоины других пользователей). Когда руководство биржи почувствовало, что баланс перестал сходиться, они объявили о приостановке всех переводов. Так как попасть на биржу было достаточно непросто, только по предъявлению документов, надо полагать, что имена нечистоплотных участников им известны, но что они способны сделать с этой информацией, пока что не ясно.
Больше технической информации для заинтересованых здесь.
Курс на событие отреагировал незамедлительно, но в данный момент уже практически вернулся к прежней норме.