Содержание
Криптовалюты могут быть утеряны различными способами, от хакерского взлома кошелька до забытых паролей и некачественных флешек. Однако в долларовом эквиваленте самый большой ущерб приносит плохой исходный код, и не всегда в этом виноваты разработчики токена. Чаще виновными оказываются криптобиржи и разработчики смарт контрактов.
Постоянные ошибки в кодах криптобирж
На прошлой неделе СМИ сообщили о банкротстве Bitgrail, которая умудрилась потерять 170 миллионов долларов в криптовалюте Nano. Хотя точная последовательность событий, которые привели к катастрофическому краху биржи вместе с потерей активов тысяч клиентов, все еще устанавливается, но на данный момент основной версией является ошибка в коде:
Ходят слухи, что Bitgrail стал неплатежеспособным в результате ошибки в алгоритме вывода средств. Она была обнаружена пользователями и распространена в различных чат-группах, в результате чего баланс кошелька постепенно уменьшался. Один из пользователей объяснил: «На Bitgrail была ошибка. Если вы разместили два ордера, то получали двойную прибавку на баланс своей учетной записи. Вы могли просто вывести эти средства. В конце концов, у вас получался отрицательный баланс, но вы могли просто создать новую учетную запись».
Затем эта теория была подтверждена более официальными заявлениями о том, что, действительно, баг был обнаружен не в коде Nano, а в коде Bitgrail. Один из источников утверждал:
На странице вывода обнаружилась ошибка. Она была только на стороне клиента. Вы находите js, который отправляет запрос, затем вы просматриваете код этого элемента и запускаете Java скрипт вручную, чтобы отправить запрос на снятие более высокой суммы, чем ваш баланс. И Bitgrail обрабатывала такие выводы. Сколько людей это делало? Кто знает.
Была и еще одна ошибка — вы могли просто запросить вывод на ваш адрес, но из другой учетной записи пользователя. Это приводило к тому, что другие пользователи обнаруживали ошибку «недостающих средств» или «отрицательного баланса». Затем Bitgrail вроде бы решила эту проблему, вручную введя «правильные» цифры в своей базе данных.
Даже лучшие монеты подвержены рискам плохого кода
Одна из криптовалют, которая наиболее часто упоминается в связи с катастрофическими ошибками, — это Эфир. Но эти случаи происходят не из-за его базового кода, а из-за кода смарт контрактов, которые разрабатываются поверх Ethereum. Сначала был DAO, который привел к форку Эфира, затем появилась ошибка Parity, которая привела к краже 150 000 ETH, а затем другая ошибка Parity, из-за которой было заморожено 168 миллионов долларов в Эфире.
Недавно в СМИ появилась информация об очередной ошибке, связанной с Эфиром. Proof of Weak Hands (PoWH) была шуточной монетой, которая превратилась в настоящий мошеннический токен после того, как ошибка привела к потере 900 эфиров стоимостью 1 миллион долларов. После получения угроз со стороны инвесторов разработчик исчез, а пользователи обнаружили, что шуточная Понци-монета, которую они покупали, на самом деле таковой и оказалась.
С тех пор основатели PoWH организовали еще один скамтокен – Еthpyramid, который предназначен «только для сильных инвесторов». На вопрос – «является ли Ethpyramid безопасной?», на сайте дается ответ – «Да. Наша команда разработчиков потратила много времени на переработку и тестирование этого контракта, чтобы убедиться, что ваши токены будут в безопасности».
Даже если подобные шуточные и мошеннические монеты и их разработчики будут удалены с рынка, очевидно, что практически все криптовалюты имеют слабые места. Несмотря на то, что такие альткоины как Ethereum и Nano имеют несомненный потенциал, они становятся заложниками ошибок, скрывающихся в кошельках, смарт контрактах и биржах. Все, что требуется – это одна неудачная строка кода.