Как узнать, конфликтуют ли две транзакции в мемпуле?
В мемпуле битойна происходит множество транзакций. Однако возможны двойные расходы. Как мы можем проверить, конфликтуют ли две транзакции, то есть они являются двойным расходом биткойна?
PS Если две транзакции противоречат друг другу, значит, обе имеют хотя бы одну общую входную транзакцию. Итак, что еще нужно проверить, чтобы убедиться, что две транзакции конфликтуют (двойная трата).
благодаря
Ответы
Во-первых, нет «мемпула». Глобального мемпула нет. Скорее, каждый узел поддерживает свой собственный пул памяти и принимает и отклоняет транзакцию в этот пул памяти, используя свои собственные внутренние политики. Большинство узлов имеют одинаковые политики, но из-за разного времени запуска, задержек реле и других факторов не каждый узел имеет одинаковый пул памяти, хотя они могут быть очень похожими.
Когда дело доходит до удвоения скорости, типичная политика узла заключается в том, что если транзакция конфликтует с другой транзакцией, она не будет принята этим узлом, поэтому конфликтующая транзакция не попадает в пул памяти этого узла. Поэтому, если вы не измените свой узел для принятия конфликтов, мемпул вашего узла никогда не будет содержать конфликтующих транзакций.