Что такое Bitcoin Script?

Intermediate
3m

Язык сценариев Биткойн - это простой язык программирования, основанный на стеке, используемый в транзакциях Биткойн для определения того, как можно потратить выходы. Он функционирует как механизм блокировки и разблокировки для выходов транзакций, обеспечивая, что человек, пытающийся потратить биткойны, имеет на это право.

Сценарий состоит из двух частей: блокирующий сценарий (или scriptPubKey), который прикрепляется к выходу и указывает условия, при которых выход можно потратить, и разблокирующий сценарий (или scriptSig), который прикрепляется к входу и предоставляет данные, необходимые для удовлетворения этих условий. Когда узел получает транзакцию расхода, он объединяет эти сценарии и запускает их слева направо с использованием структуры данных, называемой стеком. Если результат является допустимым, транзакция авторизована.

Понимание модели транзакции ввода-вывода Биткойна: Что такое UTXO?

Сценарии не являются полными с точки зрения тьюринга, что означает, что они не поддерживают циклы и другие конструкции, которые могли бы потенциально потреблять избыточные вычислительные ресурсы. Это ограничение обеспечивает безопасность и эффективность во всей сети. В то время как P2PKH (Pay-to-Public-Key-Hash - Оплата-Публичный-Ключ-Хэш) является наиболее часто используемым типом сценария, более сложные сценарии могут позволять использование функций, таких как адреса multisig, где для авторизации транзакции требуется несколько подписей.

Язык сценариев Биткойн специально разработан как неполный с точки зрения тьюринга по нескольким важным причинам:

  • Безопасность и Предсказуемость: Ограничивая возможности написания сценариев и запрещая функции, такие как циклы и произвольные переходы, язык сценариев Биткойн избегает проблемы остановки, которая представляет собой неразрешимую проблему определения, остановится ли данная программа в конечном итоге или будет работать бесконечно.
  • Обеспечение быстрой проверки транзакций всеми узлами является критически важным для поддержания децентрализованной природы Биткойна. Неполные с точки зрения тьюринга сценарии гарантируют, что проверка транзакций остается вычислительно возможной и предсказуемой, избегая ситуаций, когда сложные сценарии могут потребовать значительной вычислительной мощности и времени.
  • Сокращение Сложности: Простота языка сценариев Биткойн уменьшает риск непреднамеренного завершения тьюринг-полноты, что может произойти легко, если неосторожно добавлять дополнительные функции. Он поддерживает простой подход к написанию сценариев, соответствующий философии разработки Биткойна как прочного и безопасного.

Bitcoin

What else do you want to learn?

Send
delate
Use TokenInsight App All Crypto Insights Are In Your Hands
Open