Byzantine Agreement and Multi-Party Computation (MPC)

25
Byzantine Agreement Byzantine Agreement and and Multi-Party Computation Multi-Party Computation (MPC) (MPC) Aris Tentes Aris Tentes

description

Byzantine Agreement and Multi-Party Computation (MPC). Aris Tentes. What is Byzantine Agreement/General?. History of the name (Byzantium 1453) Simulation of broadcasting: i) P sends a value to n players and they must decide on the same value (B General) - PowerPoint PPT Presentation

Transcript of Byzantine Agreement and Multi-Party Computation (MPC)

Page 1: Byzantine Agreement and  Multi-Party Computation (MPC)

Byzantine AgreementByzantine Agreementand and

Multi-Party Computation Multi-Party Computation (MPC)(MPC)

Aris TentesAris Tentes

Page 2: Byzantine Agreement and  Multi-Party Computation (MPC)

What is Byzantine What is Byzantine

Agreement/General?Agreement/General? History of the name (Byzantium 1453)History of the name (Byzantium 1453) Simulation of broadcasting:Simulation of broadcasting:

i)i)P P sends a value to n players and they sends a value to n players and they must decide on the same value (B General)must decide on the same value (B General)

ii)Every player has a value and all playersii)Every player has a value and all players

must decide on the majority(B Agreement)must decide on the majority(B Agreement)

Page 3: Byzantine Agreement and  Multi-Party Computation (MPC)

t of the players may be dishonest.Therefore we achieve t of the players may be dishonest.Therefore we achieve broadcasting iff the following are satisfied:broadcasting iff the following are satisfied:

1.1.TerminationTermination 2.2.AgreementAgreement: all correct players decide on : all correct players decide on the same valuethe same value 3.3.ValidityValidity:if :if PP is correct all correct players is correct all correct players decide on his value.(B.Generals)decide on his value.(B.Generals) if all correct players have the same valueif all correct players have the same value the all correct players decide on this value.(B.Agreement)the all correct players decide on this value.(B.Agreement)

Conditions:Conditions:

Page 4: Byzantine Agreement and  Multi-Party Computation (MPC)

B.General B.General =>=> B. Agreement B. Agreement::

Every player broadcasts his value and then Every player broadcasts his value and then decides on the majority of the values receiveddecides on the majority of the values received

B. Agreement B. Agreement =>=> B.General B.General:: Player Player PP sends his value to all players and then sends his value to all players and then

all players decide on the same value using a B. all players decide on the same value using a B. Agreement protocol.Agreement protocol.

Page 5: Byzantine Agreement and  Multi-Party Computation (MPC)

Perfect BAPerfect BA

Unconditional BA:Unconditional BA: A protocol with non zero A protocol with non zero probability of errorprobability of error

Cryptographic BA: Cryptographic BA: The adversary has a The adversary has a bounded computational power.bounded computational power.

Page 6: Byzantine Agreement and  Multi-Party Computation (MPC)

Impossibility ProofImpossibility ProofTheorem: Theorem: We cannot have a secure BA if t >=n/3.We cannot have a secure BA if t >=n/3.ProofProof:: Simple case n=3 and t=1 and using contradictionSimple case n=3 and t=1 and using contradictionIntuitively:Intuitively:

Page 7: Byzantine Agreement and  Multi-Party Computation (MPC)

The protocol of BGP89The protocol of BGP89

• Perfect security for t<n/3.Perfect security for t<n/3.

• Bit complexity O(tn^2)Bit complexity O(tn^2)

• Round complexity O(t)Round complexity O(t)

• Includes three subprotocolsIncludes three subprotocols

I) Weak AgreementI) Weak Agreement

II) Graded AgreementII) Graded Agreement

III) King AgreementIII) King Agreement

Page 8: Byzantine Agreement and  Multi-Party Computation (MPC)

Weak AgreementWeak Agreement

Goal:Goal:If PIf Pi i is correct with output yis correct with output y ii {0,1} then all {0,1} then all correct players have output {ycorrect players have output {y i , i , ┴┴}.}.

1) P1) Pi i sends xsends xi i to every Pto every Pjj

0 , #0>2t0 , #0>2t

2) Every P2) Every Pi i yyi i = 1 , #1>2t= 1 , #1>2t

┴┴, else, else

Page 9: Byzantine Agreement and  Multi-Party Computation (MPC)

Graded AgreementGraded Agreement

Goal:Goal:If PIf Pi i is correct with yis correct with yii {0,1} and g {0,1} and gii=1then every P=1then every Pjj correct has y correct has yjj = y = yi.i.

1)Run the WeakAgreement protocol with output z1)Run the WeakAgreement protocol with output z ii..2) P2) Pi i sends zsends zi i to every Pto every Pjj.. 0 , #0>#10 , #0>#13) Every P3) Every Pi i yyi i = = 1 , #1>#0 1 , #1>#0 1 , if #1 , if # yyi i >2t>2t3) Every P3) Every Pi i ggi i = = 0 , else0 , else

Page 10: Byzantine Agreement and  Multi-Party Computation (MPC)

King AgreementKing Agreement

Goal:Goal:A player PA player Pk k is selected to be the king.If is selected to be the king.If the king is correct then all correct players the king is correct then all correct players have the same output.have the same output.

1)Run the GradedAgreement protocol1)Run the GradedAgreement protocol2) P2) Pk k sends zsends zkk to every P to every Pjj

zzjj , if g , if gjj=1=13) Every P3) Every Pi i yyi i = = zzkk , else , else

Page 11: Byzantine Agreement and  Multi-Party Computation (MPC)

Agreement and BroadcastAgreement and Broadcast

Termination and Validity:Termination and Validity: Remain Remain alwaysalways

Agreement:Agreement: We run the KingAgreement We run the KingAgreement t+1 times.There is at least one correct t+1 times.There is at least one correct king.(B.Agreement)king.(B.Agreement)

The general sends his value The general sends his value to all players and then they run the to all players and then they run the Agreement protocol above.(Broadcast)Agreement protocol above.(Broadcast)

Page 12: Byzantine Agreement and  Multi-Party Computation (MPC)

Lower boundsLower bounds

A perfectly secure BA protocol cannot have A perfectly secure BA protocol cannot have less than:less than:

1) t+1 rounds1) t+1 rounds 2) O(nt) bit complexity2) O(nt) bit complexity 3) t3) t≥n/3≥n/3Open problem:Open problem:It is not known if a protocol It is not known if a protocol

exists satisfying these lower bounds.exists satisfying these lower bounds.

Page 13: Byzantine Agreement and  Multi-Party Computation (MPC)

Other protocolsOther protocols

It is not known if a protocol with both t+1 rounds and O(n^2) bit complexity exists.

Page 14: Byzantine Agreement and  Multi-Party Computation (MPC)

What is Multi Party Computation?What is Multi Party Computation?

Secure function evaluation:Secure function evaluation:

There are N parties who want to compute a There are N parties who want to compute a function of their inputs but do not trust each function of their inputs but do not trust each other.other.

Examlpes:Examlpes:

1)Dating problem1)Dating problem

2)Yao’s millionair ‘s problem. 2)Yao’s millionair ‘s problem.

Page 15: Byzantine Agreement and  Multi-Party Computation (MPC)

What is Multi Party Computation?What is Multi Party Computation?

The obvious solution is that each party gives his input to a The obvious solution is that each party gives his input to a trusted (TP) who does the computation for them.trusted (TP) who does the computation for them.

MPC: MPC: A MPC protocol simulates this trusted party.A MPC protocol simulates this trusted party.

Page 16: Byzantine Agreement and  Multi-Party Computation (MPC)

Three Adversary types Three Adversary types

Passive Adversary:Passive Adversary: The adversary can The adversary can see the results of tsee the results of tpp parties. parties.

Fail-stop Adversary:Fail-stop Adversary:The adversary can make The adversary can make ttff parties stop sending messages. parties stop sending messages.

Active AdversaryActive Adversary: : The advarsary has full The advarsary has full control of tcontrol of taa parties and make them misbehave parties and make them misbehave randomly.randomly.

Page 17: Byzantine Agreement and  Multi-Party Computation (MPC)

Perfect secure MPCPerfect secure MPC

Unconditional secure MPC:Unconditional secure MPC: A protocol A protocol with non zero probability of errorwith non zero probability of error

Cryptographic secure MPC: Cryptographic secure MPC: The The adversary has a bounded computational adversary has a bounded computational power.power.

Page 18: Byzantine Agreement and  Multi-Party Computation (MPC)

Mixed ModelMixed Model

For the mixed model For the mixed model (passive+active+fail-stop adversary) (passive+active+fail-stop adversary) there exists a perfect secure MPC there exists a perfect secure MPC

protocol protocol

iffiff

3t3ta a + 2t+ 2tpp + t + tff < n < n

Page 19: Byzantine Agreement and  Multi-Party Computation (MPC)

The protocol of BGW88 The protocol of BGW88 (passive model)(passive model)

Perfect security for t<n/2Perfect security for t<n/2

Bit complexity O(mn^2) field elementsBit complexity O(mn^2) field elements

Round complexity O(d)Round complexity O(d)

Page 20: Byzantine Agreement and  Multi-Party Computation (MPC)

Shamir ’s secret sharingShamir ’s secret sharing

The dealer P who wants to share a secret s The dealer P who wants to share a secret s selects a random polynomial of degree t:selects a random polynomial of degree t:

ffss(x)= s + r(x)= s + r11x + . . . . . + rx + . . . . . + rt t x^tx^t

and sends to processor Pand sends to processor Pii his share s his share si i = f(a= f(aii).).

Up to t players cannot reveal the secret. Up to t players cannot reveal the secret.

Page 21: Byzantine Agreement and  Multi-Party Computation (MPC)

Linear functionsLinear functions

a , b are shared with fa , b are shared with faa ,f ,fbb

We define h(x) = fWe define h(x) = faa(x) + f(x) + fbb(x)(x) We observe h(0) = fWe observe h(0) = faa(0) + f(0) + fbb(0) = a + b(0) = a + b Hence cHence ci i = a= aii + b + bii defines the share of a + b defines the share of a + b

of Pof Pii

Page 22: Byzantine Agreement and  Multi-Party Computation (MPC)

Multiplication(1/2)Multiplication(1/2)

a , b are shared with fa , b are shared with faa ,f ,fbb

aaiibbi i secret share a polynomial of degree 2t secret share a polynomial of degree 2t ( f( fabab(x)= f(x)= faa(x)f(x)fbb(x) , with h(0)=ab )(x) , with h(0)=ab )

We must reduce the share to tWe must reduce the share to t

Page 23: Byzantine Agreement and  Multi-Party Computation (MPC)

Multiplication(2/2)Multiplication(2/2)

So: Every processor PSo: Every processor P ii shares his share a shares his share aiibbi i

with a polynomial hwith a polynomial hii(x) of degree t with (x) of degree t with hhii(0)= f(0)= faa(a(aii)f)fbb(a(aii) = f) = fabab(a(aii))

Every processor has now the values hEvery processor has now the values h11(a(aii),),……, h……, hnn(a(aii))

Hence t+1 processors can compute Hence t+1 processors can compute hhii(0)= f(0)= fabab(a(aii), i=1,..,n), i=1,..,n

Finally every processor from above can Finally every processor from above can compute fcompute fabab(0)(0)

Page 24: Byzantine Agreement and  Multi-Party Computation (MPC)

Active Model generalyActive Model generaly

Use of Byzantine Generals protocolsUse of Byzantine Generals protocols

Every player is commited to the value he Every player is commited to the value he sharesshares

Every player is commited to the value he Every player is commited to the value he receivesreceives

Page 25: Byzantine Agreement and  Multi-Party Computation (MPC)

Known ProtocolsKnown Protocols

ProtocolProtocol SecuritySecurity BCBC RCRC

[Hirt01][Hirt01] PerfectPerfect O(mn^3)O(mn^3) O(d + n^2)O(d + n^2)

[BGW88][BGW88] PerfectPerfect O(mn^6)O(mn^6) O(dn)O(dn)

[CCD88][CCD88] UnconditionalUnconditional O(mn^7)O(mn^7) O(dn^2)O(dn^2)

[Bea91][Bea91] UnconditionalUnconditional O(mn^6)O(mn^6) O(d)O(d)