Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If you could capture the entire logic in code, it wouldn't be arbitration, it'd just be a feature of the smart contract.

The way you'd encode an arbitration clause into a smart contract is making the arbitrator an oracle. That makes it a part of the smart contract, but it's still resolved by an external arbitrator.



That's fair point.

""So I’ll start there, and imagine that there are semi-trusted ‘oracles’ that compete to be the most reliable and trustworthy verifiers of contracts. People involved in contracts choose N of them, and then require that contract conditions be validated by one or more of them before the contract pays out. Pick more than one so no single oracle can steal the contract’s funds, but less than N in case some of them go out of business or just aren’t around to validate contracts when it is time for the contract to pay out."

http://gavintech.blogspot.com/2014/06/bit-thereum.html

So you can "just" write contract in some language so that: - it will cover most of cases without human intervention - if there will be bug with code oracle will read (as human) content of terms to get idea about contract intent (basically dispute)

But it seems that good marketing and some really interesting technology can switch focus from asking basic question - "we are trying to solve existing business problem or just create cool tech?" And yet when i read blogposts about ethereum i see more and more complicated contraptions (ruby goldberg machines in fact) and reason why this whole thing is even build is not clear.


Right, the point is that the arbiter can evolve independently of the contract logic (via establishing new precedent). The contract would just specify a unique, unforgeable designator for the arbiter to use.


Am I correct in thinking that a smart contract has to be open source? Because there might be good reasons to keep the arbitration oracle's source code secret.


No, multiple parties could execute a smart contract between themselves, and keep the code private. Smart contract just means it's a contract that gets executed through code.

Even in the case of a public and decentralized platform like Ethereum, I don't think there's any requirement to make it open source. Further, I think with Ethereum, a smart contract is made up of compiled code and a Application Binary Interface (defines what functions can be called in your contract), so it could be possible to never even share the source publicly. I've never written an Ethereum smart contract so this is just my understanding, and I may be wrong.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: