Что такое "мемпул"
Когда вы сообщаете блокчейну, что хотите совершить транзакцию, ее “законность” сначала должны проверить и подтвердить валидаторы. При этом, находясь в процессе валидации, средства “повисают в воздухе”: они уже списались с вашего баланса, но еще не зачислились на баланс адресата. Где деньги, Билли?
Место, в котором пребывают транзакции в промежутке между отправкой и получением, называется “мемпул”. Слово является акронимом от “Memory” и “Pool” (т.е. “пул памяти”). Мемпул часто сравнивают с залом ожидания, хотя это не совсем точно передает его реальные цели и задачи. Именно благодаря пулу памяти сеть биткоина работает без срывов и перерывов на обед, а среднее время формирования новых блоков остается одинаковым.
Размер мемпула изменяется в зависимости от уровня сетевой активности: когда поток транзакций большой - пул переполняется, образуя “очередь” на валидацию. Соответственно, когда транзакций в сети мало, мемпул пустеет. Исходя из заполненности мемпула, в сети могут изменяться такие параметры как время подтверждения транзакций и размер комиссии.
Если бы биткоин-транзакции были бабушками, а мемпул - отделением Ощадбанка, то процесс продвижения транзакций в мемпуле чем-то напоминал бы “живую очередь” в кассу: занимаешь крайним, а за попытку пролезть без очереди получаешь статус наркомана или проститутки. Но, к счастью, биткоин - это чисто капиталистическая история, поэтому здесь используется приоритизации транзакций.
Важно знать, что максимальный размер блока ограничен, а транзакции отличаются друг от друга по весу. Из-за этого, количество транзакций в блоках может быть различным.
Приоритетность транзакций для майнеров зависит от двух моментов: их веса (объема) и размера предлагаемой комиссии. Объем конкретной транзакции может банально не соответствовать оставшемуся свободному месту в блоке, поэтому может быть выбрана более подходящая. Что же касается платы, то узел может повысить нижний порог необходимой комиссии, чтобы решить проблему высокой конкуренции в мемпуле.
Отправители могут предложить валидатору более высокое вознаграждение за подтверждение. А транзакции с низкой комиссией могут удаляться из мемпула, освобождая, тем самым, место в очереди для новых транзакций. Как видим, принцип скидок на оптовом рынке здесь не работает: чем большее транзакций проводится в сети, тем выше сетевая комиссия.
Мемпул также можно сравнить с принципом обратного клапана. Например, за счет наличия такого клапана ваш автомобиль может получить омывающую жидкость на лобовое стекло сразу же после нажатия на подрулевой переключатель. А без клапана вам пришлось бы многократно и долго прокачивать систему, чтобы создать достаточное давление для прохождения омывателем всей дистанции от бачка до форсунок.
Именно мемпул позволяет блокчейну расти с запрограммированной скоростью, несмотря на наличие таких непостоянных параметров как сетевая активность и хешрейт: транзакции скапливаются во временном хранилище, и работа для майнеров есть всегда. А если майнеров слишком много, то алгоритм автоматически повысит сложность расчетов, уравновешивая большие вычислительные возможности.
Однако, обратной стороной этого является ограниченная пропускная способность сети и плохая масштабируемость. Попытки решить эту проблему приводят к периодическим форкам (например, Bitcoin Cash), или созданию специальных платежных протоколов (например, Bitcoin Lightning), где скорость платежей может быть кратно бОльшей.