Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
26 сентября 2013, 6:31:15 PM   # 1
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
В ярмарке жеребьевки нити Я указал что протоколы, которые зависят от предварительно вычисленных возвратов для предотвращения Holdup риска в настоящее время небезопасны в Bitcoin из-за сделки пластичности. Оказывается, они могут быть частично спасены еще до того, фиксирует malleability- это хорошая новость, потому что полностью фиксируя тягучесть, скорее всего, займет много времени.

Это относится к протоколам, как это:

(1) Алиса хочет поставить 1 BTC в 2 из 2 Alice + Боба эскроу, но обеспокоен тем, что Боб может попытаться выкачать ее, отказавшись подписать в соответствии с их предыдущими соглашениями.

(2) Алиса пишет сделку оплачиваемую в 2of2 Алиса, Боб.

(3) Прежде чем объявить эту сделку Алиса также пишет транзакцию возврата, посылая что 1 BTC Алисе, с замком времени достаточно далеко в будущем.

(4) Алиса просит Боба подписать сделку возврата, никогда не давая Бобу оплаты эскроу. Боб подписывает его.

(5) Алиса затем объявляет выплату депозитного. Уверенный, что, если все остальное терпит неудачу, она может получить ее деньги позже, используя возврат.

Наступление это:

После того, как (5) Боб захватывает оплату сделки от сети и затем мутирует подписи для получения эквивалентной транзакции с другим идентификатором транзакции. Например. он заменяет подпись (R, S) с (R, S + порядка). Затем он становится удачливым или платит шахтер заминировать его вместо этого.

Теперь возврат Элиса не хорошо и боб свободно выкачивать ее, если она когда-либо хочет, чтобы ее 1 BTC назад.

Но P2SH может спасти день:

Мы изменяем протокол так, что оплата депозитной является P2SH (2 из 2 Alice2, Bob2) и Alice2 и Bob2 являются новыми ключами, которые они никогда не использовались в других местах и ​​Боб не знают Alice2.

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

Когда Алиса объявляет выплату в условное депонирование, Боб не может определить, если его это- единственного P2SH сделка ожидаемых ценностно, и поэтому он должен мутировать все возможные сделки, чтобы получить мутант добытого вместо этого. Это было бы гораздо сложнее / дороже (по крайней мере, если P2SH широко использовались).

После оплаты эскроу подтверждается Алиса может показать его Бобу вместе с возвратом, и поэтому Боб также уверен, что протокол последовало верно.
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell


Как заработать Биткоины?
Без вложений. Не майнинг.


26 сентября 2013, 7:03:36 PM   # 2
 
 
Сообщения: 1106
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH

Получил 1806 Биткоинов
Реальная история.





FWIW jl2012 почти описал то, что вы только что описали, за исключением того, что он не делает его явным, что вам нужно P2SH:

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

Наконец сделать протокол позволит Алисе просить Боб подписать несколько сделок, распространяется в течение долгого времени, так что Боб не может знать, если Алиса просит его подписать фиктивную сделку или потому, что TX1 была модифицирована и Алиса нуждается в новой возврат ОЙ.

Обратите внимание, что в некоторых случаях вам нужно, чтобы дать Бобу SHA256 Midstate так Боб знает, что nLockTime / nSequence он подписания - последний может быть сложно применить из-за ограничений на то, что информация Midstate может скрывать - вам может понадобиться дополнительный txin - так что вы лучше с протоколом, где Боб узнает ТХ-возврат до полагаться на его содержание.

EDIT: Нах, на самом деле я не могу видеть, как вы бы предотвратить Бобу выяснить, что ТХ мутировать на основе значения nLockTime, так это выглядит, как вы просто должны позволить разработать протокол таким образом Боб узнает TX-возврат (любой любой манекена подпись) до полагаться на не-существовании в виде сразу-извлекаемого возврат ОГО.
Peter Todd сейчас офлайн Пожаловаться на Питер Тодд   Ответить с цитированием Мультицитирование сообщения от Peter Todd Быстрый ответ на сообщение Peter Todd

27 сентября 2013, 1:59:08 AM   # 3
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH

FWIW jl2012 почти описал то, что вы только что описали, за исключением того, что он не делает его явным, что вам нужно P2SH:

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

Наконец сделать протокол позволит Алисе просить Боб подписать несколько сделок, распространяется в течение долгого времени, так что Боб не может знать, если Алиса просит его подписать фиктивную сделку или потому, что TX1 была модифицирована и Алиса нуждается в новой возврат ОЙ.

Обратите внимание, что в некоторых случаях вам нужно, чтобы дать Бобу SHA256 Midstate так Боб знает, что nLockTime / nSequence он подписания - последний может быть сложно применить из-за ограничений на то, что информация Midstate может скрывать - вам может понадобиться дополнительный txin - так что вы лучше с протоколом, где Боб узнает ТХ-возврат до полагаться на его содержание.

EDIT: Нах, на самом деле я не могу видеть, как вы бы предотвратить Бобу выяснить, что ТХ мутировать на основе значения nLockTime, так это выглядит, как вы просто должны позволить разработать протокол таким образом Боб узнает TX-возврат (любой любой манекена подпись) до полагаться на не-существовании в виде сразу-извлекаемого возврат ОГО.

Я не понимаю вашу точку. Как бы Боб знать nLockTime? Алиса не нужно показывать TX-возврат к нему, прежде чем ТХ-1 подтверждается
jl2012 сейчас офлайн Пожаловаться на jl2012   Ответить с цитированием Мультицитирование сообщения от jl2012 Быстрый ответ на сообщение jl2012

27 сентября 2013, 4:25:13 AM   # 4
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH

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

Что еще более важно, с механизмом микро-оплаты канала, Алиса может послать любое значение Bitcoin на эскроу, и всегда в состоянии получить чрезмерное значение обратно. Таким образом, невозможно для Боба определить целевые операции. Если Боб берет спрей и молю стратегию, которая будет большой сбой в целой сети Bitcoin.

В долгосрочной перспективе, мы должны запретить ковкость, которые я буду обсуждать в другой теме:
jl2012 сейчас офлайн Пожаловаться на jl2012   Ответить с цитированием Мультицитирование сообщения от jl2012 Быстрый ответ на сообщение jl2012

28 сентября 2013, 11:22:28 AM   # 5
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH

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

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

Я буду думать о настройке так, когда клиент * действительно * есть доступ в Интернет, они передают сделку.

Что-то еще, что бы помочь, если узлы были ключи, а затем вы можете зашифровать сделку так только подмножество узлов может расшифровать (используя разностное подмножество дерев или какой-то другой вариант шифрования вещания). Тогда вы могли бы зашифровать контракт и передать его через сервер, заставляя их еще раз гонки. Может быть, вы могли бы даже зашифровать ТЕ так что только группу шахтеров и несколько вещатель узлов могут читать его, так что делаете его очень вероятно, что она входит в mempools некоторых шахтеров первой.

Такая схема поможет секретности тоже, запутывания в IP, который произвел операцию. Но это также поднимает другие вопросы, как, как вы получите зашифрованный ПРД их назначение (прямое соединение? Заливку?) И как это взаимодействует с контролем подпора.
Майк Хирн сейчас офлайн Пожаловаться на Mike Хирн   Ответить с цитированием Мультицитирование сообщения от Mike Хирн Быстрый ответ на сообщение Mike Хирн

28 сентября 2013, 6:30:03 PM   # 6
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH

Несмотря на то, что эти идеи интересны, мое шестое чувство, что ограничение податливость это лучший способ пойти.
Я абсолютно согласен, что должно быть сделано, и я не намерен это быть альтернативой. Есть протоколы, которые это предложение не может помочь.

Но, я считаю, что это займет не менее двух лет удалить податливость.

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

... и это предполагает, что это не получится, что есть какие-либо другие способы, чтобы мутировать подписи DSA (например, путем совместного модифицирующего R и S). Адам Блэк был очень обеспокоен тем, что было.

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

14 декабря 2013, 1:38:05 PM   # 7
 
 
Сообщения: 400
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH

... и это предполагает, что это не получится, что есть какие-либо другие способы, чтобы мутировать подписи DSA (например, путем совместного модифицирующего R и S). Адам Бэк был очень обеспокоен тем, что было.

Я не так далеко найти способ сделать это с ECDSA, но это не является доказательством. Кроме того, существуют и другие криптографические схемы, которые самостоятельно reblindable (не зная закрытый ключ).

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

Мы также говорили на физическом Meetup о возможности зафиксировать податливость перед пересылкой и Грег упомянул это как обходные используется blockchain.info, поскольку они не смогли изменить свой бумажник из-за регрессивной политики яблока.

Адам
adam3us сейчас офлайн Пожаловаться на adam3us   Ответить с цитированием Мультицитирование сообщения от adam3us Быстрый ответ на сообщение adam3us

11 февраля 2014, 2:43:44 PM   # 8
 
 
Сообщения: 714
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH

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

Разве это не означает, что Боб слепо подписывать что-то? Не будет ли это невероятно рискованно? EDIT: никогда не возражает, Боб подписывает с новым ключом.
mmeijeri сейчас офлайн Пожаловаться на mmeijeri   Ответить с цитированием Мультицитирование сообщения от mmeijeri Быстрый ответ на сообщение mmeijeri

11 февраля 2014, 2:55:39 PM   # 9
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH

не с продолжающейся атакой пластичности, это предложение уже не работает. Любая надежда сохранить его (за исключением крепления ковкость)?
jl2012 сейчас офлайн Пожаловаться на jl2012   Ответить с цитированием Мультицитирование сообщения от jl2012 Быстрый ответ на сообщение jl2012

11 февраля 2014, 3:00:53 PM   # 10
 
 
Сообщения: 714
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH

не с продолжающейся атакой пластичности, это предложение уже не работает. Любая надежда на безопасное (за исключением, фиксируя ковкость)?

Почему это не работает?
mmeijeri сейчас офлайн Пожаловаться на mmeijeri   Ответить с цитированием Мультицитирование сообщения от mmeijeri Быстрый ответ на сообщение mmeijeri

11 февраля 2014, 3:07:07 PM   # 11
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH

не с продолжающейся атакой пластичности, это предложение уже не работает. Любая надежда на безопасное (за исключением, фиксируя ковкость)?

Почему это не работает?

Кто-то случайно мутирует неподтвержденные транзакции. Таким образом, TXID всех неподтвержденных транзакций не является надежным
jl2012 сейчас офлайн Пожаловаться на jl2012   Ответить с цитированием Мультицитирование сообщения от jl2012 Быстрый ответ на сообщение jl2012

11 февраля 2014, 3:22:53 PM   # 12
 
 
Сообщения: 714
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH

Но это не то, что именно это предложение направлено дело?
mmeijeri сейчас офлайн Пожаловаться на mmeijeri   Ответить с цитированием Мультицитирование сообщения от mmeijeri Быстрый ответ на сообщение mmeijeri

11 февраля 2014, 3:33:41 PM   # 13
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH

Но это не то, что именно это предложение направлено дело?

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



Это предложение предположить, что Боб не будет принимать стратегию распыления и-молить. Как кто-то теперь случайно мутирует операции по сети, данное предложение не будет работать
jl2012 сейчас офлайн Пожаловаться на jl2012   Ответить с цитированием Мультицитирование сообщения от jl2012 Быстрый ответ на сообщение jl2012

20 апреля 2015, 1:49:23 PM   # 14
 
 
Сообщений: 27
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH


Мы изменяем протокол так, что оплата депозитной является P2SH (2 из 2 Alice2, Bob2) и Alice2 и Bob2 являются новыми ключами, которые они никогда не использовались в других местах и ​​Боб не знают Alice2.

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


Есть библиотека, которая поддерживает это?

Скажем, я хотел бы реализовать этот протокол оплаты, я должен "вручную" построить хэш-значение без знака от сделки, а затем "вручную" положить вместе сделку, которая включает в себя подпись Bob2 в?

И еще один вопрос: Есть ли BitcoinJ следовать протоколу, описанный выше, или BitcoinJ по-прежнему склонен к транзакции податливости?

Любая помощь очень ценится, я работаю на реализацию канала оплаты для моей дипломной работы
omnibrain сейчас офлайн Пожаловаться на omnibrain   Ответить с цитированием Мультицитирование сообщения от omnibrain Быстрый ответ на сообщение omnibrain

20 апреля 2015, 8:43:18 PM   # 15
 
 
Сообщения: 1106
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH


Мы изменяем протокол так, что оплата депозитной является P2SH (2 из 2 Alice2, Bob2) и Alice2 и Bob2 являются новыми ключами, которые они никогда не использовались в других местах и ​​Боб не знают Alice2.

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


Есть библиотека, которая поддерживает это?

Любая библиотека Bitcoin, что дает вам достаточно низкоуровневый доступ к подписанию сделки будет поддерживать это. Например мой собственный питон-bitcoinlib позволяет вам, как вы можете видеть в P2SH пример подписания.
Peter Todd сейчас офлайн Пожаловаться на Питер Тодд   Ответить с цитированием Мультицитирование сообщения от Peter Todd Быстрый ответ на сообщение Peter Todd

21 апреля 2015, 4:26:49 AM   # 16
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH

Но это не то, что именно это предложение направлено дело?

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



Это предложение предположить, что Боб не будет принимать стратегию распыления и-молить. Как кто-то теперь случайно мутирует операции по сети, данное предложение не будет работать

Мой вопрос год назад не ответил. Как кто-то может атаковать сеть случайно изменяющих передатчиках, так же, как то, что мы имели в прошлом году, не TXID не следует рассматривать как окончательный до того, как написано в blockchain.
jl2012 сейчас офлайн Пожаловаться на jl2012   Ответить с цитированием Мультицитирование сообщения от jl2012 Быстрый ответ на сообщение jl2012

21 апреля 2015, 7:49:32 AM   # 17
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH

Мой вопрос год назад не ответил. Как кто-то может атаковать сеть случайно изменяющих передатчиках, так же, как то, что мы имели в прошлом году, не TXID не следует рассматривать как окончательный до того, как написано в blockchain.
Что ответить? Это ограничение here-- указал на посту; кто-то может выбрать принять, что risk-- например если их альтернатива просто доверять своему контрагенту, а не такая схема может быть только улучшение.
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

7 сентября 2015, 8:17:06 AM   # 18
 
 
Сообщения: 1162
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH

Игнорирование проблем с совместимостью, нижеприведенный исправить это раз и навсегда, это Wouldnt?

**********
#define SIGHASH_TXID 0x40

изменение https://en.bitcoin.it/wiki/OP_CHECKSIG:
Окончательная проверка подписи
Массив байт строятся из сериализованного txCopy приложенномом четыре байта для типа хэша и если SIGHASH_TXID устанавливается с последующим TXID. Этот массив sha256 хэшируется дважды, а затем открытый ключ используется для проверки прилагаемой подписи против хэша. Secp256k1 эллиптических кривым используются для проверки с данным открытым ключом.
**********

также TXID не может включить сиговый. Не знаю, почему TXID известково разве используя те же данные, что и известково подписи.

Джеймс
jl777 сейчас офлайн Пожаловаться на jl777   Ответить с цитированием Мультицитирование сообщения от jl777 Быстрый ответ на сообщение jl777

7 сентября 2015, 12:55:58 PM   # 19
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH

Игнорирование проблем с совместимостью, нижеприведенный исправить это раз и навсегда, это Wouldnt?

Это трудно вилка, так как старые клиенты будут рассматривать эти подписи недействительными. С жесткой вилкой, есть много решений этой проблемы.
TierNolan сейчас офлайн Пожаловаться на TierNolan   Ответить с цитированием Мультицитирование сообщения от TierNolan Быстрый ответ на сообщение TierNolan

7 сентября 2015, 1:12:15 PM   # 20
 
 
Сообщения: 1162
Цитировать по имени
цитировать ответ
по умолчанию Re: Salvaging протоколов возврата от податливости атак с P2SH

Игнорирование проблем с совместимостью, нижеприведенный исправить это раз и навсегда, это Wouldnt?

Это трудно вилка, так как старые клиенты будут рассматривать эти подписи недействительными. С жесткой вилкой, есть много решений этой проблемы.
Давайте hardfork!
jl777 сейчас офлайн Пожаловаться на jl777   Ответить с цитированием Мультицитирование сообщения от jl777 Быстрый ответ на сообщение jl777



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW