News for hackers. Stuff that matters.
Re:Launch HN: Dharma (YC S17) an open protocol for borrowing... by edent on Tuesday May 22, 2018 @04:16PM (#17129048)
There's something I don't understand about Smart Contracts.

Normal contracts are written by lawyers. They are reviewed by both parties' lawyer. Sometimes, after the contracts are signed, the lawyers disagree what a particular provision or clause means.

At which point, they either negotiate or sue. In which case, a human judge weighs up the case and decides.

How do disagreements work with smart contracts?

I assume some contracts will be buggy - mostly because programmers are just as fallible as lawyers. So how are disagreements resolved in an equitable way?

Re:Launch HN: Dharma (YC S17) an open protocol for borrowing... by TekMol on Tuesday May 22, 2018 @04:22PM (#17129089)

    How do disagreements work with smart contracts?
If you are big or popular or have connections, then the guys in power will bend the rules in your favour. Google 'The DAO' for an example.

Otherwise, an algorithm will decide.

Re:Launch HN: Dharma (YC S17) an open protocol for borrowing... by sillysaurus3 on Tuesday May 22, 2018 @05:14PM (#17129469)
Not quite. The ecosystem was much smaller back then. Nowadays, I'm not sure one company would be able to make a case for forking the currency.

Besides, you can still buy ETH classic, if you disagree with the decision. It's just not worth much.

Re:Launch HN: Dharma (YC S17) an open protocol for borrowing... by lucasvo on Tuesday May 22, 2018 @06:07PM (#17129803)
Ethereum EIP-999 (https://news.ycombinator.com/item?id=16843991 and https://github.com/5chdn/EIPs/blob/master/EIPS/eip-999.md) is exactly that, a discussion of patching Ethereum to unlock a a few hundred million dollars that are inaccessible due to a software bug.
Re:Launch HN: Dharma (YC S17) an open protocol for borrowing... by TTPrograms on Tuesday May 22, 2018 @06:10PM (#17129822)
It's almost definitely not going to happen.
Re:Launch HN: Dharma (YC S17) an open protocol for borrowing... by fapjacks on Tuesday May 22, 2018 @05:49PM (#17129705)
I am 100% sure that if I went and "the code is the contract"ed whatever ends up being DAO2.0 out of 5% of all existing ETH, that Vitalik would come save it "just this once" one more time... I absolutely do not believe for one second that there wouldn't be another fork. And I say this as someone with a substantial interest in the currency.
Re:Launch HN: Dharma (YC S17) an open protocol for borrowing... by sillysaurus3 on Tuesday May 22, 2018 @06:27PM (#17129937)
Well, the point is, Vitalik can't do that. The community would have to agree with him.

If the situation were sufficiently dire, then presumably it would be easy to get community support. But the opposite is true too.

Re:Launch HN: Dharma (YC S17) an open protocol for borrowing... by Kiro on Wednesday May 23, 2018 @02:44AM (#17131856)
Nope, won't happen again. Look at EIP-999. It's backed by Vitalik but is still dead.
Re:Launch HN: Dharma (YC S17) an open protocol for borrowing... by CryptoPunk on Thursday May 24, 2018 @12:03PM (#17145304)
EIP-999 isn't backed by Vitalik but it was backed by major figures in Ethereum, including at least one co-founder. And yes it's dead.
Re:Launch HN: Dharma (YC S17) an open protocol for borrowing... by jacquesm on Tuesday May 22, 2018 @04:31PM (#17129174)
> How do disagreements work with smart contracts?

In the case of Ethereum that's easy: you hard fork the currency.

Re:Launch HN: Dharma (YC S17) an open protocol for borrowing... by TTPrograms on Tuesday May 22, 2018 @06:11PM (#17129832)
It's code. If there's a bug it does what the bug says.

What happens when there's a disagreement with your program that prints "Hello W0rld"? It prints "Hello W0rld".

Re:Launch HN: Dharma (YC S17) an open protocol for borrowing... by afinemonkey on Tuesday May 22, 2018 @04:52PM (#17129326)
It depends, I guess. If what you're talking about is a disagreement between two parties about the object of the contract or its conditions, I don't see why you couldn't resolve it the same way you would with a paper contract. I don't know if any country's definition of contract is broad enough to include smart contracts, but you could possibly bring this to court, perhaps?

If the two parties can agree on a new stipulation of the (smart) contract, a new contract can be issued.

As an aside, this is painful, as a smart contract's address will usually be linked to some user facing application or just your own wallet.

A way to facilitate this is through the use of a proxy contract, which is a contract that exists only to forward instructions to a secondary contract (the main one). The main contract can then do whatever is meant to do.

Now if there is a disagreement or a bug, after an agreement is reached, you can deploy your new contract, change the address on the proxy contract and you're done.

Re:Launch HN: Dharma (YC S17) an open protocol for borrowing... by dustingetz on Tuesday May 22, 2018 @05:46PM (#17129685)
Consider finance options contracts. It's math, there aren't ambiguities, "that's not a bug, it's a feature". Also consider that if lawyering was not an available tool in software contracts, there would still be a game theoretic equilibrium, just a different one, but markets would still function. Before contract law there were other coordinating forces, such as royalty and religion, and things worked out well enough. http://home.uchicago.edu/~rmyerson/research/stratofc.pdf
Re:Launch HN: Dharma (YC S17) an open protocol for borrowing... by chii on Tuesday May 22, 2018 @08:25PM (#17130593)
> such as royalty and religion

That's because they had the power to go to war to enforce their contracts. Etherium holders do not have such power, so ultimately, relies on the country's laws to enforce the smart contract.

Re:Launch HN: Dharma (YC S17) an open protocol for borrowing... by dustingetz on Wednesday May 23, 2018 @08:03AM (#17133381)
Game theory is the more fundamental thing that power ultimately derives from. From the paper I linked:

"Focal arbitration power is power to redefine property rights, which of course may be profitable for the focal arbitrator himself. But a society's generally understood rules for recognizing leaders can impose constraints what a leader must do if he wants to retain his generally recognized position of authority."