Turing Completeness
Turing completeness is the property of a computational system that can, given sufficient time and memory, perform any computation a general purpose computer can. The concept derives from Alan Turing's 1936 model of computation. Ethereum's virtual machine is Turing complete by design; bitcoin's Script language deliberately is not.
How it works
The dividing line is unbounded looping. A Turing complete language permits programs whose running time cannot be predicted in advance, a consequence of the halting problem, so a network of validators could be trapped executing code forever. Ethereum handles this by metering every operation with gas fees and aborting programs that exhaust their budget. Bitcoin takes the opposite path: Script has no loops, every program provably terminates, and the cost of validating any transaction is known before executing it. That austerity buys predictability and a smaller attack surface, and its price is expressiveness, since applications like automated lending markets cannot be built directly on bitcoin's base layer.
In the gold vs bitcoin debate
The 2016 DAO hack, in which a flaw in a complex Ethereum contract drained around $60 million and was reversed only by a contentious hard fork, is the standard argument for bitcoin's restraint: a monetary base layer should be simple enough to audit exhaustively. Gold sits at the far end of the same spectrum with no programmability at all. Bitcoin's wager is that money wants a minimal, verifiable rule set, with complexity pushed to layers above, not into the asset itself.
Related Terms
Ready to convert your gold to Bitcoin?
Get Your Free Kit →