Charles & Vitalik,
I agree with the premise of decentralized database of contracts that eliminates centralized trust, but getting there requires we also pay attention to some realities.
As I explained to Charles on the phone last year, there is a fundamental flaw in your design which as far as I can see makes it untenable.
A Turing complete scripting layer run by the full clients (mining nodes) is subject to the
Halting problem. You are begging for Murphy's Law due to centralizing chaos. When we run JavaScript in our Chrome browser, we are not requiring Google's servers to run the scripts. I see your mitigation is to charge the contract per line of code executed (beyond 16) for each transaction on the contract. However the cost of execution is "not one size fits all", thus you prevent innovation and bind together that which should be decentralized freedom.
Perhaps the tenable solution will be something along the lines of
CoinWitness, where the script is run externally and only the proof is run by the mining nodes. On
your blog you mention this technology but not for the purpose of fixing the problem I am claiming.
As I explained to Charles on the phone, I don't think your proof-of-work will remain consumer PC cpu-only.
Also you
admit on your blog that you don't address the centralizing of mining.
Interested to see the progress you all make.