Первый идти читать и понимать CoinWitness, он описывает приложение для использования проверенных вычислений в сценариях, а также некоторые справочные о доказательных средствах вычисления, которые я не буду здесь повторять.
В этом сообщении я опишу еще одно приложения для использования доказуемого вычисления (СКИП) в качестве замены сценария, но это одна не совсем серьезно. Это прямо-таки занятно плохо.
Checksig операция в сценариях транзакций логически получает Публичную, подпись и хэш-маскарад транзакции (эффективно хэша сделки с scriptsigs удален, все это игнорируют флаги sighash с целью обсуждения).
В мире, где мы имеем СКИП-скрипт checksig оператора он будет работать так же: было бы получить некоторые дополнительные дополнительные общедоступные данные, открытый ключ (проверка ключ), подпись (доказательство) и хэш-маскарад транзакции. Для создания подписи для этой системы вы бы запустить программу СКИП-скрипт, соответствующий ключу проверки внутри доказывающей СКИП, придав ему в качестве публичного ввода хэш-маскарад операции и каких-либо дополнительных государственных или негосударственных входов. Если программа принимает результат является доказательством вашей транзакции должен считаться действительным.
Поскольку хэш самой замаскированной сделки является частью общественного входа, СКИП-скрипт может также потребовать unhashed замаскированной сделки как непубличной вход, когда он работает. Программа может затем протестировать любого из не-маскированных данных в сделке, и только ACCEPT, если она любит его. Например. он может проверить scriptpubkeys против списка или их выходных значений против диапазона. Он может выбрать только подписать, если nlocktime Сделок был высоким или достаточно низким, или любой смесью из этих вариантов. Поскольку входы (которые сами транзакции хэши), подпадают под хэш, сценарий может пойти дальше и потребовать, чтобы вы обеспечиваете входной transactions- и может применять любые тесты он хочет на ВВОДА потенциально следуя им весь путь обратно огромное количество coinbase сделок, навязывая вычисляемые правила он любит по пути. Если вы не можете удовлетворить правила, вы не можете потратить монету.
Конкретный вид правила может принимать форму требуя вывода scriptpubkey быть в форме THIS_VALIDATION_KEY && {Любые правила, которые вы хотите} и тем самым вы фактически создали монету, которая навсегда подлежит к завет который будет работать с монетой и навсегда ограничить использование его и его потомков, разрушающих и его взаимозаменяемость.
(На самом деле достижения этого требуется немного хака:. Программа СКИПА не может иметь свой собственный ключ проверки, встроенную в него, как это было бы круговым Но это не фундаментального предела здесь: сценарий может идти читать его из scriptpubkey сделки ввода, затрачиваемые мы можем доверять, что его право один, потому что, если это не сделка будет считаться недействительной, даже если доказательство принято).
Любая попытка думать о том, почему кто-то может хотеть сделать это заставляет меня кричать в horror- Что вы должны ожидать, так как это роботизированный эквивалент ассоциации владельцев жилья.
(Например, в приступе тональный пропаганда, Люк-младший может начать штамповку монеты с заветом, который позволяет только или делает их пользователю платить более высокие сборы TxN если сумма txout не были круглыми тональными числами.)
Более серьезный момент в том, что этот вид инструмента делает его довольно трудно намеренно исключить функциональность от script- каких-либо данных в соответствии с подписью в криптостойкой образом, даже косвенно, как все данные в предыдущих операциях, его подлежащих тестированию скриптом.
Что ужасающим образом вы можете себе представить, используется заветы?