3 ms·
Wait, doesn't Bitcoin already have a scripting language baked in? And it is disabled on most clients to avoid trolling and DoS attacks. EDIT: It is addressed
by JetSpiegel 13y ago
Wait, doesn't Bitcoin already have a scripting language baked in?
And it is disabled on most clients to avoid trolling and DoS attacks.
EDIT: It is addressed on the white paper: https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-White-Paper https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-White-Pa...
- wcummings 13y agoSimple, templated Scripts are allowed in Bitcoin, but most of the functionality is disabled for security reasons. It is also not Turing-complete
- nullc 13y ago> Simple, templated Scripts are allowed in Bitcoin This is a common misconception. Stock nodes won't relay transactions with weird scripts by default, but they're perfectly valid in the blockchain and verified by all nodes once someone configured to mine them has mined them. > It is also not Turing-complete Nor, pedantically, is what etherum proposes. Nothing time and space limited is. What consensus systems like Bitcoin (and alt coins) do, however, is not executing programs in so much as that they are verifying an execution transcript that someone else performed (which is why all nodes compute the same values). Verification of an transcript of even arbitrary program execution is in P— you don't technically need turing completeness to express it. Though some forms of transcript expression may be more efficient. What Bitcoin does has the advantage of making the computationally work simply statically decidable— it's proportional to script size— and this relation means that— within reason— there is only one limited resource transactions have to worry about consuming, which makes the appropriate fee model obvious.
- higherpurpose 13y agoIt will probably have almost as many security issues as Javascript has on the Internet today, but even so, it will probably be worth it, if it enables a ton of good things that weren't possible before either with cryptocurrencies or on the current Internet.
- nullc 13y agoCryptocurrency contracts inherit the remote code challenges that Javascript experiences but also a whole set of additional really gnarly challenges because the systems must reach exactly identical states in all cases or the network will irreparably fork. It would be like if the entire web split into mutually incompatible partitions the first time someone crafted some JS code which behaved differently in IE and Firefox.
- msgilligan 13y agoFortunately, neither Bitcoin or Ethereum has a DOM.
- nullc 13y ago> And it is disabled on most clients This is not correct. It's a part of the consensus system rules and cannot be just enabled and disabled on a node by node basis. It must be preformed precisely and identically on all systems. What is the case is that nodes don't relay transactions with unusual scripts to prevent DOS attacks, but once they're in a block they're fine.
- JetSpiegel 13y agoThis is what I meant, but I didn't knew the particulars.