Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

“Expert-mode” discussion #64

Closed
0xjona opened this issue Jul 12, 2022 · 8 comments
Closed

“Expert-mode” discussion #64

0xjona opened this issue Jul 12, 2022 · 8 comments
Assignees

Comments

@0xjona
Copy link
Collaborator

0xjona commented Jul 12, 2022

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 0xjona moved this to 📫 in retriev.org Jul 12, 2022
@0xjona 0xjona moved this from 📫 to Backlog in retriev.org Jul 12, 2022
@0xjona
Copy link
Collaborator Author

0xjona commented Jul 12, 2022

@irenegia
Copy link
Collaborator

irenegia commented Jul 12, 2022

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:

  • remove the checks payment ≤ collateral ≤ 1000 * payment from the smart contract;
  • add two operational modes for the clients in the app:
    • "standard mode":
      • the payment is chosen by the client (but the app would suggest a value based on the duration, file size and provider chosen, see Provider software upgrades CLI #67)
      • the collateral is chosen by the client and the interface checks that payment ≤ collateral ≤ 1000 * payment;
    • "expert mode":
      • the payment and the collateral value can be anything, no check or suggestion;

@irenegia
Copy link
Collaborator

@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
Copy link
Collaborator

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

@0xjona 0xjona mentioned this issue Jul 12, 2022
@nicola
Copy link

nicola commented Jul 13, 2022

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

@danlessa
Copy link

danlessa commented Jul 19, 2022

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
Copy link
Collaborator

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
Copy link
Collaborator Author

0xjona commented Aug 8, 2022

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/#/)

@0xjona 0xjona closed this as completed Aug 8, 2022
Repository owner moved this from Backlog to Validation in retriev.org Aug 8, 2022
@0xjona 0xjona moved this from Validation to Done in retriev.org Aug 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants