Забудем на время об идее регулирования комиссии / размера блока рыночным путем. Найдем для начала совсем простое решение - будем считать спамом все транзакции с комиссией ниже некоторой фиксированной величины (допустим, 20 Satoshies/Byte). В таком случае, проблема масштабируемости Биткоина решается предельно просто - снимаем ограничение на размер блока и запрещаем майнерам включать в блоки транзакции с комиссией ниже этой величины, а также бесплатно включать собственные транзакции. Вернее, не совсем запрещаем, а все же оставим немного места (пусть будет 5%) для любых нестандартных транзакций:
Оригинальная идея замены одного лимита на другой. Есть над чем поразмышлять...
Один из крайних случаев при таких 5% может стать таким, что при огромной величине мемпула, блоки будут очень маленькими.
Вариант решения №1
- лимит на размер блока отменяется
- полные узлы отклоняют блоки, если в них включено более 5% нестандартных транзакций (использующие нестандатные скрипты | находившихся в очереди mempool менее 15 секунд | с комиссией ниже 20 сат/байт)
- майнеры, в свою очередь, контролируют минимальную комиссию, а также задерживают транзакции в своей очереди, и не пропускают их в блок, как минимум 20 секунд (для надежности) с момента получения
- правила формирования очереди mempool можно не изменять, но, очевидно, что они становятся неотъемлемой частью консенсуса
Про mempool можно забыть когда консенсус основывается на блоках. Хоть он для всех как бы один, но для каждого разный из-за множества факторов влияющих на скорость прохождения каждой транзакции от узла к узлу, включая константу nMinRelayTxFee и может ещё чего, что сейчас не помню. И какие-либо задержки в 15-20 секунд никакой роли при этом не играют. Консенсуса по мемпулу в таких условиях не может быть в принципе, особенно при 5% которые подразумевается использовать каким угодно способом.
По сути, это альтернативное решение для проблемы спама, которую, собственно и решает ограничение блока в 1MB. Недостаток его в том, что мы привязываемся к фиксированной величине, номинированной в биткоинах. Если стоимость BTC значительно возрастет, то блокчейн станет менее доступным для рядовых пользователей.
Лимит в 1MB ограничивает скорость роста блокчейна 6MB в час или 144MB в сутки.
Что бы система самоокупалась при нынешних реалиях средний размер блока должен быть на порядок больше.
При 1.5GB в сутки рост составит 0.5TB в год.
Это в самом лучшем случае, если среднеарифметическая величина комиссий одного блока останется на сегодняшнем уровне.
...
Кстати, взимать комиссию пропорционально размеру всей транзакции тоже неправильно. Логичнее ее взимать только за выходные скрипты, а за входы, наоборот, пользователям можно даже кэшбек выплачивать

, поскольку чем их больше, тем сильнее уменьшается база UTXO.
Очень сомневаюсь что кэшбек здесь вообще возможен.