Вот идея, чтобы забрать стимул к двойному расходов. Если шахтер обнаруживает двойную израсходуете, он может положить ОБА в том же блоке, и весь двойной потраченный объем идет на плату. Вместо того, чтобы до ~ 50% шанс получить деньги обратно, двойные расходы почти всегда терпят неудачу и потерять деньги.
Это позволило бы мгновенное принятие 0-подтверждения транзакций для большинства видов применения, которые нуждаются в ней, как пункт-продажи.
Это довольно легко проверить конфликтующие входы в блоке. Я не уверен, что это будет необходимо флагом или перечислить их в отдельном списке.
Обе операции должны идти в том же блоке. Если двойной израсходуют приходит после того, как первая сделка уже в блоке, это слишком поздно.
Это будет применяться только с Locktime = 0 расходов. Если вам необходимо создать несколько тратит на цели по какой-то причине использовать Locktime = 1 или выше.
РЕДАКТИРОВАТЬ
Новая обратная совместимость версии 2:
Если шахтер обнаруживает двойные израсходует, он ставит и проводит в область данных расширения в блоке. Двойные отработанные входы помечаются как выплачивая scriptPubKey этого шахтера, но не могут быть потрачены до некоторого будущего времени, когда мы решаем достаточно старые клиентов модернизировали. Там обязательно в конце концов, быть проблемой безопасности, что делает все старые клиенты небезопасным и вынуждены модернизировать.
Таким образом, все двойное потратили количество идет на шахтер, в конце концов. В будущем он будет идти к шахтеру сразу.
Для перехода, нам нужно только, чтобы получить более 51% добычи власти после нового правила.
Это полностью совместим со старыми клиентами. Они продолжают двоиться затрачивает оставаться застрял на 0-подтверждение.
И старые и новые клиенты выиграют от того, что двойные расходы столь же бесполезно, как с переводом денег на 1BitcoinEaterAddressDontSendf59kuE.
Данные расширения могут быть втиснуть в любом месте, как дополнительный выход 0BTC на coinbase к тупиковых scriptPubKey, который содержит данные расширения в нажимной капли.