Altcoins Talks - Cryptocurrency Forum

Local => Форум криптовалют - Криптовалюта => Topic started by: MAXE on October 01, 2018, 01:56:17 AM

Title: Двойная трата
Post by: MAXE on October 01, 2018, 01:56:17 AM
Хотелось бы рассказать о двойной трате, она же атака 51% и double spend.

Quote

Monacoin, bitcoin gold, zencash, verge и litecoin cash.
В последнее время, по крайней мере пять криптовалют были подвержены атаке, которая считалась более теоретической, чем практической и это произошло только за последние месяцы. В каждом из случаев злоумышленники смогли накопить достаточную вычислительную мощность, чтобы скомпрометировать более мелкие сети, перегруппировать свои транзакции и скрыться с миллионами долларов, что, возможно, сопоставимо с капиталом банка в криптовалюте.
Однако, очень удивительным может быть то, что так называемые атаки 51% хорошо известны как опасное направление атак на криптовалюты.
 

Как работает двойная трата (атака 51%)?

Когда один человек контролирует более 51% пула майнеров монеты – он может контролировать консенсус

Атакующий арендует (Miningrigrentals.com or Hashnest.com) или использует ботнет чтобы получить много хэш-мощности.
Например, если в основной сети (mainnet) есть 25 Gh хэщ-мощности, то атака 51% может быть выполнена с 25,5 Gh арендованной мощности.

Это достаточно легко и не очень дорого.
(https://i.imgur.com/lJYlmsy.png)

Как работает атака:

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

Например:
Допустим они начинают на блоке 100 000
Они строят приватную цепочку длиннее чем публичная.
В этой приватной цепочке больше хэш-мощности, поэтому она быстрее найдет блоки.
Приватная цепочка может найти 10 блоков, за это время публичная смогла найти только 9.

Двойная трата

Как только они начинают свою приватную цепочку – они идут на биржу или к торговцу и делают большой депозит.

Используем 10,000 GLD как пример.
Это передается публичному блокчейну в блоке 100 001. Но они не передают эту транзакцию в своей частной сети, размещая ее только в общественной сети. В своей частной цепочке блоков они совершают транзакцию, отправляющую те же самые 10 000 GLD на другой адрес кошелька в блоке 100 001.
 

Это «двойная трата» - они дважды тратят одни и те же монеты GLD.

Как злоумышленники получают прибыль

Биржа рассматривает депозит в 10 000 GLD в публичной цепочке и после того, как получено 6 блоков подтверждений - этот депозит переносится на биржевой счет, и он становится доступным для торговли.

Средства теперь находятся в кошельке биржи - правильно? Потому что сеть монет подтвердила, что они там. Перевод отображается в блок-эксплорере - как правильная транзакция.

Затем злоумышленник продает 10 000 GLD за биткоины по рыночной цене и моментально выводит биткоины с биржи. 
Биржа одобряет вывод биткоинов и злоумышленник получает средства в ВТС.
В этот момент времени мы находимся в блоке 100 008 или 100 009.


Как только BTC выводятся с биржи - злоумышленник выпускает свою длинную приватную цепочку из 10 блоков, передавая ее в публичную сеть. Эта длинная приватная цепочка теперь стала публичной. Поскольку приватная цепочка имеет более высокую хэш-мощность (более 51%) и длиннее, чем предыдущая публичная цепочка - теперь она принимается публичной как настоящая запись.

Это называется «Реорганизация цепи». 9 блоков, ранее находившихся в главной сети (mainnet), теперь игнорируются, а 10 новых блоков приняты, как часть новой сети. Подобным образом происходит «реорганизация цепи» в протоколе сети монеты GLD.

Монеты, которые были первоначально приняты сетью в биржевом кошельке, в данный момент отклоняются сетью монеты, как недействительные. Но биржа, поменяв монеты на биткоин, уже отдала злоумышленнику биткоины, полученные от продажи монеты.

В то время как у их кошелька первоначально было 10 000 GLD, сеть аннулировала эту транзакцию и одобрила частную цепочку как «истинную цепочку».
Внезапно, основная сеть (mainnet) не включает первоначальный депозит в размере 10 000 GLD на биржу в оригинальном блоке 100001, но она включает передачу этих 10 000 GLD в личный кошелек злоумышленника из закрытого блока 100001.


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

Таким образом атакующий получил 10 000 GLD в биткоине от биржи, не делая первоначальный ввод 10 000 GLD на биржу.

Они могли заплатить много денег за всю хэш-мощность, но те монеты GLD, которые они украли – стоят гораздо больше.

Так это - взлом?

Блокчейн не был взломан. Но децентрализованная сеть узлов монеты, которая управляет блокчейном, была использована злоумышленниками, так как сети не хватило хэшрейта для защиты.

В мае Bittrex стал жертвой атаки 51% (двойной траты) на сеть Bitcoin Gold. Разработчики Bitcoin Gold предложили частично компенсировать убытки бирже Bittrex, но Bittrex решил сделать делистинг Bitcoin Gold вместо этого.
Другие монеты, на которые были направлены атаки 51% обычно компенсировали биржам их потери.
Если у монеты достаточно хэшрейта для защиты своей сети, на эту монету практически невозможно провести атаку 51%.

Некоторые сети монет прибегают к объединенному майнингу или представляют из себя гибрид POW и POS.

BTCurious блестяще объяснил это, в нескольких предложениях:
 
Quote from: BTCurious
Если бы у меня была возможность получить 51% , я бы смог бы добыть цепочку блоков, в которой я перевожу все свои монеты в свой личный кошелек. Я бы использовал эту цепочку длинной около 10, но не показывал бы ее остальной части сети. В это же время я поменял бы все свои монеты в доллары на бирже и снял их. Как это происходит в обычном блокчейне.
После того, как я вывел средства нормальная блок-цепочка составляет около 9, а моя цепочка блоков - 10. Я показываю все свои блоки сети, и сеть подтверждает, что я прав.
Но доллары не могут быть возвращены! Таким образом, биржа получает убытки.

Спасибо за помощь: xtraelv, taikuri13, BTCurious!
Title: Re: Двойная трата
Post by: fifchikus on October 01, 2018, 02:12:14 AM
Интересно было почитать, теперь точно знаю, что это такое. Надеюсь, в будущем все блокчейны смогут полностью себя защищать от такого рода проблем.
Title: Re: Двойная трата
Post by: d2dd on October 01, 2018, 08:09:21 AM
Не согласен с вами "Это достаточно легко и не очень дорого", мне кажется чтоб арендовать  51 процент мощностей пула нужно очень много денег для крупных монет, а с мелкими монетами думаю что это реально сделать.
Title: Re: Двойная трата
Post by: bogdan1981 on October 01, 2018, 10:31:23 AM
интересная статья, я считаю что хороший хакер сможет взломать почти что любую сеть , осуществить атаку и получить свою выгоду, пример атака на сеть монеты xvg в апреле этого года, хакер просто создал поддельные временные метки, и в результате им таким способом было незаконно "добыто" несколько миллионов монет, что по цене на тот момент составило несколько миллионов долларов.
Title: Re: Двойная трата
Post by: AlexMoiseev on October 01, 2018, 11:07:40 AM
интересная статья, я считаю что хороший хакер сможет взломать почти что любую сеть , осуществить атаку и получить свою выгоду, пример атака на сеть монеты xvg в апреле этого года, хакер просто создал поддельные временные метки, и в результате им таким способом было незаконно "добыто" несколько миллионов монет, что по цене на тот момент составило несколько миллионов долларов.

Я слышал, что с блокчейном можно манипулировать в мошеннических интересах, но до описания механизма ещё не доходило. Интересно было почитать, тем более опубликовано доступным языком.  Против хакеров преград мало, как правило это очень умные люди и всегда действуют на шаг впереди.
Title: Re: Двойная трата
Post by: thesaintcrypto on October 01, 2018, 12:05:38 PM
Не согласен с вами "Это достаточно легко и не очень дорого", мне кажется чтоб арендовать  51 процент мощностей пула нужно очень много денег для крупных монет, а с мелкими монетами думаю что это реально сделать.

Соглашусь, это не должно быть очень дешево. Но ведь это и сверхприбыльно, что многое оправдывает. Печально, что с этим можно столкнуться, но самостоятельно как-то исправить это совсем не выйдет.
Title: Re: Двойная трата
Post by: deniska on October 03, 2018, 06:11:15 AM
Сейчас доверять вообще не можно так как всё может привести к определённым ошибкам и это конечно не очень хорошо сейчас.