Bitcoin Forum
May 24, 2024, 06:40:20 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: Гокс пишет про баг в bitcoin  (Read 4235 times)
SergKaac (OP)
Full Member
***
Offline Offline

Activity: 204
Merit: 100


View Profile
February 10, 2014, 10:46:15 AM
Last edit: February 10, 2014, 04:44:36 PM by SergKaac
 #1

Вот чудики:

https://www.mtgox.com/press_release_20140210.html

Особенно в части Non-technical Explanation.

Подробнее на хабре http://habrahabr.ru/post/212117:

Quote
MtGox выступил с заявлением, что в связи с «проблемой» в протоколе Bitcoin, у них были задержки с выводом BTC и поэтому им пришлось прекратить все выплаты, пока причина не будет устранена. www.mtgox.com/press_release_20140210.html

Если вам нужен быстрый ответ — нет ошибки в самом Bitcoin. Вы можете пойти на Bitstamp / Coinbase / btc-e и купить больше BTC с огромной скидкой, прежде чем курс вернется к $800 — $900…

Длинный ответ:

Неподтвержденные транзакции Bitcoin всегда были malleable (тягучими), то есть вы можете немного изменить транзакцию, которая «в подвешенном состоянии » (еще не в blockchain), и вы не нарушите свои подписи. Однако, невозможно изменить какие-то важные данные, такие как исходные операции, суммы, порядок входов и выходов, а также какие-то другие метаданные. То, что вы можете сделать, это добавить некоторые фиктивные данные, что не меняет сути сделки, но меняет ее содержание.

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

MtGox объясняет, как они были обмануты:

1). Пользователь делает запрос на вывод из MtGox некоторое количество BTC на свой адрес.
2). MtGox принимает некоторые из его собственных «неизрасходованных выходов» и составляет транзакцию, которая посылает средства на адрес пользователя.
3). MtGox помнит хэш этой транзакции и смотрит появилась ли она в blockchain.
4). Пользователь (злоумышленник) или кто-то еще, видит неподтвержденную транзакцию MtGox в p2p сети и создает транзакцию, состоящую из тех же данных что и оригинальная, в следствии чего ему не требуется подписывать ее элементы (т.е. он не меняет суммы, входы или выходы), но добавляет в нее незначительные данные (лишние байты например), в итоге хеш этой транзакции отличается от исходной но она остается валидной для сети

5). Новая, измененная, транзакция включается в blockchain. MtGox послал деньги, но еще не знает об этом. Запросивший вывод, к тому времени уже получил средства на кошелек и уже видит их.
6). Затем пользователь(злоумышленник) идет в поддержку MtGox и жалуется, что деньги не поступили. Или, MtGox сам видит, что средства не поступают слишком долго, и может автоматически, повторно, отправить другую транзакцию, которая посылает некоторые другие «неизрасходованные TX выходы» на тот же адрес (повторяет отправку). Так или иначе, он создает много путаницы для MtGox и первоначально может даже привести к отправке одной и той же сумы много раз.
Является ли это проблемой самого Bitcoin, который позволяет проводить такие изменения в транзакциях? Да, вероятно, так. Но не совсем ясно, как это можно предотвратить вообще.

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

MtGox могло бы решить проблему следующим образом: вместо того, чтобы использовать blockchain для наблюдения за появлением хэша конкретной транзакции, следует смотреть, если адрес X ( задается пользователем ) получил сумму N ( указанную пользователем ) с выходами Y, Z и W (используется MtGox ). Это гарантировало бы, что даже если сделка будет изменена, они наверняка это увидят и узнают, получил ли пользователь деньги, предназначенные для него или нет.
Cloudpost
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile
February 10, 2014, 11:12:28 AM
 #2

я что-то такое читал, что вроде у них свой клиент или что-то подобное. Так вот, наверное, в нем и баг Smiley

Кто шарит в этом, пожалуйста, поясните, бред мтгокс написал или нет.

            ▄▄████▄▄
        ▄▄██████████████▄▄
      ███████████████████████▄▄
      ▀▀█████████████████████████
██▄▄       ▀▀█████████████████████
██████▄▄        ▀█████████████████
███████████▄▄       ▀▀████████████
███████████████▄▄        ▀████████
████████████████████▄▄       ▀▀███
 ▀▀██████████████████████▄▄
     ▀▀██████████████████████▄▄
▄▄        ▀██████████████████████▄
████▄▄        ▀▀██████████████████
█████████▄▄        ▀▀█████████████
█████████████▄▄        ▀▀█████████
██████████████████▄▄        ▀▀████
▀██████████████████████▄▄
  ▀▀████████████████████████
      ▀▀█████████████████▀▀
           ▀▀███████▀▀



.SEMUX
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
  Semux uses .100% original codebase.
  Superfast with .30 seconds instant finality.
  Tested .5000 tx per block. on open network
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
ri
Full Member
***
Offline Offline

Activity: 140
Merit: 118


View Profile
February 10, 2014, 11:17:34 AM
 #3

Народ, поясните хотя-бы в двух словах по-русски, а то в гугловский перевод ну совсем не въехал...

На btc-e за две минуты курс упал с 600 до 102 и поднялся до 550 Shocked.

Хотя нет, смайлик не подходит, но подходящего нет...
boinc
Full Member
***
Offline Offline

Activity: 224
Merit: 100


View Profile
February 10, 2014, 11:25:09 AM
 #4

я что-то такое читал, что вроде у них свой клиент или что-то подобное. Так вот, наверное, в нем и баг Smiley

Кто шарит в этом, пожалуйста, поясните, бред мтгокс написал или нет.
Судя по ссылке из первого поста, дыра в общем протоколе Bitcoin, а не в гоксовском кошельке

BTC 12P9LaA7eciiPCx68qFEFarpfrF8mcrNmY
awoland
Legendary
*
Offline Offline

Activity: 1498
Merit: 1021

Was mich nicht umbringt macht mich stärker [F.N.]


View Profile WWW
February 10, 2014, 11:27:04 AM
 #5

Дыра там в мозгах у хомяков и у кокса ... Хотя у кокса может и не дыра, а наоборот. Элементарный заказной дамп...

P.S. Я полагаю, что это "заявление" со стороны Гокса может оказаться прелюдией к "самозакапыванию" ...

Was mich nicht umbringt macht mich stärker [F.N.]
cybersly
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
February 10, 2014, 11:32:51 AM
 #6

почему тогда с btc-e все в порядке? похоже что сейчас гокс пытается просто выиграть время.
самое время покупать биток  Grin
ri
Full Member
***
Offline Offline

Activity: 140
Merit: 118


View Profile
February 10, 2014, 11:46:00 AM
 #7

самое время покупать биток  Grin

Увы, если у вас есть на что его скупать - значит, самое время вы прозевали... Надо было ставить ордер на полную сумму где-нибудь в районе 105-110$ примерно с час назад...

Эх, знал бы прикуп... Хотя я вообще-то не фанат зимних видов спорта, но знать все равно хотелось бы...
RenFarm
Hero Member
*****
Offline Offline

Activity: 865
Merit: 1009



View Profile WWW
February 10, 2014, 11:47:50 AM
 #8

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

Все для GPU майнинга: райзеры, блоки питания, переходники m.2-> pci e
Магазин для майнеров: ETC24.RU
z30n
Member
**
Offline Offline

Activity: 83
Merit: 10


View Profile
February 10, 2014, 12:11:25 PM
 #9

 этим высером кидок-мудокс сам себя подписал, а для всего сообщества это хорошее испытание: яйца отполированы, прошли внеочередную закалку)
 ещё один шаг к стабилизации курса битка.
icreator
Legendary
*
Offline Offline

Activity: 1554
Merit: 1008



View Profile WWW
February 10, 2014, 12:35:30 PM
 #10

Quote
STIVE (16:32:46)
Никакого бага никто не нашел, просто mtgox лопухнулись и выплатили некоторые транзакции дважды-трижды.
Суть в том, что mtgox проверяли статус транзакций по наличию конкретного TXID в блокчейне, что неправильно. Неправильно, потому что транзакцию можно отредактировать, изменив в ней хотя бы один бит, и TXID будет уже совсем другой. Измененную транзакцию с помощью подконтрольных мощностей включаем в цепочку блоков и далее пишем в саппорт, дескать транзакция не прошла... Пересылают - опять редактируем и майним блок с правленной транзакцией и так пока не надоест.
В NVC, кстати, изменение TXID можно сделать еще проще, чем в BTC - достаточно просто таймстамп транзакции инкрементировать Smiley TXID не является параметром, которому можно доверять. Доверять можно только TXID транзакций, уже включенных в цепочку блоков.
это так?
тоесть биткоин уязвим?
как иначе проверять приход?

Erachain Blockchain is fully ready for use Digital Ecosystem based on blockchain technology for business and government with low transaction costs, identification and built-in functions.
+Decentralized exchange of tokens in Erachain
XBOCT
Member
**
Offline Offline

Activity: 80
Merit: 10


View Profile
February 10, 2014, 01:35:58 PM
 #11

как иначе проверять приход?
С приходом все хорошо, если вы не принимаете транзакции с 0 подтверждений. Тут ничего нового.
Вопрос был как контролировать уход. Отобрали у ребенка конфету удобный механизм проверки попал исходящий платеж в blockchain или нет.
Lexiko
Sr. Member
****
Offline Offline

Activity: 503
Merit: 283


View Profile
February 10, 2014, 02:04:19 PM
 #12

Походу все же не бага, а гокс тупанул и теперь пытается свалить все на сеть http://habrahabr.ru/post/212117/
checker
Sr. Member
****
Offline Offline

Activity: 340
Merit: 252



View Profile
February 10, 2014, 02:20:32 PM
 #13

Топикстартер, если не сложно, скопипасть содержание хабрастранички в первый пост, чтобы людей не пугать)

Хочешь отблагодарить - кинь биткоинов, сколько не жалко- буду рад!
(If u want to say me thanx - give me some bitcoins Smiley )
1NXsbppu1B2exLUY8i5cYbQxbc2zWtiTAY
qqqq
Legendary
*
Offline Offline

Activity: 1596
Merit: 1011


View Profile
February 10, 2014, 02:42:24 PM
 #14

В коментах человек хорошо объяснил на пальцах!

Quote
Если по-простому. При отправке денег с биржи генерится уникальный хэш транзакции по типу 9c7e169e2056d904ef5f4b6afedaa8931dc7cc17b79c18af688fa2ffb649669b через который можно отследить все операции по сделке (кому и сколько было выплачено). По этому хэшу через сеть MtGox и проверял получил ли клиент свои средства или нет. Однако можно сделать маленький финт ушами и добавить некоторые незначительные данные в транзакцию о тех пор, пока она еще не была подтверждена в результате чего, изменится ее хэш и уточнить данные об успешном прохождении можно будет только по новому хэшу. Сама транзакция не пострадает, однако гокс, который использует такой механизм проверки, таким способом удалось обвести вокруг пальца..
checker
Sr. Member
****
Offline Offline

Activity: 340
Merit: 252



View Profile
February 10, 2014, 03:02:31 PM
 #15

Ну это понятно, просто тема имеет свойство разростаться, а информация теряться и " пугать". Люди обычно смотрят на начало и конец темы. В целом - хорошая традиция в такого рода тредах апдейтить первый пост темы. Просто есть желание попытаться начать приводить в порядок наше уютненькое)

Хочешь отблагодарить - кинь биткоинов, сколько не жалко- буду рад!
(If u want to say me thanx - give me some bitcoins Smiley )
1NXsbppu1B2exLUY8i5cYbQxbc2zWtiTAY
hardworker_
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
February 10, 2014, 03:50:41 PM
 #16

Получается, что цена должна вернуться на исходные позиции?
checker
Sr. Member
****
Offline Offline

Activity: 340
Merit: 252



View Profile
February 10, 2014, 03:54:13 PM
 #17

Ну ванговать - дело неблагодарное, но "паники" уже нет. Куда двинется цена - думайте сами)

Хочешь отблагодарить - кинь биткоинов, сколько не жалко- буду рад!
(If u want to say me thanx - give me some bitcoins Smiley )
1NXsbppu1B2exLUY8i5cYbQxbc2zWtiTAY
rPman
Legendary
*
Offline Offline

Activity: 1120
Merit: 1069


View Profile WWW
February 10, 2014, 04:11:23 PM
 #18

Интересный баг!
Исправить со стороны bitcoin почти нереально (нарушится совместимость), можно только сделать для себя пометку 'так не делать', но это заметно усложняет код работы с исходящими транзакциями на сервисах, потому что потребует заводить свои идентификаторы, основанные хотя бы на используемых в транзакции входах. Как вариант, добавить этот функционал в rpc bitcoind, в виде дополнительного поля, например inputhash.

Здесь не может находиться ваша реклама Smiley
Protect a future of bitcoin, use p2pool
Donation in BTC: 19fv5yYtfWZ9jQNjx2ncmu1TTrvg5CczZe
semaster
Sr. Member
****
Offline Offline

Activity: 395
Merit: 250


View Profile
February 10, 2014, 04:31:45 PM
 #19

Интересный баг!
Исправить со стороны bitcoin почти нереально (нарушится совместимость), можно только сделать для себя пометку 'так не делать', но это заметно усложняет код работы с исходящими транзакциями на сервисах, потому что потребует заводить свои идентификаторы, основанные хотя бы на используемых в транзакции входах. Как вариант, добавить этот функционал в rpc bitcoind, в виде дополнительного поля, например inputhash.

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

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

semaster
Sr. Member
****
Offline Offline

Activity: 395
Merit: 250


View Profile
February 10, 2014, 04:43:01 PM
 #20

а вот кстати и ответ Bitcoin Faundation - https://bitcoinfoundation.org/blog/?p=418

если кратко - мтгокс исопльзует свою собственную реализацию биткоин кошелька  и то что они накосячили то их проблема а не проблема биткоин протокола. А указанная особенность позволяющая изменить детали транзакции до включения в блок была известна и описана в спецификации и официальном вики с 2011 года.

Pages: [1] 2 3 »  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!