My understanding is it works like this in Ethereum:<p>The miners can run any arbitrary code ("a contract") that you write, and this code is verifiable and trusted by everyone once it's been uploaded to the blockchain. The contracts can read/write arbitrary things in the blockchain and send coins to anyone you want, determined by the code you write.<p>There's a "gas price" that you have to pay for each operation you tell the miners to execute. However, the operation "EXTCODESIZE" evidently has too low of a cost, allowing someone to pay to have it executed enough times to noticeably slow the miners down for shits and giggles.<p>Someone correct me if I'm wrong?
Etherium is a first cut at a hard problem. The "smart contracts" problem is interesting, but after the DAO debacle, it's clear that smart contracts shouldn't be executable programs. It's too hard to predict their behavior, and that's very bad when they're connected directly to money. Some human-readable declarative notation is needed. I've suggested decision tables. Dealers need enough expressive power to handle all the usual financial instruments, but don't need or want Turing completeness.<p>Another advantage of a declarative notation is that compute time tends to be bounded by a fairly low bound. That would put a lid on problems like this new one, where the little programs are chewing up too much time.<p>We may see some smart contracts system with a better notation in the derivatives business. It doesn't need to be a currency, just a blockchain with enough identified independent players to prevent tampering. The need for "mining" comes from the desire for anonymity; it's not inherent in smart contracts.
I wonder if this is related to what is going on with the folks at <a href="http://www.foundups.com" rel="nofollow">http://www.foundups.com</a> claiming they invented ETC and are hosting their own conference around their own protocol.