Such a fork would be more difficult in Bitcoin due to their political/financial (not necessarily technical) decentralization. This fork, if it happens, will be proof that Ethereum is far behind bitcoin in terms of decentralization.
As a self-described fairly intelligent tech person, the blockchain and its working is still fairly magical to me, so answer me this:
Would it be theoretically possible for big players on the market (read EvilCorp) to push the market over to a fork by convincing enough of its cronies to make the switch?
I'm assuming what you mean is that market consensus is (at least) 51% of the market accepting the fork as "the truth" in terms of value by making further business there instead. Or would it not even require 51% but merely (for example) 20% of the capital that covers 80% of the transactions?
I also assume anyone that wanted could still stick to the former blockchain as long as it has other participants to deal with?
Am I wrong in expecting a synecdoche to the current "real world economy" within cryptocurrency that it loses its democratization when the top X% can force for example a fork?
While I would hardly describe the players as "EvilCorp", or "Cronies", thats exactly what is happening now.
If the protocol developers and exchanges switch to a fork, there's very little the community can do.
Sticking with the former chain is difficult because 1) everyone else is calling a different chain "Ethereum" therefore you probably need to change your name to something else, 2) You need to be concerned with mining attacks
Hard forks don't require any particular adoption percentage (unlike soft forks). The network simply splits in two chains. If one of the chains is obviously weaker, it usually dies quickly, as it's no longer economically viable.
In this case the sentiment among actual ETH holders is ~ 85% in favor of the hard fork. Check http://carbonvote.com/ (it's not a binding vote, just an indication showing which way the wind blows).
To be fair, ethereum is a newer, and more experimental platform- It has many arguable advantages over Bitcoin, but as an etherean I am happy to agree that right now Bitcoin is more established and also may be somewhat more decentralized (given that the ethereum community is giving some deference to the core team at this early stage, in the future this will likely no longer be true)
Definitely agree with that. I'm a big fan of Ethereum, just very unhappy about this fork.
I think that until Vitalik pulls a Satoshi, Etheruem will never be as decentralized. This has pros and cons, especially with sharding/PoS around the corner.
PoS will be much harder without a fork. I don't care about the DAO holders (disclaimer: I have around 5% of my total Ether holdings locked in the DAO), but due to the issues with PoS I think that a fork would be the best option at this point.
This is mainly an issue because Vitalik endorsed DAO forks- If he had said "This does not justify a fork" I would be 100% anti fork, for the same reasons you describe: Vitalik needs credibility to pull the POS transition through.
I think the problem is less that an attacker can use an economic attack on PoS, and more that Vitalik won't be able to force through an PoS fork to begin with if the community rejects his (possibly misguided) recommendation for a DAO fork.
«This fork, if it happens, will be proof that Ethereum is far behind bitcoin in terms of decentralization.»
Wouldn't a fork imply more decentralization? Multiple active forks would imply multiple actors working to their own agendas towards different objectives/goals and no central fiat to realign their interests. That would certainly sound more decentralized to me. (The block size tangle and the inability for Bitcoin to fork recently to deal with that almost certainly sounded like a power/political centralization problem to this lay observer from what I was reading, but I've managed to stay somewhat unfamiliar with much of the technical nuance.)
It seems to me like a truly decentralized system would likely be prone to forking. The issue should likely not be whether the system can fork (and how difficult it might be), but how the system handles forks when it does fork.
(This is the "DVCS criteria": a DVCS must realize that merges must be common and handle sometimes heavily divergent forks well and with grace, otherwise it is a bad DVCS that users will hate.)
If by centralization you mean control of the mining power by a small group of people, then Bitcoin is a lot more centralized than Ethereum.
It's just that the response to the DAO problem was one of consensus, instead of the response to the block size issue in Bitcoin, where they behave like playing a zero sum game and every proposed fork is rejected by someone.
There's boatloads of value in a decentralized block chain approach to legal organizations.... What's amazing here is the ethereal guys are forging new territory for truly global and potentially leaderless commerce.
What's unfortunate is that it's taking the form of a dystopia. Instead of realizing that humans are a factor of the equation, and people doing business in God faith... We're entering a ruthless period where anything goes, and because it's all anonymous no one feels bad about it.
There's crazy potential in the ideas here, but it's way too Wild West.
If you want the benefits of a blockchain without the Wild West stuff, why not set up a private chain with an "approver" instead of miners? I'm sure many companies interested in Ethereum are going this route.
Agreed. I think the ship has sailed on the term "blockchain" and it no longer requires decentralization. It means a signed transaction log which can't be secretly forged. Not as sexy as bitcoin, but language is fluid and I think the definition has shifted.
Although it's a bit unfair to judge an entire software system by the actions of a handful of people. Although many people may have bought into The DAO, it's still software made and marketed by a small group of individuals.
Decentralization denies the nature of courts. Courts exist to do those things that the market and the mob cannot. Heaven help the litigant who, while in all reality an upstanding person who has done no wrong, must now have his fate decided by popular vote. Why bother with laws. Just put every issue to the vote and let the one with the most twitter followers win.
Courts are where we go when democracy fails. They are where you go when what you want isn't necessarily what everyone else wants of you.
>> "it seems that funds can still be reverse under certain circumstances"
Maybe it's me, but ideas like being able to reverse funds do not belong in crypto currencies. If risk is presented, escrow the transfer, buy insurance, etc.
Why are people so unwilling to take responsibility for themselves?
> Why are people so unwilling to take responsibility for themselves?
This question - and the answer - has implications far outside of crypto currencies and you could probably write very large books about it. It goes to the heart of why we have religions and many other social phenomena.
A) Because people have severely constrained resources and imperfect information with which to allocate them.
B) escrow, insurance, etc. are just poor attempts at implementing reversible transactions, so if can why not just have them instead of using a greenspuned tangle of partially overlapping partially conflicting tools with who knows what kind of jurisdiction issues
Wish I had the ability to downvote. What you are doing is there dictionary definition of trolling. I'm sorry for your loss, but please do not put the whole Ethereum project in danger.
Call me a troll if you like. I have nothing to do with Ethereum, I just don't believe in the sanctity of all transactions, and "it's your fault, you should have bought transaction insurance" sounds like victim blaming.
Smart contracts that can be modified post-hoc, through consensus or (after a precedent was made that it is possible) legislation or a judge are not smart.
Sure, if the judges can use their power of personal persuasion to convince the dispersed population of anonymous miners/stakers that they should adopt the contract modification (as ethereum community leaders did during the DAOsaster) they will be able to enact changes.
This is based on a false narrative that miners/stakers determine the protocol. The protocol is determined by the nodes. The nodes produced by the dev team and run by the exchanges are the "economic majority" and are sufficient to change the protocol.
Perhaps this is confusing enough to trick regulators, however I'm not so certain.
Well, you make a fair point that miners are ultimately interested in mining on the fork with the largest economic activity. But just as with Bitcoin (where exchanges have lobbied for a blocksize increase for a long time already with zero success) I would argue the number of parties that affect overall economic activity is hard to pin down and includes a larger segment of the community than you suggest.
A loophole in a contract is a bug in a smart contract. The difference is if you try to egregiously exploit a loophole there's a system of checks and balances... it's imperfect, but at least it tries to be fair.
Smart contracts are one-sided. The exploiter always wins if the contract writer made a stupid mistake.
Note that Bitcoin Core contributors have been openly hostile to Ethereum in many cases. So this article is a bit like asking Hitler how Hanukkah should be celebrated.
Found the linked article http://hackingdistributed.com/2016/06/28/ethereum-soft-fork-... very interesting as it points out the soft fork proposal essentially introduces a 2nd kind of exception semantics into the the Ethereum protocol. This in turn could be converted into a griefing attack on miners supporting the soft fork. The system level semantics and consequences don't really seem to be under control.
That is not true. Bitcoin has never reversed a transaction without a signature.
The only time you are probably talking about is when someone made a block with a 9 billion bitcoin reward. Even then, they just convinced the miners to start a different chain. Thus, the chain with the 9 billion coins block just died. So yea, no reversal without a signature, ever!
every transaction that happened to be on the dropped chain.
I never said the hard fork was specifically to target a particular transaction, the result is that every transaction on the dropped chain was reversed.
> Going from ‘The DAO is based on Unstoppable Code’ to ‘if we screw up badly enough, WE WILL FORK YOU’ is a big change that shouldn’t be taken lightly
This is what I find so galling. If code is code is code, then the outcome should be what the code says it is. But whoops, we decided we don't like the outcome so let's toss that out.
The value of money is subjective. Governments drain the value of fiat currency by printing and spending. This causes people to subjectively value the currency less, which makes its market value go down (inflation.)
There are several reasons why this is not the case with Eth/DAO:
1) Every fraction of Ethereum is accounted for in the public record.
2) No additional Ethereum was created to compensate the losses of investors, only the original stolen Ethereum is being returned.
3) No politician's pockets are being padded, the only receivers of value are the rightful owners of DAO Tokens. (Only ETH was stolen, not tokens - everyone still has their tokens.)
4) If some government took this as precedent to force a bail-out in the future Ethereum Ecosystem, based on the standards of the Ethereum community, the value of Ethereum under an actual government-instituted bailout would plummet. It goes against everything we believe in, and the subjective valuation of Ethereum on a mass scale would plummet, effectively making any funds doled out worth only a fraction of their value by the time the receiver had any chance to use them.
I could go on giving more reasons, but is it really necessary? No one should be attempting to make analogies between fiat currency controls and an Ethereum fork unless they've considered both the philosophical and economic implications of their arguments, and it's obvious that most anti-forkers haven't bothered to give due diligence to the question of what's really at stake here.
I do. Unless someone can show that the DAO was hacked (a system was compromised and common code was modified), the contract appears to be entirely valid and wholly in the spirit of cryptocurrencies.
I don't think Nazis are still around are they? I also don't see how lying to Nazis about Jews has any relevance here?
Personally, I don't trust much that doesn't have a simulator, or at least some kind of test procedure.
Edit: Parent has since removed Nazi references. My post will remain unmodified except for this edit.
I do not think there exists a satisfying resolution. In the terms of Chess, this is pretty much a definition of checkmate. Either you think that the intent of the DAO actually was specified in the code, thus it was not a theft, or you think that the intent of the DAO actually was _not_ specified in the code, but somewhere else[1], and the whole raison d'etre of DAO disappears to the air as a puff of smoke. No moves left either way.
It is the resolution that the architects of the DAO themselves argued. They literally said there is no contract or intention outside of the code of the DAO. Now that the code doesn't work in their favor they want to backtrack on that. In that case, what was the DAO in the first place?
Except that inflation is at an all-time low (more would actually be better). And politicians aren't "lining their pockets" – none of them make what they could get in the private sector. That sort of conspiracy theory is why most people stay far away from cryptocurrency (and really enjoyed this DAO thing).
Oh, and the government doesn't print money. Well it does in the strict interpretation of fixing color on some substrate. But government spending does not increase the amount of money in circulation.
The analogy between the DAO fiasco and real currencies is almost brutally obvious: a fake currency, powered by the conspiracy theories of a population shocked by the financial crisis suddenly needs market intervention because an institution that's 'too big to fail' is threatened.
My impression from all of this is simply that the tools (and perhaps the etherium op codes themselves) for writing smart contracts still need work.
When programming for hardware began, it was very easy to shoot yourself in the foot with languages of the time, but over time new languages which made it harder (or eliminated certain foot-guns entirely) appeared.
For Etherium, I'd look at whether the ISA (set of opcodes) is complete enough to allow one to create a contract specification language with enough flexibility to do something while allowing a degree a safety.
Have there been attempts at alternates to Etherium's Solidity which generate smart contracts?
There have been many other languages before solidity (LLL, Serpent, others) Solidity is actually pretty well engineered, it is problematic mainly because it put beginner-friendliness before security as a design goal.
I think the future the ethereum smart contract options will consist of (1) Solidity with many static analysis tests added to generate warnings about dangerous code use and (2) an ML-style language that is less novice-friendly but allows for deep type-level constraints to mitigate potential attack scenarios.
73 comments
[ 7.9 ms ] story [ 199 ms ] threadDid you mean to say that it _would_ be more difficult?
As a self-described fairly intelligent tech person, the blockchain and its working is still fairly magical to me, so answer me this:
Would it be theoretically possible for big players on the market (read EvilCorp) to push the market over to a fork by convincing enough of its cronies to make the switch?
I'm assuming what you mean is that market consensus is (at least) 51% of the market accepting the fork as "the truth" in terms of value by making further business there instead. Or would it not even require 51% but merely (for example) 20% of the capital that covers 80% of the transactions?
I also assume anyone that wanted could still stick to the former blockchain as long as it has other participants to deal with?
Am I wrong in expecting a synecdoche to the current "real world economy" within cryptocurrency that it loses its democratization when the top X% can force for example a fork?
If the protocol developers and exchanges switch to a fork, there's very little the community can do.
Sticking with the former chain is difficult because 1) everyone else is calling a different chain "Ethereum" therefore you probably need to change your name to something else, 2) You need to be concerned with mining attacks
In this case the sentiment among actual ETH holders is ~ 85% in favor of the hard fork. Check http://carbonvote.com/ (it's not a binding vote, just an indication showing which way the wind blows).
I think that until Vitalik pulls a Satoshi, Etheruem will never be as decentralized. This has pros and cons, especially with sharding/PoS around the corner.
https://www.reddit.com/r/ethereum/comments/4rohdy/vlad_zamfi...
Wouldn't a fork imply more decentralization? Multiple active forks would imply multiple actors working to their own agendas towards different objectives/goals and no central fiat to realign their interests. That would certainly sound more decentralized to me. (The block size tangle and the inability for Bitcoin to fork recently to deal with that almost certainly sounded like a power/political centralization problem to this lay observer from what I was reading, but I've managed to stay somewhat unfamiliar with much of the technical nuance.)
It seems to me like a truly decentralized system would likely be prone to forking. The issue should likely not be whether the system can fork (and how difficult it might be), but how the system handles forks when it does fork.
(This is the "DVCS criteria": a DVCS must realize that merges must be common and handle sometimes heavily divergent forks well and with grace, otherwise it is a bad DVCS that users will hate.)
If by centralization you mean control of the mining power by a small group of people, then Bitcoin is a lot more centralized than Ethereum.
It's just that the response to the DAO problem was one of consensus, instead of the response to the block size issue in Bitcoin, where they behave like playing a zero sum game and every proposed fork is rejected by someone.
What's unfortunate is that it's taking the form of a dystopia. Instead of realizing that humans are a factor of the equation, and people doing business in God faith... We're entering a ruthless period where anything goes, and because it's all anonymous no one feels bad about it.
There's crazy potential in the ideas here, but it's way too Wild West.
Not possible without proof-of-work
All they need to do is show two coflicting blocks signed by the "approver"
Decentralization denies the nature of courts. Courts exist to do those things that the market and the mob cannot. Heaven help the litigant who, while in all reality an upstanding person who has done no wrong, must now have his fate decided by popular vote. Why bother with laws. Just put every issue to the vote and let the one with the most twitter followers win.
Courts are where we go when democracy fails. They are where you go when what you want isn't necessarily what everyone else wants of you.
Maybe it's me, but ideas like being able to reverse funds do not belong in crypto currencies. If risk is presented, escrow the transfer, buy insurance, etc.
Why are people so unwilling to take responsibility for themselves?
This question - and the answer - has implications far outside of crypto currencies and you could probably write very large books about it. It goes to the heart of why we have religions and many other social phenomena.
B) escrow, insurance, etc. are just poor attempts at implementing reversible transactions, so if can why not just have them instead of using a greenspuned tangle of partially overlapping partially conflicting tools with who knows what kind of jurisdiction issues
We certainly could insist the victim live with it, but that seems like a worse world for everyone.
Sure, if the judges can use their power of personal persuasion to convince the dispersed population of anonymous miners/stakers that they should adopt the contract modification (as ethereum community leaders did during the DAOsaster) they will be able to enact changes.
Perhaps this is confusing enough to trick regulators, however I'm not so certain.
Smart contracts are one-sided. The exploiter always wins if the contract writer made a stupid mistake.
WHY would you want that system?
Why would you need Ethereum if the contracts you want to enforce shouldn't be "smart"?
(But maybe I have entirely the wrong idea of what the attack vector was here)
The only time you are probably talking about is when someone made a block with a 9 billion bitcoin reward. Even then, they just convinced the miners to start a different chain. Thus, the chain with the 9 billion coins block just died. So yea, no reversal without a signature, ever!
I'm also referring to the march 2013 hard fork
so congratulations you just helped me prove my "multiple times" for the lay man
I never said the hard fork was specifically to target a particular transaction, the result is that every transaction on the dropped chain was reversed.
This is what I find so galling. If code is code is code, then the outcome should be what the code says it is. But whoops, we decided we don't like the outcome so let's toss that out.
There are several reasons why this is not the case with Eth/DAO:
1) Every fraction of Ethereum is accounted for in the public record.
2) No additional Ethereum was created to compensate the losses of investors, only the original stolen Ethereum is being returned.
3) No politician's pockets are being padded, the only receivers of value are the rightful owners of DAO Tokens. (Only ETH was stolen, not tokens - everyone still has their tokens.)
4) If some government took this as precedent to force a bail-out in the future Ethereum Ecosystem, based on the standards of the Ethereum community, the value of Ethereum under an actual government-instituted bailout would plummet. It goes against everything we believe in, and the subjective valuation of Ethereum on a mass scale would plummet, effectively making any funds doled out worth only a fraction of their value by the time the receiver had any chance to use them.
I could go on giving more reasons, but is it really necessary? No one should be attempting to make analogies between fiat currency controls and an Ethereum fork unless they've considered both the philosophical and economic implications of their arguments, and it's obvious that most anti-forkers haven't bothered to give due diligence to the question of what's really at stake here.
I don't think Nazis are still around are they? I also don't see how lying to Nazis about Jews has any relevance here?
Personally, I don't trust much that doesn't have a simulator, or at least some kind of test procedure.
Edit: Parent has since removed Nazi references. My post will remain unmodified except for this edit.
[1]Where?
Some cavepeople figured out what stealing is a long time ago. We haven't quite decided if executing a contract code is stealing just yet.
Oh, and the government doesn't print money. Well it does in the strict interpretation of fixing color on some substrate. But government spending does not increase the amount of money in circulation.
The analogy between the DAO fiasco and real currencies is almost brutally obvious: a fake currency, powered by the conspiracy theories of a population shocked by the financial crisis suddenly needs market intervention because an institution that's 'too big to fail' is threatened.
When programming for hardware began, it was very easy to shoot yourself in the foot with languages of the time, but over time new languages which made it harder (or eliminated certain foot-guns entirely) appeared.
For Etherium, I'd look at whether the ISA (set of opcodes) is complete enough to allow one to create a contract specification language with enough flexibility to do something while allowing a degree a safety.
Have there been attempts at alternates to Etherium's Solidity which generate smart contracts?
I think the future the ethereum smart contract options will consist of (1) Solidity with many static analysis tests added to generate warnings about dangerous code use and (2) an ML-style language that is less novice-friendly but allows for deep type-level constraints to mitigate potential attack scenarios.