Объяснение скриптов транзакций

https://en.bitcoin.it/wiki/Скрипт

Я пытаюсь обернуть свой разум вокруг них. Может ли кто-нибудь дать немного более интуитивное понимание?

Не могли бы вы уточнить, какая часть сценариев вам непонятна? Почему ваш вопрос не является дубликатом этого ?

Ответы (1)

Скрипты используются для определения человека, который может провести транзакцию (в биткойнах вы тратите с помощью транзакций, а не с помощью BTC по адресу).

Чтобы понять скрипты, вам, вероятно, сначала нужно понять модель транзакций Биткойн. В отличие от вашего старого банка, где у вас есть счета с определенной суммой денег, у Биткойна на самом деле нет счетов. Адрес, на который вы отправляете деньги, не имеет ничего общего со счетом, хотя клиенты для простоты показывают его именно так.

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

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

Один быстрый шаг назад к модели транзакций, чтобы я мог дать вам полную картину. Деньги создаются с помощью майнинга посредством специальных транзакций, которые не должны уничтожать предыдущую транзакцию: транзакции coinbase. Все транзакции имеют входы и выходы. Входными данными являются предыдущие транзакции, из которых он получает деньги (исключение: coinbase), а выходными данными являются скрипты, в которые он отправляет деньги. После того, как деньги созданы с помощью майнинга, их можно использовать один раз в качестве входных данных, после чего деньги будут уничтожены и воссозданы в новой транзакции, которую затем можно будет использовать. Роль, которую играют сценарии во всем этом процессе, заключается в проверке того, что у вас действительно есть разрешение на проведение определенных транзакций.

Надеюсь, это помогло. Скрипты — не самая простая часть биткойна для понимания.

Спасибо, Том. Очень полезно и информативно. Чуть позже у меня будут еще вопросы. Я медленно просматривал исходный код