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

added potential solutions #13

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

MotherSky
Copy link

Signed-off-by: Ayoub ayoubtaleb.edu@gmail.com

Signed-off-by: Ayoub <ayoubtaleb.edu@gmail.com>
@Ethereumx
Copy link
Collaborator

We look for a single solution not many.
First proposition:
-The host is not to be involved. choose another third party (1 of the guests)

Second proposition:
-who will encrypt/decrypt the position
-What guarantee that all our smart guests will accept the sol. I can just refuse as I aim for the last position since I am thirsty.
your sol is equivalent to a random choice of the order of the cups, with a difference that the cups are put then the order is revealed afterwards.

@Ethereumx
Copy link
Collaborator

@bellaj

@bellaj
Copy link
Owner

bellaj commented Dec 28, 2022

I think the second proposition has some good insights. let's consider the host can only confirm something is true(example confirm labels after their unveil) but he will not perform any action or enforce something on the guests.

@MotherSky
Copy link
Author

MotherSky commented Dec 28, 2022

What guarantee that all our smart guests will accept the sol. I can just refuse as I aim for the last position since I am thirsty.

Well assuming the guests are smart and they know some basic cooperative game theory knowledge, they will have to respect the rules since they know It is their best shot at drinking water and satisfying their thirst (or else the solution will not be applied and they will all stay thirsty). let's take the following payoff matrix of any 2 random guests as an example: ( where -1 means no one will be able to drink water since the cups are not on the table)

          Accept  Refuse
        +-------+-------+
 Accept |  2/N  |  -1   |
        +-------+-------+
 Refuse |   -1  |  -1   |
        +-------+-------+

And since our game is deterministic ( winner will be only chosen after all guests respect the rules and put their cups on the table thus no deadlock), while also being fair and fully verifiable after. It is statistically better to go out with a 2/N chance than waiting to be the last infinitely and staying thirsty not drinking at all.

your sol is equivalent to a random choice of the order of the cups, with a difference that the cups are put then the order is revealed afterwards.

Well my last solution is about a trustless and fair solution to all the guests. For example in a smart contract, the code and the agreements contained there will be executed automatically and be fully transparent and verifiable. For the specifics, once they agree, any Verifiable Random Function or even a merit-based game could work here (If they all agree on it of course.)

@MotherSky
Copy link
Author

@bellaj

I think the second proposition has some good insights. let's consider the host can only confirm something is true(example confirm labels after their unveil) but he will not perform any action or enforce something on the guests.

Well, consider the host can only confirm something if the labels are but he will not perform any action or enforce something on the guests. This will be a bit tricky but will not deviate from the original proposal. This process will be executed as follows:

The guests will be divided into 1 picker guest and N-1 labelers.

  1. One of guest would be picked out voluntarily or randomly (This will be the picker that will order the cups and put them on the table without having any knowledge of the labelling process).
  2. The other guests will then label the cups (the host can act as a validator here or, even better, to keep all the guests satisfied including the picker guest, the labelers can write out all the labels and their owners as a proof then hand it out the host to ensure it will not be tampered with by any guest).
  3. The cups will be brought to the picker guest to order them on the table.
  4. After the cups are put on the table, either have the host confirm the legitimacy of the labels, or retrieve the proof back from the host and verify the labels themselves.

The two guests with the labels corresponding to the first and last cup can now drink/share the water depending on their altruism/selfishness, as all the cups are put on the table and there will be no deadlock.

As for why would the guests would accept such solution, It is because it's their only shot to quench their thirst as explained in my last reply.

Any feedback is appreciated so I can modify my original answer.

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

Successfully merging this pull request may close these issues.

3 participants