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?

  • @mister_monster@monero.town
    link
    fedilink
    1511 months ago

    Yes, but your naive (in the game theoretical sense; I’m not calling you naive) scheme is ripe for abuse.

    The depositee (for lack of a better word) has no incentive to he honest in this scenario. He can lock the deposit, and even if he can’t get it without consent of the depositor, the depositor is out money unless he “comes to consensus” with the depositee. It’s lose lose for him, he would Either take half his deposit than lose it all. The depositee then has an incentive to hold him hostage, which means the scenario is not trust less for the depositor.

    One way to do this is if the contract says “the depositor will not store this specified set of files with these hashes” that way it could he programmatically proven to the contract that the rules weren’t violated. But then you need to know beforehand every file you don’t want them to store, this is infeasible.

    This is why most schemes like this have some type of arbitrator, a third party that gets paid to resolve disputes. But then at that point, IMO you’re back where you started: going to court. There are very few niche scenarios where this scheme is better than the status quo.

    • 10ofSwordsOP
      link
      fedilink
      311 months ago

      I see.
      So I think the take out of your comment, is that this is possible in very, VERY specific conditions, that would work in tiny scenarios where the outcome is simple (the data on the cloud must not contain a set of word, as one condition). But as soon as we hit something slightly more complex, it becomes prone to loopholes.
      This is very instructive, thank you.

      • PupBiru
        link
        fedilink
        511 months ago

        usually smart contracts like this rely on other things that exist on the blockchain: transferring ownership of something, etc… this way, the smart contract can release funds to the specified parties under provable conditions

        these “things” that exist on the blockchain are sometimes representations of ownership (think like a deed for property: it’s just a piece of paper that represents ownership. that could easily exist on the blockchain, where the owner of the property is the person who is assigned the deed on-chain)… the you can have a smart contract that automatically releases funds to the seller once the deed has been transferred to the buyer

        there are also things called “oracles”, who are independent, trusted (or sometimes not so independent or trusted; you have to be careful!) third parties who write information to the blockchain… in this case, say for example you make a bet with someone that the global average temperature goes above a certain point between block A and block B: there’s an oracle that just writes the daily global average temperature to the chain. you both deposit into a smart contract that specifies the rules and reads the temperature from the oracle, then distributes based on the results… this situation is less ideal, because it relies on trusting a 3rd party in several ways, however it’s worth mentioning because many people see this as equivalent to the former situation when it’s really not

        • kirklennon
          link
          fedilink
          311 months ago

          these “things” that exist on the blockchain are sometimes representations of ownership (think like a deed for property: it’s just a piece of paper that represents ownership. that could easily exist on the blockchain, where the owner of the property is the person who is assigned the deed on-chain)… the you can have a smart contract that automatically releases funds to the seller once the deed has been transferred to the buyer

          The idea that property can be accurately recorded on a neutral blockchain is absolutely ludicrous. What happens when the owner of the property dies and they are unable to update the record? What if there is a dispute among the heirs? What if the owner goes bankrupt and their assets are seized by a third-party, but they are still unwilling to update the blockchain record? There is a reason that definitive records for real property are maintained by the government itself. Anything of real value must exist within a legal framework and be subject to a change of ownership under law or court order.

          If a judge determines a property belongs to someone else, the sheriff who comes to evict you isn’t going to care when you point to some record on a blockchain. If a blockchain record can’t be unilaterally updated by the government to change ownership, against the wishes of the current owner, then it cannot function as a true record. Consequently, any “smart” contract based on that record is unreliable as well since the seller may not actually own in the real world the thing their blockchain deed says they own.

          • PupBiru
            link
            fedilink
            211 months ago

            smart contracts are turing complete… you can allow anyone you like to transfer ownership (including various government departments)… the point of a smart contract isn’t that only a single entity can definitively take action; it’s that all possible actions are expressed as code and queryable by other contracts

            you’re totally right that right now smart contracts mean nothing, however we’re talking theoretical applications of a technology