692 / 736BIP347

OP_CAT

Об’єднання даних у Tapscript

BIP 347 пропонує повернути до Tapscript просту операцію об’єднання двох елементів стека й розширити можливості проєктування контрактів Bitcoin.

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 і протоколах, що її використовують.

DOC · 001BIP 347 — OP_CAT in TapscriptСпецифікація DOC · 002Bitcoin Optech — OP_CATДокументація DOC · 003Bitcoin Core — Tapscript interpreterПервинне джерело DOC · 004BIP 342 — Validation of Taproot ScriptsСпецифікація
Переглянуто: Спочатку джерела · Не інвестиційна порада