Covenant — це умова, яка може визначати не лише того, хто має право витратити біткоїни, а й те, яким має бути наступний переказ. Наприклад, кошти можуть спершу проходити через вихід із періодом очікування. Обмеження є частиною правил витрачання цього виходу, а не просто налаштуванням застосунку. Covenants — назва родини конструкцій і пропозицій, а не однієї функції, доступної в кожному гаманці.
Анна зберігає заощадження в Bitcoin. Гаманець — це застосунок або пристрій для отримання й надсилання біткоїнів. Баланс у її гаманці складається з іще не витрачених виходів попередніх транзакцій — UTXO. Кожен вихід містить суму й умови її витрачання. Вони записані в короткій програмі Bitcoin Script. Цифровий підпис підтверджує дозвіл на платіж за допомогою приватного ключа — секретного числового значення, яке при цьому не розкривається. Multisig може вимагати кількох підписів, а Timelock додає умову очікування. Covenant може також обмежувати будову наступної транзакції, наприклад виходи, до яких мають перейти кошти. Таке правило мав би виконати навіть злодій із правильним ключем. Проте важливі всі доступні шляхи витрачання: якщо інша гілка дозволяє обійти обмеження, покладатися на нього не можна. [1] [5] [9] [11]
Уявімо, що Анна поміщає заощадження у сховище із затримкою. Тут сховище — не особливий пристрій, а певна організація правил витрачання. Її звичайний ключ міг би розпочати виведення, але кошти спершу перейшли б до виходу з очікуванням. Лише після завершення затримки їх можна було б переказати призначеному отримувачу. Якби виведення почав злодій, Анна могла б під час очікування скористатися заздалегідь підготовленим шляхом порятунку й перевести кошти під безпечніші умови. Однак вона має помітити виведення й домогтися вчасного підтвердження рятувальної транзакції в блоці. Блок об’єднує транзакції в пакет, який додають до спільної історії. Це не скасування завершеного платежу й не автоматичний порятунок без втручання. Точні можливості залежать від конструкції сховища. [6] [10]
Обіцянка застосунку почекати з виведенням може залишитися лише обіцянкою його оператора. Натомість правило в скрипті Bitcoin перевіряють вузли — програми, які звіряють транзакції зі спільними правилами мережі. У відповідній covenant-конструкції вони мають відхилити переказ, що порушує обмеження. Приклад запропонованого інструмента — OP_CHECKTEMPLATEVERIFY, або CTV, описаний у BIP119. BIP — це документ із пропозицією для Bitcoin. CTV порівнював би хеш вибраних даних перевірюваної транзакції із заздалегідь збереженим відбитком. Хеш тут можна уявити як короткий перевірний відбиток даних. Зміна визначеного отримувача чи суми змінила б відбиток, тому переказ, який не відповідає шаблону, не пройшов би перевірку. Сама назва «сховище» в застосунку цього не гарантує. [2]
CTV прив’язує транзакцію до заздалегідь підготовленого шаблону, зокрема її виходів. Досліджують й інші підходи. BIP443 пропонує OP_CHECKCONTRACTVERIFY для виходів, що несуть перевірне зобов’язання щодо певних даних. Тут зобов’язання означає, що одне значення не можна згодом підмінити іншим без виявлення розбіжності під час перевірки. Дані можуть описувати стан контракту, наприклад поточний розподіл спільних коштів; наступний вихід міг би нести оновлений стан за виконання встановлених правил. Тому CTV і ця пропозиція — не дві назви одного рішення. У кожному випадку важливо з’ясувати, що треба визначити наперед, що можна змінити пізніше і які інші інструменти потрібні для всієї конструкції. [2] [7]
Рекурсивна конструкція може вимагати, щоб наступний вихід знову містив певне обмеження. Так правило переходить через кілька транзакцій, наприклад під час поступової зміни стану контракту. Це не нескінченний цикл при перевірці одного скрипту. Russell O’Connor і Marta Piekarska описали такі конструкції у праці 2017 року; можливість повторення залежить від конкретної пропозиції. [3]
Деякі обмеження можна підготувати за допомогою заздалегідь підписаних транзакцій, часових блокувань і керування ключами. Але це може вимагати надійного видалення ключа, збереження всіх транзакцій чи подальшої співпраці. Multisig, де інший підписувач має відмовляти в небажаній оплаті, спирається на інше припущення про довіру. Подібний досвід користування не означає однакового забезпечення правил чи відновлення. [5] [6]
Крім сховищ, досліджують спільні UTXO та підготовку платежів із розподіленим у часі остаточним розрахунком. Метою може бути менша потреба в постійній співпраці або краще використання місця в блоках. Це не обіцяє необмежених транзакцій чи гарантовано низьких комісій. Слід також пояснити самостійний вихід учасника, недоступність інших і сплату комісії під час перевантаження мережі. [2] [7]
Станом на 17 жовтня 2026 року BIP119 і BIP443 мають статус Draft, тобто це пропозиції в розробці. Старіший BIP345, OP_VAULT, має статус Closed і вказує BIP443 як запропоновану заміну. Закриття цього документа не означає завершення досліджень сховищ. Так само надання номера BIP не означає, що мережа прийняла зміну. Тестова мережа чи демонстраційний гаманець можуть показувати функцію, поки правила основної мережі Bitcoin, mainnet, залишаються незмінними. Якщо сервіс пропонує сховище на основі covenants, перевірте, в якій мережі й за якими правилами воно насправді працює. [6] [8]
Занадто вузький шаблон або помилка в сумі, скрипті чи сплаті комісії може унеможливити заплановане витрачання. Додаткові операції також розширюють те, що реалізація має безпечно перевіряти. Тому зміни консенсусу оцінюють за точною специфікацією та поведінкою при помилці. Сам по собі covenant не дає сторонній людині права заднім числом змінювати умови ваших наявних UTXO. [4] [8]
Для конкретного рішення з’ясуйте, хто може запустити виведення або порятунок, скільки часу є на реакцію і чи хтось має постійно стежити за ланцюгом. Перевірте резервні копії, комісії, можливість виходу та мережу, де рішення справді працює. Covenants можуть посилити власний контроль над коштами, але сама назва в описі продукту цього не доводить. [3] [6]
Для повної картини прочитайте також Bitcoin Script, OP_CHECKTEMPLATEVERIFY, Timelock, Правила консенсусу, UTXO, Multisig. На цю статтю також посилаються OP_CHECKTEMPLATEVERIFY, Bitcoin Vault, OP_CAT, Ark.