1102 sats \ 0 replies \ @supertestnet 19 Apr freebie \ on: Smart Contracts? Thoughts from an IP and Contract Attorney bitcoin
I think it is possible to automate uncertain future events. I've tried to present one way to do this in my loan shark tool. When you use that tool, you create a contract to borrow money first and, if someone accepts and loans you money, you pay off your loan later. But you don't know, at creation time, what utxo you will use to pay it off. To handle this uncertainty, I make it so that you sign a transaction with sighash_anyone_can_pay. This allows you to add a new utxo to the transaction in the future without invalidating your counterparty's signature.As a result, you can contractually agree to give your counterparty a utxo that does not yet exist, and face a penalty if you do not. So there actually is a way to (partially) automate some future uncertain conditions.
Agreed. You can create a physical contract (or a digital one, for that matter) that says something like "I agree that this house shall become Jerry's if X bitcoins end up in address Y before date Z." If that happens, you've got public proof on the blockchain, and if it doesn't happen you can prove that to. So you can bring that data to court if necessary, and that is a form of partial automation, but it's not full automation. Someone still has to go to court if there's a breach of contract (e.g. the seller refuses to leave the house).
It seems to me that most "complex" contracts emerge from taking a simpler version and adding more text to it. Those simpler versions were, however, perfectly valid on their own, and many of them can be at least partially automated via bitcoin. His point seems to be that "most" contracts have evolved beyond simple versions, but I don't think that's a positive development. Return to simple contracts, and then automate them as much as possible (well...as much as is desirable anyway).