Live data from Hacker News

Stellar Smart Contracts

stellar.org

11–20 of 130 posts

Re: Stellar Smart Contracts

#11
post #4
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…

Computers are not enforcing law, I think this is just a misunderstanding on how blockchain systems work. They rely on consensus of majority of nodes, that are operated by humans. So in effect software written by small team of people is running on nodes operated by people. Ultimately the entire system is controlled by people, as DAO "hack" clearly shows.

It's a misunderstanding that's actively promoted by blockchain enthusiasts.

A lot of people still believe that inerrable smart contracts are possible and desirable. Hundreds of millions of ICO money has been collected by blockchain projects that basically promise to do away with software bugs by using [academic language X | proof verification system Y | magic beans].

Re: Stellar Smart Contracts

#12
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…

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 exist and are locked before we meet. Then we shake hands, we load the dishwasher in their car and we both release the funds before parting way. I just saved myself a 10% fee and the buyer wasn't forced to get cash from an atm.

Re: Stellar Smart Contracts

#13
post #9
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…

Smart contracts allow you to completely shortcut intermediaries and their fees in the case where everything goes right or can be checked objectively by an algorithm (ex price of a commodity on a particular platform at a particular time). With a multisig escrow account, if you and your counterpart both agree to transfer the funds, or both agree to unlock the funds, there is essentially no fee to give away to anyone el…

but the issue at hand is the case where the multisig contract has a bug and one party (or even a third party) can trigger a transfer of funds or render the funds inaccessible.

Re: Stellar Smart Contracts

#14
post #10
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…

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).

Re: Stellar Smart Contracts

#15
post #9

Earlier quoted context omitted.

Smart contracts allow you to completely shortcut intermediaries and their fees in the case where everything goes right or can be checked objectively by an algorithm (ex price of a commodity on a particular platform at a particular time). With a multisig escrow account, if you and your counterpart both agree to transfer the funds, or both agree to unlock the funds, there is essentially no fee to give away to anyone el…

but the issue at hand is the case where the multisig contract has a bug and one party (or even a third party) can trigger a transfer of funds or render the funds inaccessible.

Just do a symbolic execution of the code and prove that your intended behavior holds.

A multisig contract is an utterly trivial program. It is easy to prove correct.

Re: Stellar Smart Contracts

#16
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. What if the exchange is down? What if the price is volatile?

2. You can meet up and resolve ANY contract yourselves. That doesn't save escrow fees.

Re: Stellar Smart Contracts

#17
post #15

Earlier quoted context omitted.

but the issue at hand is the case where the multisig contract has a bug and one party (or even a third party) can trigger a transfer of funds or render the funds inaccessible.

Just do a symbolic execution of the code and prove that your intended behavior holds. A multisig contract is an utterly trivial program. It is easy to prove correct.

Tell that to the folks over at Etherium Classic.

Re: Stellar Smart Contracts

#18
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.

Re: Stellar Smart Contracts

#19
post #6

From a legal perspective, this is very interesting. The concept of escrow has existed for centuries I suppose. It needs three parties, A (origin), B (escrow) and C (destination). An escrow is only needed, because A and C don't trust themselves enough. Trust is a basic necessity in any contract and providing trust is a extremely valuable service. In (Austrian) civil law, there is something called "acquisition in good…

The escrow used to be a trusted third party though. Blockchain moves the "quantity of trust previously assigned to the escrow agent" to the two parties. If one party disputes for some reason the algorithm this can't be settled automatically. With a trusted human escrow agent, an abnormal situation would probably end with him sharing part of the blame , which help resolve the conflict in a way that is not fair, but surely blame-able. There is nobody to blame with a machine though.

Re: Stellar Smart Contracts

#20
post #15

Earlier quoted context omitted.

but the issue at hand is the case where the multisig contract has a bug and one party (or even a third party) can trigger a transfer of funds or render the funds inaccessible.

Just do a symbolic execution of the code and prove that your intended behavior holds. A multisig contract is an utterly trivial program. It is easy to prove correct.

> Just do a symbolic execution of the code and prove that your intended behavior holds.

So... Introduce a human to the process? This is the exact issue we're talking about.

> A multisig contract is an utterly trivial program. It is easy to prove correct.

Even if it is, we're not just talking about multisigs. This process should scale up to more advanced smart contracts or this whole "innovation" is just replacing escrows, which is a greatly diminished innovation from the actual claim of smart contracts.

Post reply on HN