Format.C^ Posted 30 Oct 2013, 18:32 Posted 30 Oct 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 Posted 30 Oct 2013, 19:32 Posted 30 Oct 2013, 19:32 Занимательно. Вопрос, можно ли считать нижеследующее мошенничеством? По результату этой ответной транзакции определяются свои выигрышные ставки, и включаются соответствующие транзакции в свой блок. Остальные транзакции "отменяются", повторно тратя их входы и пересылая на свой адрес.
SLAVON Posted 30 Oct 2013, 22:42 Posted 30 Oct 2013, 22:42 Эмм.. я немного не понял механизм, если вы не против попытаюсь привести пример из жизни, а вы уж скажите так или нет. В общем ситуация такая: есть 2 банка - один другому пересылает деньги - они договорились и 1 банк уже сделал у себя пометочку на бухгалтерских счетах (прислано Х бабосов) вот только 2-й банк бабосы не шлет, 1-й забил на это дело и делает следующую пометку на бух.счетах (присланные Х бабосы) отправить банку 2, и отправляет... как-то так... Какой-то абсурд если честно получается, или я не так понял?
bee7 Posted 31 Oct 2013, 00:00 Posted 31 Oct 2013, 00:00 @SLAVON нет, скорее другая аналогия если с банками: вы держите онлайн-магазин, я делаю в нем покупку. Дожидаюсь от вас трекинг номер почтовой службы и инициирую чарджбек в своем банке. Хотя, она тоже не совсем соответствует ситуации. Скорее, играем в очко над зеркальным столом, я говорю "еще", вижу отражение карты, и говорю: "нет, я передумал"
Tomcat_MkII Posted 1 Nov 2013, 07:05 Posted 1 Nov 2013, 07:05 Double-spending возможен и "успешно" претворяется в жизнь. Не стоит все же называть дабл-спендом простой баг движка казино. Это их недоработка, а не протокола.
Format.C^ Posted 1 Nov 2013, 07:14 Author Posted 1 Nov 2013, 07:14 @Tomcat_MkII, это не баг движка казино, а именно дабл-спенд. Кроме BetCoin Dice атаке подвергалась и SatoshiDice.
Tomcat_MkII Posted 1 Nov 2013, 07:35 Posted 1 Nov 2013, 07:35 @Tomcat_MkII, это не баг движка казино, а именно дабл-спенд. Кроме BetCoin Dice атаке подвергалась и SatoshiDice. При чем здесь дабл-спенд? Если казино работают с неподтвержденными транзакциями, это их проблемы, а не сети. дабл-спенды неподтвержденных транзакций Само по себе анекдот, как стеклобаня. Такую атаку теоретически может провернуть любой дядя Вася, не располагая никакими мощностями, отправив сначала низкоприоритетную транзакцию, а получив ответ от добренького казино - вторую с небольшой комиссией, которая на 95+% будет включена в блок, а первая нет. Если выигрыш от такого "дабл-спенда" выше комиссии - то Вася в плюсе. Подтверждения транзакций и придуманы для того, чтобы исключить подобные махинации. И если казино решили положить болт на безопасность, чтобы увеличить объемы - именно они ССЗБ, а не Накамото-сан :P
fsb4000 Posted 1 Nov 2013, 08:11 Posted 1 Nov 2013, 08:11 @Tomcat_MkII, это не баг движка казино, а именно дабл-спенд. Кроме BetCoin Dice атаке подвергалась и SatoshiDice. При чем здесь дабл-спенд? Если казино работают с неподтвержденными транзакциями, это их проблемы, а не сети. дабл-спенды неподтвержденных транзакций Само по себе анекдот, как стеклобаня. Такую атаку теоретически может провернуть любой дядя Вася, не располагая никакими мощностями, отправив сначала низкоприоритетную транзакцию, а получив ответ от добренького казино - вторую с небольшой комиссией, которая на 95+% будет включена в блок, а первая нет. Если выигрыш от такого "дабл-спенда" выше комиссии - то Вася в плюсе. Подтверждения транзакций и придуманы для того, чтобы исключить подобные махинации. И если казино решили положить болт на безопасность, чтобы увеличить объемы - именно они ССЗБ, а не Накамото-сан :P Вот ответ: https://bitcointalk.org/index.php?topic=317823.msg3434786#msg3434786 по идее, вторая транзакция с комиссией должна игнорироваться... Так что мутный момент тут есть..
Format.C^ Posted 1 Nov 2013, 08:15 Author Posted 1 Nov 2013, 08:15 При чем здесь дабл-спенд? Если казино работают с неподтвержденными транзакциями, это их проблемы, а не сети. Да, это их проблема, но дабл-спенд здесь очень даже причём. - отмена транзакций и повторная трата их выходов и есть double-spending. Это факт и он зафиксирован. Не надо ничего "додумывать" и усложнять.
Format.C^ Posted 1 Nov 2013, 08:26 Author Posted 1 Nov 2013, 08:26 по идее, вторая транзакция с комиссией должна игнорироваться... Так что мутный момент тут есть.. Возможно "мутный момент" заключается в том, что ghash.io подтверждает абсолютно все транзакции, даже с низким приоритетом и без комиссии, которые другие пулы могут обрабатывать по остаточному принципу, в последнюю очередь. Вот, например, пример, когда транзакции с нулевой комиссией подтверждались только пулом ghash.io Поэтому и становится возможным включение в блок второй "отменённой" транзакции. Как вариант.
Tomcat_MkII Posted 1 Nov 2013, 09:11 Posted 1 Nov 2013, 09:11 При чем здесь дабл-спенд? Если казино работают с неподтвержденными транзакциями, это их проблемы, а не сети. Да, это их проблема, но дабл-спенд здесь очень даже причём. - отмена транзакций и повторная трата их выходов и есть double-spending. Это факт и он зафиксирован. Не надо ничего "додумывать" и усложнять. Я не отрицаю, что ghash.io или кто там это делал, используют жульнические методы. Но проблема не технического характера, а скорее морального. Казино забили на безопасность, чем тут же воспользовались некие прошаренные личности. По сути, казино отправляют деньги в обмен не на реальную ставку, а на обещание ее сделать. С дабл-спендом обычно ассоциируется атака 51% и подобные методы взлома сети, которых в данной ситуации нет. Отмены транзакции нет, повторной траты тем более, есть дублирующиеся транзакции разным получателям, из которых подтверждается только одна. Одни и те же монеты не тратятся два раза. Кстати, для ghash.io в данной ситуации нет никаких гарантий подтверждения именно нужной транзакции, т.к. блок может найти другой майнер, который включит в него "ненужную" транзакцию и отбросит "нужную". 1
Format.C^ Posted 1 Nov 2013, 09:42 Author Posted 1 Nov 2013, 09:42 С дабл-спендом обычно ассоциируется атака 51% и подобные методы взлома сети, которых в данной ситуации нет. Нет, не надо валить всё в одну кучу, "атака 51%" и дабл-спенд - разные вещи, практически никак не связанные между собой. Вернее, правильнее будет сказать, что при 51% сети можно провести дабл-спенд (и многое другое), но при дабл-спенде не нужна мощность 51%, т.к. не мощность тут уже играет решающую роль, а отметка timestamp о включении в блок. Итого, 51% нужен только если целью является отмена транзакций, уже имеющих несколько подтверждений. Для рассмвтриваемого случая такой доли не нужно, поэтому её и нет в данной ситуации. Кстати, для ghash.io в данной ситуации нет никаких гарантий подтверждения именно нужной транзакции, т.к. блок может найти другой майнер, который включит в него "ненужную" транзакцию и отбросит "нужную". Да, естественно, гарантии нет, но вот вероятность подтверждения "другим майнером", а не ghash.io исчезающе мала.
Tomcat_MkII Posted 1 Nov 2013, 11:00 Posted 1 Nov 2013, 11:00 Итого, 51% нужен только если целью является отмена транзакций, уже имеющих несколько подтверждений. Для рассмвтриваемого случая такой доли не нужно, поэтому её и нет в данной ситуации. Согласен, но рассматриваемый случай - в принципе вопиющее... разгильдяйство и безответственность, т.к. возможность дублирования неподтвержденной транзакции должна быть известна всем, кто имеет реальные обороты в биткойнах. Да, естественно, гарантии нет, но вот вероятность подтверждения "другим майнером", а не ghash.io исчезающе мала. Почему? Эта вероятность напрямую зависит от доли мощности сети, а у ghash.io она около 20%, минус те майнеры, которые не обрабатывают бесплатные транзакции. Когда асеги битфури только выходили на рынок - да, бывала и за 40%
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now