Ethereans Debate to Fork or Not Fork

0

We’ve all been there. Exploring your computer to see what all those files are, deleting one to see what it does, and suddenly your computer is frozen. You turn it on and off again, but all you get this time is a blank screen.

Your day is certainly ruined, as may be your pocket, but imagine the same at the level of a world computer, ethereum itself.

If Devops199 is to be believed, he is just a noob messing about to see what contract calls do and so happened to freeze 500,000 eth. Not letting the big mess-up go to waste, he is now on twitter where he said:

“It’s simple really, imagine walking up to a bank vault and there’s a button that says “Lock Forever”… someone accidentally pushes it.”

If there was a way to unlock it then generally doing so would be a no-brainer. But in this space things are a bit different as there needs to be a collective decision to unfreeze the funds.

As you may expect, there are different opinions on the matter. As they say, put three people in a room and you get 300 views. But can there be a slightly more objective way to decide what is right and what is wrong?

Thankfully, or unfortunately, depending on your views, an agreement of sorts appears to be rising for the funds to be unlocked during Metropolis Constantinople which could implement a general Ethereum Improvement Proposal (EIP) that would cover this case.

Vitalik Buterin, Ethereum’s inventor, suggested quite some time ago an EIP that would generally unfreeze frozen funds stuck due to accident or bugs. He said the EIP:

“Allows for users with ether or other assets in common classes of “stuck” accounts to withdraw their assets. The first case covers contracts that are accidentally created with no code, as well as some losses due to replay attacks where a contract was created on ETC, funds sent on ETH but the contract not created on ETH; the second case covers losses due to an old ethereum javascript library that incorrectly computed ethereum addresses.

Note that in all cases, the “rightful owner” of the assets is obvious and mathematically provable, and no user is being deprived of any assets, and this proposal provides no explicit favor to any single account, user or application.”

In reply to it, Jesse Powell, Kraken’s CEO and co-founder, stated:

“Speaking on behalf of Kraken, I would characterize this more as recompense than rescue. We did take on some not insignificant losses as a result of the mentioned bug in the old Ethereum javascript library.

At the time, losses were covered out of Kraken’s pocket to protect our clients. We would greatly appreciate the ability to recover the funds tied up in the incorrectly computed addresses.”

Regarding the Parity hack, an etherean says “all that is required is to simply re-instantiate the contract with a “fixed” version and the funds will be unfrozen.

It’s about as non-controversial as it gets in my opinion. Especially, considering that no ETH needs to be moved or anything like that.”

Technically, it is all very simple. Afterall, this is all just code, which may explain why price hasn’t really reacted much. Code can “easily” be fixed after the event. But another etherean says:

“There have to be consequences for writing bad code – the parity team, and users of their software, already had ample evidence that their code was poorly authored and in need of a better security audit. If we keep giving people “free passes” these problems will continue happening, because companies will have no good reason to release better code.”

The Parity team is probably hating every single moment right now and their reputation, which they worked very hard to build last year as a great client, isn’t currently at, let’s say, a desirable level.

We don’t doubt for a moment that they had no intention whatever for there to be any bug, although the July fix in this case may have been rushed which in the circumstances – funds were actually being stolen and moving out of accounts – might be understandable.

However the general point, no gain without pain, is a respectable position. The question is whether there has been enough pain already, or whether it should rise to $150 million?

Another etherean says that a fork “makes the ethereum foundation into a centralized bank, which was a complaint after DAO they very much want to grow out of [and] just not enough ETH thats frozen to warrant such an action.

Take legal action against Parity if you are mad.”

That’s an interesting view and really the main argument against the DAO fork last year. It presumes that developers decide. If that is the case, then the question becomes do they have more power when they don’t offer the fork option or when they do offer the fork option.

Objectively, if we are to accept that developers do have such power, then as we have seen with the one megabyte debate in bitcoin, it applies regardless of fork or no fork. But it may be more likely they do not have any such power either in a pro or no fork position. An etherean says:

“There is no vote. People run the chain they want. They can even run all chains at the same time according to their values and interests. There will be no votes because there is nothing to vote for. Code is free. Data is free.”

He is right. There have been two major contentious forks so far. The DAO last year and Bitcoin Cash this year. In both instances, both sides got exactly what they want.

But, although you can technically have two chains, practically what Blockstream developers support or what the Ethereum Foundation supports does have influence, at least in the short term until the new team proves itself.

In this case that team would be the very skilled coders at Parity which, if it came to it, could run their own chain which may be quite a respectable competitor.

But, if we try and stand out of the intricacies to look at the bigger picture and try to be a bit more practical at a fundamental level, what we are seeing here is the product of very crude first generation inventions which necessarily are at a bleeding edge where things are expected to go wrong and we should be thankful they haven’t for a year until now.

Ethereum is a first generation car that barely runs 3 miles an hour. Or the first generation airplanes that could barely fly without a crash. Or windows 93 which couldn’t go two minutes without the blue screen or, for those old enough, the early TV signals which would constantly blank out the ten o’clock news. All of those are now very convenient and run smoothly.

At its foundations, although we are dealing with money, we are dealing with technology. And a new barely two years old invention can not in any way be expected to operate so finely at this stage. Not without a trial and error learning process which constantly improves and refines it all until it’s nice and good.

You accidentally hit backspace and delete one public key letter or number without noticing, click send, and suddenly all your money is gone to a black hole. You miss a comma in a smart contract and boom, it’s burned. Some kid comes around pressing buttons and oops, it’s frozen.

In each instance, there is a learning and improvement process. To the point where eventually it all works fine and conveniently for us all. To expect the latter without the former in light of experience is unrealistic.

Moreover, in our view, we should never submit to the machines. Nor should we ever forget that they are our servants, here at our pleasure to serve us as we please. It should never be us that bend to their will, but the code that bends and kneels.

But that’s a general point. In this case, we don’t really have a strong view and from our observation it appears most ethereans are somewhat indifferent to the question, willing to go with what most agree. One of them says:

“I’m a hard-core anti-DAO-bailout fundamentalist, and while my gut reaction is still a firm “no bailout for this either! This money was burned fair and square!” I think this particular EIP would actually be not a completely terrible thing. It addresses a whole class of bugs and does so in a generalized, non-biased way.”

The DAO fork ignited spirits because it was the first of its kind and pitied practicality against ideology. Practicality won, and it worked out very well for eth in the end, rising some 20x after the fork.

In this case, there does not appear to be so much of a battle as deliberation on whether it should be done or not with most appearing to be agreeable to the EIP as part of the planned Metropolis hardfork.

Some worry whether that would make the other non-controversial aspects of Metropolis slightly more controversial, but it is a general class of assets that would be unfrozen, from some fat fingered guy who sent to the wrong address, to Kraken, to Parity.

And why not? Why punish the pioneers? Who would drive this great invention forward without them? The champagne “philosophers”?

 

Leave a Reply

Be the First to Comment!

Notify of
100000
wpDiscuz