Реальная история.
Разработчики Bitcoin хорошо знают об этом не проблема:
http://sourceforge.net/mailarchive/forum.php?thread_name=CAJHLa0MVrQN6hyuAsYNRJ2CV6fsPnAbRDSUQH%2Bn6jfKdMiFaLQ%40mail.gmail.com&FORUM_NAME = Bitcoin-разработка Каждое изменение в Bitcoin, который блокирует некоторые операции из распространяющихся по какой-либо причине, например, их вредными к сети, имеет этот эффект.
Zero-конф операция никогда не была безопасной. Так, например, как
указал на ИРЦ Питер Тодд, потому что Elgius имеет 3,17% мощность хеширования и блокирует Satoshidice сделки вы можете выгодно дважды провести Satoshidice в принципе, заработав отличаются от мощности хеширования 3,17% и 1,9% Satoshidice дома ребра каждый раз. (На самом деле делать это с выгодой трудно, однако в связи с
риск гибели среди прочего) Вы можете получить еще более преимущество, отыскивая все шахтер блокирующего Satoshidice сделок и представление всех их одновременно, и вы можете дополнительно улучшить этот край, идентифицируя шахтер блокирующих другие адреса, а также такие, как "правильная лошадь батареи штапельного" адрес, который был использован для спама в сети.
Не важно, что из-за Bitcoin не реализует обнаружение двойной тратить подавляющее большинство клиентов никогда не будет знать, если вы просто транслировать две противоречащие друг другу сделки сразу. В этом случае есть шанс, 50:50 сделки торговца заминировано. Blockchain.info даже создали простой в использовании инструмент для автоматизации делать это:
https://blockchain.info/create-double-spend (Хотя это трудно нажать и "Отправить" Кнопки достаточно быстро для того, чтобы работать, он работает лучше, если вы отправляете одну транзакцию на локальном узле Bitcoin)
Однако мы
Можно сделать нулевой подтверждение сделки безопасно
без сложные доверенные системы идентификации, по иронии судьбы, делая его легче двойному тратить деньги. Если мы реализуем заменить-на-плату узлы всегда будет перенаправлять сделку с наибольшей общей платы (включая родителей), даже если бы дважды провести предыдущую операцию. На первом взгляде это кажется сделать двойные расходы тривиальной и нулевого подтверждения сделка бесполезна, но на самом деле это дает мощное встречное меру попытки двойным расходам: торговец, который был сорван создает последующую операцию отправки 100% от средства для горнодобывающих сборов. Все заменяющие-на-платой шахтеры будут добывать эту сделку, а не тот отправляет денежные средства обратно на мошенник, и нет ничего мошенник может поделать, кроме надежды они получают повезли и некоторые один копь их дважды проводит, прежде чем они слышать о борьбе расходов. Сделка также может быть построена таким образом, чтобы получатель немного больше платит заранее, с торговцем возмещением дополнительного количества раз сделка подтверждает, чтобы гарантировать, что дважды израсходует приведут к чистому убытку для мошенника.
Питер Тодд работает над написанием лучшего кода пула памяти, который позволит этой технологию для безопасных сделок нулевого подтверждения, хотя он сказал мне, что это не будет готово на некоторое время из-за тщательное тестирование требуется, и это только делает операции нулевого подтверждения безопаснее пропорционально шахтерам, которые принимают замены-на-плату. (В настоящее время около 0,25% по моим измерениям узкоспециализированных), что говорит, если достаточно большая поддержка фракции она просто прошу депозит риска, как упоминалось выше, или какой-либо другой методом страхования является адекватным подходом для борьбы с% шахтерами, которые будут игнорировать счетчик-транзакции.
Остается открытым вопрос о том, следует ли принять изменения, необходимые для безопасных операций с нулевым подтверждением основных разработчиков, комментарии Грегори Максвелла по идее стоит прочитать:
http://www.mail-archive.com/bitcoin-development@lists.sourceforge.net/msg02226.html