News for hackers. Stuff that matters.
Re:Smart contracts on Bitcoin by dperfect on Thursday January 14, 2021 @04:45PM (#25783071)
I'm not sure I've gotten a clear answer to this before, so someone please help me understand:

I can see how smart contracts might be useful in contracts that involve other assets that are directly connected in the same decentralized context (i.e., other bitcoin transactions or blockchain entities).

However, for anything else in the real world, they always (from what I've seen) require an "oracle" of some kind. True, that can be based on a consensus algorithm involving multiple parties in the real world, but it always ends up requiring trust that those real-world entities are playing by the rules. If we're relying on the good faith of real-world entities, how is a smart contract any better than a legal contract (a human would have to step in as the arbiter in either case)?

Re:Smart contracts on Bitcoin by noman-land on Thursday January 14, 2021 @04:53PM (#25783183)
Smart contracts are mathematical contracts not legal contracts. They don't even have to be about IRL things. You could interact with a smart contract to, for example, change who can be authenticated to use a smart lock. Or you could have profile information about yourself in a contract, that can be changed.
Re:Smart contracts on Bitcoin by dperfect on Thursday January 14, 2021 @04:57PM (#25783229)
Cool - glad you brought up the smart lock example. How does that work without trusting (presumably off-chain) software/firmware to honor the change as to who should be able to open the lock? The smart contract might be iron-clad in showing who should have access, but at some point, that has to be interpreted and executed by a real-world entity, human or machine.

In other words, standard contracts work just fine (without any lawyers involved) when everything goes to plan. It's the failure cases that matter, and it's not hard to imagine a compromised lock (or an entire company's locks if they're connected to the internet for access to the blockchain) that no longer respect the smart contract. So you're back to calling your lawyer to help sort out the mess.

Re:Smart contracts on Bitcoin by noman-land on Thursday January 14, 2021 @07:25PM (#25785180)
That's definitely a good example of where things get tricky, but smart contracts are not a dispute resolution mechanism, they're part of a shared infrastructure.

If you use a smart contract you don't need to maintain any sort of backend at all. Your infrastructure costs are basically zero because they're baked into the cost of using the contract, which is paid on every transaction. You also get interoperability for free without having to build out any sort of API layer.

Smart contracts are not the solution to all problems but I think they have some really interesting use cases.

Re:Smart contracts on Bitcoin by toomuchtodo on Thursday January 14, 2021 @07:04PM (#25784956)
Your assessment is accurate. Crypto proponents paper over this, but don’t have an answer.

The part they say quietly is that the ledger supersedes the law and legal framework, and that’s clearly not how governments and their legal frameworks work.

Re:Smart contracts on Bitcoin by iso8859-1 on Thursday January 14, 2021 @05:04PM (#25783325)
They can't be about IRL things because those things cannot be verified in a decentralized manner.
Re:Smart contracts on Bitcoin by notatrumper on Friday January 15, 2021 @05:11AM (#25789068)
Why not? The smart card and the lock are IRL. The smart contract knows who is allowed to open the lock. The lock can query the current state of the contract to check if the smart card being used on it is allowed to open the lock.

I have heard several stories by now of renters being defrauded by fake landlords. A smart contract could actually help. Decentralized would mean everybody can check who owns a property, not just the owner of some obscure property database.

Re:Smart contracts on Bitcoin by dodobirdlord on Friday January 15, 2021 @06:06AM (#25789443)
Until someone secures a court order transferring ownership of a property, at which point the ledger no longer reflects reality. It's an awkward problem for any distributed ledger that wants to track something that isn't intrinsically defined by the ledger itself.
Re:Smart contracts on Bitcoin by notatrumper on Friday January 15, 2021 @07:56AM (#25790391)
Sure, but that is the "ownership" problem, I was talking about the smart lock problem. Yeah I was talking about ownership - but having to verify that externally does not take away from the smart lock problem. I think the typical fraud went that way: previous renters pretended to be landlords and collected upfront money from prospective new renters. If for example only the actual landlord can grant access to the smart card (or NFC phone), it would be harder for previous renters to pull off that fraud.

Isn't there a public ledger of property ownership? In any case, there could be.

In my country, merely transferring property rights costs a lot of money. I know a friend paid 20k just for officials to make the entry in their book.

Blockchain could easily replace that.

Or the "property officials" could have a key and people could verify with the smart contract that some transfer has been signed by the right key.

Re:Smart contracts on Bitcoin by stocknoob on Thursday January 14, 2021 @04:48PM (#25783112)
There's value in digitizing 90% of the process and relying on as few oracles as possible. Right now your contracts are enforced by fallible, highly paid interpreters (lawyers) executing source code in printed form.
Re:Smart contracts on Bitcoin by TheDong on Thursday January 14, 2021 @04:52PM (#25783177)
Right now contracts are enforced by lawyers who can interpret code that is not fully specified.

I would guess that hiring a contract developer to create a water-tight contract the computer is capable of understanding would be much more expensive than a lawyer.

This is in a similar vein to the fact that it's more expensive to have programmers create a perfect NLP app to translate something than it is to just hire a translator. Translating english into other languages is not a solved problem. Whether that other language is french or a smart contract does'nt seem that material.

It does seem like it will be much cheaper to make contracts in bitcoin that don't require translating thousand-line-english-documents into a smart contract.

However, you can already do that without a lawyer. If me and you sign a paper saying it's a contract that "I will pay you $200 for an item delivered on date X/Y, and if you're late I pay $20 less per day it's late", that's already legal and enforceable without a lawyer.

Coding that same thing in bitcoin would be harder than writing it on a paper still I think.

Re:Smart contracts on Bitcoin by stocknoob on Thursday January 14, 2021 @07:35PM (#25785276)
I'm sure creating the first spreadsheet application was more expensive than hiring an accountant. But not doing it 1 million times. Someone will make "contracts as a service" and competition will drive down the cost, until it's nearly free (as spreadsheets are today).
Re:Smart contracts on Bitcoin by TheDong on Thursday January 14, 2021 @10:01PM (#25786475)
I think there may be a difference. Accountants are humans that are trying to be computers.

Smart-contracts are computers trying to be human. Most contracts are flawed and only really matter when things go wrong. I'd rather that a human be there when things go wrong to understand the human intent behind the contract than have a computer which does not know the human intent, but is able to enforce the (likely flawed) computational representation of that intent.

Re:Smart contracts on Bitcoin by stocknoob on Friday January 15, 2021 @03:50PM (#25796243)
That's a tradeoff left to the contractual parties. The same human process that infers ill-specified intent can be corrupted to not execute that intent. If you want a human bootstrap, you hire a lawyer as an oracle which decides whether to process the contract specified in the blockchain.
Re:Smart contracts on Bitcoin by dperfect on Thursday January 14, 2021 @04:49PM (#25783132)
Wouldn't that just make those few oracles an increasingly valuable target for manipulation/corruption?
Re:Smart contracts on Bitcoin by stocknoob on Thursday January 14, 2021 @07:36PM (#25785284)
Do you trust Amazon, Google and Microsoft or millions of sysadmins in podunk companies to secure their infrastructure?
Re:Smart contracts on Bitcoin by dperfect on Thursday January 14, 2021 @10:02PM (#25786479)
> Do you trust Amazon, Google and Microsoft or millions of sysadmins in podunk companies to secure their infrastructure?

Of course not, and when they screw up, we lean on a robust (yet imperfect) legal system to intervene.

One of the advertised features of smart contracts is a reduced dependency on trust, so if they don't actually have that advantage (at least in relation to real-life interactions), then it's hard to say they're any better than traditional legal contracts for those use cases.

Re:Smart contracts on Bitcoin by larrysalibra on Friday January 15, 2021 @03:29AM (#25788370)
Hi! Larry, Founder of New Internet Labs, building in the Stacks ecosystem here.

Your understanding of smart contracts is correct - whenever smart contracts deal with stuff in the physical world you need to have an oracle.

In my experience over past half decade, there's been a lot of misleading information spread by people about smart contracts with schemes like claim to be a good use for smart contracts that suffer from oracle problems. A lot of this has come from naive people that just didn't other stand, but some has been spread by people looking to make others part with their money.

The way I think about smart contracts, is that if you need to trust someone in the real-world, by default you probably don't want or need a smart contract.

That said, there are a subset of such instances where smart contracts that depend on trust in real world entities have proven to be very useful. Wrapped tokens and stablecoins are an example of this - Tether being the most famous.

Re:Smart contracts on Bitcoin by blackbrokkoli on Friday January 15, 2021 @06:16AM (#25789514)
Tether aka the guys printing their own partially backed coin to enrich themselves with free Bitcoin, single-handedly increasing the Bitcoin volume to the current record heights in the process?

They are just now disclosing their finances to the feds, you might want to change your sales pitch...

Re:Smart contracts on Bitcoin by vmception on Thursday January 14, 2021 @04:46PM (#25783091)
For onchain purposes it can just be a matter of convenience, not a panacea or cure all
Re:Smart contracts on Bitcoin by ZitchDog on Thursday January 14, 2021 @04:47PM (#25783111)
It is much cheaper to execute a smart contract.