As a foreword, yes I am very aware of resources like https://web3isgoinggreat.com You don’t need to spam the comments with the link.
I am not asking about your general opinions on why crypto kittens is a jerk fest for crypto bros. Please cut the automatic generic rant on why cryptocurrencies is the sandbox of brainless dopamine monkeys. I am asking about your sentiment on a specific scenario, that tries to solve a real problem.
This is just an example, for oversimplification.
In a trust-less environment, one person shares some of their cloud space for a fixed amount of time, with another person they don’t know much.
The person asking for the cloud space, promises that they will use it only for X,Y or Z. They both agree to leave all the data in clear text (it is easy to prove whether there has been a breach of trust).
If the person doesn’t respect their engagement, they must be penalized. In this scenario, there is no legal tool to ensure this.
Enters the smart contract. The individual asking for a share of the cloud space, deposits a certain amount of ETH in a smart contract. The smart contract itself ensures that the owner of the cloud space will NEVER have access to the deposit fund.
Both individuals sign the smart contract. After a fixed amount of time, the depositor can retrieve their deposit back.
However, if for somewhat reason the depositor breaks their engagement (and do something outside X,Y, Z), the person sharing their cloud space can refuse the refund of the deposit.
Both individuals must then reach a consensus, or the deposit will stay frozen on the smart contract forever.
In this case, would the use of a smart contract be a reasonable solution to you?
No, but mostly for very boring reasons that have nothing to do with the technology:
I… don’t even know two people outside of family I would trust with a deposit (any deposit, in any amount) – e.g. pay me 10% in cash right now or I’ll claim you breached the terms of use, keeping your deposit hostage.
Wonder if someone can find a way to do something vastly illegal with the cloud resources that makes me more money than the deposit? Or just blackmail me? So I’d need a normal legal contract with the other party’s real name to avoid this liability. At which point the whole smart contract is arguably superfluous.
There ARE normal legal tools that handle this. You can put money in escrow at a bank, or use a lawyer. It’s… actually a pretty normal thing to do in many industries. It’s not particularly expensive as far as I know. There are problems with it, but none of them are of the form “Oh no, if only we used a trustless system with no middleman!”
Finally one technical point: smart contracts are only trustless if I’m a programmer and the smart contract source code is provided (in which case there’s no money to be made providing the service, as I can just copy your work and it’s a race to the bottom). Or if I’m familiar with assembly language (which I am), in which case it’s an unproductive use of my time and a lawyer or bank is much much cheaper than my time spent as an auditor (I could be working on other things). So it’s a bit hard to come up with any sort profitable enterprise, and most programmers I know strongly prefer to be paid for their time.
NB I’ve written various smart contracts for amusement (on various testnets only). I haven’t found anything I’d want to use them for in production. It was a fun academic exercise though.