fair computation with rational players adam groce and jonathan katz university of maryland

33
Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Upload: isaiah-ayers

Post on 28-Mar-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Fair Computation with Rational Players

Adam Groce and Jonathan KatzUniversity of Maryland

Page 2: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Two-party computation

Distance?

NYC LA

2800 2800

Page 3: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Two-party computation

Fairness: If either player learns the output,then the other player does also.

Impossible in general [Cleve86]

Page 4: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Dealing with this impossibility

Fairness for specific functions [GHKL08]

Partial fairness [BG89, GL90, GMPY06, MNS09, GK10], …

Physical assumptions [LMPS04, LMS05, IML05]

Here: assume rational behavior Generalizing prior work on rational secret sharing

[HT04, GK06, LT06, ADGH06, KN08, FKN10], …

Page 5: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Our results (high level)

Consider an ideal-world evaluation of the function (using a trusted third party) Look for a game-theoretic equilibrium in that

setting

Theorem (informal): If behaving honestly is a strict Nash equil. in the ideal world, then there is a real-world protocol that is fair when players are rational

Page 6: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Putting our result in context

Much recent interest in combining game theory and cryptography Applying game theory to cryptographic tasks

(bypass impossibility, increase efficiency, …) Using cryptography to remove a mediator

[CS82, Forges90, Barany92, DHR00, …] Defining cryptographic goals in game-theoretic

terms [ACH11] Had appeared to give a negative answer

regarding fairness

Page 7: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

The real-world game

1. Parties running a protocol to compute some function f

2. Receive inputs x0, x1 from known distribution

3. Run the protocol…

4. Output an answer

5. Utilities depend on both outputs, and the true answer f(x0, x1)

D

Page 8: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Goal

Design a “rational fair” protocol for f, i.e., such that running the protocol honestly is a computational Nash equilibrium That is, no polynomial-time player can gain

more than negligible utility by deviating

Note: stronger equilibrium notions have been considered in other cryptographic contexts We leave these for future work

Page 9: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Asharov-Canetti-Hazay (2011)

They consider a special case of our real-world game (with different motivation): Uniform, independent binary inputs x0 and x1

Computing XOR Utilities given by:

Results: There exists a rational protocol

with correctness ½ No rational protocol can be correct

with probability better than ½

Right Wrong

Right (0, 0) (1, -1)

Wrong (-1, 1) (0, 0)

Page 10: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Asharov-Canetti-Hazay (2011)

But wait! Guessing randomly is also an

equilibrium… …and achieves the same payoff

as any possible protocol (even with a trusted party)

Parties may as well not run theprotocol at all!

Right Wrong

Right (0, 0) (1, -1)

Wrong (-1, 1) (0, 0)

Page 11: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

The ideal-world game

1. Receive inputs x0, x1 from known distribution

2. Send an input (or ⊥) to the ideal functionality

3. Receive an output (or ⊥) from the functionality

4. Output an answer5. Utilities depend on both

outputs, and the true answer f(x0, x1)

D

Page 12: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Utilities

Right Wrong

Right (a0, a1) (b0, c1)

Wrong (c0, b1) (d0, d1)

Payoff Matrix

(Assume b > a ≥ d ≥ c)

Page 13: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Honest strategy of P0 (ideal world)

Send true input x0 to functionality

Output the answer given by the functionality If functionality gives , generate output ⊥

according to distribution W0(x0)

Not used in an honest execution,

but must exist.

We can assume W0(x0) has full support.

Page 14: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Our result

Honest behavior is a strict Nash

equilibrium in the ideal world

There exists a real-world protocol that is

rational fair

(Fail-stop or Byzantine setting)

Not true in [ACH11]

Page 15: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Our protocol I

Use ideas from [GHKL08, MNS09, GK10]

ShareGen

• Choose i* from geometric distribution with parameter p

• For each i ≤ n, create values ri, 0 and ri,1

• If i ≥ i*, ri, 0 and ri,1 are the desired outputs

• If i < i*, ri, 0 and ri,1 are chosen according to distributions W0(x0) and W1(x1)

• Secret-share each ri, j value; give one share to P0 and the other to P1

Page 16: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Our protocol II

Compute ShareGen (unfairly) In round i, parties exchange shares

P0 learns ri,0 and P1 learns ri, 1

If the other player aborts early, output the last value learned

If the protocol finishes, output rn,0 and rn,1

Page 17: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Analysis – will P0 abort early?

Assume P0 is notified once i* has passed

Aborting after this point cannot help

If P0 doesn’t abort early → utility a0

If P0 aborts early….

… in round i* → utility b0

… before round i* → utility strictly less than a0

Both correct

P0 correct, P1 incorrect

From ideal world equilibrium assumption

Page 18: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Analysis – will P0 abort early?

When P0 sees output y in round i:

Expected utility if abort

Probability this is i*

Utility if this is i*

Probability this is

before i*

Expected utility if this is

before i*

+

=

Page 19: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Analysis – Will P0 abort early?

When P0 sees output y in round i:

Expected utility if abort

Probability this is i* b0

Probability this is

before i*

Expected utility if this is

before i*

+

Page 20: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Analysis – Will P0 abort early?

When P0 sees output y in round i:

Expected utility if abort

Probability this is i* b0

Probability this is

before i*a0 - constant

+

Page 21: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Analysis – Will P0 abort early?

Probability this is i* =

Pr[P0 gets y and this is i*]

Pr[P0 gets y]

When P0 sees output y in round i:

Page 22: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Analysis – Will P0 abort early?

Probability this is i* =

Pr[P0 gets y | this is i*]

Pr[P0 gets y]

Pr[this is i*]

When P0 sees output y in round i:

Page 23: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Analysis – Will P0 abort early?

Probability this is i* =

Pr[P0 gets y | this is i*] Pr[this is i*]

When P0 sees output y in round i:

Pr[P0 gets y | this isn’t i*]

Pr[P0 gets y | this is i*]

Pr[this is i*]

Pr[this isn’t i*] +

Page 24: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Analysis – Will P0 abort early?

Probability this is i* =

Pr[P0 gets y | this is i*]

When P0 sees output y in round i:

Pr[P0 gets y | this isn’t i*]

Pr[P0 gets y | this is i*]

Pr[this isn’t i*] +

p

p

Page 25: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Analysis – Will P0 abort early?

Probability this is i* =

When P0 sees output y in round i:

Pr[P0 gets y | this isn’t i*]

Pr[this isn’t i*] +

p

p

constant

constant

Page 26: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Analysis – Will P0 abort early?

Probability this is i* =

When P0 sees output y in round i:

Pr[P0 gets y | this isn’t i*] +

p

p

constant

constant1-p

Page 27: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Analysis – Will P0 abort early?

Probability this is i* =

When P0 sees output y in round i:

+

p

p

constant

constant1-pconstant > 0

Can make arbitrarily low by choice of p

Page 28: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Analysis – Will P0 abort early?

When P0 sees output y in round i:

Expected utility if abort

Probability this is i*

b0

a0 - constant

+

Probability this is

before i*

Page 29: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Analysis – Will P0 abort early?

When P0 sees output y in round i:

Expected utility if abort

Probability this is

before i*

arbitrarily low b0

a0 - constant

+

Page 30: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Analysis – Will P0 abort early?

When P0 sees output y in round i:

Expected utility if abort

arbitrarily low b0

1 – arbitrarily low a0 - constant

+

≤ < a0

Utility of not aborting

Page 31: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Conclusion

Rational fairness is possible! As long as there is a strict preference for

fairness in the ideal world (by at least one of the parties)

The more pronounced parties’ preferences are, the more round-efficient the real-world protocol is

Page 32: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Extensions and open problems

Multi-party case, more general utilities Recent work with Amos Beimel and Ilan Orlov

Open: Prove a (partial?) converse of our result Consider stronger notions of equilibrium in the

real world Address other concerns besides fairness?

Page 33: Fair Computation with Rational Players Adam Groce and Jonathan Katz University of Maryland

Thank you