Ethereum hard fork successful with mining majority
fork.ethstats.net
fork.ethstats.net
Maybe some other group will fork the Ethereum code into a new cryptocurrency that can't have the blockchain forked as easily.
You think it is a bad thing that this has happened; I think it is a good thing. Now everyone is aware that the 51% can take control of the chain; you can't pretend any more that the code is the final arbiter, because it isn't. Black and white is a myth; it's a human construct that is made from mathematics and many shades of grey.
Democracy; it sucks, but it sucks less than everything else.
People behind ETH had a stake in TheDAO and they chose to protect their _dollars_ rather than the platform.
They were obviously denied. It's my understanding they know what account holds most of there coins too.
There have been numerous other small hacks on eth users as well.
Unfortunately, this hardfork did nothing for those people.
My understanding was that the DAO (and organizations like it) was the whole point of people signing up to use Ethereum, and the hard fork basically says "The DAO never existed, you're all getting your ether back" with an understanding of "now that you know all of the attendant risks of hacking, start your own autonomous organizations with a bit more prudence." It is not very realistic to expect further forks as every fork produces a new cryptocurrency; furthermore it is not very realistic to expect a mere 51% majority to sway the blockchain (as I understand it the change is code-level). If each decision only gets 80% approval then after 3 such decisions you have your community split across 4 cryptocurrencies: {20%, 16%, 13%, 10%, 41%} and you've lost over half of your users; furthermore if the power of a currency is proportional to the square of the users (as it likely to first-order has to do with how many ways they can interact with each other, which goes with the number of handshakes they can make), you've cut down your value proposition to only ~16% of what it was. It sounds like this might have gotten 90-99% adoption by the community in terms of hashpower, but some of this is doubtless amplified by miners who will go wherever the wind takes them.
It reminds me of my environmental science teacher in high school. Between counting the bugs we caught at local streams, one day he taught my class about the Tragedy of the Commons. He said, "tomorrow, if you want to play a game to illustrate this, bring a quarter and we'll play it for real cash." Most of us brought quarters. "Okay, if you still want to play this game after I explain the rules, put your quarter in this jar and I'll give you a card. You're going to write on that card your name, and then either 'use' or 'leave': for whether you're going to use the common resource or leave it alone for a while. You have to keep your decision secret, if anyone else sees what you wrote then you're getting your quarter back and it's like you were not in the game at all. You can SAY anything you want to people, but nobody's allowed to see what you're DOING. After 5-10 minutes I'll call time, and you'll give the folded cards back to me. If everyone says Leave then I'll give everyone who participated two quarters. If one person says Use and everyone else says Leave then I'll give them the jar of quarters: and, no being mean to them, they won the jackpot fair and square. Or if two or more people say Use, then I win all of the quarters. Who still wants to play?"
A lot of us put our quarters in, and I being a petulant teenager wrote Use (with the intention to give everyone back their quarters afterwards! I wasn't greedy, just a smartass) ... but while almost everyone else wrote Leave, this did not include one kid who didn't understand English so well and meant to write Leave but instead wrote Use (or else that was just what he told everyone afterwards). The teacher won all our quarters, but he returned them like a good sport and offered to let us play again, this time FOR REALS. This time I voted Leave, but multiple people voted Use just to somehow "punish" me, which was even more what the teacher was trying to teach: "if you can't guarantee that everyone else is going to leave it alone, hey, you might as well try to get in on this sweet sweet resource while it still exists, right? So that's why the tragedy of the commons happens and we're all pretty much doomed. I'm gonna win your quarters every time." He gave back the quarters anyway, of course, after making a big show of "No, the second time was FOR REALS, you all knew it, didn't you? Would you have paid ME back?!"
It's probably just the feeling of a bunch of kids being like "that wasn't fair, give us back our money and let us try again!" from the first time we played the game, and the more sober discourse of the second match where we understood better that our money was on the line and we had to find a way together to steal our teacher's money.
Disclaimer: I recently joined the Ethereum-go team. I have 30 ether worth of DAO tokens (and about 500 ether not invested in anything).
I'd like to learn what principles are now now guiding the development team, since "code is contract" has apparently been abandoned. After this episode, it appears (from the outside) that it will be more financially beneficial for any project using the Ethereum blockchain to aggressively pursue investment from core developers and 15% of the token holders than to ensure the correctness of their code. In my view, this fatally undermines the value proposition of both said hypothetical project and Ethereum itself.
For many people, "perception is reality." I know that media often unfairly frames their reporting, and in this case everything I've seen reported has been the seemingly arbitrary and seemingly self-serving nature of Ethereum development. I would be happy to be shown what I've read is wrong and that the philosophical foundation of Ethereum development is sound, consistent, and impartial.
[0] Certainly for a subset and the short term, arguable for all and the long term.
What you would actually need to do this right is put real thought and effort into how to have an effective, impartial and ethical governing body managing a digital currency. Giving the primary stakeholders carte blanche to make these decisions is basically recreating a virtual version of "company scrip".
In this case the various arguments were put forward by various people; this included rants, well researched documents, but most importantly code. In the end most people submitted to the code that was put out there by the main group. But still this submission is a choice.
The main group survives by this submission, but it isn't their choice; this is government by consent. You may not consent to it, but plenty others have.
So if you don't like it I suggest you follow Alan Kay's advice; "The best way to predict the future is to invent it." If you want to influence the situation go write better code; of course you need good ideas for that code, but you still need to ship code! Otherwise the cost of submission is too high for most people and they won't follow you.
Maybe when you're into BDSM. You're right that authority comes from submission, but people submit to power. A gun, a hostage, a 51% voting majority.
Those are direct use of force, not authority or power.
> 51% voting majority
Can still be undermined by civil disobedience, if we're talking about society. Only a small minority in society (the police) use force to get you to submit. The rest submits to the authority of the law. A very small group can undermine the majority through civil disobedience, since they can outnumber the police very quickly.
Power can be 'taken' and enforced, but very commonly power is simply given/gifted when a community, small or large, self-organizes.
I don't think I quite agree with this, but I agree with something similar I suppose : Power comes from submission. (sorta)
I believe that one can be under an authority which one does not choose to submit to. (relating more to how people should act than how they do act, compared to power)
But, perhaps this is just using words differently without necessarily much disagreement about the actual things.
By your comment I am reminded of a dialogue "How to quit smoking" on self-control, which argues that self-control is more due to obedience than it is to "willpower". This dialogue seems to make sense to me. (http://existentialcomics.com/comic/13)
Regarding your last paragraph: I don't know that I know how that last bit is applicable. In order to not have the fork happen, the difference would be people not running the fork code, or alternatively running some slightly different code that handles the fact that some people are running the fork but is otherwise basically unchanged. This code already exists. As such, I'm not sure what you are really saying by this paragraph, other than, basically "suck it up"?
The core team has backed off from "the code is the construct" philosophy, both implicitly by executing this fork, and explicitly in other publications.
It's a black mark on the trust record for Ethereum, but hard lessons learned are the best ways to grow.
Folks that look at this as a black and white "Ethereum can no longer be trusted" are ironically applying strict dogma in the other direction.
I am not making any calls about the value of Ethereum. Just that evolving philosophy and software systems is a very good and necessary thing.
The hard-fork won by arguing that "no, the contract is the code plus whatever a quite small number of greasy nerds decide it will be."
If the greasy nerds had instead decided to accept the loss, it would've established a cultural norm so strong that nobody would likely dare to try a fork again. It would have baked it into the community in a nearly indelible manner. "nope, they lost tens of millions and they ate it because the contract is the code, so we won't help you either."
Instead, what the nerds did was say "hey, you know the one interesting part of Ethereum? yeah, forget it... because we decided that we value our short-term wealth over the creation of that system."
And that's fine. It's fine that they decided they don't give a shit about contracts as code. It's fine that they took their ball and went home. But Ethereum is now dead. Not today mind you, but in the long run.
Only a complete and total lunatic will ever trust Ethereum again, because there will be more forks in the future. The precedent is set. They won't all remain "clear cut".
So the interesting question is: who's next? It's not ethereum anymore. But it's still an interesting problem space. And maybe there's a team that is actually interested in it.
Basically, anyone can introduce the fork with any arbitrary changes (including reverting any transactions, or, for that matter, creating more money out of thin air) at any point. But the fork is only viable if the majority of the network decides that they want it. So the governance model was always "majority decides"; it was just made explicit here.
Furthermore, it's impossible to address that problem by any kind of governance, because - this not being a government - submitting to the authority of the governing body is voluntary, and the way you avoid doing so is... by forking. So a fork is always an option, simply by virtue of decentralized implementation.
This argument seems fallacious and off-the-point in this context.
Isn't the goal of a contract to precisely bypass the 51% control thing (a distributed consensus rule, needed for mining), by defining its own explicit rules?
> Democracy; it sucks, but it sucks less than everything else
More profoundly, isn't the essence of such systems to go beyond democracy, and allow for new governance paradigms?
From their point of view however, it was perhaps most ethical to try their best to save money of all other people who trusted in their system that failed.
(The degree of manipulation in 2008 to reflate the banking system resembles a hard fork.)
Money is a signaling mechanism. It carries information. If you invalidate mistakes, you keep the economic system from learning.
The fact that didn't happen meant most people didn't want it to happen. If people did want a reset to compensate for the insecurity in the DAO it would have happened.
Aren't you confusing Etherium with The Dao ? Yes, the dao needed to be abandoned due to its insecurity, but my understanding is that the Etherium base itself was not at fault.
But the question is whether that day will ever come, or the currency will always need emergency overrides.
1) It's probably not unusual to have $150 million in value tied up on the success or failure of a beta.
2) Calling this "beta" was a stretch. I'm of the opinion that the first "beta" should almost always still be called an "alpha" until in-the-wild bug fixes. However, it would be difficult to get $150 million invested on alpha software. It may have been beta for etherium, but it was definitely alpha of DAO.
> I'm not sure how anyone could have any confidence in this system after that.
I think the situation is the opposite. After the DAO there were broad calls criticising the lack of leadership, criticism about decentralized/consensus decisionmaking, and comparisons with the broader economy and how the Fed can orchestrate a bailout (and why that's better - in the eyes of the critics). In a way, through consensus with this hard fork the Ethereum stakeholders squared the circle - orchestrating a bailout with majority assent (and if anyone didn't like it they were free to leave). I'm not going to pass judgement on whether or not that is a good precedent to set (or whether a turing complete blockchain - or the EVM implementation in particular - is a good idea in the long-term), but if anything the decisiveness of action should give more confidence in the short-term.
Really this shows that a small group of people plus a core team already leaning in one direction are probably enough to fork the network.
And also it's quite plausible that if the same number of people, the same people would implement a technically identical hard fork with the same process but with a different "socioeconomic" result and justification, then they wouldn't have gotten the same majority consent that they did in this case.
The ether vote had the percentages you mentioned, but all elections are decided by the people who show up. Generally we consider elections fair if everyone has the opportunity to vote; whether they actually do is up to them.
> After the DAO there were broad calls criticising the lack of leadership,
> criticism about decentralized/consensus decisionmaking, and comparisons
> with the broader economy and how the Fed can orchestrate a bailout (and
> why that's better - in the eyes of the critics).
This explanation would be acceptable if the motivating factor behind the hardfork were enabling bail-outs, rather than the loss of $60 million.(Angry customer calls up used car salesman)
Customer: The car alarm you promised would work doesn't work. I'm afraid someone will steal my car.
Car salesman: I'm awfully sorry about that.
Customer: Also, the engine broke. I can't start the car anymore!
Car salesman: Great! So I assume the missing car alarm isn't a problem anymore then?
More like the financial fraud police; less like the fed ?
Ah, the old disclaimerbrag. Other classics:
> Disclaimer: I own Apple stock, in fact I bought thousands of shares in 2002.
> Disclaimer: I'm not a lawyer, but I am a doctor.
> Disclaimer: I'm a member of the Democratic party, in fact I was a guest at Hillary's daughter's wedding.
From what I've seen, none of the devs or community leaders had especially large DAO holdings, compared to their likely ETH stashes. Their economic incentive is heavily weighted towards keeping Ethereum healthy and supporting the price of ETH.
The default was set pro-fork, but that was clearly the most popular option before the software was released. The real decision was made by the miners, and I think it'd be hard to argue that the miners weren't aware of the issue, or didn't have the technical chops to set the option however they liked.
"Had the attacker lost money by mistake, I am sure the devs would have had no difficulty appropriating his funds and saying "this is what happens in the brave new world of programmatic money flows."
http://hackingdistributed.com/2016/06/17/thoughts-on-the-dao...
The logic of "the code is the contract" is that whatever happens is in and of itself legal. You cannot break the law, you can only mold the law to conform to your current reality.
I think that's mixing two things: the code that the miners run, and the code that is the digital contract. I think the idea behind digital contracts is that, once the parties commit to it, it should be set in stone (set in code), un-changeable, even by a majority of miners, irrespective of the fact that the algorithm used for distributed mining is majority based. In other words if a small set of parties do a digital contract (eg. the DAO people), then the whole point of the blockchain is that, once it's in the blockchain, it can't be undone---even if some people don't like it, change their minds, whatever. It assumes the miners just supply the mining power, but don't go in and conspire to remove specific blocks. This situation shows that in the case of Ethereum, a small set of people are able to influence a lot of mining nodes, and hence get a majority, and have no problem going in an changing specific things in the blockchain (by changing the source code of the mining software).
This basically answers your question. A few pointers:
* you cannot do a hard fork alone, if no one follows you it own't work. You need the majority (to become the majority fork)
* hard forking, soft forking, are always possibilities that can happen at any moment (same for bitcoin)
* There was no reason not to fork at this point. Ethereum is at an early stage. Bitcoin had the same thing happened to it during its birth stage.
* If you cannot have confidence in this system because you were planning to "steal", then wait until the system gets bigger so that not enough people get affected by your theft
* If you cannot have confidence in this system because you were planning to truly write smart contracts or use them in a legit way. Then wait until the system gets bigger as well.
That statement came out of nowhere :D care to expand?
if crypto was about immutability, then we wouldn't have things like homomorphic encryption would we :)?
Decentralization? A hard fork is something that only happens because of decentralization. If your system was centralized you would never have seen a hard fork.
Obviously the HF isn't ideal, but not forking was potentially much worse. This settles the issue, and allows people to get back to work.
Hard forks will become less viable as a solution the larger the network gets, and as more interests are involved. However, blockchains are consensus mechanisms. Anyone can propose a hard fork update at any time.
Here is something to consider: as more than 80% of Bitcoin's hash power is in the hands of a few Chinese companies, the CCP could very realistically enforce a Bitcoin hard fork.
So there is no difference between me and the core developers?
Core developers represent a double-edged sword. They are critical for getting the network adopted, and for adapting the network to new demands, but they can also be a risk due to their influence. By all accounts, the Ethereum core developers have been open and responsive. Not all Ethereum devs wanted this fork. I do think they could be faulted for not strongly advising Slock.it to cap The DAO. That may be one reason why they were amenable to a refund solution.
You definitely should consider the core devs when investing time and money in a blockchain. They have an inertia that influences the system.
you can see that the miners have indeed enforced the hard fork chain.
Is block number the last block number to be processed under the chain? Is it a monotonically increasing number? Is the block hex string meaningful in the context of showing me what's going on (the site seems unable to show me any data related to the non-fork block so who knows.)
What does the difficulty percentage and total difficulty entries mean? How do they relate to each other? The linked reddit post doesn't shed light on it. I am guessing from bits of conversations on that reddit post that "fork" = new client, fork; "non-fork" = new client, no fork; and "legacy" = old client, no fork?
Maybe it's reflecting the difficulty of me figuring out what is going on the page? :)
Here, if all your neighbors get together and want to steal your money, they can steal your money, and you have no recourse.
And this was always possible even before the hard fork. The difference now is that there is an actual precedent for it and apparently at least 51% of Ethereum stakeholders are okay with doing that sort of thing. Anyone actually holding a significant amount of Ethereum should seriously question the original claims that the Ethereum team made on its value.
Of course that cartel has a better track record than this new one, so I also see it as a failure of the currency.
With ETH, it's a handful of inexperienced individuals with possible case of conflict of interest.
Yes, this proves ethereum is a failure- Everyone reading this thread might as well just send their now-worthless ether to my wallet at 0x6B4a61a3Fdc2596427A25F79D7b3b78e164da308.
Apparently when considering "Who would commit to building anything in an environment like that?" in practice, then an environment where the code is the final word on a contract is even less desirable than a suboptimal environment where, as you say, "a cartel of people the power to revoke transactions on a whim".
Even if we suppose that only reasonable warrants would be granted for the use of such a backdoor, the backdoor is software, and does exactly what it's programmed to do - as anyone whose written software knows, this is sometimes not the same as what it's supposed to do. This means that bad guys can readily exploit any backdoor. A human would reject such accesses as obviously unwarranted, but a computer doing exactly what it's programmed to do won't.
Similarly, in Ethereum, a contract does exactly what it's programmed to do, not what it's meant to do. When malicious actors exploit this for personal gain, our reaction is that we should to "fix" the currency to be in line with our human judgement about what it ought or ought not be used for.
In both cases, you can't have your cake and eat it.
With backdoors, you can either have a simple, automatic means of investigating suspects, or you can have human judgement as to whether or not such searches have value that exceeds the value of an individual's right to privacy.
In Ethereum, you can either have autonomous and decentralized contracts, or you can have contracts that are subject to human judgement and values.
I'm still very much in "Micheal Jackson eats popcorn" mode with respect to Ethereum, but at this point it seems like it's trying to accomplish two things that are fundamentally incompatible.
This is true, but the fork suggests the only way to do this will be by shorting the currency rather than trading the ETH earned from exploits.
That would have made it so much harder to justify a hard fork...
I have no confidence that Bitcoin or any other currency doesn't fork in the future, because it is possible at any moment. The fact that the fork has happened or not changes nothing - it always stays as a possibility.
In other words the chance of Ethereum or Bitcoin hard-forking in the future wouldn't change if the hard-fork didn't happen right now.
Well, it's setting a precedent that will make the case easier in the future. Bitcoin's hard forks have all seemed to be good faith attempts to fix issues in the protocol. I don't think anyway on the Ethereum team is arguing this is anything other than an extremely arbitrary fork. The fact that 51% of stakeholders agreed to set this precedent should scare anyone from owning Ethereum in the future.
(The miners may or may not be more informed, but note that Ethereum is only valuable if users are willing to exchange things of value for Ethereum, i.e. a hard fork requires changes in wallet software.)
- ETH holders voted on http://carbonvote.com/ with 87% pro-fork. 5.5% of the total ETH supply participated in the vote.
- ETH miners clearly voted pro-fork on the major pools, e.g. https://dwarfpool.com/eth/voting. In nearly all cases > 80% of the hash power was pro-fork.
- ETH markets reacted positively when there were good pro-fork news, and negatively when there were bad news (such as the DDoS vulnerability in the proposed soft fork). Therefore the market sees more value in the post-HF Ethereum.
Yes, there is a vocal group opposing the fork, but it mostly consists of persons wishing to see Ethereum fail.
In the voting on the pools, 80% of people didn't even vote.
Therefore it is simply the fact that the fork was the default choice (and is the default in all the wallets), that is the deciding factor of this 'vote'
By the way, "> 80% of the hash power was pro-fork." is demonstrably false. only 15% of the hashing power was pro fork, 85% of miners didnt vote at all.
Passive users by definition agree to follow the active users' decision.
Sociological studies tend to actively seek limited size representative samples for cost reasons, and because the mathematics demonstrating the power of a limited size representative sample for making generalization about the universe from which the sample is drawn is well-known.
Comparing the size (relative to the represented universe) of a study sample actively selected to be representative with the relative size of a participant group for which there is little reason to expect it to be representative is not particularly meaningful.
Furthermore, it's been well known for the past 2 weeks that the fork was likely to happen. That means the fork was the status quo. It's what was going to happen assuming nothing derailed it.
I'm an ETH holder and I didn't vote. I was undecided and was happy enough with the decision to fork.
It's too early to measure success. OK, there was a fork. Technical success if you like.
But, at the moment most exchanges are closed to Ethereum trading on either the old or new software.
When they open we will then have a better idea how this will play out.
Contracts which contain an implicit item 'we can renegotiate this any time a majority of miners wish' are contrary to what Ethereum was meant to be.
Did the creators make money? Success.
"Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third party interference."
Emphasis mine.
How is that vanished? There is some small probability that the Ethereum community might from consensus around interfering with my service. But I'm no more worried about that than I am about Heroku or anyone else deciding I'm not allowed on the platform. If anything this episode has shown just how high that bar is on Ethereum as compared to centralized offerings.
People act like just because there is one tiny corner case where the full letter of the promise is unfulfilled that means the entire offering is void. But what offering doesn't have at least a few caveats?
The proof of work threshold for a block (aka the difficulty) was the same when the fork started. The function that adjusts the difficulty (a function of time-between-blocks) is the same across both forks. It would take considerable time for the non-fork chain's difficulty to adjust to where it can make blocks at pace with the fork chain again. And even if it did, the fork would represent less work due to a lower difficulty.
Post-bailout Ethereum is not the same currency as pre-bailout, and given that a non-trivial minority (~5%) of miners are mining pre-bailout Ethereum - and the difficulty of mining quickly adjusts - pre-bailout Ethereum will actually be a viable currency from a technical perspective, in the sense that it can be sent and received.
From a social perspective, it's hard to be sure quite yet; we'll see in the coming days and weeks whether or not people decide that pre-bailout Ethereum has value or not (and equally, post-bailout Ethereum).
Suppose we have guys D and C, and D owes C some amount in X-coin - complete with a written contract.
Now, if X-coin is forked, and one of the forks has a blockchain recording a transaction from D to C in that amount, but the other one does not, which one is considered authoritative? If C sues D, because they are on the other fork, and that fork doesn't have the debt settled, how would it go in court?
This gets especially interesting if the forks are roughly equal in size...
I guess it would all depend on the interpretation of the meaning of the term "X-coin" in the contract, but that's just a different way of asking the same question.
If the code IS the contract, then by the contract they are owed this money, no?
Or does this mean the code isn't the contract?
They paid to participate in a code-based Nomic and were denied their prize because they won too quickly.
I am surprised the attacker didn't try to bribe the miners, though.
If the argument is that code is law, the fork was implemented in code, so it's law.
If their argument is that the white hat hacks shouldn't have happened then they lay themselves open to the argument that their initial hack shouldn't have happened.
And then there's how draconian unauthorised computer access laws tend to be...
The ability to run arbitrary code was built to allow for the creation of smart contracts. The basic idea with a smart contract is that the contract's code (running on the blockchain) enforces all the rules of the contract itself. No need for courts or external parties to handle disputes: the code just does the right thing.
A company called Slock.it created a smart contract called the DAO (distributed autonomous organization). The DAO was a venture capital smart contract. Anyone could submit proposals, owners of the DAO would vote on them, and if successful, fund them, taking some ownership of the proposed venture in hope of a payoff.
The DAO got people excited, and $160 million worth of Ethereum was invested in it. However, the DAO had bugs, and someone exploited one of those bugs to move a large portion of the DAO's Ethereum into another contract that the DAO owners couldn't control. This crashed the ETH exchange rate.
The "hack" split the Ethereum community: some felt that nothing should be done, the DAO contract ran correctly, just not in a way that was anticipated. Others felt that the DAO funds should be recovered and returned, and suggested a soft-fork followed by a hard-fork to make this happen. Both the Ethereum Foundation and Slock.it supported the fork option.
Eventually the soft-fork was released. The soft-fork stayed on the same blockchain (hence the soft) as previous versions, it just blocked transactions related to the "hacked" contract so the former-DAO funds couldn't be moved. However, once again bugs were found, making folks running the soft-fork vulnerable to DOS attacks. I don't know if it ever reached consensus.
A short while later, the hard-fork version of Ethereum was released. As the name implies, this version splits the blockchain into two, one continuing the existing blockchain and another that moves the DAOs ETH into a new contract that's going to be distributed to the former DAO owners. The forked blockchain also put ~$5 million in the hands of a curator to distribute as they see fit.
The hard-fork went live today, and it looks like the majority of miners have switched to it, which means the hard-fork has become the new Ethereum blockchain.