Что делает клиент Bitcoin, когда он получает конфликтующие транзакции?

Я предполагаю, что вторая транзакция будет просто отброшена как недействительная, а первая ждет 0 /не подтверждена до тех пор, пока она фактически не попадет в блок (требуется «-сканирование» или подобное, если второе действительно заканчивается в блочной цепочке). Но так ли это? Что на самом деле происходит в клиенте по умолчанию при получении двух конфликтующих транзакций?

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

20 голосов | спросил eMansipater 8 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 08 Sep 2011 04:33:05 +0400 2011, 04:33:05

1 ответ


16

Я не могу говорить за то, что он делает каждый , но я просто протестировал комментарий г-на Шварца, поэтому я могу говорить за то, что он сделал это one . Я дистанционно управлял географически удаленной машиной, на которой была идентичная копия Bitcoin и мой локальный ПК (с идентичными кошельками). Я отправил идентичные конфликтующие транзакции для всего моего баланса в течение нескольких миллисекунд друг от друга (атомные синхронизирующие часы и таймеры - не спрашивают) и точно так же, как ожидалось, обе транзакции показали у обоих клиентов 0 /неподтвержденный, и только один сделал это Блок. Другой исчез после -rescan

Любопытно, что после -rescan вторая транзакция даже не отображается в дампе bitcoind listtransactions, который кажется мне странным. Кажется, что такие ошибочные транзакции должны быть записаны и отмечены специальным статусом, подобно тому, как сиротские награды блоков - это система учета в конце концов и при определенных обстоятельствах это может быть «уничтожение доказательств». Я сделаю комментарий в следующий раз, когда я нахожусь на GitHub, и посмотрю, не кусает ли кто-нибудь.

ответил David Perry 8 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 08 Sep 2011 09:22:10 +0400 2011, 09:22:10

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132