Distributed Computing Group TexPoint fonts used in EMF. Read the TexPoint manual before you delete...

21
Distribute d Computing Group Distributed Asymmetric Verification in Computational Grids Michael Kuhn Stefan Schmid Roger Wattenhofer IPDPS 2008 Miami, Florida, USA
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    229
  • download

    2

Transcript of Distributed Computing Group TexPoint fonts used in EMF. Read the TexPoint manual before you delete...

DistributedComputing

Group

Distributed Asymmetric Verification in Computational Grids

Michael KuhnStefan SchmidRoger Wattenhofer

IPDPS 2008Miami, Florida, USA

2 Michael Kuhn, ETH Zurich @ IPDPS 2008 2

Grid Computing

• Goal: Use idle computing resources worldwide– Examples: seti@home,

folding@home, ...

3 Michael Kuhn, ETH Zurich @ IPDPS 2008 3

Model

`

Server

Clients (Participants)

#clients: 104-106

Sends work-units (WU)

Returns result

4 Michael Kuhn, ETH Zurich @ IPDPS 2008 4

• Why should people participate?– Incentives: honour („user of the day“), money, ...

• But: Incentives attract cheaters!

The Problem of Cheaters

5 Michael Kuhn, ETH Zurich @ IPDPS 2008 5

• Verification required– Today: Redundancy

– E.g. seti@home: Send the same task to 3 participants

– This paper: Distributed asymmetric checking– Asymmetry: Verification is often cheaper than computation– Distributed: Participants check each other

The Problem of Cheaters

Random value

6 Michael Kuhn, ETH Zurich @ IPDPS 2008 6

Contributions

• Distributed checking algorithm integrated in BOINC– Faster than redundancy if asymmetric checking function exists– Better guarantees than typically used redundancy schemes

• Resistant against– Dominance of seemingly fast clients– Lazy checking– Sybil attacks

• Proof-of-concept implementation for discrete logarithm problem– Asymmetric checking function for Pollard-rho algorithm

7 Michael Kuhn, ETH Zurich @ IPDPS 2008 7

Related Work

• Cheating is a problem[Kahney, Wired Magazine, Feb. 2001]

– Seti@home: more than 50% of resources spent on cheating!

• Ringer scheme (precompute selected results)[Golle and Mironov, CT-RSA‘01], [Szaja et al., SP‘03]

– Additional work on the server (precomputing ringers)

• Commitment scheme with Merkle-tree[Du et al., ICDCS‘04]

– Additional work on the server (recompute some work-units)

• Cryptographic protocolse.g. [Aiello et al, ICALP‘00], [Cachin et al., EUROCRYPT‘99]

– Often computationally too expensive in practice

8 Michael Kuhn, ETH Zurich @ IPDPS 2008 8

Challenges

• Cheaters seem to be much faster than ordinary participants– 1% cheaters can submit >99%

of the results

• Cheaters stay honest for a long time, and only then start to cheat– Opens many possibilities for cheaters

– Never trust a participant

• Lazy checking– Cheaters can calculate everything correctly but cheat during

verification (i.e. simply say the result was correct)

Honest

Cheater

Clients

Results0

1020

30

40

50

60

70

80

90

100

9 Michael Kuhn, ETH Zurich @ IPDPS 2008 9

Cheater Characterization

• Fraction of cheating clients: p– Problem: Sybil attacks

• Fraction of incorrect results in the system: r– Problem: Random results can

be computed very fast– If no countermeasures are

taken: r = 1

• Fraction of computing power of cheater(s): q– Computing power is expensive

=> q is limited!– Goal of cheaters: Pretend to

have worked more than what is possible with the available computing resources

r

p

q

10 Michael Kuhn, ETH Zurich @ IPDPS 2008 10

Asymmetric Verification

• Performance property: It is much cheaper to verify the correctness of a result than to calculate the result– Asymmetric

• Fingerprint property: A verifier calculates a fingerprint rather than a boolean result– Server compares fingerprints– Only honestly computed checks can lead to a positive result– Observe: Collusions still possible

• Uniqueness property: Results are either inherently unique, or the dependence from the input values can be verified– Prevents replay attacks

Example: Task: Find prime factors of x = 10829; Solution: {7, 7, 13, 17}Checking input: {7, 7, 13, 17}; Fingerprint: 7 * 7 * 13 * 17 = 10829

11 Michael Kuhn, ETH Zurich @ IPDPS 2008 11

Distributed Verification: Algorithm

• Prerequisites– Fraction of cheaters is limited and considerably smaller than

50% (e.g. p ≤ 10%) => details later– Punishment is possible

• Check each result, until a clear decision is possible– Result good if „considerably more“ positive than negative checks

(and vice versa)– As p is limited, high probability of correct decision (see paper for details)

– Punish cheaters (including colluders) and remove all their pending results

• Assign checks uniformly at random among active clients– Fast clients (often cheaters) cannot dominate checking

12 Michael Kuhn, ETH Zurich @ IPDPS 2008 12

Lifecycle of a Task

Server creates WU(input x)

Client 1 computes result and adds

fingerprint

Server chooses client 2 uniformly at random and

stores fingerprint

f(x)

x

Client 2 computes result and adds

fingerprint

c(x,f(x))

Server chooses client 3 uniformly at random and

stores fingerprint

Result good, as a „large majority“ of fingerprints match

the original one.

Save result in DB

One after the other, to mitigate collusion

1

2

3

4

5

13 Michael Kuhn, ETH Zurich @ IPDPS 2008 13

Preventing Sybil Attacks

• Problem: Zero cost identity– Solution: Don‘t assign identity for free!

• Idea: Couple p (#clients) to q (computing resources)– New client has to perform some work without getting credits

=> buys identity– Goal: make the number of incorrect results a cheater can deliver

before being detected lower than the price to buy the identity– Observe: For honest participants the price is low (as they only

have to „pay“ once)

14 Michael Kuhn, ETH Zurich @ IPDPS 2008 14

Analysis (Simulation)

• Number of checks vs. number of results (p = 10%)– Asymmetry: Checking is 50 times faster than calculation– Fastest clients 100 times faster than slowest

Fast clients do not dominate checking!

15 Michael Kuhn, ETH Zurich @ IPDPS 2008 15

Analysis (Simulation) (2)

• Queue lengths– Number of pending checks for different confidence values

16 Michael Kuhn, ETH Zurich @ IPDPS 2008 16

Implementation in BOINC

17 Michael Kuhn, ETH Zurich @ IPDPS 2008 17

ECC Challenge

• Task: Break large discrete logarithm on elliptic curve– Currently: 130-bit– Reward: 20,000 USD

• Discrete Logarithm– Given a group with generator g, as well as a group element h:

Find x, such that g^x = h

• Best known algorithm: Pollard-Rho– Well suited for parallelization and use in grids

18 Michael Kuhn, ETH Zurich @ IPDPS 2008 18

Pollard-Rho (Sketch)

x0f(x0)

x1

f(x1)

d1,3 = d2,2

d1,1

d1,2

d1,3=d2,2

d2,1

d3,1

d3,2

d1,1

d1,2

d1,3

d2,1

d2,2

d3,1

d3,2

Normal point

Distinguished point

19 Michael Kuhn, ETH Zurich @ IPDPS 2008 19

Asymmetric Verification (Sketch)

• Not every point possesses a predecessor– Backward iteration has high

probability to fail after a certain number of steps

• Finding a distinguished point together with the required parameters is asymptotically as expensive as forward iteration

• Checking function: Report the x-th predecessor – Verifier can forward iterate x steps and check whether the

distinguished point is found

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 50 100 150 200 250

Iterations

Pro

ba

bil

ity

P(length > 50) < 10%

20 Michael Kuhn, ETH Zurich @ IPDPS 2008 20

Conclusions

• Algorithm for distributed verification in volunteer computing, which is resistant against:– Seemingly fast clients (uniform selection of verifier among all

active clients)– Lazy checking (fingerprint property)– Replay attacks (uniqueness property)– Sybil attacks (don‘t assign identity for free)

• Downside: Strong assumption on the verification function– But: such verification functions exist (Pollard-Rho)

• Future: More generic approaches

21 Michael Kuhn, ETH Zurich @ IPDPS 2008 21

Thanks for your Interest

• Questions?