Среди главных аргументов в пользу криптовалют всегда были надёжность и безопасность блокчейна. И действительно, главные криптовалюты (биткоин и эфир) имеют репутацию самых безопасных цифровых активов или платёжных систем в истории. Но некоторым этого мало: они заявляют, что взломать криптовалюты невозможно. Распространение мифа об этой «неуязвимости» ставит таких криптовалютных энтузиастов в неловкое положение, когда события разворачиваются не в их пользу.
В прошлом месяце неизвестный хакер серьёзно подорвал репутацию криптовалюты Verge. Ему удалось захватить сеть три раза с интервалами в несколько часов с 4 по 6 апреля (а потом ещё раз), не позволяя любому другому пользователю совершать какие-либо платежи. Хуже того, в этот промежуток времени он мог майнить 1560 монет Verge (примерно на $80) в секунду. Конечно, это была катастрофа.
И что в итоге? Криптовалютный энтузиаст Дэниел Голдман попытался разобраться в своей статье для The Abacus Crypto Journal. Предлагаем вашему вниманию сокращённый перевод.
Спуфинг временной метки, или Честные ошибки против опасной лжи
Корень эксплойта — в особенности Verge, которая состоит в возможности создавать «неточные» временные метки. В протоколе блокчейна отдельные транзакции группируются вместе в один блок, который затем подтверждается целиком. Создание каждого блока имеет свою временную метку. Даже когда протокол блокчейна работает правильно, эти временные метки иногда могут идти не в хронологическом порядке; то есть блок 100 может иметь временную метку после блока 101.
Это происходит потому, что в децентрализованных сетях, которые не предоставляют какие-либо особые полномочия третьим лицам, точное соблюдение синхронизации времени не столь важно. Учитывая непредсказуемое расхождение во времени, которое требуется для распространения данных через p2p-сеть, вполне возможно, что время в блоках будет указано «не по порядку», даже когда все стороны честны. Другими словами, справедливо допускать некоторую гибкость; в случае с Verge (до взлома) протокол разрешал узлам «не соглашаться» относительно текущего времени с интервалом не больше двух часов.
Точкой входа для хакера был спуфинг временных меток, в котором добывались блоки из прошлого, но в пределах двухчасового окна, поэтому их могли принимать другие узлы.
Сложность майнинга, или Окружающие сеть стены
Для децентрализации Verge необходимо обеспечить участие мелких устройств (например, ноутбуков) в запуске программного обеспечения сети. Это в свою очередь означает ограничение объёма платёжной активности в сети, то есть установку точного времени блока (и, как следствие, ограничение на транзакции сети в секунду). Сеть Verge ограничивалась одним блоком в 30 секунд. Теперь можно спросить (учитывая, что сеть децентрализована), как это организовано. Что мешает участникам находить блоки с гораздо большей скоростью, тем более, что за принятый блок майнер получает вознаграждение?
Ответ — доказательство выполнения работы (Proof-of-Work). Для того чтобы блок считался действительным в сети, он должен содержать решение криптографически сложной вычислительной задачи. Характер этой задачи такой, что её сложность может быть скорректирована. Сложность нахождения блоков Verge постоянно корректируется на основе скорости подтверждения блока; если больше людей решат потратить больше вычислительной мощности на майнинг Verge, что позволит быстрее находить блоки, протокол повысит сложность майнинга, и наоборот. Таким образом, сеть Verge постоянно реагирует на изменение обстоятельств в реальном мире (стоимости майнинга, цены криптовалюты на рынке), чтобы сохранить баланс в системе.
Алгоритм, который Verge использует для вычисления текущей сложности, известен как Dark Gravity Wave; он рассчитывает среднюю скорость подтверждения блока в рамках двухчасового окна. Тут важно то, что сложность майнинга — это функция частоты последних блоков, а нахождение нового блока связано с их временными метками.
Следовательно, возникает проблема: если создаётся достаточно много ошибочных временных меток, то все они становятся недействительными. И именно это сделал хакер. После изучения данных блокчейна выяснилось, что на протяжении всего времени взлома (или взломов) каждый последующий блок был отправлен с временной отметкой примерно за час до настоящего времени, запутывая алгоритм майнинга. Если бы протокол владел человеческим языком, он говорил бы что-то вроде «О нет! Что-то не очень много блоков было принято! Майнинг стал слишком сложным — давайте сделаем его проще!» Поскольку временные метки постоянно подделывались, протокол постоянно уменьшал сложность, пока добыча не стала весьма лёгкой. Чтобы дать общее представление: средняя сложность за часы до первоначальной атаки была 1393093,39131, а во время атаки она достигла 0,00024414, то есть сложность уменьшилась на 99,999999%. Такое резкое уменьшение сложности означает большую вероятность подтверждения блоков — в нашем случае стал подтверждаться примерно один блок в секунду.
Суть атаки в том, как она обходит барьер сложности майнинга, а не пытается прорваться через него. Если безопасность, обеспечиваемая майнингом, — это окружающие сеть стены, и они слишком крепкие или высокие, то нужно просто найти способ обойти их.
Однако снижение сложности — это только половина истории. Сложность майнинга сама по себе не дала бы злоумышленнику особого преимущества. С резко сниженной сложностью нахождение блоков становится легче для хакера, но также и для всех остальных; майнеры всё ещё конкурируют друг с другом, как и раньше. Другими словами, независимо от сложности одному злоумышленнику всё равно понадобится 51% хешрейта сети, чтобы её захватить, что представляет собой непростую задачу.
[…] атакам 51% подвергся ряд альткоинов, включая Bitcoin Gold и Verge, причём последний не устоял дважды. Теперь в поле […]
[…] несовершенство алгоритмов хеширования криптовалюты Verge и одного из форков биткоина привело к реализации атак […]
Следовательно, возникает проблема: если создаётся достаточно много ошибочных временных меток, то все они становятся недействительными.
Опять смысл искажен нереводом. Поддельные временные метки как раз остаются действительными. В оригинале: если …, то all bets are off. В прямом смысле это выражение кричит крупье в казино, а в переносном оно означает, что ситуация кардинально меняется. «Все летит кувырком», вот и весь перевод.
Вот в результате такого перевода :
Точкой входа для хакера был спуфинг временных меток, в котором добывались блоки из прошлого, но в пределах двухчасового окна
был утерян смысл.
при котором добывались (в смысле рассылались для подтверждения) блоки ЯКОБЫ из прошлого. В оригинале that appear to be from the past
Долой море непонятной и никому ненужной крипты! Хотели анонимность и децентрализацию, хотели защиту от бесконтрольной эмиссии и инфляции а получили на выхоже как говаривал тов. Черномырдин…)))
Короче получили цифро-акции. Не деньги! Что печально, но даёт наживаться барыгам и спекулянтам.
Цифро-денег так и нет. Мир ждёт и уже начал отворачиваться. Такими темпами крипта умрёт быстро. Быстрее даже чем Маккафи, поедающий свой половой орган.
Из за уязвимости всех криптовалют , всей крипте грозит коллапсовый крах.
Даже выходя на биржи токены это пустые. Не меняйте деньги на пустоту.
Остерегайтесь мошенников 99% ICO это скам-обман и мошенничество которых никто не ловит. Отправив свои эфиры и биткоины вы их уже никогда не увидите.
[…] Источник: coinspot.io […]
Вчера так же взломали Bitcoin Gold. И есть все основания думать что в течении года мы увидим множество таких случаев с мелкими и средними монетами. Это несколько очистит рынок. Совершить подобную атаку «51%» на Биткоин или Эфир не получится.
А самое смешное что люди на столько не образованы, что взломанные монеты торгуются так как будто ничего не произошло.
Главная крипта эфир и биток все остальное не достойно инвестиций, будьте осмотрительны — в сфере криптовалют очень много «пустых» монет целью которых является отъем «лишних» денег!
[…] Источник: coinspot.io […]