Визначення

Bundle — це група транзакцій, яку подають лідеру (валідатору, що формує блок) як єдине ціле. Головна властивість: лідер або включає до блоку всі транзакції з bundle разом і в заданому порядку, або не включає жодної. Це забезпечує атомарність виконання без потреби в додаткових смарт-контрактах.

Як працює

У контексті Solana bundle безпосередньо повʼязаний із механізмом MEV. Пошуковик MEV (searcher) формує ланцюжок транзакцій, які мають виконатися послідовно в межах одного слота. Наприклад, це може бути арбітражна операція: зняти ліквідність з одного пулу, обміняти токени, покласти в інший пул — і все це без можливості для сторонніх транзакцій вклинитися між кроками.

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

Важливо розуміти: bundle не є нативним примітивом Solana на рівні консенсусу. Це угода між пошуковиком і лідером, яка реалізується через інфраструктуру MEV (Jito та аналоги). Консенсус Solana оперує окремими транзакціями, а атомарність bundle забезпечується на рівні порядку їх включення.

Приклад

Пошуковик виявляє цінову різницю між двома DEX на Solana. Щоб реалізувати прибуток, потрібно виконати три транзакції строго послідовно: swap на першій біржі, переказ отриманих токенів на адресу другого пулу, swap на другій біржі. Якщо подати ці транзакції окремо, інший учасник може вставити свою транзакцію між кроками (front-running) і змінити ціну. Подаючи їх як bundle, пошуковик гарантує, що всі три кроки виконаються разом або не виконаються взагалі.

Типова помилка

плутати bundle із звичайним пакетним відправленням транзакцій (batching). Batching лише обʼєднує транзакції для зручності передачі, але кожна транзакція обробляється незалежно і може бути виконана в будь-якому порядку відносно інших транзакцій у мережі. Bundle ж гарантує не лише одночасну подачу, а й сувору послідовність виконання та принцип «все або нічого» при включенні до блоку.

Повʼязані матеріали

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