Гэвин Андресен (Gavin Andresen), ведущий специалист Bitcoin Foundation и один из основных разработчиков биткоин-протокола, анонсировал изменения в обработке комиссионных сборов в сети Bitcoin.
Новый алгоритм более гибко подстраивается к текущей нагрузке на инфраструктуру Bitcoin. Вместо жёстко зафиксированного размера комиссионного сбора программа будет проверять время подтверждения последних транзакций — и на основании этой информации определять сумму сбора, чтобы транзакция прошла быстро. Теоретически, в случае низкой нагрузки на сеть клиент предложит провести транзакцию за минимальную комиссию 0,00001 BTC, то есть почти бесплатно.
Предпочтительная скорость транзакций устанавливается через новую опцию txconfirmtarget. По умолчанию её значение минимальное “1”, что означает размер комиссионных, необходимый для вероятного включения транзакции в следующий блок. Увеличение этого числа означает увеличение вероятного количества блоков, которые придётся подождать до получения первого подтверждения.
В целом, такой алгоритм расстановки приоритетов выглядит более логично, чем прямое указание размера комиссионных с непредсказуемым результатом. Для демонстрации непредсказуемости Гэвин Андресен приводит график с оценкой среднего размера комиссионных, необходимых для включения транзакции в следующий блок (синяя линия), в следующие 2 блока (красная) и т.д.
Как видим, синий график изменяется в диапазоне от 0,0005 до 0,0019 BTC за 1 КБ. Кто-то платит существенно больше, чем необходимо, для проведения быстрых транзакций, меняя опцию paytxfee в клиенте или используя другие способы проведения платежей.
Нынешние правила соответствуют значению ожидания 2-6 блоков и обычно устанавливают оплату в районе 0,0001 BTC, независимо от количества операций. Так что при увеличении файла до 1 КБ приходится ждать до 15 блоков (более 2 часов) до первого подтверждения. Новый алгоритм действует более предсказуемо.
Изменения реализуют в следующей версии официального клиента и серверного программного обеспечения Bitcoin Core 0.10 (бывшее название Bitcoin-Qt).