Format.C^ Опубликовано 30 окт 2013, 18:32 Поделиться Опубликовано 30 окт 2013, 18:32 Double-spending возможен и "успешно" претворяется в жизнь. В сентябре произошла успешная атака такого рода против казино BetCoin Dice.Схема простая: атакующий делает ставки, отправляя транзакции без комиссии. Поскольку они без комисии и с низким приоритетом, маловероятно, что какой-либо пул включит их в блок. Зато по сети такие транзакции распространяются нормально.Казино видит неподтвержденную ставку и отправляет обратную транзакцию, либо с выигрышем, либо с мелочью, означающей проигрыш.По результату этой ответной транзакции определяются свои выигрышные ставки, и включаются соответствующие транзакции в свой блок. Остальные транзакции "отменяются", повторно тратя их входы и пересылая на свой адрес. Но тогда у атакующего были свои крупные мощности (https://blockchain.info/address/1MA7CKbWMyKdPkmsbnwmfeLh1hYy5A3gy8), что позволило осуществлять дабл-спенды неподтвержденных транзакций. Пройдясь по адресам можно выяснить, что это были проделки ghash.io. Вот, например, один из адресов, участвовавших в этом деле 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/48168cf655d0ac0c7c2733288ca72e69ecd515a9a0ab2821087eb33deb7c6962UPD.Нашлось и начало. 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. 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
Xtc Опубликовано 30 окт 2013, 19:32 Поделиться Опубликовано 30 окт 2013, 19:32 Занимательно. Вопрос, можно ли считать нижеследующее мошенничеством? По результату этой ответной транзакции определяются свои выигрышные ставки, и включаются соответствующие транзакции в свой блок. Остальные транзакции "отменяются", повторно тратя их входы и пересылая на свой адрес. Ссылка на комментарий Поделиться на другие сайты Поделиться
Format.C^ Опубликовано 30 окт 2013, 19:36 Автор Поделиться Опубликовано 30 окт 2013, 19:36 @Xtc, ну а почему нет? Ссылка на комментарий Поделиться на другие сайты Поделиться
SLAVON Опубликовано 30 окт 2013, 22:42 Поделиться Опубликовано 30 окт 2013, 22:42 Эмм.. я немного не понял механизм, если вы не против попытаюсь привести пример из жизни, а вы уж скажите так или нет. В общем ситуация такая: есть 2 банка - один другому пересылает деньги - они договорились и 1 банк уже сделал у себя пометочку на бухгалтерских счетах (прислано Х бабосов) вот только 2-й банк бабосы не шлет, 1-й забил на это дело и делает следующую пометку на бух.счетах (присланные Х бабосы) отправить банку 2, и отправляет... как-то так... Какой-то абсурд если честно получается, или я не так понял? Ссылка на комментарий Поделиться на другие сайты Поделиться
bee7 Опубликовано 31 окт 2013, 00:00 Поделиться Опубликовано 31 окт 2013, 00:00 @SLAVON нет, скорее другая аналогия если с банками: вы держите онлайн-магазин, я делаю в нем покупку. Дожидаюсь от вас трекинг номер почтовой службы и инициирую чарджбек в своем банке. Хотя, она тоже не совсем соответствует ситуации. Скорее, играем в очко над зеркальным столом, я говорю "еще", вижу отражение карты, и говорю: "нет, я передумал" Ссылка на комментарий Поделиться на другие сайты Поделиться
Tomcat_MkII Опубликовано 1 ноя 2013, 07:05 Поделиться Опубликовано 1 ноя 2013, 07:05 Double-spending возможен и "успешно" претворяется в жизнь. Не стоит все же называть дабл-спендом простой баг движка казино. Это их недоработка, а не протокола. Ссылка на комментарий Поделиться на другие сайты Поделиться
Format.C^ Опубликовано 1 ноя 2013, 07:14 Автор Поделиться Опубликовано 1 ноя 2013, 07:14 @Tomcat_MkII, это не баг движка казино, а именно дабл-спенд. Кроме BetCoin Dice атаке подвергалась и SatoshiDice. Ссылка на комментарий Поделиться на другие сайты Поделиться
Tomcat_MkII Опубликовано 1 ноя 2013, 07:35 Поделиться Опубликовано 1 ноя 2013, 07:35 @Tomcat_MkII, это не баг движка казино, а именно дабл-спенд. Кроме BetCoin Dice атаке подвергалась и SatoshiDice. При чем здесь дабл-спенд? Если казино работают с неподтвержденными транзакциями, это их проблемы, а не сети. дабл-спенды неподтвержденных транзакций Само по себе анекдот, как стеклобаня. Такую атаку теоретически может провернуть любой дядя Вася, не располагая никакими мощностями, отправив сначала низкоприоритетную транзакцию, а получив ответ от добренького казино - вторую с небольшой комиссией, которая на 95+% будет включена в блок, а первая нет. Если выигрыш от такого "дабл-спенда" выше комиссии - то Вася в плюсе. Подтверждения транзакций и придуманы для того, чтобы исключить подобные махинации. И если казино решили положить болт на безопасность, чтобы увеличить объемы - именно они ССЗБ, а не Накамото-сан :P Ссылка на комментарий Поделиться на другие сайты Поделиться
fsb4000 Опубликовано 1 ноя 2013, 08:11 Поделиться Опубликовано 1 ноя 2013, 08:11 @Tomcat_MkII, это не баг движка казино, а именно дабл-спенд. Кроме BetCoin Dice атаке подвергалась и SatoshiDice. При чем здесь дабл-спенд? Если казино работают с неподтвержденными транзакциями, это их проблемы, а не сети. дабл-спенды неподтвержденных транзакций Само по себе анекдот, как стеклобаня. Такую атаку теоретически может провернуть любой дядя Вася, не располагая никакими мощностями, отправив сначала низкоприоритетную транзакцию, а получив ответ от добренького казино - вторую с небольшой комиссией, которая на 95+% будет включена в блок, а первая нет. Если выигрыш от такого "дабл-спенда" выше комиссии - то Вася в плюсе. Подтверждения транзакций и придуманы для того, чтобы исключить подобные махинации. И если казино решили положить болт на безопасность, чтобы увеличить объемы - именно они ССЗБ, а не Накамото-сан :P Вот ответ: https://bitcointalk.org/index.php?topic=317823.msg3434786#msg3434786 по идее, вторая транзакция с комиссией должна игнорироваться... Так что мутный момент тут есть.. Ссылка на комментарий Поделиться на другие сайты Поделиться
Format.C^ Опубликовано 1 ноя 2013, 08:15 Автор Поделиться Опубликовано 1 ноя 2013, 08:15 При чем здесь дабл-спенд? Если казино работают с неподтвержденными транзакциями, это их проблемы, а не сети. Да, это их проблема, но дабл-спенд здесь очень даже причём. - отмена транзакций и повторная трата их выходов и есть double-spending. Это факт и он зафиксирован. Не надо ничего "додумывать" и усложнять. Ссылка на комментарий Поделиться на другие сайты Поделиться
Format.C^ Опубликовано 1 ноя 2013, 08:26 Автор Поделиться Опубликовано 1 ноя 2013, 08:26 по идее, вторая транзакция с комиссией должна игнорироваться... Так что мутный момент тут есть.. Возможно "мутный момент" заключается в том, что ghash.io подтверждает абсолютно все транзакции, даже с низким приоритетом и без комиссии, которые другие пулы могут обрабатывать по остаточному принципу, в последнюю очередь. Вот, например, пример, когда транзакции с нулевой комиссией подтверждались только пулом ghash.io Поэтому и становится возможным включение в блок второй "отменённой" транзакции. Как вариант. Ссылка на комментарий Поделиться на другие сайты Поделиться
Tomcat_MkII Опубликовано 1 ноя 2013, 09:11 Поделиться Опубликовано 1 ноя 2013, 09:11 При чем здесь дабл-спенд? Если казино работают с неподтвержденными транзакциями, это их проблемы, а не сети. Да, это их проблема, но дабл-спенд здесь очень даже причём. - отмена транзакций и повторная трата их выходов и есть double-spending. Это факт и он зафиксирован. Не надо ничего "додумывать" и усложнять. Я не отрицаю, что ghash.io или кто там это делал, используют жульнические методы. Но проблема не технического характера, а скорее морального. Казино забили на безопасность, чем тут же воспользовались некие прошаренные личности. По сути, казино отправляют деньги в обмен не на реальную ставку, а на обещание ее сделать. С дабл-спендом обычно ассоциируется атака 51% и подобные методы взлома сети, которых в данной ситуации нет. Отмены транзакции нет, повторной траты тем более, есть дублирующиеся транзакции разным получателям, из которых подтверждается только одна. Одни и те же монеты не тратятся два раза. Кстати, для ghash.io в данной ситуации нет никаких гарантий подтверждения именно нужной транзакции, т.к. блок может найти другой майнер, который включит в него "ненужную" транзакцию и отбросит "нужную". 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Format.C^ Опубликовано 1 ноя 2013, 09:42 Автор Поделиться Опубликовано 1 ноя 2013, 09:42 С дабл-спендом обычно ассоциируется атака 51% и подобные методы взлома сети, которых в данной ситуации нет. Нет, не надо валить всё в одну кучу, "атака 51%" и дабл-спенд - разные вещи, практически никак не связанные между собой. Вернее, правильнее будет сказать, что при 51% сети можно провести дабл-спенд (и многое другое), но при дабл-спенде не нужна мощность 51%, т.к. не мощность тут уже играет решающую роль, а отметка timestamp о включении в блок. Итого, 51% нужен только если целью является отмена транзакций, уже имеющих несколько подтверждений. Для рассмвтриваемого случая такой доли не нужно, поэтому её и нет в данной ситуации. Кстати, для ghash.io в данной ситуации нет никаких гарантий подтверждения именно нужной транзакции, т.к. блок может найти другой майнер, который включит в него "ненужную" транзакцию и отбросит "нужную". Да, естественно, гарантии нет, но вот вероятность подтверждения "другим майнером", а не ghash.io исчезающе мала. Ссылка на комментарий Поделиться на другие сайты Поделиться
Tomcat_MkII Опубликовано 1 ноя 2013, 11:00 Поделиться Опубликовано 1 ноя 2013, 11:00 Итого, 51% нужен только если целью является отмена транзакций, уже имеющих несколько подтверждений. Для рассмвтриваемого случая такой доли не нужно, поэтому её и нет в данной ситуации. Согласен, но рассматриваемый случай - в принципе вопиющее... разгильдяйство и безответственность, т.к. возможность дублирования неподтвержденной транзакции должна быть известна всем, кто имеет реальные обороты в биткойнах. Да, естественно, гарантии нет, но вот вероятность подтверждения "другим майнером", а не ghash.io исчезающе мала. Почему? Эта вероятность напрямую зависит от доли мощности сети, а у ghash.io она около 20%, минус те майнеры, которые не обрабатывают бесплатные транзакции. Когда асеги битфури только выходили на рынок - да, бывала и за 40% Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти