
Мемпул — це "кімната очікування", яка знаходиться на ноді (мережевому вузлі) блокчейну. У цьому цифровому просторі зберігаються транзакції, які вже ініціювали, але не встигли обробити. Термін є похідним від англійських слів "memory" (пам'ять) і "pool" (пул, загальний фонд). Поєднання слів відсилає до призначення цифрового простору, що використовується для зберігання черги транзакцій, які потрібно додати в блокчейн.
При здійсненні криптотранзакцій користувачі можуть помітити, що система виконує операцію із затримкою. Коли транзакція вже ініційована, але ще не проведена, вона перебуває у так званому мемпулі. Це проміжний стан, який є невід'ємною частиною процесу обробки операцій у блокчейн-мережах.
Криптовалюта біткоїн стала проєктом, який популяризував технологію блокчейн. Також творець монети — Сатоші Накамото першим на ринку застосував концепт проведення транзакцій з використанням мемпулу. Згодом схему адаптували інші блокчейн-проєкти, включаючи Ethereum.
Мемпули присутні у всіх блокчейнах, просто в деяких вони названі по-іншому. Наприклад, мемпул блокчейн-проєкту Parity називають "черга транзакцій" (Transaction Queue). Незалежно від назви, функціональне призначення залишається незмінним — тимчасове зберігання необроблених транзакцій.
Кожна транзакція, додана в мемпул, являє собою частину даних розміром не більше кількох кілобайт (КБ). Сума всіх КБ, що становлять транзакції, визначає розмір мемпулу. Цей показник є важливим індикатором стану блокчейн-мережі та рівня її навантаження.
Великий розмір мемпулу свідчить про наявність безлічі транзакцій, що очікують підтвердження. Аналіз динаміки розміру мемпулу дозволяє прогнозувати швидкість обробки транзакцій та оптимальний розмір комісії для пріоритетного виконання операції.
На графіках моніторингу блокчейн-мереж видно, що розмір мемпулу біткоїна часто зростає на тлі активного руху курсу криптовалюти — зростання або падіння. Це пояснюється підвищеною торговою активністю учасників ринку в періоди волатильності.
Цікаво! Ноди можуть встановлювати обмеження за розмірами для свого мемпулу. Перевищення порогу може призвести до введення мінімальної комісії для проведення операції. Це механізм захисту від перевантаження мережі та спаму.
Мемпули відіграють важливу роль у схемі роботи нод блокчейну. Для запису транзакції в блокчейн потрібно, щоб її спочатку додали в блок (складова блокчейну). Не всі ноди блокчейну можуть створювати блоки, що визначається механізмом консенсусу конкретної мережі.
Наприклад, у блокчейн-системах, які працюють на базі алгоритму Proof-of-Work — таких, як біткоїн, тільки майнери мають право додавати транзакції в блок. Вони витрачають обчислювальну потужність на вирішення криптографічних задач для створення нових блоків. У блокчейн-системах на базі Proof-of-Stake — таких, як Ethereum, додаванням транзакцій у блок зайняті валідатори, які блокують частину своїх токенів як заставу.
Після створення транзакції користувач змушений чекати, поки валідатор або майнер схвалить її для подальшого додавання в блок, з наступним записом у блокчейн. Процес не відбувається миттєво через необхідність перевірки та досягнення консенсусу в мережі. Весь той час, поки транзакція чекає перевірки, включення в блок і запису в блокчейн, вона знаходиться в тому самому мемпулі.
Для початку уточнимо, що у одного блокчейну може бути безліч мемпулів. У кожної ноди є цифровий простір, відведений під зберігання транзакцій, які очікують перевірки та додавання в блокчейн. Всі мемпули блокчейну, розподілені по приватних нодах, разом становлять один великий колективний мемпул. Ця децентралізована структура забезпечує надійність та стійкість системи.
У момент, коли користувач створює транзакцію, він відправляє її на ноду. Мережевий вузол додає операцію у свій мемпул і ставить її в чергу на валідацію (перевірку на коректність даних). Процес валідації включає перевірку цифрових підписів, достатності балансу відправника та відповідності формату транзакції протоколу мережі.
Після того, як транзакція проходить валідацію, її переводять у статус очікування. Саме такі операції майнери та валідатори можуть додавати в нові блоки, щоб у подальшому приєднати їх до блокчейну. Вибір транзакцій для включення в блок здійснюється на основі різних критеріїв, серед яких розмір комісії відіграє ключову роль.
У момент, коли транзакція приєднана до блокчейну, ноди отримують інформацію про це. Тепер мережеві вузли можуть стерти непотрібну інформацію про операцію зі своєї "кімнати очікування". Так і відбувається синхронізація мемпулів між різними нодами мережі.
Щоб проілюструвати роботу мемпулу та життєвий цикл транзакції, уявімо, що ви хочете відправити 0.01 BTC своєму другу. Розглянемо детально кожен етап цього процесу:
Ініціювання транзакції. Для початку потрібно дізнатися адресу гаманця для криптовалют, яким користується ваш друг. Його потрібно вказати як адресу одержувача при ініціюванні транзакції. Також може знадобитися згода на вказану системою комісію за переказ. Фінальний етап — натиснути клавішу "відправити".
Додавання в мемпул. Транзакція буде додана в найближчий мемпул і помічена як операція в черзі на проведення. На цьому етапі транзакція ще не є частиною блокчейну.
Трансляція та перевірка. Тепер транзакцію транслюватимуть іншим нодам мережі, щоб мережеві вузли змогли перевірити її та переконатися, що переказ не порушує правил протоколу.
Валідація. У разі, якщо транзакція пройде перевірку нодами, її переведуть із загальної черги в групу очікування (на додавання в блок, з наступним записом у блокчейн). Якщо ж з операцією щось не так, користувач отримає повідомлення про те, що ця транзакція не підтверджена.
Включення в блок. Один із майнерів або валідаторів додасть транзакцію в новий блок і запише його в блокчейн. Вибір транзакцій часто залежить від розміру комісії.
Поширення інформації. Тепер майнер або валідатор, який додав транзакцію в блок і записав її в блокчейн, почне транслювати інформацію про блок нодам. Як підсумок, мережеві вузли отримають доступ до інформації про транзакції, які включили в блок.
Очищення мемпулу. На цьому етапі ноди можуть стерти інформацію про вашу транзакцію, яка весь цей час зберігалася в мемпулі.
Завершення. Готово! Переказ завершено — ваш друг отримав належні йому 0.01 BTC. Транзакція тепер незмінно записана в блокчейні.
Перевантаження в мемпулі виникає в періоди, коли обсяг запитуваних операцій перевищує кількість транзакцій, які можуть поміститися в один блок. Це явище може призводити до значного уповільнення обробки транзакцій та зростання комісій. Ось кілька факторів, які можуть стати причиною сповільнення роботи мемпулу:
Перевантаження мережі. Збільшення кількості транзакцій призводить до нестачі місця в блоках, що стає причиною перевантаження мемпулу. Наприклад, середня кількість транзакцій в одному блоці блокчейну біткоїна становить близько 3150. Якщо кількість очікуючих транзакцій значно перевищить це число протягом кількох годин, мережа, а слідом за нею і мемпули, будуть перевантажені. У такі періоди час очікування підтвердження може зрости з кількох хвилин до кількох годин або навіть днів.
Події або новини. Події та новини, які безпосередньо впливають на блокчейн-індустрію, такі як запуск токенів, аірдропи або підтримка криптоіндустрії знаменитостями, можуть викликати раптові сплески попиту на транзакції. Стрибки активності здатні призводити до перевантажень мемпулу. Історично такі ситуації спостерігалися під час популярних ICO або запуску нових NFT-проєктів.
Форки або оновлення мережі. Зміни мережі, такі як форки або оновлення блокчейну, можуть викликати миттєве перевантаження мемпулу. Причина в тому, що ноди будуть зайняті оновленнями та синхронізацією з новою версією протоколу. У період таких змін продуктивність мережі тимчасово знижується.
Одним з основних факторів, що визначають порядок виконання транзакцій у мемпулі, є комісії. Майнери та валідатори можуть вибирати, які транзакції вони хочуть додати в новий блок, керуючись обсягом потенційного прибутку. Простіше кажучи, чим більше комісії користувач готовий заплатити за проведення операції — тим швидше її проведуть.
Цей механізм створює ринок комісій, де користувачі змагаються за місце в наступному блоці. У періоди високого навантаження мережі комісії можуть зростати в десятки разів порівняно зі звичайними умовами. Деякі гаманці пропонують динамічне визначення оптимального розміру комісії на основі поточного стану мемпулу.
Тому відповідь на питання про те, скільки чекати підтвердження транзакції біткоїна, залежить від рівня навантаження мемпулу та щедрості комісій. Чим нижче навантаження і вище плата — тим швидше пройде операція. Перевантаження мемпулу та низька комісія, навпаки, можуть стати причиною сповільнення підтвердження транзакції біткоїна або будь-якої іншої криптовалюти. У деяких випадках транзакції з дуже низькою комісією можуть взагалі не бути оброблені та видалені з мемпулу через певний час.
Мемпул — це сховище незавершених транзакцій у блокчейні, що очікують на підтвердження. Кожна транзакція має комісію, яка визначає її пріоритет обробки. Вищі комісії пришвидшують підтвердження.
Транзакції чекають в мемпулі через низьку комісію або перевантаження мережі. Валідатори пріоритизують транзакції з вищою комісією. Високий обсяг транзакцій також спричиняє затримки обробки.
Комісія за транзакцію визначає пріоритет обробки у мемпулі。Вища комісія підвищує позицію в черзі та прискорює оброблення。Транзакції з більшою комісією обробляються раніше за інші。
Ні, видалити транзакцію з мемпулу неможливо. Мемпул тимчасово зберігає неопрацьовані транзакції до їхнього включення в блокчейн. Однак можна замінити транзакцію новою з вищою комісією або дочекатися спливання часу утримання.
Більший мемпул прискорює підтвердження транзакцій, але збільшує навантаження на мережу. Оптимальний розмір забезпечує швидшу обробку без перегрузок, впливаючи на загальну ефективність блокчейну.
Мемпули різних криптовалют відрізняються розміром، швидкістю обробки та комісіями. Bitcoin мемпул часто перевантажується,тоді як Ethereum обробляє швидше. Кожна криптовалюта має свої правила та обмеження для управління мемпулом.











