OP_CAT — це запропонований opcode для Tapscript, який об’єднує дві послідовності байтів, якщо отриманий елемент не перевищує ліміт 520 байтів; у mainnet він поки не активний.
Специфікація перевизначає OP_SUCCESS126 у Tapscript. Операція знімає два верхні елементи стека, об’єднує їх у порядку стека й повертає результат на стек. [1]
Початковий OP_CAT вимкнули в ранньому Bitcoin разом з іншими opcodes. Нова пропозиція обмежена Tapscript і зберігає чинний ліміт 520 байтів для одного елемента стека. [2]
Об’єднання дає змогу будувати в script структуровані дані та хешувати їх. Прихильники виводять із цього covenants, дерева транзакцій, vaults і докази властивостей майбутньої транзакції. [1]
Сам opcode не визначає ані єдиного застосунку, ані віртуальної машини загального призначення. Безпека конкретного протоколу залежить від поєднання OP_CAT із хешами, підписами та правилами витрачання. [1]
BIP має статус Complete, який описує зрілість документа, а не активацію в консенсусі. Вузли mainnet нині вважають OP_SUCCESS126 успішним завершенням script за правилами Tapscript. [3]
Активація була б soft fork: нові правила звузили б множину раніше чинних витрачань Tapscript. Для цього потрібні окремий процес розгортання та широке технічне оцінювання. [1]
OP_CAT пов’язаний із CTV, covenants і Simplicity, але не є їхнім синонімом. Кожна пропозиція має іншу виразність, вартість аналізу та простір для ненавмисних конструкцій. [1]
Під час перевірки треба відокремлювати наявну специфікацію й експериментальні реалізації від фактичних правил mainnet. Wallet не повинна вважати OP_CAT доступним без активації. [4]
Для повної картини прочитайте також Bitcoin Script, Taproot, Covenants, OP_CHECKTEMPLATEVERIFY, Soft Fork, BIP (Bitcoin Improvement Proposal).
01Чи активний OP_CAT у mainnet Bitcoin сьогодні?+
Ні. BIP 347 є завершеною специфікацією пропозиції, але зміну не активовано як консенсусне правило mainnet.
02Чи означає OP_CAT smart contracts загального призначення?+
Ні. Він додає одну операцію об’єднання даних; можливості й ризики виникають у конкретних scripts і протоколах, що її використовують.