Сб. Ноя 27th, 2021
    Double-Spending, Free TON

    «Двойная трата» (Double Spending) — известная проблема всех криптовалют. Если наличные деньги дважды потратить невозможно, то одновременно пообещать одну и ту же сумму сразу нескольким продавцам, торгующим в кредит, вполне реально. Информация может быть скопирована. Если подобное возможно и с криптовалютой, это значительно снизит доверие к такой системе расчетов.

    «Двойная трата» в блокчейне с консенсусом Proof-of-Work

    Сама структура такого блокчейна препятствует тому, чтобы из него можно было брать данные и использовать повторно. Любой блок и любая транзакция в блоке имеют метку времени и то, что уже засчитано как изменение баланса транзакций в сети криптовалюты, не должно быть засчитано повторно.

    Вместе с тем «Двойная трата» может существовать в момент времени, когда в сети начинает формироваться новый блок: часть майнеров не получила информации об осуществленной трате средств и рассматривает эти средства как доступные. В этом случае может возникнуть ситуация, когда часть майнеров будут формировать для одной и той же суммы токенов цепочку блоков с одной транзакцией, а часть — с другой. Так выстроится две цепочки блоков. В реальности правильная цепочка будет иметь больше подтверждений от майнеров (которые корректно проведут проверку) и ложная цепочка будет отброшена, корректные транзакции из нее соберутся в следующий блок блокчейна, а транзакция, включающая уже потраченные средства, будет отброшена.

    Целью злоумышленников является через контроль майнеров достаточно долгое поддержание цепочки блоков, содержащих ложную транзакцию с использованием уже потраченных средств, скажем, чтобы успеть вывести средства из блокчейна через обменник. Однако для этого  у злоумышленника под контролем должно находится достаточно много майнеров. При контроле злоумышленником более половины мощности майнеров, он может в любой момент делать двойную трату своих средств. Такая ситуация называется «атакой 51%».

    «Двойная трата» и «атака 51%» между собой тесно связаны. Для защиты от атаки 51% необходимо следить за тем, чтобы майнинговые мощности распределялись между несколькими пулами, не концентрируясь в одних руках.

    Случаи «двойных трат»

    В 2013 году произошло сильное раздвоение блокчейна Биткоин и пока майнеры не могли определиться с правильной цепочкой блоков, не работали сайты криптовалютных бирж и обменников. Но это раздвоение не привело к «двойной трате». 

    Так происходили ли «двойные траты» в сети Биткоин? Есть один факт такой траты, но на ничтожную сумму (0,00034801 ВТС — 3$  на момент совершения транзакции), к тому же он не был связан со злым умыслом. 

    Успешной оказалась атака 51% на сеть малоизвестной криптовалюты Pigeon Coin, основанной на программном коде Bitcoin Core 0.14.0, содержащем уязвимость. Злоумышленнику удалось сгенерировать 235 миллионов PGN на сумму в 15 тысяч долларов.

    Есть и примеры атак на более значительные суммы. В мае 2018 года произошла атака 51% на сеть криптовалюты Bitcoin Gold. Она принесла нападавшим прибыль в эквиваленте $17.5 миллионов, украденных у криптовалютных бирж Bittrex, Binance, Bitinka, Bithumb и Bitfinex. Такие случаи заметно подорвали уверенность обладателей криптовалюты Bitcoin Gold.

    Позже, в начале 2020 года, в сети Bitcoin Gold злоумышленникам удалось повторно совершить двойную атаку 51% и получить прибыль в размере 1900 и 5267 BTG (около $84 000 на момент взлома). Для этого они арендовали майнинговые мощности на NiceHash, что обошлось в 1700 долларов для каждого взлома (расчетная стоимость подобной атаки на Bitcoin превысила бы 700 000 долларов).

    В сети Bitcoin Cash (BCH) после неудачного хардфорка (обновления программного обеспечения) возникла уязвимость, позволившая неизвестному хакеру осуществить двойную трату на 3392 BCH ($1.35 миллиона).

    Атака 51% стала сильным ударом и по сети Ethereum Classiс. Нападавшему удалось присвоить $5.6 миллиона в эквиваленте криптовалюты ETC. Принцип взлома был таким же, как и в случае с атакой на сеть Bitcoin Gold (хакеры арендовали майнинговые мощности на NiceHash). Аренда обошлась им в $192 000.

    С помощью атаки 51% были взломаны сети криптовалют Krypton и Shift, Monacoin, Zencash, Verge, Aurum Coin и Litecoin Cash. Добычей нападавших становилось от нескольких десятков тысяч долларов до нескольких миллионов долларов в эквиваленте криптовалют. Сеть Vertcoin таким образом атаковали несколько десятков раз за неделю, поскольку стоимость атаки через NiceHash, немногим более $100 за час, оказалась доступной и для начинающих хакеров.

    Иван Котельников: “Двойная трата во Free TON невозможна”

    Double Spending in Free TON

    Мы узнали у Ивана Котельникова, одного из активных членов Dev Ex SubGovernance Free TON и специалиста по информационной безопасности по образованию, возможна ли «двойная  трата» во Free TON

    — Нет, во Free TON не может быть форков, это следует из самой архитектуры сети. Если транзакция, реализующая двойную трату будет записана в блок, такой блок скорее всего не будет подписан валидатором, но даже если это произойдет (злонамеренный валидатор), после обнаружения ошибки Рыбаком, ошибочный блок будет скорректирован и эти изменения будут зафиксированы коррекцией всех блоков сети, которые ссылались на ошибочный блок. Следовательно в сети Free TON не может быть альтернативных цепочек блоков, что исключает «двойные траты».

    Атака 51% (совокупной мощностью) в сетях Proof-Of-Stake невозможна, так как блоки формируются валидаторами. Во Free TON для формирования блоков валидаторами  используется консенсус BFT, который устойчиво работает в случае, если более 2/3 валидаторов корректно выполняют свои функции. При наличии более 1/3 “злонамеренных” валидаторов сеть будет остановлена и такая атака потеряет экономический смысл внутри сети, так как сеть лишится своей ценности.

    16
    0