CRYPT.ruглавный криптожурнал

OP_CHECKCONTRACTVERIFY: как Bitcoin может получить состояние в транзакциях

Разработчики предложили опкод OP_CCV для реализации смарт-контрактов с сохранением состояния на Bitcoin. Это часть концепции MATT, которая встраивает данные в ключи Taproot и проверяет переходы между состояниями.

OP_CHECKCONTRACTVERIFY: как Bitcoin может получить состояние в транзакциях
Изображение: tookapic / Pixabay

MATT (Merkleize All The Things) — фреймворк для смарт-контрактов на Bitcoin, который позволяет создавать контракты с сохранением состояния. Стандартные скрипты Bitcoin оценивают каждую транзакцию независимо, без памяти о предыдущих операциях. MATT решает эту проблему через опкод OP_CHECKCONTRACTVERIFY (OP_CCV).

OP_CCV встраивает состояние контракта прямо в публичный ключ Taproot. Сначала внутренний ключ изменяется хешем текущего состояния контракта, затем применяется стандартное изменение Taproot для дерева скриптов. Результат содержит и условия траты средств, и текущее состояние контракта.

Опкод работает в трёх режимах для проверки выходов и одном — для входов. В режиме по умолчанию вся сумма уходит в указанный выход, в режиме deduct — только часть, а режим ignore проверяет обязательства без ограничений по сумме. Комиссии оплачиваются через отдельные входы — так средства не сгорают случайно.

Вместе с OP_CAT, который склеивает байты в скриптах, MATT может проверять доказательства Меркла прямо в блокчейне. Это открывает путь к системам fraud proof: длинные вычисления выполняются офчейн, а ончейн проверяется только оспариваемый шаг. Схема похожа на оптимистичные роллапы в других блокчейнах, но без подписей Лампорта и графов предподписанных транзакций, которые нужны BitVM.

Источник

  • CointelegraphBitcoin Covenants Part 5: MATT and OP_CHECKCONTRACTVERIFY — How Bitcoin could carry state across transactions

Ещё в рубрике «Статьи»

  1. 11 ноября, среда