Pages:
Author

Topic: Статус: в противоречии (Read 6303 times)

newbie
Activity: 6
Merit: 0
November 16, 2015, 07:30:47 AM
#31
Кто юзает bitcoin core - обновитесь до последней версии и запустите клиент с ключем -reindex. Это должно все исправить, даже если транза все еще висит неподтвержденной в блокчейне. На будущее - транзы с минимальной (или близкой к ней) комиссией "зависают" намного чаще. Проблема, я так понимаю, в неправильном значении block lock time при отправке транзы. Косвенно в этом виноваты майнеры, отдающие сети блоки bip-62... Не знаю, кто и где тут увидел ошибку в подписи транз...
legendary
Activity: 1260
Merit: 1019
October 14, 2015, 02:01:45 PM
#30
Но он именно исходную транзакцию 1в1 пытается повторно отправлять если она долго не подтверждается. Если вместо нее уже подтвердился модифицированый дубль, то понятное дело у него ничего не получится - все полные ноды и майнеры будут ее отфутболивать.
Т.е. дважды не пошлет, только зря в сеть спамить будет переодическими повторами.
Я думаю, не будет спамить. Он поставит транзакции статус "в противоречии" и прекратит попытки отправки.
Ну, точно я не смотрел. Но это ведь непринципиально.
Есть ли жизнь на Марсе, нет ли жизни на Марсе -- это науке неизвестно
http://www.youtube.com/watch?v=fmOhfwiqRo4
Факт в том, что перепосылать неподтвержденную транзакцию в этом случае бессмысленно.
legendary
Activity: 1200
Merit: 1021
October 14, 2015, 12:37:16 PM
#29
Но он именно исходную транзакцию 1в1 пытается повторно отправлять если она долго не подтверждается. Если вместо нее уже подтвердился модифицированый дубль, то понятное дело у него ничего не получится - все полные ноды и майнеры будут ее отфутболивать.
Т.е. дважды не пошлет, только зря в сеть спамить будет переодическими повторами.
Я думаю, не будет спамить. Он поставит транзакции статус "в противоречии" и прекратит попытки отправки.
hero member
Activity: 894
Merit: 1001
October 14, 2015, 11:58:09 AM
#28
Долбиться ничего не должно само по себе.
Не, ну можно и такой алгоритм реализовать. Но я бы поостерегся пользоваться таким клиентом.
Так как существенно возрастает вероятность того, что отправитель пошлет баблосы дважды.


Вообще оригинальный толстый кошелек (Bitcoin Core) перепосылает регулярно не дошедшие(не подтверженные) транзакции. Но он именно исходную транзакцию 1в1 пытается повторно отправлять если она долго не подтверждается. Если вместо нее уже подтвердился модифицированый дубль, то понятное дело у него ничего не получится - все полные ноды и майнеры будут ее отфутболивать.
Т.е. дважды не пошлет, только зря в сеть спамить будет переодическими повторами.
legendary
Activity: 1260
Merit: 1019
October 14, 2015, 07:18:44 AM
#27
Да, спасибо за разъяснение. Пойду бить морду отправителю.
Правильное, разумное решение. Поаккуратнее там. Гляди чтобы тебе не досталось

Quote
Думаю биткоин переходная фаза более продвинутой системы, надеюсь твоя
компетенция будет участвовать в её проектировании, а не ломе.
Увы. Ничего более прогрессивного, чем банальная централизация я не вижу.
newbie
Activity: 7
Merit: 0
October 14, 2015, 06:59:40 AM
#26

Так ясно?


Да, спасибо за разъяснение. Пойду бить морду отправителю.

Думаю биткоин переходная фаза более продвинутой системы, надеюсь твоя компетенция будет участвовать в её проектировании, а не ломе.
legendary
Activity: 1260
Merit: 1019
October 14, 2015, 06:03:41 AM
#25
Если отправитель не планировал заниматься размножением "неразменных пятаков", а просто послал кому то перевод, соседи отправили измененную транзакцию. т.е. получается "словил двойную трату". Или отправитель тоже в чем то виноват?
Отправитель ни в чем не виноват.
Хотя само понятие "виноват" или "не виноват" как вы определяете?
В обычном мире это всегда определяет "третья сторона".
То есть приходят Маша и Ваня к воспитательнице: мол Маша машинку сломала, а Ваня её за косу дернул.
Кто виноват? И МарьВанна решает спор.
В биткойне нет "третьей стороны".
В качестве "арбитра" в спорах выступает сама сеть.
Есть в блокчейне транзакция - это значит отправитель её послал.
Нет в блокчейне транзакции - на нет и суда нет.
Выходит, что отправитель виноват в том, что не удостоверился что его транзакция дошла до получателя.

Так ясно?

Quote
В итоге я так и не понял, увижу биток который мне отправляли или нет и кто суко виноват.
Обращайтесь в суппорт. Жалуйтесь что вам бабло не дошло.
Тут даже если найдёте "виноватого" - то все равно нет МарьВанны, которая его в угол поставит.

Quote
А телемастер вообще засранец, поломал все что и так туго работало ещё и в ООН отправляет возврат битка запрашивать.
Ну а как же вас еще уму-разуму учить?
Если на любые неподкрепленные действиями доводы биткойнеры огрызаются мол "да биткойн люди поумнее тебя разрабатывали!"
newbie
Activity: 7
Merit: 0
October 14, 2015, 05:40:21 AM
#24
Ничего не исчезает.
Я не совсем понимаю что значит "словил двойную трату"

Телемастер, ты писал выше:
Quote
Берем транзакцию, которая пришла к нам от одного из наших соседей.
Меняем в ней S на минус S
И остальным соседям отправляем не оригинал, а измененную транзакцию.

Если отправитель не планировал заниматься размножением "неразменных пятаков", а просто послал кому то перевод, соседи отправили измененную транзакцию. т.е. получается "словил двойную трату". Или отправитель тоже в чем то виноват?

В итоге я так и не понял, увижу биток который мне отправляли или нет и кто суко виноват. А телемастер вообще засранец, поломал все что и так туго работало ещё и в ООН отправляет возврат битка запрашивать.
legendary
Activity: 1260
Merit: 1019
October 14, 2015, 05:16:18 AM
#23
Отправитель послал >> словил двойную трату >> транзакция не принята сетью >> биток исчез?  
Его больше не увидит ни отправитель ни получатель, так что ли?
Ничего не исчезает.
Я не совсем понимаю что значит "словил двойную трату"

[Лирическое отступление]
Вы читали "понедельник начинается в субботу"?
Там был "неразменный пятак" - им платишь, а он обратно к тебе возвращается.
Вот это и есть "двойная трата".
Но отправитель вовсе и не хочет от такого избавляться
[Конец лирического отступления]

Ребят, ну прежде чем в тонкостях протокола разбираться - вы базовые вещи усвойте.
А то мы с вами общаемся как дикарь с телемастером.
Дикарь готов миллион вопросов задать как диктора в ящик засовывают - по частям или целиком.
newbie
Activity: 7
Merit: 0
October 14, 2015, 05:10:17 AM
#22

Quote
Неотправленная транзакция в кошелек не возвращается.
Считайте, что её вообще не было.

Отправитель послал >> словил двойную трату >> транзакция не принята сетью >> биток исчез?  Его больше не увидит ни отправитель ни получатель, так что ли?
legendary
Activity: 1260
Merit: 1019
October 14, 2015, 04:47:15 AM
#21
Ещё пара вопросов - у отправителя автоматом с кошелька должна идти повторная отправка
Вы всё время забываете про децентрализацию и либертарианскую идеологию битка.
По русски это: Кто как хочет - так и дрочит
Отправитель может любым кошельком пользоваться, как перепосылающим транзакции, так и нет.
Потому что в биткойне нет условного "Центробанка", который может настучать по башке, если отправитель что-то пообещал отправить, а до получателя баблосы не доехали.

Quote
или ему просто вернется в кошелек и он руками должен будет послать?
Неотправленная транзакция в кошелек не возвращается.
Считайте, что её вообще не было.

Quote
Слышал что в последней версии кошелька автоматом вычищаются убитые транзакции и повторно шлется или что то типа того. В случае с api blockhain info и другими тонкими клиентами -  автоматом будет долбиться пока я деньги не увижу в своем кошельке или через саппорты всё надо решать?
Долбиться ничего не должно само по себе.
Не, ну можно и такой алгоритм реализовать. Но я бы поостерегся пользоваться таким клиентом.
Так как существенно возрастает вероятность того, что отправитель пошлет баблосы дважды.

Да, решать через саппорты. Мне так кажется. Хотя, как я говорил выше - вы имеете право дрочить как хотите.
Можете в ООН писать. Или на сайт центробанка. Или в полицию заявление нести - пусть они выясняют.
newbie
Activity: 7
Merit: 0
October 14, 2015, 04:38:15 AM
#20
Объясните, если не сложно, варианты завершения событий

Мне какой то сайт отправил биток, отдал номер транзакции, я проверяю по номеру транзакции поступление:
http://btc.blockr.io  пишет - транзакции не существует
https://blockchain.info  пишет -  удалил транзакцию и что отправитель замечен в двойной отправке.

Битка в кошельке соответственно не вижу

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

На сообщения на сайте bc.i о двойной отправке внимания не обращайте. Они не значат ровным счетом ничего.

Спасибо amaclin за раскладку.

Ещё пара вопросов - у отправителя автоматом с кошелька должна идти повторная отправка или ему просто вернется в кошелек и он руками должен будет послать?
Слышал что в последней версии кошелька автоматом вычищаются убитые транзакции и повторно шлется или что то типа того. В случае с api blockhain info и другими тонкими клиентами -  автоматом будет долбиться пока я деньги не увижу в своем кошельке или через саппорты всё надо решать?
legendary
Activity: 1512
Merit: 1125
Swapzone
October 14, 2015, 03:43:05 AM
#19
amaclin, так это ты весь этот шухер учинил ?   Undecided

из чата BTC-e -

yghbn: МОДЕРАТОР хоть один в чате естьHuh
ustylife: про новую атаку на биткоин слышали?
yghbn: ustylife, Страдаем уже. Битки пропали даже с блокчейна...
31078: ustylife, даже прочувствовали !
yghbn: Кто может объяснить: был перевод битков на адрес кошеля бтц-е... Сначала транзакция была неподтверждённой, а сейчас она вообще из блокчейна пропала... Как такое возможноHuh
yghbn: Больше 6 часов уже прошло.
admin: yghbn, тут подробно все описано - https://bitcointalksearch.org/topic/--1200306
yghbn: admin, Сейчас почитаю. Но скажите, я потерял свой перевод или он придёт с большой задержкойHuh

была такая же тема у меня только пропала транза с биржи, написал в саппорт, видимо сделали рескан и со второго раза все пришло, теперь нужно быть внимательным и держать руку на пульсе=)
legendary
Activity: 1260
Merit: 1019
October 14, 2015, 03:29:26 AM
#18
Объясните, если не сложно, варианты завершения событий

Мне какой то сайт отправил биток, отдал номер транзакции, я проверяю по номеру транзакции поступление:
http://btc.blockr.io  пишет - транзакции не существует
https://blockchain.info  пишет -  удалил транзакцию и что отправитель замечен в двойной отправке.

Битка в кошельке соответственно не вижу

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

На сообщения на сайте bc.i о двойной отправке внимания не обращайте. Они не значат ровным счетом ничего.
newbie
Activity: 7
Merit: 0
October 14, 2015, 03:10:22 AM
#17
Объясните, если не сложно, варианты завершения событий

Мне какой то сайт отправил биток, отдал номер транзакции, я проверяю по номеру транзакции поступление:
http://btc.blockr.io  пишет - транзакции не существует
https://blockchain.info  пишет -  удалил транзакцию и что отправитель замечен в двойной отправке.

Битка в кошельке соответственно не вижу

Куда и когда упадет в итоге биток?
legendary
Activity: 3108
Merit: 1359
October 10, 2015, 11:08:57 AM
#16
Если вы - принимающий платежи сервис, то

Code:
diff --git a/src/main.cpp b/src/main.cpp
index 1df4c9f..d3ac137 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -4262,7 +4262,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
         pfrom->PushMessage("headers", vHeaders);
     }
 
-
+/*
     else if (strCommand == "tx")
     {
         vector vWorkQueue;
@@ -4385,7 +4385,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
             if (nDoS > 0)
                 Misbehaving(pfrom->GetId(), nDoS);
         }
-    }
+    }*/
 
 
     else if (strCommand == "headers" && !fImporting && !fReindex) // Ignore headers received while importing

и ваш вопрос решен навсегда.
hero member
Activity: 770
Merit: 500
October 09, 2015, 06:20:09 PM
#15
amaclin, так это ты весь этот шухер учинил ?   Undecided

из чата BTC-e -

yghbn: МОДЕРАТОР хоть один в чате естьHuh
ustylife: про новую атаку на биткоин слышали?
yghbn: ustylife, Страдаем уже. Битки пропали даже с блокчейна...
31078: ustylife, даже прочувствовали !
yghbn: Кто может объяснить: был перевод битков на адрес кошеля бтц-е... Сначала транзакция была неподтверждённой, а сейчас она вообще из блокчейна пропала... Как такое возможноHuh
yghbn: Больше 6 часов уже прошло.
admin: yghbn, тут подробно все описано - https://bitcointalksearch.org/topic/--1200306
yghbn: admin, Сейчас почитаю. Но скажите, я потерял свой перевод или он придёт с большой задержкойHuh
hero member
Activity: 894
Merit: 1001
October 08, 2015, 09:03:04 PM
#14
Естественно можно - т.к. на самом деле монеты вообще никуда и не ушли, если транзакция так и не была подтверждена. Надо лишь исправить некорректных их учет в своей локальной копии кошелька - для этого заново пересканировать свой кошелек (чтобы он привел транзакции в нем в соответсвие с теми что есть в блоках).
Или откатится на бекап-версию сделанную до этого платежа.

Хуже если не отправляли, а получаем такой платеж - тогда теребить отправителя, чтобы он проверил что монеты по факту не ушли и отправил заново.
Вообще стандартный клиент (bitcoin core) по умолчанию это делает вообще автоматически - если он видит, что у него давно уже висит отправленная, но не подтвержденная транзакция, то он ее через некоторое время будет пытаться заново отправить.
member
Activity: 99
Merit: 12
October 08, 2015, 08:20:41 PM
#13
Если транзакция провисела неподтвержденной в blockchain какое-то время и потом была удалена из-за того, что долго не подтверждалась, то это потерянные деньги или можно как-то вернуть их?
legendary
Activity: 1260
Merit: 1019
October 06, 2015, 02:24:01 AM
#12
Хм. Там написано что размер транзакции от такой подмены НЕ меняется.
Я когда заметил эту атаку, полистал блочейн выбирая в нем такие "дубли" и заметил что у всех (по крайней мере из тех что успел проверить) размер отличается. В каждой из пары транзакций оригинал/модифицированный дубль размер отличался ровно на 1 байт.
То, что размер транзакции не меняется - это не совсем точное утверждение.
Дело вот в чем. Если S - беззнаковое 256-битное число, то и "минус S" - тоже будет беззнаковым 256-битным числом.
Минус там не обычный арифметический минус, а "по модулю"

Но кодирование сигнатуры происходит в DER-формате. Это достаточно уёбищный формат, он не совсем оптимальный, но по историческим причинам признан каноническим. Стандарты биткойна и в частности недавно принятый BIP-66 заставляют кодировать "отрицательные числа" с лидирующим нулем. Если вы немного в курсе про компьютерную арифметику - вы вспомните, что 0xFF - это может быть как 255, так и -1

Вот. Так что сейчас при смене в транзакции один раз S на минус S - транзакция изменится на 1 байт (с вероятностью 255/256), потому что придется добавить (или удалить) один лидирующий нолик. Если рассматривать оставшуюся часть 1/256 - то из остатка опять в вероятностью 255/256 транзакция изменится на два байта и... Ну и так далее.

TL;DR; сегодня при однократном изменении S на -S размер транзакции обязательно меняется. в большую или меньшую сторону. скорее всего в большую сторону, потому что клиенты генерируют low-S
Pages:
Jump to: