Перейти к содержимому

Рекомендуемые сообщения

Double-spending возможен и "успешно" претворяется в жизнь.

В сентябре произошла успешная атака такого рода против казино BetCoin Dice.
Схема простая: атакующий делает ставки, отправляя транзакции без комиссии. Поскольку они без комисии и с низким приоритетом, маловероятно, что какой-либо пул включит их в блок. Зато по сети такие транзакции распространяются нормально.
Казино видит неподтвержденную ставку и отправляет обратную транзакцию, либо с выигрышем, либо с мелочью, означающей проигрыш.
По результату этой ответной транзакции определяются свои выигрышные ставки, и включаются соответствующие транзакции в свой блок. Остальные транзакции "отменяются", повторно тратя их входы и пересылая на свой адрес.

 

Но тогда у атакующего были свои крупные мощности (https://blockchain.info/address/1MA7CKbWMyKdPkmsbnwmfeLh1hYy5A3gy8), что позволило осуществлять дабл-спенды неподтвержденных транзакций.

Пройдясь по адресам можно выяснить, что это были проделки ghash.io. :scratch_one-s_head:
Вот, например, один из адресов, участвовавших в этом деле https://blockchain.info/address/125RaoTncVudhGEXQYxQVRP81fi4WzasA3
Транзакция https://blockchain.info/tx/4d731074447f02609c3110a187f9c6976f2bf255288ec5666ee270f09679619d
Добычу снова делили по 0.46 BTC для продолжения атаки.
Если перейти дальше (https://blockchain.info/tx/e0b44f68441ea0bad0f7694f735f496ce05238862534c6fea737b8903921185a), то там снова выигрышные и дабл-спенд входы делились уже по 0.7 BTC
Далее атаку решили прекратить и объединили всё, отправив на адрес 12e8322A9YqPbGBzFU6zXqn7KuBEHrpAAv
Самое интересное, с этого адреса 125 BTC "случайно" перепало пулу ghash.io  https://blockchain.info/tx/48168cf655d0ac0c7c2733288ca72e69ecd515a9a0ab2821087eb33deb7c6962

UPD.
Нашлось и начало. https://blockchain.info/tx/154ecb1eb72c933bc0707fa70deceb688361554ab81b901673d308aa84d9cfe9
Обратите внимание на адрес 12PcHjajFJmDqz28yv4PEvBF4aJiFMuTFD
Если посмотреть транзакции, то там есть цепочка выигрышей, начиная с https://blockchain.info/tx/0c1a08d035862b01d075e8044b1e9ce52a8ad951b57d876a2a9a0e3502c41eb0
Транзакции с нулевой комиссией подтверждались только пулом ghash.io

Ну и напоследок. Куда ушла награда за намайненные неизвестным блоки?
В этой транзакции https://blockchain.info/tx/e567ad6232de5285e0dc211d3f1c489b1e00e509118ba98a4825529d0a9197d9 награду собрали на адрес 1AJyDV5LPSE2H3MMhu69sii6a3etD8nxeV, затем в транзакции https://blockchain.info/tx/faa7bc8b99376efa774045e79b42771fe668341b00290a61cd416992571c590d отправили на адрес 199kVcHrLdouz9k9iW3jh1kpL7j9nLg7pn.
Этот адрес интересен тем, что на нем 6000 битков, и них 30% ведут свои корни к адресу 1CjPR7Z5ZSyWk6WtXvSFgkptmpoi4UM9BC (адрес майнинга ghash.io)
https://blockchain.info/taint/199kVcHrLdouz9k9iW3jh1kpL7j9nLg7pn
 

Я всегда считал, что дабл-спендинг возможен скорее в теории, чем на практике. Но жизнь показывает, что это не совсем так...

Интересная пища для размышлений, не так ли?..

_________________________________________

 

Использованы материалы с форума bitcointalk.org

Отдельное спасибо RoadTrain, manrus и Balthazar.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Занимательно. Вопрос, можно ли считать нижеследующее мошенничеством?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Xtc, ну а почему нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Эмм.. я немного не понял механизм, если вы не против попытаюсь привести пример из жизни, а вы уж скажите так или нет.

В общем ситуация такая: есть 2 банка - один другому пересылает деньги - они договорились и 1 банк уже сделал у себя пометочку на бухгалтерских счетах (прислано Х бабосов) вот только 2-й банк бабосы не шлет, 1-й забил на это дело и делает следующую пометку на бух.счетах (присланные Х бабосы) отправить банку 2, и отправляет... как-то так... 

Какой-то абсурд если честно получается, или я не так понял?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@SLAVON нет, скорее другая аналогия если с банками: вы держите онлайн-магазин, я делаю в нем покупку. Дожидаюсь от вас трекинг номер почтовой службы и инициирую чарджбек в своем банке. Хотя, она тоже не совсем соответствует ситуации. Скорее, играем в очко над зеркальным столом, я говорю "еще", вижу отражение карты, и говорю: "нет, я передумал"

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Double-spending возможен и "успешно" претворяется в жизнь.

 

Не стоит все же называть дабл-спендом простой баг движка казино. Это их недоработка, а не протокола.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Tomcat_MkII, это не баг движка казино, а именно дабл-спенд. Кроме BetCoin Dice атаке подвергалась и SatoshiDice.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Tomcat_MkII, это не баг движка казино, а именно дабл-спенд. Кроме BetCoin Dice атаке подвергалась и SatoshiDice.

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

 

дабл-спенды неподтвержденных транзакций

Само по себе анекдот, как стеклобаня.

Такую атаку теоретически может провернуть любой дядя Вася, не располагая никакими мощностями, отправив сначала низкоприоритетную транзакцию, а получив ответ от добренького казино - вторую с небольшой комиссией, которая на 95+% будет включена в блок, а первая нет. Если выигрыш от такого "дабл-спенда" выше комиссии - то Вася в плюсе.

Подтверждения транзакций и придуманы для того, чтобы исключить подобные махинации. И если казино решили положить болт на безопасность, чтобы увеличить объемы - именно они ССЗБ, а не Накамото-сан :P

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

@Tomcat_MkII, это не баг движка казино, а именно дабл-спенд. Кроме BetCoin Dice атаке подвергалась и SatoshiDice.

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

 

дабл-спенды неподтвержденных транзакций

Само по себе анекдот, как стеклобаня.

Такую атаку теоретически может провернуть любой дядя Вася, не располагая никакими мощностями, отправив сначала низкоприоритетную транзакцию, а получив ответ от добренького казино - вторую с небольшой комиссией, которая на 95+% будет включена в блок, а первая нет. Если выигрыш от такого "дабл-спенда" выше комиссии - то Вася в плюсе.

Подтверждения транзакций и придуманы для того, чтобы исключить подобные махинации. И если казино решили положить болт на безопасность, чтобы увеличить объемы - именно они ССЗБ, а не Накамото-сан :P

 

Вот ответ:

https://bitcointalk.org/index.php?topic=317823.msg3434786#msg3434786

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

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

Да, это их проблема, но дабл-спенд здесь очень даже причём.  - отмена транзакций и повторная трата их выходов и есть double-spending.

Это факт и он зафиксирован. Не надо ничего "додумывать" и усложнять.

Поделиться сообщением


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

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

Поэтому и становится возможным включение в блок второй "отменённой" транзакции. Как вариант.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

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

Да, это их проблема, но дабл-спенд здесь очень даже причём.  - отмена транзакций и повторная трата их выходов и есть double-spending.

Это факт и он зафиксирован. Не надо ничего "додумывать" и усложнять.

 

Я не отрицаю, что ghash.io или кто там это делал, используют жульнические методы. Но проблема не технического характера, а скорее морального. Казино забили на безопасность, чем тут же воспользовались некие прошаренные личности. По сути, казино отправляют деньги в обмен не на реальную ставку, а на обещание ее сделать.

С дабл-спендом обычно ассоциируется атака 51% и подобные методы взлома сети, которых в данной ситуации нет. Отмены транзакции нет, повторной траты тем более, есть дублирующиеся транзакции разным получателям, из которых подтверждается только одна. Одни и те же монеты не тратятся два раза. Кстати, для ghash.io в данной ситуации нет никаких гарантий подтверждения именно нужной транзакции, т.к. блок может найти другой майнер, который включит в него "ненужную" транзакцию и отбросит "нужную".

Поделиться сообщением


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

Нет, не надо валить всё в одну кучу, "атака 51%" и дабл-спенд -  разные вещи, практически никак не связанные между собой. Вернее, правильнее будет сказать, что при 51% сети можно провести дабл-спенд (и многое другое), но при дабл-спенде не нужна мощность 51%, т.к. не мощность тут уже играет решающую роль, а отметка timestamp о включении в блок.

Итого, 51% нужен только если целью является отмена транзакций, уже имеющих несколько подтверждений. Для рассмвтриваемого случая такой доли не нужно, поэтому её и нет в данной ситуации.

 

 

Кстати, для ghash.io в данной ситуации нет никаких гарантий подтверждения именно нужной транзакции, т.к. блок может найти другой майнер, который включит в него "ненужную" транзакцию и отбросит "нужную".

Да, естественно, гарантии нет, но вот вероятность подтверждения "другим майнером", а не ghash.io исчезающе мала.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Итого, 51% нужен только если целью является отмена транзакций, уже имеющих несколько подтверждений. Для рассмвтриваемого случая такой доли не нужно, поэтому её и нет в данной ситуации.

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

 

Да, естественно, гарантии нет, но вот вероятность подтверждения "другим майнером", а не ghash.io исчезающе мала.

Почему? Эта вероятность напрямую зависит от доли мощности сети, а у ghash.io она около 20%, минус те майнеры, которые не обрабатывают бесплатные транзакции. Когда асеги битфури только выходили на рынок - да, бывала и за 40%

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×