Как майнеры выбирают какие транзакции включать, а какие — нет?
Вопрос заключается в способе выбора транзакции. Прочитал информацию во многих ресурсах, но ответа так и не нашёл. Как майнеры выбирают себе транзакции, которые будут включены в его блок?
Я понял, что выбираются как правила те, где больше всего комиссия. Но так как существует атака двойной траты при эгоистичном майнинге, вопрос состоит в том, как майнеры всё-таки выбирают себе транзакцию? В той атаке майнер берет транзакцию с конкретным непотраченным выходом и отправляет непотраченный выход себе же. Если Bitcoin core один и тот же, в котором определён способ майнинга, то вопрос в том, как злоумышленник начинает майнить блоки с конкретными транзакциями из мемпула, если все следуют одному алгоритму майнинга, который прописан и один и тот же у всех, значит и способ выбора транзакций один и тот же? Тогда как злоумышленники выбирают себе транзакции для майнинга?
Ещё найдены статьи по разным алгоритмам выбора транзакций для включения в блок. И не понимаю, почему существуют разные алгоритмы, если по факту при запуске полной ноды Bitcoin Core все следуют одному единому алгоритму выбора транзакций для добавления в свой блок.
Транзакции выбираются из mempool'а с сортировкой по комиссии. Можешь эту часть кода переписать в кошельке биткоина, собрать версию и использовать свой алгоритм выбора
Понял
А про версию вы написали, это означает, что все остальные участники сети увидят, что версия блока Биткоина изменилась или никто не заметит этих действий и все будут майнить по одному алгоритму, а я буду отбирать определенные транзакции для включения?