Що таке мемпул і як він працює

Що таке мемпул і як він працює. Мемпул – це тимчасове сховище для всіх непідтверджених транзакцій у блокчейні. Його також можна назвати “кімнатою очікування”, розташованою на вузлі блокчейна (нода). У цьому віртуальному сховищі містяться транзакції, які були підтверджені, але ще не були оброблені. Цей термін походить від англійських слів “memory” (пам’ять) і “pool” (загальний фонд).

Що таке мемпул Bitcoin?

Кожна транзакція, проведена в мережі біткоіна, повинна отримати щонайменше 6 підтверджень. Тобто транзакція має бути включена в 6 блоків, після чого вона вважається підтвердженою. Час знаходження одного блоку в мережі Біткоін – близько 10 хвилин. Таким чином приблизно через десять хвилин після відправлення транзакція отримає перше підтвердження. Але це в ідеалі. Так все працювало хіба що тоді, коли криптовалюта не була такою популярною, як сьогодні. У наші дні на практиці ви, найімовірніше, зіткнетеся з тим, що ваша транзакція може провисіти непідтвердженою кілька годин або навіть днів.
Основна причина, через яку вам, можливо, доведеться почекати на підтвердження транзакції кілька годин, це популярність криптовалюти біткоін. Зростання кількості людей, які користуються біткоіном, призвело до того, що мережа почала перевантажуватися.

Пропускна здатність мережі обмежена стандартним розміром блоків – 1 МБ. Якщо загальний розмір транзакцій, проведених протягом 10 хвилин, перевищує 1 МБ – усі транзакції не помістяться в блок. Тим, що залишилися, доведеться чекати наступного блоку, а за цей час може накопичитися ще “пачка” нових транзакцій. Таким чином формується черга з непідтверджених транзакцій, що приводить нас до поняття мемпула.

Мемпул (mempool, скорочене від memorypool) – набір усіх транзакцій, які поки що не підтвердилися й очікують своєї черги.

Що таке мемпул і як він працює

Mempool – це свого роду кімната очікування для транзакцій Bitcoin, яку має кожен повний вузол для перевірених транзакцій, але які все ще очікують на підтвердження майнерів. Майнери, коли їм потрібно створити блок Біткоіна, вибирають найзручніші з них і вставляють їх у блок, який вони збираються добути.

Тепер, коли ми це знаємо, розгляньмо докладніше, як відбувається весь цей процес, якщо вам цікаво заглибитися в цю концепцію.

Роль мемпула в блокчейн-транзакціях

Мемпули відіграють важливу роль у схемі роботи нод блокчейна. Для запису транзакції в блокчейн потрібно, щоб її спочатку додали в блок (складова блокчейну). Не всі ноди блокчейну можуть створювати блоки. Наприклад, у блокчейн-системах, які працюють на базі алгоритму Proof-of-Work (PoW) – таких, як біткоін, тільки майнери мають право додавати транзакції в блок. У блокчейн-системах на базі Proof-of-Stake (PoS) – таких, як Ethereum, додаванням транзакцій у блок зайняті валідатори.

Після створення транзакції користувач змушений чекати, поки валідатор або майнер схвалить її для подальшого додавання в блок, з подальшим записом у блокчейн. Процес не відбувається миттєво. Весь той час, поки транзакція чекає на перевірку, включення в блок і запис у блокчейн, вона перебуває в тому самому мемпулі.

Що таке мемпул і як він працює

Як працює мемпул біткоіна?

Мемпул функціонує за принципом “першим прийшов, першим пішов” (First-In-First-Out, FIFO). Транзакції, що надійшли в мемпул раніше, мають вищий пріоритет на підтвердження, ніж ті, що надійшли пізніше. Це означає, що майнери зазвичай вибирають транзакції з вищими комісіями, щоб включити їх у наступний блок.

Таким чином, якщо ви хочете, щоб ваша транзакція була оброблена швидко, ви можете збільшити комісію.

Варто уточнити, що в одній блокчейн-мережі може існувати безліч мемпулів. Кожен вузол мережі має свій власний цифровий простір, виділений для зберігання транзакцій, які очікують на перевірку і включення в блокчейн. Усі ці мемпули блокчейна, розкидані по різних вузлах, об’єднуються в один загальний колективний мемпул.

Розглянемо принцип роботи мемпула на прикладі однієї транзакції:

  • Створення транзакції. Уявімо, що Аліса хоче відправити ефіри Стіву. Вона створює транзакцію, вказуючи адресу одержувача (Стіва), суму, яку вона хоче відправити. Далі Аліса оплачує комісію. Після цього, транзакція відправляється в мережу блокчейна.
  • Потрапляння в мемпул. Транзакція Аліси спочатку потрапляє в мемпул однієї з нод мережі. Транзакція очікує в цьому мемпулі своєї черги на обробку.
  • Валідація. Мережева нода, що володіє мемпулом, починає валідацію транзакції. Вона перевіряє, чи достатньо коштів на рахунку Аліси для здійснення цієї операції, і переконується, що транзакція відповідає правилам блокчейна.
  • Очікування в мемпулі. Після успішної валідації транзакція переходить у режим очікування в ноди мемпула. Тепер вона готова до включення в наступний блок, який буде додано в блокчейн.
  • Вибір майнером. Майнери обирають транзакції з мемпула для включення в новий блок. Зазвичай вони обирають транзакції з вищими комісіями, оскільки це для них вигідніше.

  • Включення в блок. Транзакція Аліси обрана майнером і включена в новий блок. Цей блок потім додається в ланцюг блоків. Транзакція Аліси стає видимою всім учасникам мережі.

  • Поширення інформації. Інформація про новий блок і транзакцію Аліси поширюється всією мережею блокчейна.

Що таке мемпул і як він працює

Менеджер MEMPOOL

Проблема з механізмом зберігання відкладених транзакцій полягає в тому, що певні вузли мають усі непідтверджені транзакції, включно з тими, що так і не підтвердяться та залишаться в підвішеному стані. Це призводить до виникнення помилок через кількість ресурсів, необхідних для його роботи.

Для розв’язання цієї проблеми необхідне просте рішення, яке полягає в тому, щоб mempool мав механізм видалення певних транзакцій і залишення інших.

Таким чином, він працює зі списком пріоритетів, де встановлює мінімальну плату за транзакції, а потім усуває інші.

Будь-яка транзакція, що має меншу плату, ніж встановлена вузлом, видаляється, якщо вона вже була в мемпулі, або взагалі не додається в мемпул. Будь-яка операція, що перевищує цю нижню межу, додається до списку разом з іншими.

Перевантаження мемпула

Перевантаження в мемпулі виникає в періоди, коли обсяг запитаних операцій перевищує кількість транзакцій, які можуть поміститися в один блок. Ось кілька чинників, які можуть стати причиною уповільнення роботи мемпула:

  • Перевантаження мережі. Збільшення кількості транзакцій призводить до нестачі місця в блоках, що стає причиною перевантаження мемпула. Наприклад, середня кількість транзакцій в одному блоці блокчейна біткоіна становить близько 3150. Якщо кількість транзакцій, що очікують, значно перевищить це число протягом декількох годин, мережа, а слідом за нею і мемпули, будуть перевантажені.
Що таке мемпул і як він працює

                                                                       Середня кількість транзакцій у блоці блокчейна біткоіна.

  • Події або новини. Події та новини, що безпосередньо впливають на блокчейн-індустрію, як-от запуск токенів, аірдропи або підтримка криптоіндустрії знаменитостями, можуть викликати раптові сплески попиту на транзакції. Стрибки активності здатні призводити до перевантажень мемпула.
  • Форки або оновлення мережі. Зміни мережі, як-от форки або оновлення блокчейна, можуть спричинити миттєве перевантаження мемпула. Причина в тому, що ноди будуть зайняті оновленнями.
    Знаючи про причини перевантажень мемпула, розробники можуть вносити в проєкти необхідні корективи, щоб мінімізувати наслідки.

Як можна прискорити оброблення транзакцій

Невеликий розмір блоків – одне з проблемних місць біткоін-мережі. Якщо раніше це не було проблемою, то зараз, коли біткоін активно використовується мільйонами користувачів по всьому світу, часом це завдає серйозних незручностей.

Одна з особливостей біткоін-транзакцій полягає в тому, що в кожній транзакції користувач повинен вказати розмір комісії (винагороди для майнера). А оскільки немає якихось певних вимог до її розміру, користувачі можуть встановлювати мінімальну комісію, аж до кількох сатоші.

Для користувачів це добре, оскільки не потрібно платити фіксований збір і можна заощадити. Але для майнерів такий стан справ не дуже вигідний. Тому цілком логічно, що із заповненого мемпула майнери насамперед вибирають для підтвердження транзакції, у яких розмір комісії більший. Напрошується не менш логічний висновок, що можна прискорити обробку своїх транзакцій, встановлюючи більший розмір винагороди. Так ваші транзакції матимуть вищий пріоритет для майнерів і швидше оброблятимуться.

Більший розмір комісії – транзакція буде підтверджена швидше. Тому відповідь на питання про те, скільки чекати підтвердження транзакції біткоіна, залежить від рівня навантаження мемпула і щедрості комісій. Чим нижче навантаження і вища плата – тим швидше пройде операція. Перевантаження мемпула і низька комісія – навпаки, можуть стати причиною уповільнення підтвердження транзакції біткоіна або будь-якої іншої криптовалюти.

Підсумок

Як бачимо, мемпул – це дуже важлива частина екосистеми Bitcoin, і з цієї причини його необхідно розуміти. Тепер ми знаємо, що відбувається, коли мережа Біткоін стає перевантаженою, внаслідок чого транзакції займають більше часу, ніж зазвичай, і нам доводиться платити більше комісійних.

Мемпул  –  найважливіша частина інфраструктури блокчейна, яка забезпечує роботу мережі та обробку транзакцій. Розуміння того, як він функціонує, і як комісії впливають на його роботу, допомагає користувачам ухвалювати грамотні рішення про те, як вигідно здійснювати транзакції.

Цікавить основи криптовалюти? Напишіть нам і ми Вам допоможемо розібратися у цьому.

Зараз читають
APY