I have been saying this for quite sometime on this forum - contracts have to deal with ambiguous circumstances and expressly contemplate being resolved in courts. Ambiguity of contracts is a feature , not a bug, as it is in the interest of both parties to be able to argue about certain unanticipated events when they occur. Quoting my own comments from a while back: > The vast majority of contracts do not have syntact…
Don't worry, if the developers don't like the ways contract turned out for them, they can always for the chain and revert it. Which is sort of like a court, right?
Many Smart Contract Use Cases Are Impossible (2016)
21–30 of 40 posts
Re: Many Smart Contract Use Cases Are Impossible (2016)
#22This article outlines the basic problem. If you want smart contracts that do anything off chain, there have to be connections to trusted services that provide information and take actions. If you have trusted services available, you may not need a blockchain. The article points out that you can't construct an ordinary loan on chain, because you have no way to enforce paying it back short of tying up the loaned funds…
I would observe, though, that the word "trust" here does not mean universal trust. Two signatories to a contract may agree to trust a given oracle without affecting anyone else on the blockchain, or trust a combination of oracles, or etc. etc. If the trusted service is simply pushing "the price of tea in China" into the blockchain, then the blockchain may still be doing "real work" for your contract which involves other things.
"Decentralization" doesn't mean that every single contract won't ever use a central authority. It means there's no mandated one.
Re: Many Smart Contract Use Cases Are Impossible (2016)
#23Earlier quoted context omitted.
I'm not a huge proponent on smart contracts, and I agree that it's a big problem enforcing payback, but that's no worse than regular loans. At least the ownership/transfership and payback of loans could be tracked, which is a far cry from the current method of debt ownership. It's extremely common for spreadsheets full of loans to be passed from owner to owner with no real ownership trail, accounting, etc, which I fi…
> but that's no worse than regular loans If the blockchain isn't enforcing payback, then it's just a normal transfer of money from one party to another. There's no smart contract needed.
Re: Many Smart Contract Use Cases Are Impossible (2016)
#24This article is dated Apr 2016. "Oracles" seem to be the way now to inject external data. Oraclize[1] can apparently be provably kept trustable. Anyone with deeper knowledge of this? [1] http://www.oraclize.it/
To summarize what oracles appear to do, they capitalize on information served via https and the verified status of the certificates used by sites, to have an independent party (the "notary") declare that the information was indeed produced by the party. So the signed statement is of the form - Entity E verified by certificate C said statement S on date D You can also get, for example, the TLSNotary [1] to sign a secu…
"If the funds used for coupon payments are controlled by the bond's smart contract, then those payments can indeed be guaranteed. But this also means those funds cannot be used by the bond issuer for anything else. And if those funds aren’t under the control of the smart contract, then there is no way in which payment can be guaranteed.
In other words, a smart bond is either pointless for the issuer, or pointless for the investor."
Re: Many Smart Contract Use Cases Are Impossible (2016)
#25Earlier quoted context omitted.
> but that's no worse than regular loans If the blockchain isn't enforcing payback, then it's just a normal transfer of money from one party to another. There's no smart contract needed.
it's not needed, but transfers using smart contracts could be more convenient than in other ways. It doesn't have to be a zero or 1 proposition. It's like saying cloud is not needed because we can do it on the desktop
Can you provide an example of this?
Re: Many Smart Contract Use Cases Are Impossible (2016)
#26Earlier quoted context omitted.
To summarize what oracles appear to do, they capitalize on information served via https and the verified status of the certificates used by sites, to have an independent party (the "notary") declare that the information was indeed produced by the party. So the signed statement is of the form - Entity E verified by certificate C said statement S on date D You can also get, for example, the TLSNotary [1] to sign a secu…
I have not figured out how this would solve the problem of on-blockchain debt: "If the funds used for coupon payments are controlled by the bond's smart contract, then those payments can indeed be guaranteed. But this also means those funds cannot be used by the bond issuer for anything else. And if those funds aren’t under the control of the smart contract, then there is no way in which payment can be guaranteed. In…
There really is no problem, unless you have unrealistic expectations as to what a blockchain can do.
There’s essentially no difference between lending a company money, with which it purchases machinery, and lending this machinery directly to the company. Believing a blockchain can ensure that when I lend you my car (a form of machinery) I will get it back without a scratch, is simply unreasonable.
Re: Many Smart Contract Use Cases Are Impossible (2016)
#27Earlier quoted context omitted.
it's not needed, but transfers using smart contracts could be more convenient than in other ways. It doesn't have to be a zero or 1 proposition. It's like saying cloud is not needed because we can do it on the desktop
> it's not needed, but transfers using smart contracts could be more convenient than in other ways. Can you provide an example of this?
Re: Many Smart Contract Use Cases Are Impossible (2016)
#28Earlier quoted context omitted.
> it's not needed, but transfers using smart contracts could be more convenient than in other ways. Can you provide an example of this?
ok, so say I need to distribute payments. If I transfer money to a wallet and then a smart contract automatically takes care of sending the right amounts to the right wallets, it could be more convenient than current payment distribution solutions, no?
* if it's a one off payment to all recipients, why not just send it manually? * what happens when you need to add or remove recipients? Compared to just phoning up the bank to amend a standing order. * what happens if you accidentally pay someone the wrong amount? * what happens if you lose your wallet and you can't continue paying?
I would rather have a bank handle all of the edge cases and provide the consumer protections I want out of a payments/account system than some random script that I (or someone I have to pay) has to maintain that could be responsible for vast amounts of funds.
Re: Many Smart Contract Use Cases Are Impossible (2016)
#29Earlier quoted context omitted.
I have not figured out how this would solve the problem of on-blockchain debt: "If the funds used for coupon payments are controlled by the bond's smart contract, then those payments can indeed be guaranteed. But this also means those funds cannot be used by the bond issuer for anything else. And if those funds aren’t under the control of the smart contract, then there is no way in which payment can be guaranteed. In…
> I have not figured out how this would solve the problem of on-blockchain debt There really is no problem, unless you have unrealistic expectations as to what a blockchain can do. There’s essentially no difference between lending a company money, with which it purchases machinery, and lending this machinery directly to the company. Believing a blockchain can ensure that when I lend you my car (a form of machinery) I…
Re: Many Smart Contract Use Cases Are Impossible (2016)
#30Earlier quoted context omitted.
I have not figured out how this would solve the problem of on-blockchain debt: "If the funds used for coupon payments are controlled by the bond's smart contract, then those payments can indeed be guaranteed. But this also means those funds cannot be used by the bond issuer for anything else. And if those funds aren’t under the control of the smart contract, then there is no way in which payment can be guaranteed. In…
> I have not figured out how this would solve the problem of on-blockchain debt There really is no problem, unless you have unrealistic expectations as to what a blockchain can do. There’s essentially no difference between lending a company money, with which it purchases machinery, and lending this machinery directly to the company. Believing a blockchain can ensure that when I lend you my car (a form of machinery) I…
I expect an on-blockchain contract would have to allow for default (which I suppose it could, given a way to signal external events.) Currently, of course, this is handled through negotiation, arbitration, or ultimately the bankruptcy courts. It would certainly seem unrealistic to expect that to be replaced by smart contracts anytime soon.