Author

Topic: Отмена транзакции btc до 1-го подтверждения (Read 11845 times)

legendary
Activity: 1260
Merit: 1019
Я думаю вторая просто не будет принята
Это вообще-то на совести владельца ноды/пула.
Референсный клиент не принимает транакцию, если её входы уже потрачены другой транзакцией.
Но есть и модификации, например https://github.com/bitcoinxt/bitcoinxt который передаёт транзакцию своим пирам, даже если она конфликтует по входам.
Есть модификации "replace-by-fee", когда нода оставляет у себя ту транзакцию из двух, которая имеет большую майнерскую комиссию.
Но это очень мало кто поддерживает (может и никто вообще), так как определить какая цепочка из транзакций даст майнеру больше вознаграждения достаточно муторно. Ради 0.0001 лишней комсы никто не парится.
Да, и не забывайте, что ноды не хранят вечно транзакции которые не подтверждены в блоках.
Рано или поздно нода забывает про первую транзакцию и принимает вторую.
Xtc
legendary
Activity: 1973
Merit: 1028
;u
Quote
можно:
послать в сеть транзакцию использующую те же входы монет на свой адрес + добавить к ней еще 1 биткоин например, и ++ добавить комиссию побольше - ее первой схватит любой пул сразу - а первая транзакция будет признана ошибочной

наверно так
Я думаю вторая просто не будет принята
newbie
Activity: 84
Merit: 0
если иметь доступ к фильтрации трафика у какого-нибудь крупного Интернет-провайдера и оборудования по майнингу на 30 миллионов долларов, можно сфабриковать цепочку блоков для таргетингового клиента находящегося в подсети Интернет-провайдера, т.е. например сделать так чтобы жертва подумала что к ней пришли деньги, хотя по-настоящему вся цепь сфабрикована в изоляции пре-майнингом.

Но в этой схеме мы как-то расчитывали что на премайн фальшивой цепи уйдёт достаточно много времени (где-то за 14 дней оборудованием для майнинга за 30 миллионов долларов можно создать около 3-х фальшивых блоков).

И опять же это слишком сложная форма атаки т.к. для этого нужно знать какие блоки известны биткоин-клиенту жертвы. А если жертва в течении этих 14 дней захочет совершить транзакцию?
legendary
Activity: 1624
Merit: 1098
А почему тогда многие биржи и другие сервисы используют политику нескольких подтверждений? Вплоть до 5-6?
Или это очередные их "перехваты" в пользование наших средств? Что думаете по этому поводу?

На ексмо нужно одно подтверждение (для торговли - обмена) но быстренько вывести обратно не получется надо ждать 4 под.
Страхуют себя... а что же еще?
Иногда попадаешь на разницу курсов на разных биржах... уже весь довольный... но пока ети подтверждения пройдут- за пол часа уже все может поменятся и получается только даром FEE платил
hero member
Activity: 672
Merit: 500
Бывает что из неотесанных и малопонимающих новичков получаются очень достойные люди если им помочь. Мне в жизни помогали казалось бы случайные люди, и теперь я возвращаю долг обществу.
Согласен. Главное интересные примеры давать чтобы заинтересовать. Практическое применение. Ну как в школе, помните треды с учителями: "Где мне эта алгебра в жизни пригодится?!"  Wink
Если раскрыть практическое применение, то придется раскрыть схему захвата контроля управленя над узлом. Но что-то мне подсказывает что не стоит это делать, т.к. среди пользователей встречается откровенный сброд.
newbie
Activity: 20
Merit: 0
Какие шансы есть и какие технические возможности надо иметь чтобы отменить транзакцию bitcoin до того как сеть даст одно подтверждение?
Допустим, при условии, если начать активные действия через 3 минуты после совершения транзацкии btc.

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

наверно так

Неплохая идея... Проверим опытным путем?
legendary
Activity: 1554
Merit: 1008
Какие шансы есть и какие технические возможности надо иметь чтобы отменить транзакцию bitcoin до того как сеть даст одно подтверждение?
Допустим, при условии, если начать активные действия через 3 минуты после совершения транзацкии btc.

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

наверно так
newbie
Activity: 14
Merit: 0
Да что вы распинаетесь, объясняете Smiley Время тратите только... Кто понимает, тот понимает чуть работы...
Бывает что из неотесанных и малопонимающих новичков получаются очень достойные люди если им помочь. Мне в жизни помогали казалось бы случайные люди, и теперь я возвращаю долг обществу.
Согласен. Главное интересные примеры давать чтобы заинтересовать. Практическое применение. Ну как в школе, помните треды с учителями: "Где мне эта алгебра в жизни пригодится?!"  Wink
hero member
Activity: 672
Merit: 500
Да что вы распинаетесь, объясняете Smiley Время тратите только... Кто понимает, тот понимает чуть работы...
Бывает что из неотесанных и малопонимающих новичков получаются очень достойные люди если им помочь. Мне в жизни помогали казалось бы случайные люди, и теперь я возвращаю долг обществу.
newbie
Activity: 28
Merit: 0
Да что вы распинаетесь, объясняете Smiley Время тратите только... Кто понимает, тот понимает чуть работы...
hero member
Activity: 672
Merit: 500
А почему тогда многие биржи и другие сервисы используют политику нескольких подтверждений? Вплоть до 5-6?
Или это очередные их "перехваты" в пользование наших средств? Что думаете по этому поводу?
Вы где-то не совсем корретно поняли. Вообще говоря, абсолютной защиты от двойной траты нет -  уже был прецедент хард-форка цепи биткоина. Вся защита от двойной траты строится на сложности поиска блоков, поэтому чем длинее цепь, тем сложнее ее перебить более длинной цепочкой блоков. Поэтому логично что чем больше блоков в подтверждении, тем она надежнее (считается что 6 достаточно, но многие некоторые сервисы уже обрабатывают с 3-х подтверждении, а некоторые даже с 1).
hero member
Activity: 826
Merit: 1004
это как раз защита от двойной траты
newbie
Activity: 14
Merit: 0
А почему тогда многие биржи и другие сервисы используют политику нескольких подтверждений? Вплоть до 5-6?
Или это очередные их "перехваты" в пользование наших средств? Что думаете по этому поводу?
hero member
Activity: 672
Merit: 500
Какие шансы есть и какие технические возможности надо иметь чтобы отменить транзакцию bitcoin до того как сеть даст одно подтверждение?
Допустим, при условии, если начать активные действия через 3 минуты после совершения транзацкии btc.
Словосочетание "отменить транзакцию" неприменимо для биткоина и сети. Об отмене транзакции можно говорить лишь в рамках работы сервиса, т.е. обработчика транзакции.

Транзакция отправленная в сеть разлетается по клиентам и доходят до майнеров. Включение транзакции в блок майнерами даст подтверждение.

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

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

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

А если просто послать транзакцию, а после через 3 минуты начинать активные действия наобум, то тут уже скорее игра "на удачу" (много факторов, как повезет).

---
* под захватом контроля управленя над узлами принимающего сервиса не имеется ввиду физический контроль, существуют способы удаленного захвата
newbie
Activity: 30
Merit: 0
Какие шансы есть и какие технические возможности надо иметь чтобы отменить транзакцию bitcoin до того как сеть даст одно подтверждение?
Допустим, при условии, если начать активные действия через 3 минуты после совершения транзацкии btc.
Jump to: