Hacker News new | ask | show | jobs
by russellallen 3616 days ago
So we now know that contracts on Ethereum mean what they say, unless there is a community consensus that the contract actually means something else, and the machine meaning doesn't properly reflect the intent of the parties.

But it is a little unsatisfactory to have this ad-hoc method of hard forking. Maybe there should be in future some sort of public process to determine whether an action is consistent with the intentional meaning of the contract (as opposed to the machine meaning). We could all agree to appoint some qualified person to hear disputes and determine whether the code has got it wrong and we should fix the code with a hard fork. Let's call that person a 'judge'.

Now that judge will need to have procedures and rules. He or she isn't deciding on a whim, after all. These rules will set out things like what evidence the judge can look at to determine the intentional meaning of the contract. Just for giggles, let's call one of those rules the 'parol evidence rule'. Also, we don't want anyone to be able to bug the judge and waste their time, so we need some rules as to who can ask the judge to look at a dispute. I'm feeling creative, so let's call those rules 'standing rules'.

What would be really fabulous is if this system could be paid by the taxpayer out of general revenue. That way we can reduce the likelihood of the biggest, richest investors bribing the judges.

But this is obviously all fantasy. No one would ever build such a system.

5 comments

Interesting. But I'm a widget maker, not a specialist in any of those fanciful terms you threw around. I'd like to participate in the judges' world, but my widgets take all my time. Is there someone that can sort through the precedents and rules on my behalf if I tell them what I need in widget-speak?
good point! another thing is, i don't really have time to read all these meta-rules for judges, and i certainly don't have time to write new ones in detail or to argue or vote for each one of them. is there anyway i could help choose a representative that'd consider my interests and the interests of others and then do the actual nitty-gritty work of writing and selecting such rules?
Unfortunately, it has been found that the principle-agent problem is just to much to overcome in this case.
And perhaps there should be some government-approved body to decide how one goes about becoming a specialist. Perhaps they could organize a system of specialist education and exams so as to ensure that members of the public aren't duped by charlatan specialists.
Maybe that right there is the issue: maybe the public doesn't need to be protected of duping charlatans, but needs to adopt a standard to identify them and propagate information about their incompetence? Problem remains that a fair, common protocol to measure and communicate about trust seems somewhat of a research subject still(?).
Blockchains fork constantly. Most forks aren't ever treated as a source of truth by anyone, but there's always the freedom to do so. We've created these fancy spools of receipt paper and we're all just trying to decide which one to pay attention to. Software can never make that decision for you, nor can a particular development team. I consider the freedom to choose one's own source of truth to be valuable. Others seek to force people to treat something as the truth even when it says something they disagree with, which is untenable without the use of actual force.

Blockchains are as immutable as the people who look at them decide they are. They're still pretty useful for creating reliable sources of truth.

"So we now know that contracts on Ethereum mean what they say, unless there is a community consensus that the contract actually means something else"

We always knew this, and we always knew that the same was true of Bitcoin (so-called 51% attack). The only point of note is that there was a coordinated effort to take this option - one which will not likely be possible in a future larger network.

> The only point of note is that there was a coordinated effort to take this option - one which will not likely be possible in a future larger network.

Saying "this is possible in Bitcoin" despite its large size then try to downplay Ethereum's same risk when it gets bigger just seems an odd way to justify Ethereum's value to me (an outsider to all cryptocurrencies). Between the two, Ethereum has the proven history of generating the coordinated effort. Bitcoin does not. So if both are the same size, the cryptocurrency's specific community and history is a factor in its value. I would rather avoid the smart contracts that Ethereum has as it seems like a liability.

It's not an argument for justifying its value, it's an argument for dismissing devaluation simply based on the hard fork. Network size advantages could end up being temporary, so the remainder of your argument is based on the premise that Bitcoin retains its size advantage.

The remaining question is if you think that the actions of a developer and early-adopter community around one of those technologies in its infancy should affect it's long-term valuation and capability. This seems silly to me. It would be like if Reddit wiped out everyone's karma when there were 100 users and then debating if this meant Reddit was no longer valuable - of course not. In this case it's even stronger, because having large numbers of users implicitly makes these sorts of events more difficult to pull off.

And yet, the Bitcoin community seems to stand behind their words and has yet to fold on their principles.

In effect, people actually trust Bitcoin to be a "source of truth", and that transactions won't go away just because a small oligopoly of developers decided they didn't like the way a perfectly legitimate transaction went down.

"small oligopoly"?? Majority of Ether holders supported the fork.
It's easy to get the feeling that the "default support" setting may have helped that, from a casual following of the ethereum scene
No, they just didn't care enough to make the effort to protest.
i propose we formalize this system in a protocol with a snappy acronym: "TRUST Resolves Users' diSputed Transactions" (it's my loose recursive acronym, i do what i want). parties who implement the TRUST protocol would be "TRUSTed" parties.
It was adhoc because there was a time limit on avoiding the greater disaster

I like how the market is quickly rejecting it though

It's like if you liked a company but disliked the board, and the board accidentally fired themselves

Then you have Ethereum Classic