Live data from Hacker News

Stellar Smart Contracts

stellar.org

21–30 of 130 posts

Re: Stellar Smart Contracts

#21
post #14
post #10

Earlier quoted context omitted.

I find it incredibly naive. The blockchain cannot enforce properly where external, real-world events are involved, and the hard part of contract law is not figuring out when to transfer money. It's figuring out when things aren't going as intended, it's figuring out when conditions might be unlawful, or when they just shouldn't be applicable in a given situation. "Code as law" is very wide of the mark.

1. A blockchain-based smart contract algorithm can very much check the price of a particular commodity on a particular exchange (fully automated enforcement). 2. Parties can meet up and resolve the contract themselves (semi-automated enforcement that saves escrow fees).

> 1. A blockchain-based smart contract algorithm can very much check the price of a particular commodity on a particular exchange (fully automated enforcement).

Introducing trust issues with that exchange and what it decides to report to the smart contract that day. And that's the very simplest of circumstances, one data point from one source.

> 2. Parties can meet up and resolve the contract themselves (semi-automated enforcement that saves escrow fees).

So resort to non-smart way of resolving the issue, only the dynamic has likely already been changed as an automated system may have transferred funds already.

Re: Stellar Smart Contracts

#22
post #8

One thing I've found impenetrable about Stellar is the use of the XDR data format. I've never encountered this before and it's been a painful step in starting to build on their platform. Are their any simple, introductory texts on it? A lot of stuff is from Stellar themselves. I'm sure there are good reasons for using it, the rest of the platform looks simple to understand and well designed.

XDR is a highly efficient format, primarily used in telecoms

We have a developer who has developed decoders in C. Ping me if you need details.

See: https://www.tmforum.org/resources/standard/ipdrxdr-encoding-...

Re: Stellar Smart Contracts

#23
post #12
post #7

Earlier quoted context omitted.

Is it? Really? As far as I'm aware the oracle problem still exists, the problems of having to get data onto the blockchain from external, trusted sources. In real-world contracts the problems don't arise over the simple execution of contract, they arise when intent is muddied or missed by words, when terms are unfair, overly onerous or legally unenforceable. Given this, there are very, very few situations in which sm…

It is, yes. Most transactions that occur daily across the whole world involve trivial amounts of money. If I want to sell you a 300€ dishwasher, for example, I can either require cash, ask for a check/bank transfer and pray it doesnt bounce, or involve a 3rd party whom i trust in which case I will have to forego a % fee for their escrow service, maybe 30€. With a smart contract, I can now be sure the buyer's funds ex…

> ask for a check/bank transfer and pray it doesnt bounce

Why would a bank transfer bounce? These are free and effectively instant in most places I know of now.

> I just saved myself a 10% fee

You probably had to pay network fees though.

Once again, the blockchain-positive argument seems to stem from outdated ideas about traditional banking.

--edit-- I'm going to reply here to the comment below then I shall bow out of this discussion because HN has me rate limited.

> Bank transfers are reversible.

Good, this is a form of buyer protection. Much like credit-card chargebacks. We have literally thousands of years of history of sellers ripping off buyers to show us what a great idea this is.

> Network fees will be infinitesimal compared to the fees a human wants to extract.

There are existing, non-blockchain ones with a flat fee of under £3 in the UK I could find with a quick search. Network fees have gone over this on various cryptocurrencies at various times.

Re: Stellar Smart Contracts

#24
post #7

Great to see smart contract technology unfolding before our eyes.

Is it? Really? As far as I'm aware the oracle problem still exists, the problems of having to get data onto the blockchain from external, trusted sources. In real-world contracts the problems don't arise over the simple execution of contract, they arise when intent is muddied or missed by words, when terms are unfair, overly onerous or legally unenforceable. Given this, there are very, very few situations in which sm…

Yes it is, really.

The oracle problem is not a problem. The data quality is not a concern of the blockchain protocol, only what happens to it once it enters the state trie.

Cases where the external data that must be "truthful" can be done trustlessly with prediction markets for instance or Token Curated Registries among other cryptoeconomic primitives. For cases where the data feed needs an extra layer of validation there are options around using TLS notary, secure enclaves, etc.

In the majority of use cases where the app / smart-contract users are responsible for the data they enter and that's good enough.

Re: Stellar Smart Contracts

#25
post #7

Earlier quoted context omitted.

Is it? Really? As far as I'm aware the oracle problem still exists, the problems of having to get data onto the blockchain from external, trusted sources. In real-world contracts the problems don't arise over the simple execution of contract, they arise when intent is muddied or missed by words, when terms are unfair, overly onerous or legally unenforceable. Given this, there are very, very few situations in which sm…

Yes it is, really. The oracle problem is not a problem. The data quality is not a concern of the blockchain protocol, only what happens to it once it enters the state trie. Cases where the external data that must be "truthful" can be done trustlessly with prediction markets for instance or Token Curated Registries among other cryptoeconomic primitives. For cases where the data feed needs an extra layer of validation…

> The oracle problem is not a problem

Yes, it really is, where human motivations to pollute input data exist at all it's a huge problem.

All of the above require external, trusted systems, or fuzzy, imprecise arguments based around the honest, enlightened economic self-interest of actors who, throughout history, have shown themselves to unenlightened, dishonest and not to act in economically rational ways.

Re: Stellar Smart Contracts

#26
post #23
post #12

Earlier quoted context omitted.

It is, yes. Most transactions that occur daily across the whole world involve trivial amounts of money. If I want to sell you a 300€ dishwasher, for example, I can either require cash, ask for a check/bank transfer and pray it doesnt bounce, or involve a 3rd party whom i trust in which case I will have to forego a % fee for their escrow service, maybe 30€. With a smart contract, I can now be sure the buyer's funds ex…

> ask for a check/bank transfer and pray it doesnt bounce Why would a bank transfer bounce? These are free and effectively instant in most places I know of now. > I just saved myself a 10% fee You probably had to pay network fees though. Once again, the blockchain-positive argument seems to stem from outdated ideas about traditional banking. --edit-- I'm going to reply here to the comment below then I shall bow out o…

1. Bank transfers are reversible. In Europe, you can void a bank transfer up to _several_ days after it has occurred by complaining to your bank. If the bank agrees with you (fraudulent transfer, identity theft, etc), they can ask the receiver's bank to transfer the funds back to you. In France, you have 13 months by law to contest bank transactions after they have taken place.

2. Network fees will be infinitesimal compared to the fees a human wants to extract.

Re: Stellar Smart Contracts

#27
post #3

> As a reminder, smart contracts are created using code. Code can contain bugs or may not perform as intended. Be sure to analyze and agree upon all possible edge cases when coming up with the conditions and outcomes of the smart contract. Predicting all possible edge cases of a piece of software has been proven to be very hard in the past (there have been software bugs that literally killed people). Why would I ever…

> Why would I ever agree to let software ALONE enforce a contract? And if there is a human process to override the outcome of the contract, what advantage does it have over a "dumb contract". The cost of enforcing and collecting on a smart contract is much cheaper. Depending on the dollar amount and use case I can see the advantage.

Why?

It seems like reviewing complex software code to make sure it’s well understood and no edge cases exist is a costly endeavor.

Re: Stellar Smart Contracts

#28
post #25

Earlier quoted context omitted.

Yes it is, really. The oracle problem is not a problem. The data quality is not a concern of the blockchain protocol, only what happens to it once it enters the state trie. Cases where the external data that must be "truthful" can be done trustlessly with prediction markets for instance or Token Curated Registries among other cryptoeconomic primitives. For cases where the data feed needs an extra layer of validation…

> The oracle problem is not a problem Yes, it really is, where human motivations to pollute input data exist at all it's a huge problem. All of the above require external, trusted systems, or fuzzy, imprecise arguments based around the honest, enlightened economic self-interest of actors who, throughout history, have shown themselves to unenlightened, dishonest and not to act in economically rational ways.

It really isn't a problem.

You have to take the use case of the smart-contract / app and see what is the incentive to pollute input data. Then you can use mechanism design to motivates users to input high quality data and have trustless curated list of the best data sources.

Just in case you are not familiar with cryptoeconomics and game theory, here's an example of mechanism design I used at an interview I gave a few days ago:

> Imagine you and your sister both want the last piece of cheesecake left, so you agree to split it in half but can't agree on who should do the cut because both of you are cheaters and would take the bigger slice for yourselves. One way of solving this is to have your sister take the knife but you get to pick your half first, since you would both be motivated to find the perfect balance and would stand to lose if either tries to cheat.

Re: Stellar Smart Contracts

#29
post #26
post #23

Earlier quoted context omitted.

> ask for a check/bank transfer and pray it doesnt bounce Why would a bank transfer bounce? These are free and effectively instant in most places I know of now. > I just saved myself a 10% fee You probably had to pay network fees though. Once again, the blockchain-positive argument seems to stem from outdated ideas about traditional banking. --edit-- I'm going to reply here to the comment below then I shall bow out o…

1. Bank transfers are reversible. In Europe, you can void a bank transfer up to _several_ days after it has occurred by complaining to your bank. If the bank agrees with you (fraudulent transfer, identity theft, etc), they can ask the receiver's bank to transfer the funds back to you. In France, you have 13 months by law to contest bank transactions after they have taken place. 2. Network fees will be infinitesimal c…

1. Bank transfers are not generally reversible, only if another party has taken something from your account ( in Dutch "automatische incasso" ). If you did a transfer yourself it is not reversible.

Re: Stellar Smart Contracts

#30
Stellar isn't decentralized. Just like Ripple, it uses Federated Byzantine Agreement, which means that nodes use a list of other nodes they trust. The fact that this scheme has nothing to do with the concept of a decentralized cryptocurrency, aside from the hype train, doesn't appear to have percolated into the collective mainstream or even geek consciousness yet.
Post reply on HN