Для меня скрипты — одна из самых интересных особенностей Биткойна. Они предоставляют возможности, не имеющие эквивалента в классических валютах. Однако вики утверждает
Он намеренно не является полным по Тьюрингу и не содержит циклов.
Если бы сценарии были полными по Тьюрингу, вы могли бы создать довольно короткий сценарий, который выполнялся бы чрезвычайно долго (как Busy Beaver ) или содержал бы бесконечный цикл. Это, как правило, приводит к отказу в обслуживании для всех в сети, когда они пытаются проверить транзакцию.
И не было бы общего способа определить, будет ли сценарий зацикливаться бесконечно или в конце концов завершится: это проблема остановки .
Можно было бы попытаться избежать этого, включив какое-то ограничение на то, сколько времени клиент потратит на проверку транзакции, но это должно быть сделано очень осторожно, чтобы быть последовательным для всех клиентов: если некоторые принимают это, а другие нет , цепочка блоков разветвится.
Кажется, что проще избежать ситуации всем вместе.
Аренда бесплатно
Нейт Элдридж