Может ли транзакция потеряться?

Учитывая, что я подключен к сети по крайней мере с одним партнером, могу ли я быть уверен, что отправленная мной транзакция будет выполнена (либо с ошибкой, либо с успехом)? Есть ли вероятность того, что он никогда не попадет в блокчейн, так что отправитель ничего не потратит? Что, если он был включен в какой-то блок, а потом этот блок осиротел? Будет ли моя транзакция «удалена»?

Если есть такая возможность, как с этим бороться? Учитывая, что я записываю TxHash, могу/должен ли я регулярно проверять его, и если он все еще не существует после «большого» количества блоков, предупреждать пользователя о том, что его транзакция не выполнена, и он должен отправить ее снова? Похоже, что это решение склонно к двойным расходам. Кроме того, из этого ответа я понимаю, что транзакция может исчезнуть и появиться снова намного позже, поэтому «большое» количество блоков для ожидания неопределенно. Итак , как я могу убедиться, что транзакция включена в блокчейн?

Спасибо

Ответы (1)

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

могу/должен ли я регулярно проверять его, и если он все еще не существует после «большого» количества блоков, предупредить пользователя о том, что его транзакция не выполнена, и он должен отправить ее снова?

Да, и для некоторого кода см. Как DApp может обнаружить форк или реорганизацию цепочки с помощью web3.js или дополнительных библиотек?

В основной сети около 12 подтверждений считаются безопасными. (На тестнетах вроде Ropsten гарантии намного слабее и даже 64 подтверждения недостаточно ).

Чтобы убедиться, что транзакция включена в блокчейн, убедитесь, что она имеет:

  • приемлемая цена на газ (чтобы майнеры включили его в блок)

  • достаточное количество газа (чтобы транзакция не была отменена)

Затем транслируйте транзакцию дюжине пиров и отслеживайте ее с помощью нескольких клиентов.

Большой! Большое спасибо за этот ответ. Таким образом, нет способа быть уверенным на 100%, но мы можем быть «достаточно уверены» после ряда подтверждений.
По математике правильно. Ради любопытства обратите внимание, что даже при огромном объеме работы в блокчейне Биткойн все еще возможно, чтобы кто-то (возможно, из космоса) создал блокчейн, в котором больше работы, и все блоки Биткойн (после генезиса) могут быть реорганизованы. . Если это произойдет, сообщество может выбрать хардфорк, чтобы сохранить цепочку до «вторжения».