В реальном мире, сделки, как правило, более двоичные: они либо успех или неудачу. Они не сидят в подвешенном состоянии навсегда.
Поэтому я предлагаю новое сетевое правило:
- Обратите внимание на текущую высоту блока, когда TX принимаются в узле, X.
- Когда высота блока увеличивается до X + T и TX еще не был введен в блок, удалить его из кэша TX. T может быть 150 блоков, около 24 часов, но это открыто для обсуждения.
В краткосрочной перспективе это должно иметь небольшой эффект, так как клиенты будут продолжать повторно сделку до бесконечности, пока они не попадают в блок. А кэш TX промывается в любом случае, когда Bitcoin узел перезагружается.
В долгосрочной перспективе это гарантирует предсказуемое поведение для каждой транзакции. С помощью этой сети правило, в месте, пользователь будет знать, что их TX будет вероятно либо сделать его в блок, или исчезнуть из TX кэшей [и, таким образом, иметь право на получение resubmittal]. Это должно открыть возможность для пользователей, чтобы восстановить потраченные монеты, которые никогда не делали его в блок (никогда не подтверждено). Нынешняя неспособность для пользователя, чтобы восстановить неподтвержденный-и-никогда-оют деньги является недостатком, который необходимо исправить, хотя, к счастью, эти редкие случаи сегодня.
Однако ... Такое unspending трудно: А тратить потенциально создает транзакцию изменения, которая сама по себе могла бы быть потрачены, и так далее. Конечно, эти зомби монета никогда не подтвердит, что их происходящий сделка является сделкой зомби. Но это трудно раскатать цепь из затрачивает надежно.
Комментарии приветствуются.