майнить огромные блоки будет сложнее, затратнее более "легких" блоков, разница будет ощутимой
Кроме Nonce в заголовке есть еще поле Time. Его тоже частично можно использовать для перебора, допустим последние 6 бит. То есть, на один пересчет merkle tree перебирается 2^38 полезных хэшей.
Для полного пересчета merkle tree, построенного из N транзакций необходимо посчитать N двойных хэшей (на самом деле нужно округлить до степени двойки в большую сторону).
Тогда, КПД = 1 - N/(N+2^38). То есть, чтобы потерять 1% от вознаграждения, майнерам необходимо включить в блок более 2 млрд транзакций.
Ну а вообще, даже если майнерам по каким-то причинам будет невыгодно майнить большие блоки, то это нам только наруку. Меньше блоки - больше децентрализация полных нод. SegWit и Lighntning для микротранзакций тоже никто не отменял.
Проблема отсутствия мотивации майнеров включать все транзакции - это родовая травма Биткойна, вылечить её может только время до уменьшения награды за блок (но времени то нет), или какое-то разумное решение сообщества.
Да, потенциально, это может быть проблемой. В рамках моего предложения это решается довольно просто. Вдобавок к проверке на наличие транзакций в mempool можно добавить еще обязательное условие о включении их в блок. Но, вроде бы, пока в этом нет необходимости. И еще это может сломать тот механизм конкурентного образования комиссии, который мы сейчас обсуждаем с GGUL.