threefoldtech / home

Starting point for the threefoldtech organization
https://threefold.io
Apache License 2.0
9 stars 4 forks source link

STORY: Decentralized node sales #1217

Closed xmonader closed 11 months ago

xmonader commented 2 years ago

The aim is to provide a mechanism for resellers to register nodes on the chain for selling and for users to be buy these nodes

as a seller

I should be

as a buyer

I should be

notes

xmonader commented 2 years ago

cc @DylanVerstraete @LeeSmet

LeeSmet commented 2 years ago

So the main concern I have is the lack of central authority also makes it difficult to establish some kind of abuse prevention scheme. As it stands, this can be abused by either party. Next to this, if we assume both parties are honest, there is also the scenario where something goes wrong in between, i.e. mostly during shipping. Even if we assume honest parties, it is another thing to assume a second party will actively cooperate with another party to recover missing or damaged goods, if said party does not stand to gain anything from it and will also not lose anything from it (as at this point he invests time and possibly other resources while not gaining a return, therefore the expected return of this action is negative in value). Small overview of immediate issues:

Abuse by seller

We start with a regular flow. The seller sells a node and gets the shipping details from the buyer. After this, the buyer transfers the TFT to an escrow account. At this point, the seller would normally ship the node. However, he can now simply boot the node himself with the farm id of the buyer. The escrow will unlock, so the seller gets the TFT, while he still has the hardware himself. After receiving the tokens, he powers off the node again, wipes it, and puts it up for sale again. The buyer lost his TFT and has no node.

Abuse by buyer

Similarly this flow starts of normal. Buyer buys a node from a potential seller, sends money to the escrow, and conveys his shipping details to the sender. The sender then prepares the node and ships it to the buyer. At this point, the buyer can:

3rd party issues

There are also potential issues with third parties, mostly shipping companies. Firstly, since the proposed model doesn't give the tokens to the seller until the buyer successfully connects it, it is only the seller who puts up a risk, and therefore is enticed to take action. If a node is delivered at a wrong address, the buyer has no incentive to go and look for it, other than the locked tokens might decrease in value until they are returned. Secondly, if the node is stolen in between the buyer and seller, then it is all on the seller to recover it. This is particularly bad if it is an international shipping, as the node might be stolen in the country where the node is delived, and as such the seller would need to work with foreign law enforcement.

xmonader commented 2 years ago

@despiegk please read

despiegk commented 2 years ago

as discussed yesterday 2 suggested solutions

  1. buyer needs to sign for reception of the nodes this resolves first issue of abuse
  2. we should create a sort of mediation council to help when issues arise in the process, we do realize this adds a more centralized component to it but for sure it's less centralized than what we do today. This Mediation Council can be rewarded from a fee of e.g. 2% on each sell which then pays for the people investigating what happened e.g. was the good shipped, was it an error, ... We will probably need this for other usecases as well e.g. wrong content on our grid.
Nelson361 commented 2 years ago

Duck Farm Data here. I know this is preliminary but here are some of my concerns. At first I found this kind of shocking but once I let the timetable and the novel idea sink in, I am excited for it assuming its done right.

I’m all for being paid in crypto, but at this time TFT wouldn’t be a good currency option, too hard to get and not enough liquidity. In a few years when TFT is freely available and doesn’t have slippage, sure. My CPA will hate me, but I’d like it.

Escrow until the node boots is an absolute deal killer for me. There is a node I shipped out that has been sitting in the box for 2 weeks. I have over $40k in bills to pay, delaying until a node boots just won’t work. Plus, all you would have to do is pop the bios battery out, reset the password, and boom, free computer. Kristoff is right on this one, just have it signed for, as any delivery over $1000 should be. Successful delivery can release payment. Yes, releasing payment once the shipment is received can also be abused, just like the infamous ebay brick selling scandals, but a seller would only be able to get away with this once.

Kristoff is right too on a community dispute council. I just read this article last month, I recommend everyone read this too. https://www.wired.com/story/china-peoples-courts-resolve-online-disputes-tech-firms/

How would tax numbers and taxes be handled in a decentralized manner? Unless Threefold wants to handle the sales taxes like eBay does, sellers will have to be a legal business entity here.

xmonader commented 2 years ago

moved to 3.8 @LeeSmet and @despiegk should discuss

LeeSmet commented 2 years ago

Imo the issues still stand. If we require a signature on delivery, we essentially ask a user to do a manual task. This leads to the following:

As for the mediation council, I'm highly sceptical that these people will be able to do something, without a proper legal framework. This is worsened by the fact that seller and buyer on chain are to all intents and purpose anonymous entities, and the fact that a sale can be international. Without proper terms, this makes the legal jurisdiction ambiguous to begin with.