Bitcoin Forum
November 09, 2024, 11:05:00 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Статус: в противоречии  (Read 6299 times)
albertvert (OP)
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250



View Profile
October 04, 2015, 03:03:54 PM
Last edit: October 05, 2015, 12:36:04 PM by albertvert
 #1

Вчера первый раз столкнулся с такой ситуацией в двух разных обменниках:

Статус: в противоречии
Дата: 03.10.15 19:58
Для: xpay 1DumNzGPj4QFaGY4c4RrksqkDaRVNgqEvF
Дебет: -0.10000000 BTC
Комиссия: -0.00010000 BTC
Чистая сумма: -0.10010000 BTC
ID транзакции: 5784a11ce35ee8869f7f3050764969bf73f6a835c18e5e8a01b95d3bee75d2d2-000

Статус: в противоречии
Дата: 03.10.15 19:48
Для: easybit 1KVMUQU6xDZAvNdt23qgjFYdNe2DmACLBc
Дебет: -0.10000000 BTC
Комиссия: -0.00010000 BTC
Чистая сумма: -0.10010000 BTC
ID транзакции: 8abbf8a199ed6f99f314d25e591026c06ae877908a616f1a6ec6580cf865f8d9-000
diks
Legendary
*
Offline Offline

Activity: 2632
Merit: 1450



View Profile
October 04, 2015, 03:23:20 PM
 #2

в блокчейн.инфо Ваши транзакции

"Transaction rejected by our node. Reason: Transaction was previously accepted but has been pruned from our database."


чесно ваще не понятно  Shocked

clipman77
Legendary
*
Offline Offline

Activity: 1610
Merit: 1008



View Profile
October 04, 2015, 04:52:18 PM
 #3

в блокчейн.инфо Ваши транзакции

"Transaction rejected by our node. Reason: Transaction was previously accepted but has been pruned from our database."


чесно ваще не понятно  Shocked


Кажись опять тест устроили

Мне также  пришли две одинаковые, одна неподтверждённая,которая скоро исчезнет - https://blockchain.info/ru/tx/6eebb8b35d0b8f18ba7451b087dac846baca86ada624e51f0b598550bccfd0e0

Вторая подтверждённая уже - https://blockchain.info/ru/tx/91b72e8c24706adad2710202ae29adae587c00e2776dbf187753a9f5b52824b3

Тут что то похожее обсуждается - https://bitcointalk.org/index.php?topic=1198032.0 ,нужно amaclin расспрашивать что к чему.
CryptoDull
Full Member
***
Offline Offline

Activity: 210
Merit: 100



View Profile
October 05, 2015, 05:16:38 AM
 #4

в блокчейн.инфо Ваши транзакции

"Transaction rejected by our node. Reason: Transaction was previously accepted but has been pruned from our database."


чесно ваще не понятно  Shocked


Кажись опять тест устроили

Мне также  пришли две одинаковые, одна неподтверждённая,которая скоро исчезнет - https://blockchain.info/ru/tx/6eebb8b35d0b8f18ba7451b087dac846baca86ada624e51f0b598550bccfd0e0

Вторая подтверждённая уже - https://blockchain.info/ru/tx/91b72e8c24706adad2710202ae29adae587c00e2776dbf187753a9f5b52824b3

Тут что то похожее обсуждается - https://bitcointalk.org/index.php?topic=1198032.0 ,нужно amaclin расспрашивать что к чему.

он скажет "ну я же говорил" вот она смерть битка, блокчеина всемогущего

amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 05, 2015, 05:25:43 AM
 #5

он скажет "ну я же говорил" вот она смерть битка, блокчеина всемогущего
а, ну я это устроил. таки да.

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

проблема биткойна вовсе не в этом. это как раз чепуха, а не проблема
mnsx
Member
**
Offline Offline

Activity: 63
Merit: 10


View Profile
October 05, 2015, 01:38:49 PM
 #6

он скажет "ну я же говорил" вот она смерть битка, блокчеина всемогущего
а, ну я это устроил. таки да.

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

проблема биткойна вовсе не в этом. это как раз чепуха, а не проблема

А можно подробности про этот стресс тест. Англоязычные пользователи активно про него пишут, а в русском сегменте тишина.

Было бы классно, если кто-нибудь по полочкам разложил что это и к чему может привести.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 05, 2015, 01:50:30 PM
Last edit: October 05, 2015, 03:01:17 PM by amaclin
 #7

А можно подробности про этот стресс тест. Англоязычные пользователи активно про него пишут, а в русском сегменте тишина.
Было бы классно, если кто-нибудь по полочкам разложил что это и к чему может привести.

Ну давайте, я в порядке ликбеза объясню.
Чтобы транзакция была валидной, она подписывается приватным ключом.
Получается некоторая сигнатура. По русски - сигнатура - это подпись.
Ну как подпись под документом, о том что документ вами заверен.

Сигнатура в ECDSA - это по сути дела два 256-битных числа. Просто два очень больших числа.
Для удобства эти числа называют R и S
Если изменить хоть один битик в этих числах - то подпись становится неправильной. (Это не совсем так, но можете считать что это так)
Вот.
Но есть одно простое изменение, которое не делает сигнатуру невалидной.
Очень простое. Вместо S надо подставить -S

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

Ну и получаем вой и вопли. У кого-то деньги не дошли, а к кому-то два раза пришли.

Леонид Соловьёв, «Возмутитель спокойствия»/«Повесть о Ходже Насреддине», 1940
Quote
Удивительно, что может натворить в большом городе один маленький ишак, если к нему привязать барабан!
wonko86
Legendary
*
Offline Offline

Activity: 1624
Merit: 1024



View Profile
October 05, 2015, 02:15:42 PM
 #8

Но есть одно простое изменение, которое не делает сигнатуру невалидной.
Очень простое. Вместо S надо подставить -S
а кто обнаружил эту маленькую проблему? и когда?
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 05, 2015, 02:27:02 PM
 #9

а кто обнаружил эту маленькую проблему? и когда?

Ну на этом форуме есть сообщение
https://bitcointalk.org/index.php?topic=8392
Там в целом про это говорится.

Вот здесь конкретно говорится о том, что можно заменить S на минус S
https://bitcointalk.org/index.php?topic=8392.msg1245898#msg1245898

Вообще-то это достаточно известный факт, мне лень искать "кто первый это обнаружил вообще в мире"
Возможно, что сами изобретатели ECDSA
Если не ошибаюсь, то это следствие того, что при решении уравнения ay3 + bx2 + c = 0
есть два решения для икс. (Но повторю, я в этом не силен особо)

А кто первый обнаружил что x2 = (-x)2 - это я не знаю
wonko86
Legendary
*
Offline Offline

Activity: 1624
Merit: 1024



View Profile
October 05, 2015, 02:55:44 PM
 #10

а кто обнаружил эту маленькую проблему? и когда?

Ну на этом форуме есть сообщение
https://bitcointalk.org/index.php?topic=8392
Там в целом про это говорится.

Вот здесь конкретно говорится о том, что можно заменить S на минус S
https://bitcointalk.org/index.php?topic=8392.msg1245898#msg1245898

Вообще-то это достаточно известный факт, мне лень искать "кто первый это обнаружил вообще в мире"
Возможно, что сами изобретатели ECDSA
Если не ошибаюсь, то это следствие того, что при решении уравнения ay3 + bx2 + c = 0
есть два решения для икс. (Но повторю, я в этом не силен особо)

А кто первый обнаружил что x2 = (-x)2 - это я не знаю

спасибо за наводку (ссылки), сейчас почитаю.
Mad_Max
Hero Member
*****
Offline Offline

Activity: 894
Merit: 1001


View Profile
October 06, 2015, 06:53:13 AM
 #11

Хм. Там написано что размер транзакции от такой подмены НЕ меняется.
Я когда заметил эту атаку, полистал блочейн выбирая в нем такие "дубли" и заметил что у всех (по крайней мере из тех что успел проверить) размер отличается. В каждой из пары транзакций оригинал/модифицированный дубль размер отличался ровно на 1 байт.

Не зная покоя и отдыха, При лунном и солнечном свете, Мы делаем деньги из воздуха, Чтоб снова спустить их на ветер!
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 06, 2015, 07: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
chemodan
Member
**
Offline Offline

Activity: 99
Merit: 12


View Profile
October 09, 2015, 01:20:41 AM
 #13

Если транзакция провисела неподтвержденной в blockchain какое-то время и потом была удалена из-за того, что долго не подтверждалась, то это потерянные деньги или можно как-то вернуть их?
Mad_Max
Hero Member
*****
Offline Offline

Activity: 894
Merit: 1001


View Profile
October 09, 2015, 02:03:04 AM
 #14

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

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

Не зная покоя и отдыха, При лунном и солнечном свете, Мы делаем деньги из воздуха, Чтоб снова спустить их на ветер!
oyeTorry
Hero Member
*****
Offline Offline

Activity: 770
Merit: 500


View Profile WWW
October 09, 2015, 11:20:09 PM
 #15

amaclin, так это ты весь этот шухер учинил ?   Undecided

из чата BTC-e -

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

Balthazar
Legendary
*
Offline Offline

Activity: 3108
Merit: 1359



View Profile
October 10, 2015, 04:08:57 PM
 #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<uint256> 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

и ваш вопрос решен навсегда.
transss
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
October 14, 2015, 08:10:22 AM
 #17

Объясните, если не сложно, варианты завершения событий

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

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

Куда и когда упадет в итоге биток?
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 14, 2015, 08:29:26 AM
 #18

Объясните, если не сложно, варианты завершения событий

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

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

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

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

Activity: 1512
Merit: 1125


Swapzone


View Profile WWW
October 14, 2015, 08:43:05 AM
 #19

amaclin, так это ты весь этот шухер учинил ?   Undecided

из чата BTC-e -

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

была такая же тема у меня только пропала транза с биржи, написал в саппорт, видимо сделали рескан и со второго раза все пришло, теперь нужно быть внимательным и держать руку на пульсе=)

Swap BTC to XMR and 1600+ tokens without KYC
transss
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
October 14, 2015, 09:38:15 AM
 #20

Объясните, если не сложно, варианты завершения событий

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

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

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

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

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

Ещё пара вопросов - у отправителя автоматом с кошелька должна идти повторная отправка или ему просто вернется в кошелек и он руками должен будет послать?
Слышал что в последней версии кошелька автоматом вычищаются убитые транзакции и повторно шлется или что то типа того. В случае с api blockhain info и другими тонкими клиентами -  автоматом будет долбиться пока я деньги не увижу в своем кошельке или через саппорты всё надо решать?
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!