Що таке «мемпул»
Коли ви повідомляєте блокчейну, що хочете завершити транзакцію, її «законність» спочатку мають перевірити та підтвердити валідатори. При цьому, знаходячись у процесі валідації, кошти «повисають у повітрі»: вони вже списалися з вашого балансу, але ще не зарахувалися на баланс адресата. Де гроші, Біллі?
Місце, в якому перебувають транзакції у проміжку між відправкою та отриманням, називається «мемпул». Слово є акронімом від «Memory» і «Pool» (тобто «пул пам’яті»). Мемпул часто порівнюють із залом очікування, хоча це не зовсім точно передає його справжню ціль і завдання. Саме завдяки пулу пам’яті мережа біткоїну працює без зривів і перерв на обід, а середній час формування нових блоків залишається однаковим.
Розмір мемпулу змінюється в залежності від рівня мережевої активності: коли потік транзакцій великий – пул переповнюється, утворюючи «чергу» на валідацію. Відповідно, коли транзакцій у мережі замало, мемпул порожніє. Виходячи із заповненості мемпулу, у мережі можуть змінюватися такі параметри як час підтвердження транзакцій та розмір комісії.
Якби біткоїн-транзакції були бабусями, а мемпул – Ощадбанком, то процес просування транзакцій у мемпулі чимось нагадував би «живу чергу» до каси: займаєш крайнім, а за спробу пролізти без черги отримуєш статус наркомана чи повії. Але, на щастя, біткоїн – це суто капіталістична історія, тому тут використовується пріоритезація транзакцій.
Важливо знати, що максимальний розмір блоку обмежений, а транзакції відрізняються одна від одної за вагою. Через це кількість транзакцій у блоках може бути різною.
Пріоритетність транзакцій для майнерів залежить від двох моментів: їхньої ваги (об’єму) та розміру запропонованої комісії. Об’єм конкретної транзакції може банально не відповідати вільному місцю, що залишилося у блоці, тому може бути обрана більш підходяща. Щодо плати, то вузол може підвищити нижній поріг необхідної комісії, щоб вирішити проблему високої конкуренції в мемпулі.
Відправники можуть запропонувати валідатору більш високу винагороду за підтвердження. А транзакції з низькою комісією можуть видалятися з мемпулу, звільняючи тим самим місце у черзі для нових транзакцій. Як бачимо, принцип знижок на оптовому ринку тут не працює: чим більше транзакцій проводиться в мережі, тим вища комісія мережі.
Мемпул можна порівняти з принципом зворотного клапана. Наприклад, завдяки наявності такого клапана, відразу ж після натискання на підрульовий перемикач, на лобове скло вашого автомобіля може потрапити омиваючий засіб. А без клапана вам довелося б неодноразово і довго прокачувати систему, щоб створити достатній тиск, аби омивач пройшов усю дистанцію від бачка до форсунок.
Саме мемпул дозволяє блокчейну рости із запрограмованою швидкістю, незважаючи на наявність таких непостійних параметрів як мережева активність та хешрейт: транзакції накопичуються у тимчасовому сховищі, і робота для майнерів є завжди. А якщо майнерів надто багато, то алгоритм автоматично підвищить складність розрахунків, врівноважуючи великі обчислювальні можливості.
Однак, зворотною стороною цього є обмежена пропускна здатність мережі та погана масштабованість. Спроби вирішити цю проблему призводять до періодичних форків (наприклад, Bitcoin Cash), або створення спеціальних платіжних протоколів (наприклад, Bitcoin Lightning), де швидкість платежів може бути більшою.