After learning some things about ethereum, I've formed an initial opinion about it. You might insert "(correct me if I'm wrong)" after each word in the next argument.
In a Dutch beginners bitcoin meeting, we had an idea that later appeared to not work out, but it serves very well as background example.
The idea was to create a bitcoin transaction, whose outputs can be spent by solving a computational problem and not by knowing a private key. The solution of many NP-Complete in practice can be checked in linear time and in fact we managed to create such a bitcoin transaction, where the bitcoins could be claimed by solving a SAT-instance.
Two remarks were made by people with more experience:
1. It doesn't work, because miners can "steal" the solution by inspecting it and changing the address the coins will be sent to when mining a block.
2. We should look into Ethereum.
As I see it, the main plus of Ethereum above Bitcoin is to pay to perform computations. I think, however, there are some limitations to that. When reading
https://github.com/ethereum/wiki/wiki/White-Paper#code-execution, performing computations is a by-product of mining and validation. It cannot be used for intensive computations, as per
An attacker creates a very long infinite loop with the intent of forcing the miner to keep computing for such a long time that by the time computation finishes a few more blocks will have come out and it will not be possible for the miner to include the transaction to claim the fee. However, the attacker will be required to submit a value for STARTGAS limiting the number of computational steps that execution can take, so the miner will know ahead of time that the computation will take an excessively large number of steps.
I do believe that computing power can become the leading currency within 20 years. With this in mind, I'm very interested in Ethereum and I'm wondering if it can become the computing platform of the world.
Also, the article mentions that for validation, each ledger needs to redo some of the computations. It doesn't need to redo *all* of the computations that were ever done for ethereum, as the transactions are stored in a tree. However, I think it's still infeasible for any ledger to do log(n) computations, where n is the total number of computations done in the world.
Next, Ethereum may use less memory than the bitcoin blockchain even though Ethereum stores variables, but I still believe that storing a portion of the intermediate values forever will not work if you want to be a computing platform (because of memory explosion).
Last but not least, in case the gas value of some computation still has monetary relevance, it seems to me that such a solution can still be stolen from one miner by another miner.
My questions:
1. Where do I go wrong with my observations?
2. Respecting (1), do I still have a point?
3. May it be possible to develop a crypto where you can claim coins by solving a generic problem description (as we tried in the beginners bitcoin meeting), as opposed to ethereum (where you just need to follow the steps defined by questioner)?
4. Has anybody yet done significant computations in the Ethereum blockchain that helped him and he couldn't do on his own computer?
5. If I'm mistaken and Ethereum is not meant for solving compute-intensive problems, should we then start a coin that is?