
Stick a Fork in Ethereum - themgt
http://elaineou.com/2016/07/18/stick-a-fork-in-ethereum/
======
tostitos1979
I'm really disappointed in how the DAO heist was handled. The promise of
cryptocurrencies was that they are harder to manipulate than fiat currency. If
the fork succeeds (or even if it fails), I think the very notion of rolling
back transactions is a step backwards.

The next time there is something like the DAO, people can invest without fear
since rollbacks are the modus operandi. Isn't this why people are upset with
the financial system? When people invest in stuff, they need to be responsible
for the results. As someone who didn't buy a house in the crazy mid-2000s, I
am paying the price for everyone else's stupidity in the form of crazy low
interest rates (which have fueled record home prices). But who is standing up
for me? No one. I thought cryptocurrencies were leading to a better world (or
at least one where the system couldn't be rigged as easily). I guess not in
this instance :(

~~~
Taek
Each cryptocurrency has its own culture and philosophy, and each will handle
problems in different ways.

Ethereum's hands-on approach allows them to innovate more aggressively.
Bitcoin wouldn't touch this with a 10ft pole because the challenges behind
such a scripting system were beyond anything they felt secure implementing.
And now we are seeing why.

But Ethereum can use hardforks to keep things ~stable despite the road bumps.
Some people are really glad this is happening, and those people should stay in
the Ethereum ecosystem.

If that's not your style, and it's not mine, there are other coins (namely
Bitcoin) that have more conservative cultures.

~~~
mbenjaminsmith
I think that's entirely too apologetic. The innovation was the original
protocol. They were premature (as a lot of people warned) setting up anything
as massive as the DAO, someone found a way to creatively interpret the rules
and make a lot of money. Instead of sucking it up as a very expensive bug
bounty, they decided to manipulate the entire system -- going against the very
essence of that system.

The DAO's own terms state: "Any and all explanatory terms or descriptions are
merely offered for educational purposes and do not supercede or modify the
express terms of The DAO’s code set forth on the blockchain; to the extent you
believe there to be any conflict or discrepancy between the descriptions
offered here and the functionality of The DAO’s code at
0xbb9bc244d798123fde783fcc1c72d3bb8c189413, The DAO’s code controls and sets
forth all terms of The DAO Creation."

Obviously the hacker's intent was theft but under the DAO's own terms it was a
valid activity.

Basically the code is law. If we're going to then _interpret_ that law then
we've created a system similar to the current systems we have, but lacking in
maturity. The point of something like Ethereum is not that it can't be
manipulated, it's that _it doesn 't need to be_ in order to function. It can
be trusted explicitly because its functionality is not open to interpretation.

If I'm not being clear enough -- what they should have done is taken this as a
very expensive lesson and otherwise left the system alone. Yes, a "bad person"
would have profited but the system's integrity would have been untouched.

FWIW, I was an early backer of Ethereum and bought ETH during the pre-sale. I
invested because I thought it was promising -- without any real expectation of
return. Coincidentally I sold all of my ETH just before this hack (40x ROI).
Because of the fork _I would not_ invest in ETH again, regardless of potential
returns, because Ethereum is no longer what it set out to be.

~~~
AstralStorm
Why would anyone want code that is not mathematically proven to become law?

Yes, even with modern automatic theorem provers it is a bit torturous. But
people are even going so far as writing a mathematically proven safe kernel
(1) and Ethereum is much smaller and simpler.

(1) [https://sel4.systems/](https://sel4.systems/)

~~~
larkery
I think you raise a good question; I further wonder whether the provability of
outcomes is even sufficient to justify the kind of total procedural adherence
which the ethereum folks (until recently!) advocated.

In normal contract law that doesn't have a blockchain in it there is a special
moral "backstop" where a judge may find a contract to be unconscionable. An
unconscionable contract may contain nothing forbidden by statute, but if it is
found to be profoundly unjust in terms of its outcomes (not due to change in
circumstance, but as a result of its formulation), then a judge can call the
contract unconscionable and it is void.

This kind of latitude is really valuable, as it recognises the fact that
things are pretty complicated and that in the end the law is there to ensure
justice, not to mechanically interpret a set of rules.

So, even if you have a smart contract (or as I would call it "program") which
can be proven to work a certain way, that may not be enough to guarantee that
it is not going to give rise to bad outcomes. For example, say we have a proof
showing that the program obeys some invariants, and one may even have such a
proof generated automatically. This makes us feel confident - let us
irreversibly bind our future actions to the output of the program! Blockchains
be praised!

However, if the real invariant being aimed for is that the program's execution
is "justice-preserving" (and I would say this is a good aim), then there is a
grounding problem we have missed, where the prover needs to specify formally
the nature of a just situation or action.

I believe a large number of person-years have already been spent on attempts
to derive such an "ethics predicate", but if anyone has found it they have not
yet bothered to demonstrate it. As a result if we wish to pursue justice, we
end up falling back to the position taken by the ordinary law, and we might
wonder quite why we decided to use 51% of all computing power for the rest of
time to keep a ledger intact in the first place.

~~~
vintermann
> This kind of latitude is really valuable, as it recognises the fact that
> things are pretty complicated and that in the end the law is there to ensure
> justice, not to mechanically interpret a set of rules.

It's also entirely dependent on judges being nice and reasonable people, who
will judge according to common sense standards of "what is right" shared by a
solid majority. This just isn't true. If anything, judges are likely to be
less reasonable than random regular people, because

1\. They have an education where argument is treated as a sport, and objective
measures of bias or correctness play little part.

2\. They belong to a class who firmly believe (and society backs them up on it
and tries as hard as it can to make it reality) that their opinions are worth
more than ordinary people's.

That was always my problem with libertarians, their eagerness look to the
legal system to solve social problems (contracts, etc.). The judicial branch
is the worst of all branches of government. Sensible people don't go there to
get justice, it's where you go when you've given up getting justice any other
way.

A judge is just as likely (if not more) to protect an unjust order as to
overturn it when it's really called for. Ethereum provides a way to guarantee
desirable outcomes without such arbitrariness (in the very literal sense). It
failed to do so with the DAO, but at least there, bugs can be fixed. It's much
harder to fix unjust judges.

------
467568985476
_Most people didn’t know, didn’t care, or couldn’t figure out how to vote.
Carbonvote is a poll that weighed user votes by their ether account holdings.
Only 5.5% of the total ether holders bothered to vote. A quarter of the DAO-
Fork votes came from a single account._

That's wild. It seems like the largest holders of Ether can tie their
investments together and agree to "undo" anything that loses money. Am I
misunderstanding how the hard fork process works? Why would anyone bet on this
being the "killer cryptocurrency" if it already has entrenched interests
capable of manipulating it for personal gain? How is this system decentralized
beyond the trivial, technical sense?

~~~
mablap
The reality, _every_ blockchain is vulnerable to such forking. The system is
_still_ decentralized, as the miners have to make their choice. However, the
Ethereum Foundation decided to force the fork upon geth users, as the software
defaults to pro-fork. So in effect a lot of users will be coerced into
forking, without knowing.

This particular fork is political and not technical. The previous ETH forks
were modifications to the _protocol_. The current fork is a modification to
the _account balances_. The rich Ethereum fanatics are completely and absurdly
delusional in thinking this will be a great event in their history. To me, the
canonical chain is all but dead. The protocol will survive, just not on this
chain.

~~~
mwilcox
Not quite. Ethereum's trie allows transaction paths like this to be clipped
with almost no collateral damage to the rest of the data structure. Bitcoin's
UTXO model makes it very difficult to roll back transactions since it would
cause havoc on every other transaction on the network.

~~~
mablap
What is "not quite" referring to?

------
scandox
As a layman, vis-a-vis blockchain and crypto in general, the language of this
post reinforces my sense of a community of very smart, dumb people who I
wouldn't trust with ten cents.

Whenever I find myself looking at a topic which technically goes over my head,
I generally have to rely on the way the people involve express themselves. The
language of the Blockchain community is awful from that point of view. It
reminds me of sitting in meeting with too-clever lawyers, lost in a world of
cunning minutiae, oblivious to the fecking meteor about to land on their
heads.

~~~
fraggle222
>...who I wouldn't trust with ten cents.

Interestingly the entire point of bitcoin, for example, is that you don't need
to trust anyone at all.

~~~
scandox
You have to trust the system

------
polishninja
I've been following the Ethereum/DAO situation since the drain of funds
occurred. I currently do not own any cryptocurrencies so this has been my
first real look at the communities surrounding Ethereum and Bitcoin. In
laymen's terms I am under the impression that these crypto coins are to be
treated the same as cash. If I hand someone $10,000 in USD and they disappear
and/or spend the money without fulfilling their side of the contract, I'm out
of luck. Sure, I could take them to court but if I can't find them (or I sent
my crypto coins to another country) or they can't repay, my coins are still
gone. I know there are different schemes to handle this situation, such as
coin burn, escrow, etc. But, barring those methods, once a coin is spent it's
forever spent, same as a crisp $100 I hand to some door to door salesman that
never comes back.

After dipping my toe into the crypto currency world, learning about the DAO
and Ethereum, there are a few things that bother me about this whole
situation.

1.) Rolling back (voiding) transactions, which seems to go against the concept
of cryptocurrencies in general.

2.) The conflict of interest between the DAO, slock it, and core Ethereum
developers, and their hefty co-mingled investments in the DAO.

3.) The labeling of this person as a "thief" when they played by the rules set
forth by the DAO contracts. Maybe not the spirit, but courts generally decide
that. The code is the law and is final is my understanding. (I don't know how
you code the spirit, by the way.)

4.) The non-inclusive "democratic" vote of the Ethereum community on the hard
fork that appears questionable.

5.) The different rules for reversing a "theft" depending on whose funds where
taken (see #1 and #2) or how much was involved.

6.) The centralized decision making on the fork by a small number of people
who stand to lose substantial funds based on a poorly understood investment
vehicle.

This whole situation occurred because of some poorly implement code and now
there's a whole lot more code being deployed in a hurried manner. If there is
another unnoticed, unintentional way to run code that is not within the spirit
of a contract in the future and no core Ethereum or slock it funds are
involved, will another hard fork occur? Will they legally be forced to do it?
It seems as though the risk was contained to the DAO's funds and now, with the
hastily rolled out fork, the whole Ethereum market is put at risk.

~~~
CoryG89
This. To me (1) are (3) are amazingly, agonizingly ironic given the context of
the situation, even if the outcome is not entirely surprising knowing how the
voting is done and how centralized mining pools make things (as well as point
(2)). The hypocrisy of the whole thing is astonishing to me.

------
droopyEyelids
Insane how there will be a pool of $6m worth of DAO tokens to be distributed
according to the will of trustees.

Maybe I'm not understanding correctly, but that seems to be the dumbest thing
I've ever heard of in the context of a trustless system of computation.

~~~
lunula
I also know only as much as you, and it seems hilariously weak. Shouldn't it
be possible to make a smart contract that dispenses it in accordance to the
whims of ETH stakeholders? I guess the trustees will need to decide...

------
tdaltonc
If Ethereum is just another way that humans muddle through (and not the
dispassionate justice of machines), is it still something different then the
legal and political systems that came before it?

~~~
matt4077
Sure: it's ruled by money or social/technical standing rather than votes. It's
run by a bunch of Ayn Rand-ian social darwinists who believe morality can be
defined in absolute, 'dispassionate' truths. Oh, and they're now playing the
game they hate so much and know so little about.

~~~
pron
Believing a group of people can interact without politics is like believing
bodies with large masses can interact without gravity; you can believe it, but
if you do you really have no idea what gravity -- or politics -- is. As a
result, the difference between those who do politics and those who don't, is
that those who don't are just destined to do it badly.

------
mablap

        “Invent a new version of the universe” is normally not
        permitted by the software protocol, which is why this
        involves a client update and a hard fork.
    

To have "separate universes" is to have separate blockchains with different
genesis blocks. There's an incentive to do just that with Ethereum[1] since
the effective doubling of funds (X ETH on each chain) is bound to cause
disruption.

Anything other than a new fork is going to fail for the reasons the author
mentions.

[1]: [https://reddit.com/r/etheregen](https://reddit.com/r/etheregen)

~~~
elaineo
Thanks for the link, I didn't know people were doing this. I had only seen
EthereumClassic, which seems prone to attack, and a nightmare for exchanges.

------
markkat
The author makes a lot of assumptions about DAO holders. I am both an ETH and
DAO holder. I am pro hardfork, not because I will get my DTH back, but because
1) the consequences of the attacker having that much ETH as Ethereum migrates
to PoS and 2) it's much better than eternal white hat battles to control the
DTH and the drama it would bring. TBH if we could just destroy all the DTH
without a HF, I would be happiest with that solution. But, of course that
cannot be done. I would prefer if the HF just burned the DTH.

Slock.it was very irresponsible not to cap The DAO from the beginning. Growing
pains.

I didn't vote with carbonvote.com because I didn't have to. It was clear the
HF was going to win. No need to mess with my cold wallets. There was no
perfect outcome from this situation, but I see the HF as the least bad.

IMHO Bitcoin could use a HF, but they can't get one due to the centralization
of mining in a few Chinese companies. I see that as a negative.

The threshold for a HF will likely grow for Ethereum as the network grows due
to the diversity of stakeholders and their interests. These are very early
times for Ethereum, and even for Bitcoin.

Ethereum does have more scheduled hard forks coming, BTW. The switch to PoS is
going to require one.

~~~
anonbanker
less than 13 hours later, your viewpoint was proven correct.

The rule of HN and cryptocurrencies seems to be, look what the majority is
saying, then do the exact opposite.

------
matt4077
This heist a nice demonstration of the usefulness of politics. So much so that
the zealots are willing to forgo actual money and let that injustice stand
rather than admitting defeat. Well, some of them are.

~~~
ForHackernews
The most entertaining part of cryptocurrency for me has been watching
libertarian ideologues gradually re-discovering the reasons for financial
regulation.

------
kevindong
The entire hard fork idea was a case of "your choices are shit and shit, pick
one". On one hand, if the hard fork fails, the hacker gets away with millions
of dollars, representing a very large chunk of the entire market. On the other
hand, if the hard fork succeeds, the entire idea of a decentralized currency
where everyone's equal and there are no higher authorities (i.e., corporations
or governments) to intervene against you is dead.

------
milesf
VeriCoin did something similar when MintPal was hacked. They rolled back the
blockchain prior to the heist. Now it's a shadow of itself, and MintPal is
dead.

What a mess.

------
pantulis
Blockchain newbie here. While I somewhat understand what a DAO is, can someone
explain what is _the DAO_? What are its objectives?

~~~
sidereal1
The objective is to create a decentralized fund/holding company. Thousands of
people put money into a pot and then vote on what that money should be
invested on.

I view it as more of an experiment with new tech rather than an actual plan to
run a successful business, however there is an absurd amount of money on the
line.

------
asr1
this may explain, why expanse(ethereum clone) has so much volume at the
moment. Seems like a lot of people are bearish on eth.
[http://coinmarketcap.com/currencies/expanse/](http://coinmarketcap.com/currencies/expanse/)

------
cyphar
I was hoping that the title would be a pun on the phrase "Stick a fork in her,
she's done." I was a bit disappointed given such a prime opportunity for a
pun.

------
anonbanker
one day later, Looks like all the naysayers were wrong.

only one block remained on the old fork.

I'm glad I bought in when I did, during all this FUD. I'll be making a killing
now.

------
davotoula
Too big to fail!

------
herbst
ETH was always shit anyway. The idea is good, but the execution always lacked
professionality. No idea how they came so far actually.

------
ilaksh
The mistake was putting so much money in one untested contract.

It was a big mistake.

But Ethereum is still the leader in terms of a lot of technical aspects and
also the ability to pull people together.

To try to give people a perspective: say you and your friends took out second
mortgages on your houses and came up with 5 million to invest. Then you
invented some tool, and someone found a back door or bug in this tool that
allowed them to steal 1 million dollars.

So most of the group would like to undo this 1 million dollar theft with a
patch.

Now, most outsiders are condemning you for trying to work around the bug and
recover your million dollars with a patch.

I think that the mob is fickle. Quick to pile onto a bandwagon, and quick to
burn it.

So, I hope Vitalik and the other group of hard working, intelligent and
ethical people involved do not take the mob's response to heart.

~~~
kalleboo
> So most of the group would like to undo this 1 million dollar theft with a
> patch.

That's very sensible. Which is why all traditional banking systems have the
concept of a "chargeback" when something goes wrong.

Ethereum still sells itself as "Build unstoppable applications: applications
that run exactly as programmed without any possibility of downtime,
censorship, fraud or third party interference."

The reason everyone is piling on Ethereum is because it said "we don't need
politics to sort out disputes - the code is the truth". And that turned out to
be untrue. There was just a huge political campaign to do a hard fork.

So if it's just yet another politically managed currency, why even bother to
use it? Anything fancy it can do you can also do with a Python script, and
then you can solve your disputes in a court or with chargebacks instead of
starting a campaign to hard fork.

~~~
ilaksh
Because its not yet another politically managed currency. It still has a sound
and revolutionary premise. It just had a bump in the road.

