
Mempool — це зона очікування на вузлі блокчейна, у якій зберігаються ініційовані транзакції до моменту їх обробки. Термін утворений зі слів “memory” та “pool”. Він означає цифрову чергу для транзакцій, які ще не додані до блокчейна.
Якщо ви проводили криптотранзакцію, могли помітити коротку затримку перед її обробкою. Коли транзакція ініційована, але її ще не включено до блоку, вона перебуває в mempool. Концепцію mempool першою представила мережа Bitcoin, яку створив Сатоші Накамото. Згодом цю модель прийняли інші проєкти блокчейна, у тому числі Ethereum.
Bitcoin популяризував технологію блокчейна. Сатоші Накамото вперше реалізував виконання транзакцій із mempool. Інші проєкти блокчейна — зокрема Ethereum — згодом перейняли цю модель.
Кожен блокчейн має власний mempool, хоча інколи ця зона називається інакше. Наприклад, у Parity mempool називається “Transaction Queue”. Кожна мережа керує чергою транзакцій по-своєму, але основа залишається незмінною.
Кожна транзакція в mempool — це окремий пакет даних, зазвичай об'ємом кілька кілобайтів. Сумарний розмір цих транзакцій і визначає обсяг mempool.
Збільшення розміру mempool означає, що кількість транзакцій, які очікують підтвердження, зростає. У Bitcoin обсяг mempool часто збільшується під час активних ринкових рухів і підвищеної волатильності цін, коли кількість торгів і переказів зростає.
Цікаво! Вузли можуть встановлювати обмеження на розмір свого mempool. Якщо цей ліміт перевищено, вузли можуть вимагати мінімальну комісію для обробки нових транзакцій. Це захищає мережу від спаму та допомагає підтримувати стабільність.
Mempool є ключовим елементом роботи вузлів блокчейна. Щоб транзакцію записали до блокчейна, її спочатку мають включити у блок. Не кожен вузол створює блоки. У Proof-of-Work-системах, таких як Bitcoin, транзакції до блоків додають майнери. У Proof-of-Stake-системах, як-от Ethereum, цю функцію виконують валідатори.
Після створення транзакції користувач очікує, поки валідатор або майнер підтвердить її та додасть у блок, який записують у блокчейн. Це не відбувається миттєво. Поки транзакція очікує перевірки, додавання в блок і запису в блокчейн, вона залишається в mempool. Тривалість очікування залежить від завантаженості мережі та пріоритету транзакції.
Mempool працює як буфер, забезпечуючи впорядковану та безпечну обробку транзакцій. Без mempool блокчейн-мережі не змогли б ефективно обробляти великі обсяги транзакцій і підтримувати цілісність даних.
В одному блокчейні може існувати багато mempool — кожен вузол підтримує власний пул очікуваних транзакцій. Усі ці окремі mempool разом формують єдиний спільний mempool у межах мережі.
Коли користувач ініціює транзакцію, вона надходить на вузол. Вузол додає транзакцію до свого mempool і ставить її у чергу на валідацію (тобто перевірку коректності даних). Після проходження валідації статус транзакції змінюється на “очікує виконання”. На цьому етапі майнери або валідатори можуть додати ці транзакції до нових блоків, які потім приєднують до блокчейна.
Під час валідації перевіряють баланс відправника, коректність цифрових підписів і відповідність правилам мережі. Далі переходять лише ті транзакції, які успішно пройшли перевірку.
Коли транзакцію записують у блокчейн, вузли отримують цю інформацію. Тоді вони можуть видалити відповідну транзакцію зі свого mempool. Це забезпечує синхронізацію статусу транзакцій по всій мережі.
Щоб проілюструвати роботу mempool, уявіть, що ви хочете надіслати 0,01 BTC другові.
Спершу потрібна адреса гаманця друга. Вкажіть її як одержувача під час ініціації транзакції, погодьтеся з комісією системи й натисніть “відправити”.
Ваша транзакція потрапляє до найближчого mempool і позначається як транзакція, що очікує обробки. На цьому етапі вона зареєстрована, але ще не підтверджена.
Транзакція розсилається іншим вузлам мережі, щоб вони перевірили її відповідність правилам. Це інформує всю мережу про вашу транзакцію.
Якщо транзакція проходить усі перевірки, вона переходить із загальної черги у пул очікування (щоб бути включеною в блок і записаною на блокчейн). Якщо виникає проблема, ви отримаєте сповіщення про непідтверджену транзакцію.
Майнер або валідатор обирає транзакцію — зазвичай з урахуванням пріоритету комісії — і додає її до нового блоку, записуючи в блокчейн.
Після цього майнер або валідатор розсилає новий блок у мережі. Інші вузли отримують інформацію про додані транзакції.
Вузли можуть тепер видалити вашу транзакцію зі своїх mempool, звільняючи місце для нових записів.
Готово! Операція завершена, і ваш друг отримує 0,01 BTC. Транзакція тепер назавжди записана в блокчейні та не може бути змінена.
Перевантаження mempool виникає, коли кількість запитаних транзакцій перевищує те, що може вмістити один блок. Причин, чому mempool може сповільнюватися, декілька:
Завантаженість мережі. Стрімке зростання кількості транзакцій може вичерпати простір у блоці й перевантажити mempool. Наприклад, стандартний блок Bitcoin містить близько 3 150 транзакцій. Якщо кількість очікуваних транзакцій значно перевищує це значення протягом тривалого часу, mempool і мережа перевантажуються — це призводить до довших очікувань і підвищення комісій.
Події й новини. Запуски токенів, airdrop або підтримка криптовалюти публічними особами можуть спричинити раптовий стрибок транзакцій, що призводить до перевантаження mempool. Важливі анонси чи висока волатильність цін також викликають різке зростання активності.
Форки або оновлення мережі. Під час форків або апгрейдів вузли можуть бути зайняті оновленням і не встигати обробляти транзакції у звичному режимі, що спричиняє перевантаження mempool.
Розуміння цих причин дозволяє розробникам коригувати свої проєкти для мінімізації ризиків. Рішення можуть включати збільшення розміру блоку, впровадження протоколів другого рівня чи оптимізацію алгоритмів консенсусу.
Комісії за транзакції визначають порядок обробки в mempool. Майнери та валідатори відбирають транзакції для нових блоків, орієнтуючись на потенційний прибуток. Чим вища комісія, яку сплачує користувач, тим швидше буде оброблено його транзакцію.
Скільки часу потрібно для підтвердження транзакції Bitcoin? Це залежить від завантаженості mempool і розміру комісії. Менше навантаження й більша комісія — швидша обробка. Високе навантаження або низька комісія можуть затримати підтвердження транзакції в Bitcoin чи інших криптовалютах.
Така система пріоритетів створює ринкову динаміку: користувачі, яким потрібне швидке підтвердження, платять більше, а ті, хто готовий чекати, — менше. Це дозволяє мережі блокчейна ефективно розподіляти свої обмежені ресурси.
Mempool — це тимчасове сховище для непідтверджених транзакцій блокчейна. Кожен вузол підтримує власний mempool, у якому зберігаються транзакції, що очікують перевірки перед включенням у блок. Mempool керує комісіями та надає вищий пріоритет транзакціям із більшими комісіями для швидшого підтвердження.
Коли користувач надсилає транзакцію, вузол отримує її та розміщує у своєму mempool — у черзі на перевірку. Транзакції залишаються в mempool, поки майнер не додасть їх до наступного блоку.
Високе навантаження на мережу та обмежений розмір блоку можуть тримати транзакції у mempool протягом тривалого часу. Транзакції з меншою комісією мають нижчий пріоритет і тому підтверджуються повільніше.
Перевантаження mempool збільшує розмір комісії за транзакції. Майнери надають пріоритет транзакціям із вищими комісіями, тож користувачам доводиться платити більше, щоб їхні операції були оброблені швидко при високому навантаженні на мережу.
Дізнатися актуальний стан mempool можна через блокчейн-оглядачі, наприклад Mempool.space. Такі інструменти показують розмір mempool, рівні комісій і кількість транзакцій у черзі на підтвердження, що допомагає оптимізувати час і витрати.
Коли mempool заповнений, вузли видаляють транзакції з найменшими комісіями, щоб звільнити місце для дорожчих. Видалені транзакції можна повторно надіслати після зменшення навантаження або збільшення комісії.
Gas fee визначає пріоритет транзакції в mempool. Майнери спершу обробляють транзакції з вищою комісією Gas. Чим більша ваша комісія Gas, тим вище місце транзакції у черзі mempool.











