Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
5 сентября 2012, 6:53:37 PM   # 1
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Несколько месяцев назад была просветительская дискуссия о работе "Два Bitcoins в (СИК) по цене одной? Двойные атаки Расходов на быстрых платежей в Bitcoin." (http://eprint.iacr.org/2012/248.pdf) В потоке .

Я рекомендую всем, кто имеет дело с 0 / неподтвержденными платежами читать эту нить.

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

В статье предлагается отправка (Tx1, TX2) всякий раз, когда Прд1 и Tx2 действительны, и они разделяют prevout.
(Тх1, Тх2) может быть очень большой, и, и это легко генерировать большое количество предупреждений комбинациями prevouts.

Я думаю, что концепция двойного затратить система оповещения не несовершенна и может добавить новый слой уверенности для продавцов, использующих 0 / неподтвержденными.
Вот мое предложение.

Предложение 1)

Пусть Прд1 относится к provout р в его входной к, с подписью сценария Sign1_p, к, который подписывает хэш Тх1 для к, hash1_k
Пусть Tx2 относится к provout р в его входном у, с подписью сценария Sign2_p, J, который подписывает хэш Tx2 для J, hash2_j

Редакция: Если Прд1 и Tx2 имеют одинаковые Outpoints (адрес и сумма), то сигнал тревоги не отправляется, так как только платы или previns могут быть изменены. (Спасибо Etlase2 за указание этой проблемы)

Очевидно Sign1_p, к! = Sign2_p, J и hash1_k! = Hash2_j

Узел, который принимает Tx1 и Tx2 строит оповещение А = (р, Sign1_p, к, hash1_k, Sign2_p, hash2_j) и посылает его аналогов.

Это сообщение, в среднем, 36 + 139 + 32 + 139 + 32 = 378 байт
Оповещения с длиной более 512 байт следует игнорировать. Торговцы могут просто принимать только стандартные операции для 0 / неподтвержденными.

Когда узел получает хорошо сформированную предупреждающее сообщение А = (р, s 1, к, h1, s2, h2)

1) Если р уже, как цветовые "двойной товар.Обращайте", Клиент игнорирует предупреждение.
2) Если р делает еще не существует в блоке, клиент игнорирует предупреждение.
3) Бдительные подписи проверяются. Если утратившим клиент игнорирует предупреждение.
4) Отметьте минус р как "двойной товар.Обращайте",
5) Отправить предупреждение для остальных сверстников.

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

Кроме того, когда сделка Tx3 принимается и относится к ранее отмеченному минусу, транзакция игнорируется и не передается, не новое предупреждение не будет отправлено.
(Примечание: Поле Locktime не было учтено в данном описании)

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

Предложение 2) Кроме того, я предлагаю еще один уровень безопасности, но это требует hardfork: Если шахтер находит две операции, которые проводят те же prevouts (редактирование: но имеют разные выходы), оба из них могут быть включены в блок ( всегда один за другим), и все деньги от prevouts в конфликте даются горняк, остальные prevouts нетронуты. Кто осмелится попробовать двойной потратить?

Очевидно, что все эти меры не применяются к атаке Финни, который по-прежнему возможно.


С наилучшими пожеланиями,
 Серхио.






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


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


5 сентября 2012, 6:58:56 PM   # 2
 
 
Сообщения: 798
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»

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





Предложение 2) Кроме того, я предлагаю еще один уровень безопасности, но это требует hardfork: Если шахтер обнаруживает две сделки, которые тратят тот же prevouts, оба из них может быть включена в блоке (всегда один за другим), и все деньги от prevouts в конфликте дается горняка, остальные prevouts нетронуты. Кто осмелится попробовать двойной потратить?

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

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

5 сентября 2012, 7:44:41 PM   # 3
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»


Люди, которые случайно дважды израсходуют, которые были бы довольно легко, когда несколько устройств, использующих одни и те же кошельки обычны ...

Одной из возможностей является "флаг" сделки по 0 / неподтвержденными. Предположим, что каждая сделка имеет "БЫСТРО" бит хранится где-то. Если две транзакции получены со ссылкой на тот же prevout и по меньшей мере один имеет БЫСТРО = TRUE, то сообщение посылается. Если оба имеют FLAG = False, то оповещение не будет отправлено. Торговцы должны принимать только сделки с БЫСТРО = TRUE, при 0 / неподтвержденными.

Для предложения 2, люди, использующие несколько устройств для того же кошелька следует избегать использования БЫСТРО = TRUE и 0 / неподтвержденными в целом.

.. а также неподтвержденные сделки, которые никогда не утвержденные, потому что у них нет платы за ОЙ, и пользователь в конечном итоге создает новый израсходует

Первоначально Bitcoin было поле nSequence в previns для этой цели, но теперь не проверяется.

Тем не менее, с предложением 1, если вы просто ждать 2 блоков, которые будут транслироваться, вы уверены, что знаки в prevout были удалены, так что вы должны быть в состоянии послать новую ТЙ без проблем.

Но в любом случае существует простая модификация, чтобы предотвратить эту проблему:

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

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

5 сентября 2012, 11:47:42 PM   # 4
 
 
Сообщения: 686
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»

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

6 сентября 2012, 1:27:57 AM   # 5
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»

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

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

6 сентября 2012, 5:19:46 AM   # 6
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»

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

Да, именно поэтому я добавил к алгоритму, что если Прд1 и Tx2 имеют одинаковые выходы с теми же количествами, то шахтер не может претендовать на какой-либо приз, и блок является недействительным.


Клиент не всегда будет построить "повторение" сделка таким же образом. Если это несколько устройств, то они, вероятно, использовать разные адреса изменения. Иногда это просто пользователь воссоздание ОГО, не пройти, и клиент будет реконструировать, используя различные входы и различные изменения адреса. Если предположить, что один выход, который Изменился адрес изменения, а это может быть просто кто-то держать их изменения адреса такой же, но поменять местами предполагаемого получателя. Другими словами, нет никакого способа отличить законны двойной затрачивает от случайного.

Кстати, я на самом деле реализован детектор двойного Потратьте в Оружейной. В основном, чтобы обеспечить предупреждение, что были получены противоречивые операции, и это особенно важно для пользователя, чтобы ждать 6 подтверждений. Помимо того, что он не в Оружейной (потому что он идет через клиент Satoshi, который падает конфликтующие транзакции таким образом, Оружейная никогда не видит их), gmaxwell отметил очень мощный аргумент о том, "плохие люди" получите вокруг этого.

(1) Кто-то устанавливает специальный (темный) майнинг, который контролирует определенную часть глобальной скорости хэша (скажем, 5%). 
(2) Этот пул не пересылает никаких сделок.
(3) Пользователи, которые платят, чтобы быть частью этого пула получить приложение, которое для каждого ТХ они посылают, он также посылает бассейн заменяющую сделку, чтобы начать добычу
(4) Получатель никогда не будет видеть двойные расходы, потому что он не получает перенаправлен
(5) 5% от времени они добиться успеха
(6) Так как не существует никаких дополнительных усилий, чтобы сделать это за одну сделку против тысяч, там обязательно будет услуги, которые всплывают и могут предложить людям эту услугу за бесценок. Не говоря уже они получают деньги для добычи полезных ископаемых. 

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

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

6 сентября 2012, 8:44:12 AM   # 7
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»

Да, промышленно развитые нападения Финни являются проблемой, но я не думаю, что это означает, что нет смысла делать широковещательные двойные расходы.

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

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

6 сентября 2012, 1:03:44 PM   # 8
kjj
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»

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

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

6 сентября 2012, 3:14:11 PM   # 9
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»

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

6 сентября 2012, 3:56:41 PM   # 10
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»

Таким образом, я вижу, что предложение 2 не является хорошим решением, из-за нескольких устройств.

Тем не менее предложение 1 представляет собой эффективный уровень защиты.

Кто-нибудь нашел какие-либо проблемы в нем? Если нет, то я могу написать BIP.
Обратите внимание, что метки на prevouts очищаются через каждые 10 минут, так что любая проблема относительно отправки дважды проводит по ошибке просто исчезает быстро.

Что касается сделок с 0 подтверждениями, это вопрос управления рисками, как говорит Майк.




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

6 сентября 2012, 4:01:09 PM   # 11
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»

Sergio:

Это новый тип сообщения необходимо?

Как насчет создания правила реле транзакции:

1) Если транзакция имеет входы, что конфликт с одним уже в лучшем blockchain, уронить его.
2) Если транзакция имеет входы, которые конфликтуют с другой транзакцией в пуле памяти, и это первая такая сделка противоречивой, проверить подписи в новой транзакции, и если они OK знак Сделки пула памяти, как "увидел двойной израсходуют", Затем реле конфликтующей транзакции (но в противном случае не помню).

Правило (1), чтобы предотвратить злоумышленнику принимать кучу своих старых, уже в-blockchain выходов и пытается генерировать "дважды проводят оповещение шторм" отправив фиктивные попытки дважды платить за них.

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

GUI / RPC должен определенно показать попытку-двойной провести пул памяти (0-Conf) сделки, как "BEWARE",

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

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

6 сентября 2012, 4:04:03 PM   # 12
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»

Как "реле, но не помню" Работа? Просто взорвать его без инв? Если вы хотите использовать протокол и для уменьшения использования пропускной способности вы должны держать его вокруг, по крайней мере, на некоторое время, так что вы можете подавать его при запросе с GetData.
Майк Хирн сейчас офлайн Пожаловаться на Mike Хирн   Ответить с цитированием Мультицитирование сообщения от Mike Хирн Быстрый ответ на сообщение Mike Хирн

6 сентября 2012, 4:32:31 PM   # 13
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»

Правильно, вы должны помнить о них, по крайней мере, на некоторое время ... Заменить "реле, но не помню" с "реле и забыть как можно скорее."
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

6 сентября 2012, 9:31:07 PM   # 14
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»


2) Если транзакция имеет входы, которые конфликтуют с другой транзакцией в пуле памяти, и это первая такая сделка противоречивой, проверить подписи в новой транзакции, и если они OK знак Сделки пула памяти, как "увидел двойной израсходуют", Затем реле конфликтующей транзакции (но в противном случае не помню).

Правило (1), чтобы предотвратить злоумышленнику принимать кучу своих старых, уже в-blockchain выходов и пытается генерировать "дважды проводят оповещение шторм" отправив фиктивные попытки дважды платить за них.


Две проблемы я вижу:

(A) мне не нравится идея дать хакеру больше энергии.

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

Атакующий уверен, что второй не будет включен в блок, потому что шахтеры будут отвергать его.

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

(B) Как разрешить честный пользователь заменить транзакцию из-за, например, низкие сборы, указанные в первом?

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

Отметки в prevouts легкие и легко стереть. Просто сотрите их все через каждые 10 минут.


С наилучшими пожеланиями,
 Серхио.
Sergio_Demian_Lerner сейчас офлайн Пожаловаться на Sergio_Demian_Lerner   Ответить с цитированием Мультицитирование сообщения от Sergio_Demian_Lerner Быстрый ответ на сообщение Sergio_Demian_Lerner

6 сентября 2012, 10:12:27 PM   # 15
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»

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

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

котировка
(B) Как разрешить честный пользователь заменить транзакцию из-за, например, низкие сборы, указанные в первом?

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

Отметки в prevouts легкие и легко стереть. Просто сотрите их все через каждые 10 минут.

Это другой вопрос, и новая функция. Я думаю, что лучший способ реализации этой функции является "ребенок платит за родителей" (видеть https://github.com/bitcoin/bitcoin/pull/1647 для предлагаемой реализации), а затем пользователь может транслировать платить Себе ребенок сделку высокой оплаты, чтобы получить родитель принятый в блок.
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

7 сентября 2012, 9:38:48 AM   # 16
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»

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

7 сентября 2012, 2:04:19 PM   # 17
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»

Я до сих пор не слышал ни большие проблемы с предложением 1, новое сообщение оповещения в виде (р, Sign1_p, к, hash1_k, Sign2_p, hash2_j)

Плюсы:

- Не дает хакеру больше мощности (более высокую пропускную способность)
- Никакие изменений испытанного протокола отказа от двойного тратят
- Минимальное взаимодействие с остальной частью протокола
- Не имеет худшую проблему "дважды проводят по ошибке",
- использование Очень низкая пропускная способность, только 512-байтовые оповещения
- Не может быть источником DoS: максимум одно предупреждение может быть сгенерирован для любого существующего очкам каждые 10 минут.
- Обратная совместимостьСтарые клиенты просто отбрасывать новый тип сообщения
- Очень чистая реализация может быть закодирована ...

Против:
- Это требует больше кодирования, чем решение Гэвин (но решение Гэвин, я думаю, очень подвержены ошибкам хорошо кода)

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

7 сентября 2012, 2:08:15 PM   # 18
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»

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

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

7 сентября 2012, 3:11:27 PM   # 19
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»

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

Цель будет держать сеть занята проверкой предупреждений, подписей.

Интересно. Для каждого нового дважды провести хакеру ранее неизрасходованный минуса (поле р).
Так что нападающим необходимо будет первым владеть 100K (невозможные минусов, не платя огромные суммы комиссионных).
Кроме того, каждое сообщение занимает 8 мс для отправки, хотя 64 Кбайт / с подключением, так что процессоры не будут заблокированы в проверке подписи.
Сигналы с недействительными подписями не передаются, поэтому подписи должны быть действительными.

Во всяком случае я думаю, что это может быть проблемой.

Два возможных решения:

1. легко. Только проверять и реле тревожного сообщения для р, если у нас уже есть сделка, которая использует р в пуле памяти
(Злоумышленнику потребуется заплатить плату за каждое оповещение сообщения для того, чтобы сделать возможное нападение)

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




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

16 октября 2012, 9:48:06 PM   # 20
 
 
Сообщений: 39
Цитировать по имени
цитировать ответ
по умолчанию Re: О предложил дважды провести оповещение в «Два Bitcoins в цене одного»

Sergio:

Это новый тип сообщения необходимо?

Как насчет создания правила реле транзакции:

1) Если транзакция имеет входы, что конфликт с одним уже в лучшем blockchain, уронить его.
2) Если транзакция имеет входы, которые конфликтуют с другой транзакцией в пуле памяти, и это первая такая сделка противоречивой, проверить подписи в новой транзакции, и если они OK знак Сделки пула памяти, как "увидел двойной израсходуют", Затем реле конфликтующей транзакции (но в противном случае не помню).

Правило (1), чтобы предотвратить злоумышленнику принимать кучу своих старых, уже в-blockchain выходов и пытается генерировать "дважды проводят оповещение шторм" отправив фиктивные попытки дважды платить за них.

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

GUI / RPC должен определенно показать попытку-двойной провести пул памяти (0-Conf) сделки, как "BEWARE",

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



+1 !!

Для меня Птичье клиент, Я попытался проанализировать различные способы обнаружения двойной расходы в следующем сценарии:  "Плохо" клиент на кирпич и минометных магазин использует POS для оплаты товаров. POS связывается с BIRD (чтобы получить неизрасходованный Txs, сделать & знак ОГО), птичьи переговоры 1 или более обычных узлов полного Bitcoin ретранслировать новый ТХ. "Плохо" клиент отправляет в то же время (с использованием своего смартфона или любой другой, связанный с другими узлами) те же монеты в другой адрес он владеет. Магазин принимает 0 подтверждений.

При текущей реализации сбросив дважды провести Txs, и только 1 подключение к сети Bitcoin, попытка двойного израсходуете НИКОГДА не видел моего Птичье клиента, что плохо. Так что это потребовало бы что-то вдоль линий: отправить вынул на 1 узел, слушать на других узлах, если они все же сигнал это ТЙ (или вместо конфликтующих один).

Тогда я тоже читал эту статью на "атака времени": Дважды Отдохни Нападения на быстрых платежей в Bitcoin, что еще больше кажется усложнять (вам необходимо подключить ко многим узлам, чтобы получить шанс увидеть конфликтующие Txs).

НО если правило Гэвина 2 сверху немного изменен следующим образом:

2а) Если транзакция имеет входы, которые противоречат другой транзакции в пуле памяти, и это первая такая транзакция противоречивой, проверки подписей в новой транзакции, и если они OK отметить транзакцию пула памяти как "увидел двойной израсходуют", Реле конфликтующей транзакции, как обычно, и помните, что до тех пор, как сделки пула памяти.
2b) Если транзакция имеет входы, что конфликт с другой транзакцией в пуле памяти, и это не первая подобная сделка противоречивой, брось это. (Это можно легко проверить, как первый противоречивый ТЙ запоминаются)

ТОГДА "изоляция" узла жертвы (как показано в работе) уже не возможно, даже если он слушает только 1 (доверенного) узла.

Так что, по крайней мере нападение времени уже не полезно: торговец может ждать, например, 10 секунд, прежде чем принять ТХ. Если в то время ни одна других конфликтующего ТЙ не видно, большинство узлов будут иметь ТЙ торговец.

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW