cryptonetlab / retriev

Home of Retriev protocol (by CryptoNet + YOMI)
https://retriev.org
18 stars 6 forks source link

“Expert-mode” discussion #64

Closed 0xjona closed 1 year ago

0xjona commented 1 year ago

We are envisioning an expert mode to let the client interact with the protocol in deep, eventually leading to setting parameters which might cause it to “fail” (e.g. retrieval not guaranteed or deal not accepted)

The expert mode will allow the client to:

  1. Insert an “appeal key/address” which is different than the client address (used to sign the deal proposal) in the deal (this key can sign appeal creation messages)

  2. Set deal parameters like payment and collateral without following our guidelines (SLA)

@nicola

0xjona commented 1 year ago

@claudiofabbro @turinglabsorg @Steve-Rog

irenegia commented 1 year ago

More details about point 2:

Currently the app allows the client to choose a payment, then automatically fill in the collateral filed with the same value. But the collateral can be changed by the client, as long as the new value is in the range [payment, 1000*payment]. These conditions are also checked by the smart contract.

The change that was proposed is:

irenegia commented 1 year ago

@nicola: I am concerned about this change, because deals that are created with the "expert mode" do no assure anymore that answering the retrieval request is the rational choice (ie, the SLA is quite different from the one that is advertised for our service).

Do we really need a "expert mode"? Note that already today the client can choose the value of the collateral (we only force this value to be in a range, a large one).

I think that we only need to allow payment to be zero and then we can leave the app and smart contract as it is now.

irenegia commented 1 year ago

Also, I am curious to know the opinion of @danless about this! Thanks!

nicola commented 1 year ago

Our UX should ensure rationality, but if people are incentivized from other ways, we should respect that.

danlessa commented 1 year ago

Hey @irenegia and @nicola, on the "rationality" of the expert mode:

For the sake of argument, let's define the "effective slashing multiplier" as being m_s = payment/collateral. The current ranges imply m_s in [1, 1000].

Higher values of m_s tends to be less beneficial to providers (because there's more to lock and put at risk). The benefit for the clients comes from any effects that originate from the marginal increase in probability of them actually getting their retrievals.

In that sense, higher m_s is always better for the Clients, albeit with diminishing rewards. For the providers, the less the better.

The current economic analysis recommends a range of m_s = [0, 1000] using a criteria that there's a significantly higher incidence of proposals being rational for both actors on that region. It is still possible to be rational for values beyond that, but they're unlikely given our selection of priors.

So should we allow it? I don't see any strict problem with that, but we need to make sure that the Provider knows what he is doing if m_s>1000, or the Client knows what he is doing if m_s<1

irenegia commented 1 year ago

ok @danlessa, thanks!

there will be disclaimer showing up in the expert mode

Right now we have a disclaimer for users in the app, @turinglabsorg would it be possible to have a disclaimer also for the providers on the CLI (when accepting a very large collateral)?

0xjona commented 1 year ago

90% of UX has been done, we'll improve that after feedbacks and during the next phase of development (check https://https://dapp.pldr.dev/#/)