Що таке Mempool
Якщо по-простому, то мемпул - це «зона очікування» для блокчейн-транзакцій, яку кожен повний вузол підтримує для себе. Після того, як транзакція була перевірена вузлом, вона очікує всередині пулу пам'яті, поки не буде взята майнером для розміщення в блоці.
Будь-яка операція, яка відбувається всередині мережі, спочатку вимагає перевірки всіма доступними нодами (тобто комп'ютерами, які беруть участь в роботі). Після того, як операція успішно проходить перевірку, вона потрапляє в зону перевірених, але таких, що ще не отримали підтвердження, транзакцій. Там вона зберігається до моменту включення її в блокчейн. Кожна транзакція має свою зону очікування і у всіх вона різного об'єму.
Періодично кількість транзакцій в пам'яті вузла перевищує допустимі норми і трапляється перевантаження. У такому випадку застосовується пріоритетність транзакцій - на це впливає розмір комісії, яку встановлює користувач на свою операцію. Тримачі цифрових валют періодично стикаються з ситуацією, коли їх транзакції повертаються назад без обробки. Це пов'язано з перевантаженням пам'яті пулу і низькою комісією. Пріоритет віддається операціям з максимально високими комісійними: вони перші додаються до блоку, а всі транзакції, які не досягли нижнього порогу комісії, просто видаляються.
Чому це важливо
Мемпул - це частина BIP 35 (Bitcoin Improvement Proposals), тобто одне з поліпшень, розроблене для блокчейну Bitcoin. Ідея полягала в тому, що зовнішні ноди зможуть отримати доступ до Mempool інших вузлів. Це корисно для:
- клієнтів SPV (також відомих як полегшені гаманці або гаманці зі спрощеною верифікацією платежів), які бажають знати про транзакції, перш, ніж вони будуть затверджені і введені в блок.
- майнерів, які хочуть перевірити прибутковість зборів або завантажити поточний «список очікування транзакції», щоб почати підтвердження.
- для бажаючих провести віддалену діагностику мережі, щоб зрозуміти швидкість обробки платежів і переказів. Наприклад, якщо розмір Mempool становить близько 3 МБ, більшості транзакцій доведеться чекати як мінімум один або два блоки, поки вони не будуть підтверджені. Це пов'язано з тим, що кожен блок має розмір 1 МБ, тому може знадобитися до 3 підтверджень для очищення всього mempool (за умови, що нові транзакції не надходять). Майте на увазі, що деякі з транзакцій Mempool є транзакціями з низьким пріоритетом, і їх відправник знає, що для їх підтвердження буде потрібно багато часу, наприклад, «сміттєві транзакції» (відправка невеликих сум).
Часті запитання
Скільки часу потрібно для підтвердження Bitcoin-транзакції?
В середньому новий блок транзакцій Bitcoin видобувається кожні 10 хвилин. Це середнє значення, тобто насправді це може зайняти 1 хвилину або 1 годину. Кожен блок містить кілька тисяч транзакцій. Залежно від плати за транзакцію ви зможете оцінити, скільки часу буде потрібно для підтвердження (знову ж, приблизно).
Що робити, якщо моя транзакція застрягла в Mempool?
Як правило, якщо ви почекаєте досить довго (зазвичай близько 48 годин), ваша транзакція буде викинута з пулу пам'яті і кошти будуть повернуті на ваш гаманець. Однак, для прискорення підтвердження транзакції, ви можете зробити наступне:
- Використовувати заміну (RBF) - деякі гаманці (наприклад, Electrum) дозволяють замінити існуючу транзакцію новою, з більш високою комісією.
- Застосувати прискорювачі транзакцій - деякі пули майнінгу надають послугу прискорення певних транзакцій за плату або в порядку черги.
Підсумок
Mempool є дуже важливою частиною мережі Bitcoin. Це дозволяє нам зрозуміти, наскільки завантаженою є мережа, і чи існують «пробки транзакцій», які призводять до сповільнення часу підтвердження і вищих комісійних тарифів. Сподіваємося, що цей термін більше не буде викликати у вас запитань.