Скриптовый язык биткоина (Script) — это примитивный стековый язык, используемый для описания условий, при которых транзакция может быть проведена. Он позволяет задать правила, по которым биткоины могут быть потрачены. В этом руководстве мы рассмотрим основы использования Script и примеры его применения.
I. Что такое Script?
Script — это язык программирования, используемый в биткоине для задания условий транзакций. Он основан на принципах стека и имеет следующие особенности:
- Стек: Все операции производятся на вершине стека.
- Детерминированность: Результат выполнения скрипта всегда однозначен.
- Отсутствие циклов: Невозможно использовать циклы или рекурсию.
II. Основные операторы Script
Script поддерживает множество операторов, среди которых:
- OP_CHECKSIG: Проверяет подпись транзакции.
- OP_EQUALVERIFY: Проверяет равенство верхних элементов стека.
- OP_HASH160: Вычисляет hash160 верхнего элемента стека.
- OP_DUP: Дублирует верхний элемент стека.
Полный список операторов можно найти в официальной документации биткоина.
III. Пример использования Script
Рассмотрим классический пример использования Script для создания стандартной транзакции:
Стандартная транзакция (Pay-to-PubKeyHash)
- Unlocking script (scriptSig):
<signature> <public_key>
- Locking script (scriptPubKey):
OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG
IV. Применение Script
Script используется для создания различных типов транзакций, таких как:
- Pay-to-PubKeyHash (P2PKH): Стандартная транзакция.
- Pay-to-ScriptHash (P2SH): Транзакция с использованием хэшированного сценария.
- Multisig: Транзакция с требованием нескольких подписей.
V. Заключение
Script — это мощный инструмент для задания условий транзакций в сети биткоина. Понимая его основы и возможности, вы сможете создавать более сложные и безопасные транзакции. Продолжайте изучение и практикуйтесь в написании скриптов для различных сценариев использования.