Как работают скрипты?

Протокол биткойнов поддерживает сценарии.

  • Как они работают?
  • Как это реализовано?
  • Каковы их предполагаемые способы использования?
  • Когда они планируются к использованию?
20 голосов | спросил ripper234 4 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSun, 04 Sep 2011 18:46:21 +0400 2011, 18:46:21

1 ответ


31

Скрипты - одна из наиболее умных функций Bitcoin. Самый очевидный способ реализации криптовалюты - сделать передачу публичным ключом. Чтобы запросить перевод, вы подписываете соответствующий секретный ключ. Биткойн работает не так.

Когда вы отправляете биткойны ( out транзакции), вы отправляете их в скрипт. Когда вы заявляете биткойны ( в ) транзакции), вы требуете их со сценарием. Чтобы определить, правильно ли заявка на транзакцию заявляет о выходе транзакции, два сценария объединяются и результат выполняется. Если результат равен true , тогда вход требует вывода. Язык сценариев основан на стеках и примерно похож на Forth.

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

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

Планируется M из N подписей. Таким образом, вы можете перечислить, скажем, 3 открытых ключа, чтобы любые 2 из них могли требовать биткойны.

К сожалению, некоторые компоненты скриптов опасаются иметь угрозы безопасности, поэтому многие из них в настоящее время отключены.

ответил David Schwartz 4 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSun, 04 Sep 2011 21:00:55 +0400 2011, 21:00:55

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132