Під капотом

Що таке bundles і як вони змінюють виконання складних операцій

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

Опубліковано 26.09.2026Оновлено 11.08.20269 хв читанняРедакція солана.укр
Авторство Редакція солана.укрАктуальність оновлено 11.08.2026Посилання 2 зовнішніх у текстіФормат редакційний матеріал

Bundle (пакет транзакцій) — це механізм, який дозволяє подати кілька транзакцій до мережі як єдиний атомарний блок: або всі транзакції виконуються послідовно в межах одного слота, або жодна не потрапляє до ланцюга. У контексті Jito та MEV у Solana bundles змінюють саму логіку виконання складних багатокрокових операцій, перетворюючи те, що раніше вимагало довірених посередників або зовнішніх координаторів, на протокольну гарантію порядку та атомарності.

Де факт переходить у припущення

Теза: Jito bundles дають змогу подати невелику групу транзакцій як послідовну атомарну операцію: вони виконуються в заданому порядку й за принципом «усі або жодна». Якщо пов’язані транзакції надсилати окремо, вони плануються незалежно, між ними може змінитися on-chain стан або виконатися інша транзакція. Bundle зменшує саме цей клас ризику, але не є універсальним захистом від усіх форм MEV чи невдалого виконання.

Межа аналізу: цей матеріал розглядає bundles виключно як технічну абстракцію та механізм виконання в межах кластера «Jito та MEV». Ми не розглядаємо загальну архітектуру Jito, економіку tips, деталі того, звідки виникає цінність у порядку транзакцій, або конкретні продукти, які використовують bundles. Ці теми висвітлені в сусідніх матеріалах: MEV у Solana: звідки виникає додаткова цінність у порядку транзакцій та Jito tips: хто платить, хто отримує і за що.

Як це працює в системі

Щоб зрозуміти, що змінюють bundles, потрібно розрізняти два режими подачі транзакцій.

Базовий режим: незалежні транзакції

У стандартному режимі Solana кожна транзакція — це самостійна одиниця. Валідатор отримує транзакції, впорядковує їх за власними критеріями (зазвичай за рівнем fee) і включає до блоку. Якщо ви виконуєте операцію, яка складається з трьох кроків (наприклад, зняття ліквідності з одного пулу, обмін через агрегатор і внесення в інший пул), ви подаєте три окремі транзакції. Між подачею першої та третьої існує вікно, в якому:

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

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

Режим bundles: атомарна подача

Bundle — це впорядкований набір транзакцій, який подається до валідатора як єдина одиниця з контрактом виконання: або всі транзакції послідовно входять до блоку в заданому порядку, або жодна не входить. Ключові протокольні властивості:

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

Важливо розуміти, що bundles у контексті Jito не є зміною базового протоколу Solana (як це було б у випадку SIMD-пропозиції на рівні консенсусу). Це рівень інфраструктури між користувачем і валідатором: bundle подається через спеціалізований канал (block engine / tip router), а валідатор, який використовує Jito-клієнт, отримує можливість обробляти bundles окремо від регулярної черги транзакцій.

Що змінюється на практиці

Для складної операції з трьох кроків bundle усуває необхідність довіряти:

  • часу доставки — всі транзакції подаються разом;
  • порядку — він заданий наперед і не залежить від fee інших учасників;
  • відсутності вставок — ніхто не може розмістити транзакцію між кроками вашої операції.

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

Параметр Незалежні транзакції Bundle
Порядок Визначається валідатором після подачі Фіксується подаючим до відправки
Атомарність включення Відсутня: кожна транзакція оцінюється окремо Вся група або жодна транзакція
Вразливість до вставок між кроками Висока Відсутня в межах bundle
Залежність від fee інших учасників Пряма: вищий fee — вищий пріоритет Опосередкована: bundle конкурує як одиниця
Гарантія успішності виконання Немає Немає (гарантія лише включення)

Що підтверджують джерела

На рівні принципу механіка bundles добре задокументована в архітектурних матеріалах Jito. Проте для конкретних тверджень про поточний стан — частку блоків, що містять bundles, середній розмір bundle, економічну ефективність порівняно з незалежними транзакціями — потрібні актуальні дані, яких у цьому матеріалі немає. Нижче наведено, що саме потрібно для перевірки ключових тверджень.

Що можна стверджувати на рівні принципу

  • Bundles забезпечують атомарність включення та фіксований порядок транзакцій — це випливає з архітектурної специфікації механізму.
  • Bundles не змінюють базовий консенсус Solana — вони працюють на рівні інфраструктури подачі транзакцій до валідаторів.
  • Механізм створює нову точку довіри: подаючий довіряє інфраструктурі Jito (block engine, tip router) коректно передати bundle валідатору без модифікації порядку.

Що потребує актуальних даних для перевірки

  • Частка блоків із bundles. Потрібно: джерело даних (он-чейн індексатор, експлорер), метод розрахунку (що саме вважається bundle — наявність спеціального маркера, наявність tip-транзакції, інший критерій), період вимірювання.
  • Економічна ефективність для пошуковиків. Потрібно: порівняння витрат на tips проти втрат від невдалого виконання незалежних транзакцій, вибірка стратегій, період аналізу.
  • Кількість валідаторів, що обробляють bundles. Потрібно: джерело даних про конфігурацію валідаторів, критерій «обробляє» (встановлений Jito-клієнт, активне підключення до block engine, інше).

Позиції ключових сторін

Пошуковики (searchers): зацікавлені в bundles як в інструменті, який перетворює багатокрокові стратегії з високим ризиком невдалого завершення на детерміновані операції. Для них bundle — це спосіб монетизувати знання про арбітражні можливості без ризику втрати коштів на проміжних кроках.

Валідатори: отримують додатковий дохід через tips, але беруть на себе технічну складність інтеграції Jito-клієнта та обробки bundles. Їхня позиція залежить від співвідношення додаткового доходу до витрат на інфраструктуру та репутаційних ризиків.

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

Слабкі місця й компроміси

Централізація інфраструктури подачі

Bundles у поточній реалізації Jito проходять через block engine — спеціалізований вузол, який агрегує bundles та розподіляє їх між валідаторами. Це створює точку концентрації: якщо block engine недоступний, модифікує порядок або відхиляє bundles селективно, механізм не працює належним чином. Це не є вразливістю консенсусу (блоки все одно виробляються валідаторами), але є інфраструктурним ризиком для пошуковиків.

Економічний компроміс: tips як ціна за атомарність

Використання bundles не безкоштовне. Пошуковик платить tip — додаткову транзакцію з переказом SOL валідатору, — щоб стимулювати включення bundle. Це створює економічний компроміс: bundle має генерувати достатньо цінності (наприклад, через арбітраж), щоб перекрити вартість tip. Для операцій із низькою маржинальністю цей компроміс може робити bundles невигідними. Детальніше про економіку tips — у матеріалі Jito tips: хто платить, хто отримує і за що.

Ризик невдалого виконання всередині bundle

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

Невизначеність щодо протокольної інтеграції

Поточна реалізація bundles — це інфраструктурний шар поверх протоколу. Існує невизначеність щодо того, чи буде аналогічна функціональність інтегрована безпосередньо в протокол Solana (через SIMD-пропозиції). Протокольна інтеграція могла б усунути залежність від Jito-інфраструктури, але змінила б модель стимулів та розподіл повноважень. На момент підготовки матеріалу редакція не має даних про конкретні SIMD-пропозиції, що прямо пропонують протокольні bundles, — це потребує окремої перевірки за актуальним реєстром пропозицій.

Вплив на досвід звичайних користувачів

Існує інтерпретація, що bundles можуть погіршувати досвід звичайних користувачів, чиї транзакції конкурують з bundles за місце в блоці. Оскільки bundle з tip фактично «купує» пріоритет, транзакції без tip можуть отримувати менше місця. Проте кількісна оцінка цього ефекту (наскільки зростають затримки для звичайних транзакцій, чи компенсується це загальним зростанням пропускної здатності) потребує актуальних емпіричних даних, яких у цьому матеріалі немає.

Практичний висновок

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

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

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

Наступний логічний крок: якщо ви зрозуміли механіку bundles, логічно перейти до того, як саме фінансується їхнє включення — матеріал Jito tips: хто платить, хто отримує і за що розкриває економічну сторону. Загальний контекст того, чому порядок транзакцій має економічну цінність, — у матеріалі MEV у Solana: звідки виникає додаткова цінність у порядку транзакцій. Ширший огляд технічної архітектури мережі — у розділі Під капотом Solana: протокол, клієнти й економіка.

Обмеження матеріалу. Цей текст описує механізм bundles на рівні архітектурних принципів. Він не містить оцінки конкретних реалізацій, бенчмарків, поточної статистики використання або порівняння з аналогічними механізмами в інших мережах. Усі твердження про поточний стан (частка блоків, економічні показники, кількість учасників) потребують окремої перевірки за актуальними даними мережі та офіційною документацією Jito. Матеріал не є фінансовою, юридичною чи інвестиційною порадою.

Редакція солана.укр

Джерела для перевірки. Актуальні технічні деталі варто звіряти з первинними джерелами: документація Jito про bundles і tips та документація Solana про комісії.

джерела в матеріалі

Зовнішні посилання та документація

Нижче — зовнішні URL, які вже використані в тексті. Це не автоматична позначка «перевірено»: редакція показує джерела прозоро й не підміняє фактчек бейджем.