ниже является наиболее разумным и логичным объяснением я наткнулся на относительно из "застрял" драма:
------котировка
[-] nullc 14 Punkte 3 Stunden zuvor
Поскольку котировки непоправимо испортил я напишу длинную форму объяснения:
Некоторый фон: MtGox запускает программное обеспечение пользовательского бумажника.
Это разумная и обычная практика для обслуживания своего размера и характера.
Получение бумажник, реализующий право не легко, поскольку есть очень мало места для ошибок, так же как и все остальные системы Bitcoin.
Некоторые критиковали их использование специального программного обеспечения здесь, но это является разумной и обычной практикой для обслуживания своего размера и характера. кошелек эталонного клиента в основном подходит для небольших масштабов использования однопартийный. Я не рекомендовал бы что-то вроде MtGox использовать бумажник опорного узла, по крайней мере, не без здорового слоя абстракции поверх IT- освобождающего его от обязанностей тверже управления ключами и цепи monitoring- или иным образом улучшающего его значительно.
(В этом отношении, бумажник программное обеспечение MtGox вызвало их меньше относительно проблемы, чем некоторые другие компании. (Например, некоторые из них полностью повторно реализованы протокола Bitcoin, неправильно, и выставил ее с внешним миром и пострадал многочисленные местные blockchain отвергающих глюков). Хотя его, конечно, принимать GOx достаточное количество времени, чтобы сортировать вещи.)
Я впервые услышал людей, сообщающих застряли операции обратно в ~ сентябре. Я посмотрел на него и решил, что Mtgox тратит незрелые монеты. Недавно произведенный Bitcoins (от добычи полезных ископаемых) не могут быть тратить, пока они, по крайней мере 100 блоков глубоко в blockchain. Это предотвращает средства от исчезновения навсегда, если в цепи реорганизации;. Я свистел magicaltux и после пары попыток ухватился его. Я думаю, что они впустую некоторое время на тупиков, пытаясь решить эту проблему, прежде чем фактическая природа проблемы была доведена до их сведения, например, повышение их операционные издержки с ошибочно полагая, что их гонорары не были достаточно высокими.
Mtgox не отслеживала, если монеты были заново генерироваться или что их высота была в их программном обеспечении. В том числе эти данные, по-видимому будет нетривиальным изменения, и для программного обеспечения финансирования высокого риска даже тривиальное изменение занимает много работы. Я предложил обходной путь (в основном, просто попробуйте провести самые старые монеты), и, насколько я знаю, они реализовали его, и это было эффективным.
Они по-прежнему есть проблемы с застрявшими сделками после того, как, и дальнейший анализ показал, что они производили сделки с чрезмерно мягкими подписями. Здесь необходимо Несовершеннолетний касательный:
Существует недостаток проекта в протоколе Bitcoin, где его возможно для третьей стороны принять действительную сделку ваших и мутировать его таким образом, что оставляет его в силе и функционально идентичны, но с другим идентификатором транзакции. Это значительно усложняет написание правильного программного обеспечения бумажника, и он может быть использован оскорбительно недействительным длинные цепочки неподтвержденных операций, зависящих от не-мутанта сделки (поскольку сделки относятся друг к другу TXID).
Эта проблема возникает из нескольких источников, один из которых является желанием OpenSSL, чтобы принимать и осмысливать подписи с неправильными кодировками. Обычная ECDSA подпись кодирует два больших целых чисел, кодировка не является постоянной длина- если есть ведущие нули вы должны отказаться от них.
Легко написать программное обеспечение, которое предполагает подпись будет постоянная длиной, а затем оставить дополнительные ведущие нули в них.
Для того, чтобы в конечном итоге удалить этот недостаток податливости мы постепенно затягивая правила, регулирующие какие операции узлы в сети будут считать действительными, когда они ретранслируют их или шахты им. В Bitcoin 0.8- после нескольких месяцев работы гоняться авторами программного обеспечения, чтобы получить их, чтобы исправить свои баги операцию с этими недействительными кодировок были больше не передаются.
Это вызвало некоторые проблемы для нескольких вещей .. Для iphone пример bc.i в app- BC.i сама была установлена задолго до того, но они не могли обновить приложение Iphone, не опасаясь вызвав еще один обзор на Apple. В конце концов, это просто работало вокруг на стороне сервера мутируют операции, производимые с помощью iPhone кошельков. (И это спорный вопрос сейчас, я думаю!).
MtGox также были проблемы с иногда выпускающих недействительных подписей. Это, как правило, будет легко исправить. Например. вот пример, когда я установил этот тип вопроса в каком-то питон бумажник код, который я никогда не использовал (но видел много людей копировали):
https://github.com/jgarzik/python-bitcoinlib/commit/4c64603ab60b0fa23c51090b3112be2f163aeeacНо, как я уже говорил ранее, в системах с высокой добавленной стоимостью, как Mtgox, даже простые исправления не являются простыми, и им потребовалось некоторое время, чтобы развернуть исправление. Тем не менее, я считаю, что это на самом деле исправлена.
Мое текущее понимание и вывод состоит в том, что оставшиеся вопросы, потому что в то время как MtGox производило сделки плохой форме, что сеть не будет ретранслировать anymore- некоторые люди решили помочь, «фиксации» эти сделки как BC.i сделал для пользователей iPhone - создание подписи нормально и передавать их. Конечно, новый transactions- в то время как функционально identical- имеет разный TXIDs.
Разница здесь в том, что программное обеспечение MtGox бумажник, кажется, не обрабатываются это дело изящно на всех, и, по-видимому, просто не заметит, что его операции "не сделать" проводить свои собственные монеты.
В результате бумажник Mtgox считал, некоторые монеты были доступны для расходов, которые на самом деле уже были потрачены, и он начал дважды проводить эти входы. Это, возможно, взаимодействовали особенно плохо с ранее обходного я mentioned- пытаюсь всегда использовать самый старый доступный монето- если они осуществить это решение.
Хуже того, некоторые из этого может привести к пользователям получать деньги несколько раз и может быть преднамеренно вызвано с этой целью в виду, если кто-то услужливо исправлены некоторые сделки, а затем заметил, что они получили зарплату в два раза. (Я думаю, что вряд ли это вызвало большие потери, прежде чем люди убегают беспокоиться о том, как из-за повторного использования старых входов и из-за горячего бумажника / бумажник раскола холодной).
В этот момент они, вероятно, имеют учетную беспорядок, чтобы очистить вверх выяснить, кто это сделал и не платят теперь ни один из сопоставления txids. Очистка, что до будет несколько сложнее Э.Г. говорим, что было три выплаты MtGox монет в 1Apple в блоке цепи ... и три пользователей, которые пытались заплатить 1Apple и запись MtGox думает, что только один прошло .. и т.д. Таким образом, программное обеспечение должно быть написано, что совпадает сделку с их мутантов для того, чтобы выяснить, что пошло куда.
Я лично не concerned- по крайней мере, не какой-либо из деталей здесь. медленная скорость MtGox по решению этих видов проблем и плохой связи не очень вдохновляет. Они кажутся ужасно короткими staffed- но компетентные и надежные люди в этом пространстве могут быть трудно найти: Регулирующую трясину этого бизнеса обязательно сделать много держаться подальше.
Иска, что задержки свидетельствуют о несостоятельности ударить меня, как только истерию: технический фон не поддерживает этот вывод, и может быть немного оппортунизма в игре от людей, которые хотят, чтобы манипулировать рынок тоже. Не поймите меня неправильно: я не видел их книги: GOx вполне может иметь финансовую problems-, хотя с их доход его трудно для меня, чтобы увидеть how-, но если какие-то проблемы, которые существуют, как они не указаны здесь.
Конечно, все это не говорит о том кто должен быть доволен службой MtGox оказывает, но наш гнев должен, по крайней мере, быть хорошо информированным.