erik
3 min readJun 24, 2016

When I first heard about ethereum, it sounded like a more complex version of bitcoin.

That is less than a year ago.

I possibly spent 10 minutes searching for programming examples that would clarify how exactly ethereum would expand on the bitcoin idea, but I could not find anything of sorts.

If bitcoin did not exist, and kept me busy already, I may have spent more time on ethereum.

You see, bitcoin is much simpler, but already substantially more complex than strictly needed for what people use it now.

Most bitcoin transactions are simply about John paying 2.5 coins to Peter. Bitcoin supports an entire programming language to do much, much more.

Some people think that this is a good thing.

I think that it is an utterly bad thing. It makes bitcoin quite a bit harder to use. An example of how the programming work goes, under the hood, if you want to make a payment:

Therefore, my idea of an improvement was rather a cryptocurrency meant to simplify bitcoin: Not more features, but substantially fewer.

It would only be able to do one thing: to move funds from one address to another.

It would not even support escrow transactions. You can do that with another network, built specifically for that purpose. I would not conceptually burden the currency itself with that functionality.

On the other side, I do not mind all that needless, amalgamated complexity too much.

I am used to function libraries that are several orders of magnitude harder to use. In ways, the needless bitcoin complexity is also not a bad job protection scheme. I make excellent money, programming bitcoin-related source code. The needless complexity of bitcoin creates an obstacle for competitors to enter the field. It especially helps with keeping away expert-beginner programmers from this realm. That is certainly not bad.

Elliptic curve cryptography (ECC) in general is in fact pleasantly non-trivial.

The math is considered challenging by outsiders. It helps keeping the demographics with more moderate levels of intelligence out of this field, so that we generally never have to work with really dumb people. Unlike the situation in bitcoin — or God forbid in ethereum — the complexity of ECC is not needless. There is a reason why intractability in cryptography is a bit, yeah, intractable.

One annoying side effect of the fact that bitcoin transactions are written in a fully-fledged programming language, is, that it is relatively hard to parse blocks of transactions. A block could contain transactions that are described with any arbitrary valid set of instructions that do not even necessarily represent a payment. You may even have to make the interpretation on a case-by-case basis.

Your own program would either have to ignore such non-payment-related transactions, or else be impossibly complicated, to still make sense of what all these little programs actually mean.

In other words, I would shut down all of that, and get rid of the entire bitcoin scripting language altogether.

What ethereum did, was exactly the opposite.

They have made things even more "powerful", and therefore, they have made simple things even more unattainable.

I do not claim that "smart contracts" or a smart contract programming language would not be useful. In fact, I strongly suspect that they are, and that some day someone will make a beautiful demonstration of that.

However, we do not need these things whatsoever, just to represent a payment from one address to another.

Do we really want the simple act of paying, to become totally incomprehensible, because of the elusive benefits of things we could possibly be doing in the future, when someone finally figures out how to go about doing that in a useful way?

Why stuff all of these things together in one big bowl of spaghetti?

Why not use another network, for generic transaction scripts and programs, where people can experiment with them, while we keep the basic payment network utterly simple?

I personally do not believe that we really need the ethereum spaghetti bowl.

I would rather go with a separate, simplified bitcoin-style network for payments, a separate, simplified network for escrow transactions about the bitcoin payments, and then all kinds of experimental contracting networks, where people can experiment, until they can finally show us something compelling, and on which we would really want to join in.