A Verifiable Random Beacon

36
A Verifiable Random Beacon Luis von Ahn Carnegie Mellon University

description

A Verifiable Random Beacon. Luis von Ahn. Carnegie Mellon University. A Random Beacon…. A Random Beacon continually emits random integers 1  i  k regularly spaced apart in time. 7 3 11 1 2 9. . A Random Beacon…. - PowerPoint PPT Presentation

Transcript of A Verifiable Random Beacon

Page 1: A Verifiable Random Beacon

A Verifiable Random Beacon

Luis von AhnCarnegie Mellon University

Page 2: A Verifiable Random Beacon

A Random Beacon…

A Random Beacon continually emits random integers 1 i k regularly spaced apart in time.

7 3 11 1 2 9

Page 3: A Verifiable Random Beacon

A Random Beacon…

All integers emitted by the Beacon are time-stamped and signed.

S(7,t) S(3,t+) S(11,t+2)

Page 4: A Verifiable Random Beacon

We will assume that the Beacon is trusted: nobody knows or can predict in advance the value of the next integer (Not even the owner of the Beacon).

A Random Beacon…

Page 5: A Verifiable Random Beacon

Applications:Lotteries

Page 6: A Verifiable Random Beacon

Applications: Contract Signing

Alice and Bob negotiate a contract C.

If Alice signs C and sends it to Bob, then he can delay the return of his signature. During this time Alice is committed to C but Bob is not.

This problem is usually solved using a trusted third party

Page 7: A Verifiable Random Beacon

Applications: Contract Signing

Using a Random Beacon, Alice and Bob can sign a contract with a very small probability of being able to cheat.

Rabin ‘83

Page 8: A Verifiable Random Beacon

Contract Signing with a Beacon

If for some Beacon message M, Bob can produce

then I, Alice, will be committed to C.

Signed Alice.

(C, M) signed by Alice

M signed by Beacon

and

If for some Beacon message M, Alice can produce

then I, Bob, will be committed to C.

Signed Bob.

(C, M) signed by Bob

M signed by Beacon

and

Page 9: A Verifiable Random Beacon

Alice BobChoose a

(future) time t

tChoose 1 i k

i

SAlice(C, (i,t))

SBob(C, (i,t))

Contract Signing with a BeaconIf for some Beacon message M, Alice can produce

then I, Bob, will be committed to C.

Signed Bob.

(C, M) signed by Bob

M signed by Beacon

and

C takes effect if the pair (i,t) matches a Beacon message

Page 10: A Verifiable Random Beacon

Alice BobChoose a

(future) time t

tChoose 1 i k

i

SAlice(C, (i,t))

SBob(C, (i,t))

Contract Signing with a BeaconAlice and Bob iterate this procedure >> k times

Page 11: A Verifiable Random Beacon

Alice BobChoose a

(future) time t

tChoose 1 i k

i

SAlice(C, (i,t))

SBob(C, (i,t))

Contract Signing with a Beaconw.h.p. some pair (i,t) matches a beacon message

Page 12: A Verifiable Random Beacon

Alice BobChoose a

(future) time t

tChoose 1 i k

i

SAlice(C, (i,t))

SBob(C, (i,t))

Contract Signing with a BeaconThe probability of Bob being able to cheat is 1/k

Page 13: A Verifiable Random Beacon

How is this better than the regular trusted party solution?

Contract Signing with a Beacon

Page 14: A Verifiable Random Beacon

Applications: Fuhrman Buster

Bennett ‘97

Mark Fuhrman, a detective in the OJ Simpson case, was accused of presenting modified tapes of the crime scene to the court.

The Fuhrman Buster is a video camera that prevents anybody from introducing modified tapes to court.

Page 15: A Verifiable Random Beacon

Fuhrman Busting with a Beacon

Repository

Beacon

Fuhrman Buster

Crime Scene

hash

This prevents pre-recordings, as well as post-editings!

Page 16: A Verifiable Random Beacon

Other Applications?

Page 17: A Verifiable Random Beacon

We want to build a Random Beacon here at CMU!

Page 18: A Verifiable Random Beacon

Get truly random bits

Broadcast them

Convince everybody that we should be trusted

To do…

$$$ Win the lottery $$$

Page 19: A Verifiable Random Beacon

www.lavarand.sgi.com

SGI has a random beacon.

Their random numbers come from lava lamps.

Page 20: A Verifiable Random Beacon

Bits from Pulsars

Nobody knows how to predict the amplitude of the next pulse.

On Off

We can output 1 if the measured amplitude is above the median and 0 if it

is below.

Page 21: A Verifiable Random Beacon

Get truly random bits

Broadcast them

Convince everybody that we should be trusted

To do…

$$$ Win the lottery $$$

Page 22: A Verifiable Random Beacon

Get truly random bits

Broadcast them

Convince everybody that we should be trusted

To do…

$$$ Win the lottery $$$

Page 23: A Verifiable Random Beacon

www.lavarand.sgi.com

They convince us to trust them by showing a live picture of the lamp that generates the bits.

Page 24: A Verifiable Random Beacon

It is hard to convince people to trust you

Page 25: A Verifiable Random Beacon

Lavarand + Fuhrman Buster

Though this appears circular, the idea is not totally out the question.

Page 26: A Verifiable Random Beacon

Get truly random bits

Broadcast them

Convince everybody that we should be trusted

To do…

$$$ Win the lottery $$$

Page 27: A Verifiable Random Beacon

Some pulsars can be seen from anywhere in the northern hemisphere

Bits from Pulsars

If we get our bits from pulsars, others can see that we are outputting the right bits!

B0329+54

Page 28: A Verifiable Random Beacon

A Verifiable Random Beacon

We will convince people to trust us by getting our random bits in a way that:

others can verify that we are not modifying the stream

Page 29: A Verifiable Random Beacon

Wait a Second…

Measurement Error: no two measurements of the pulse amplitude will be exactly the same!

This might allow us to win the lottery! If someone disagrees with our measurements, we can always say it was a measurement error.

0010101110001010110

Page 30: A Verifiable Random Beacon

Wait a Second…

Measurement Error: no two measurements of the pulse amplitude will be exactly the same!

This might allow us to win the lottery! If someone disagrees with our measurements, we can always say it was a measurement error.

0010101110001010110

Page 31: A Verifiable Random Beacon

Wait a Second…

Measurement Error: no two measurements of the pulse amplitude will be exactly the same!

This might allow us to win the lottery! If someone disagrees with our measurements, we can always say it was a measurement error.

0001101110001010111

Page 32: A Verifiable Random Beacon

But we want to be trusted, so we want to find a way in which our bits always agree with the verifier’s bits.

A and B are chosen uniformly from {0,1}n

A and B are highly correlated: Pr(Ai Bi)

Pr( h(A) h(B) )

We want h:{0,1}n {0,1} balanced such that

Page 33: A Verifiable Random Beacon

Ke Yang: If A and B are chosen uniformly

from {0,1}n and Pr(Ai Bi) then for all

balanced h:{0,1}n {0,1}, we have

Pr( h(A) h(B) )

According to this, our best bet is to make as small as possible.

Page 34: A Verifiable Random Beacon

But there is hope…

It is not true that the owner of the beacon can change whichever bit she wants

Page 35: A Verifiable Random Beacon

Ideas are welcome

Page 36: A Verifiable Random Beacon