标签: scripting programming-languages bitcoin turing-machines turing-complete
所以,我在他们的官方文档上阅读有关比特币脚本的内容并找到了这一行:“脚本很简单,基于堆栈,并且从左到右处理。它是有目的地没有Turing-complete < / em>,没有循环。“我试图努力推理,但无法理解为什么会有人制作语言” 有目的地非图灵完整 “ 。这是什么原因?如果一种语言成为图灵完成会怎样? 并且进一步扩展,“没有循环”是否与非图灵完成的脚本有关?
答案 0 :(得分:5)
可能的原因:
答案 1 :(得分:2)
主要原因是因为比特币脚本在处理/验证交易时由所有矿工执行,我们不希望它们陷入无限循环。 另一个原因是,根据Mike Hearn的这个message,比特币脚本是Satoshi尝试合并他想到的几种交易的事后想法。这可能解释了这样一个事实,即它的设计并不是很好,并且表现力很差。
Ethereum有一种不同的方法,允许任意循环,但让用户为执行步骤付费。