Я не знаю, как getblocktemplate
именно это работает, но, кажется, он включает транзакции на основе приоритета .
Выбор транзакций на основе приоритета — не самый прибыльный метод построения блока (в отличие от комиссии/байта), поэтому getblocktemplate
его будут использовать только майнеры, которые не поняли, как создавать свои собственные блоки?
Зачем кому-то использовать getblocktemplate
иначе?
Getblocktemplate строит блок на основе параметров конфигурации. В последних версиях по умолчанию в качестве критерия для всего блока используется плата за байт.
История
В версиях Биткойн до 0.6 выбор на основе приоритета использовался для всего блока. Это было средством поощрения роста молодой биткойн-экономики. Однако у него также была минимальная комиссия за транзакцию, которая увеличивалась по мере того, как пространство в блоках приближалось к лимиту.
В версии 0.7 была введена -blockprioritysize
настройка, разделяющая блоки на приоритетную и платную зоны. Область приоритета предназначалась для поддержки небольшого количества транзакций с низкой комиссией для продолжения и по умолчанию была ограничена 27 КБ (50 КБ, начиная с версии 0.9 ). Зона комиссий отсортирована по плате за байт и максимизирует общую комиссию для майнеров.
Последние версии
В Bitcoin Core 0.12 значение по умолчанию для размера приоритета было уменьшено до 0. Он также представил более эффективный алгоритм выбора транзакций, который работает неоптимально для области приоритета.
В предстоящем выпуске Bitcoin Core 0.13 алгоритм выбора алгоритма будет снова улучшен и будет использовать логику «ребенок платит за родителя» (CPFP). Эта логика использует сборы от неподтвержденных транзакций потомков, чтобы определить, следует ли включать родителей. Он увеличивает общую комиссию, которую можно взимать по сравнению с предыдущим алгоритмом, и позволяет кошелькам увеличивать комиссию за транзакцию, тратя свои выходы сдачи с более высокой комиссией.
инерша
Питер Уилле