Does anyone know more or has any thoughts about this project:
http://vbuterin.com/ethereum.html
I've been looking at it over the past few days.
It's extremely flexible, powerful, modular and potentially secure. These are the features he has over Bitshares and Mastercoin.
The main key to whether or not it will be a success will be based on how easy or difficult the scripting layer is. My opinion on it is that they should go the Python route which is to have a virtual machine with a very easy to use scripting language on top. If we have to write assembler code that might be okay but it could mean fewer people can take advantage of the extreme flexibility and turing completeness.
Python is turing complete and simple. If we could have something simple like that or something simple like the Linux bash scripting then it will work extremely well and probably become a success. If the virtual machine is designed to make it extremely cross platform so it can run on anything then it could be like python in that aspect that it can be ported to everything.
C++ in my opinion has its limits. It's hard to port C++, hard to debug it, and it's a compiled language which means you have to worry about all the security issues yourself. Python code is easier to secure because there is a lot less syntax, it's easier to debug, it's more portable, but it's interpreted so it's also not as efficient or fast as compiled languages which are optimized specifically for the hardware.
I await the release of Ethereum but those are my thoughts on it based on my current understanding of what it wants to do.
IMO this sort of project should NOT be using a turing-complete language as the foundation. Bitcoin's scripting language was designed to be not turing-complete for a reason. We want our protocol language to be good for correctness proofs, not malware.
Python is turing complete but also one of the easiest languages to write secure code in because the syntax is simple and beautiful. I think if the syntax for the turing complete scripting language is simple, and if it's easy to see what it does, then it's very hard to write malware. Interpreted scripting languages in my opinion are a necessity for contracts and should not be limited because of a fear of difficult auditing. Instead we should make the scripting language so simple and so well designed that you don't have these issues. There also has to be a standard code base which people can use which is secure by default.
This is something which in my opinion can be built, has to be built, but will not at all be easy to build. And from what I saw on the site they want to use some sort of assembler type code which is not going to be easy to deal with. On the other hand its using a virtual machine so if you do process separation, isolation, sandboxes and other techniques you can prevent malware.
I confident that if designed with security in mind malware can be prevented. I don't think Bitcoin was designed as well as it could have been and was hacked together in a lot of ways using a compiled language such as C++ which while efficient is often difficult to port, difficult to debug, difficult to secure.