Если операнды не доступны для оператора, это означает, что сценарий является недействительным.
Таким образом, я предполагаю, что это классическая стопка-концепция и оценка сценария всегда начинается с пустой (позже всегда конечной глубины) стека.
Лучше ничего не предполагать. Для определенности, прочитать код Сатоши.
Вы должны взять на себя, если у вас есть не полная информация, но хотелось действовать разумно.
Не могли бы вы дать мне ссылку на это то, что вы называете "Satoshi код" - в лучшем случае с публичными доступными URL? Я гугл уже, но получил только 634 хитов и наиболее перспективных URL
Я не могу понять.
Все, что не соответствует ожиданиям результатов ОП-коды в недопустимом сценарии.
Хорошо, это соответствует утверждению Грау (assumping, что очевидно, что все ожидания конкретного Op-кода!).
Если он проверяет подпись, используя верхний элемент стека в качестве открытого ключа, но данные стека не анализирует как открытый ключ, вернитесь SCRIPT_INVALID
Кто делает синтаксический анализ? Я надеюсь, что не я в явном виде, но (по выбору) библиотечная функция, которая зависит от времени выполнения окружающей среды. : - /
В настоящее время единственным нетривиальным библиотеки я использую библиотеку OpenSSL (libssl3.so.12) для SHA256 и ripemd160 хэширования, но эти функции я мог бы также код, чтобы быть независимым от этих библиотек-версий - если мне нравится.
Если нет больше опкодов для запуска и верхний элемента стеки не OP_TRUE, возвращение SCRIPT_INVALID (я думаю, что я помню, что, как это работает ... было время ...)
Это противоречит URL
https://en.bitcoin.it/wiki/Script где указано в начале статьи:
Сделка действительна, если ничего в комбинированном сценарии не вызывает сбой, и верхний элемент стека истинно (не равно нулю).
. Так что правильно - если вы правильно помните?
# Gavin выяснены эффекты OP_0 и OP_1-OP_16.
# OP_0 ставит пустую строку в стек, который принимает значение
# Ложно и обрабатывают HASH160 как «» (длина = ноль)
# OP_X помещает один байт в стек, 0x01 до 0x10
Откровенно говоря, я не вижу здесь ни одного subtilities. OP_X обозначает диапазоне OP_1 до OP_16, каждый из толкающих 1 байт в стек. OP_O в отличие, как во всем диапазоне nemonics с байта значения 0 - 75 каждый запихивает 1 элемент в стек, байт вектора длины его опкода. Это звучит для меня как самостоятельный вид, чтобы передавать данные в стек (например, ОП-кодов с байтом значений 76 - 78 еще один другой вид). Во всяком случае, по крайней мере, я думаю, что я интерпретировал то же значение из URL
https://en.bitcoin.it/wiki/Script как ты.
Appendum: Хм .... уродливое "тонкость восприятия" (Я бы назвал это уродливое проектное решение) является то, что значение оп-код 0x50 является зарезервированным оп-код, а не операционный код для толкания байт 0 в стек. Может быть, один лучше следовало бы назвать nemonic OP_0 OP_Empty, чтобы избежать неправильного толкования или не дать ему никакого официального nemonic как все оп-коды со значениями байт <= 75?
Я не люблю комментировать или даже попросить больше ответов данных, несмотря на то, были arosen много вопросов по следующему для ответа проводок из Грау & gmaxwell. У меня такое ощущение: у меня есть Hiten гнездо осы, которое связано с тем, что не существует (полное) определение этого языка сценариев только историческую реализацию, которая используется в качестве эталона (включая все его ошибки, subtilities, окружающей среды в зависимости материала и т.д.) было бы хорошо, если я ошибаюсь.
Может быть, "сообщество" имеет не ждать, пока серьезных коммерческих интересов происходит на Bitcoin (если в любое время), а затем, конечно, вилы в интерпретации сценария Bitcoin-клиент приведет, которые несовместимы в результате чего беспорядок и много беспокойства - возможно, конец или незначительность известного bitcoin- сеть.
В blockchain появляются несколько определенных депозитно-скриптов: 0x73 0x63 0x72 0x69 0x70 0x74 (nemonics как OP_IFDUP OP_IF OP_2SWAP OP_VERIFY OP_2OVER OP_DEPTH), которые не были погашены. Я подумал об этом бредовом сценарии, но это вызвало вопрос: если OP_IF (или OP_NOTIF) не закрывается с помощью OP_ENDIF внутри сценария, это весь сценарий, то, конечно, недействительный или это не обязательно недействительно?
Спасибо всем за ваши информаций и помощь
SMTP