3 ms·
Note that Bitcoin is purposefully not turing complete. http://bitcoin.stackexchange.com/questions/17258/turing-completeness-of-bitcoin-script http://bitcoin.sta
by cube_yellow 13y ago
Note that Bitcoin is purposefully not turing complete. http://bitcoin.stackexchange.com/questions/17258/turing-completeness-of-bitcoin-script http://bitcoin.stackexchange.com/questions/17258/turing-comp...
- est 13y agohttps://en.bitcoin.it/wiki/Script https://en.bitcoin.it/wiki/Script wiki here
- eurleif 13y agoFirst paragraph: >It is purposefully not Turing-complete, with no loops.
- deleted 13y ago[deleted]
- tlrobinson 13y agoI don't really see any reason why it couldn't be Turing complete, as long as it was completely deterministic (no "rand()" etc) and the specification included a maximum number of operations (which Bitcoin's Script already does) What am I missing? Is the idea that without loops the transaction size can be used to estimate the computation required without actually performing it, and thus the appropriately sized transaction fee required?
- grondilu 13y agoNakamoto designed script to be non-Turing complete from the very beginning (it was mentioned in his white paper). I suspect it was for security reasons. You don't want arbitrary complex code running on miners machine. At the very least, it could obstruct the system.
- mike_hearn 13y agoScript is not mentioned at all in the Bitcoin white paper. Perhaps you are thinking of a comment he made elsewhere. Bear in mind that in the Bitcoin design it's not just miners who have to run scripts, it's all nodes, yet fees accrue only to the miners. Bitcoin does use fees to try and make computationally expensive transactions financially expensive as well, but that's just a basic antiflood mechanism, the fees don't actually get collected by those doing the work.
- grondilu 13y agoWow indeed it is not mentioned. I was sure I had read about it there. I was wrong. My bad.