Internet-level consensus is practical
David Mazières
IETF98
Internet-level consensus is practical David Mazires IETF98 - - PowerPoint PPT Presentation
Internet-level consensus is practical David Mazires IETF98 Thursday, March 30, 2017 Disjunctive vs. conjunctive security We ofen require that one CA or one CT log endorse something Todays talk: what if you want all CAs or all logs to
IETF98
2 / 27
3 / 27
. . .
4 / 27
5 / 27
5 / 27
(not some “special” version signed by a compromised author/vendor)
6 / 27
7 / 27
has account at has account at has account at Offeror Bid Ask
how? 1.00 USD 0.93 EUR 0.93 EUR
8 / 27
has account at has account at has account at Offeror Bid Ask
how? 1.00 USD 0.93 EUR 0.93 EUR
8 / 27
has account at has account at has account at Offeror Bid Ask
how? 1.00 USD 0.93 EUR 0.93 EUR
8 / 27
has account at has account at has account at Offeror Bid Ask
how? 1.00 USD 0.93 EUR 0.93 EUR
8 / 27
1.00 USD 0.93 EUR 0.93 EUR
⇒ steal money
9 / 27
1.00 USD 0.93 EUR 0.93 EUR
⇒ steal money
9 / 27
10 / 27
in: 3
in: 9
in: 7
messages
11 / 27
in: 3
in: 9
in: 7
messages
11 / 27
in: 3
in: 9
in: 7
messages
11 / 27
Theorem (FLP impossibility result)
12 / 27
v0 . . . vN−T . . . vT−1 . . . vN−1
2T − N N − T
13 / 27
v0 . . . vN−T . . . vT−1 . . . vN−1
2T − N N − T EVIL EVIL EVIL EVIL
13 / 27
v0 . . . vN−T . . . vT−1 . . . vN−1
2T − N N − T EVIL EVIL EVIL EVIL
13 / 27
14 / 27
15 / 27
Definition (Federated Byzantine Agreement System)
Definition (Quorum)
16 / 27
Definition (Federated Byzantine Agreement System)
Definition (Quorum)
16 / 27
Definition (Quorum)
17 / 27
Definition (Quorum)
17 / 27
Definition (Quorum)
17 / 27
Definition (Quorum)
17 / 27
EVIL EVIL EVIL EVIL EVIL EVIL Top tier: slice is three out of
{v1, v2, v3, v4} (including self)
Middle tier: slice is self + any two top tier nodes
Leaf tier: slice is self + any two middle tier nodes 2/4 2/4 3/4
18 / 27
EVIL EVIL EVIL EVIL EVIL EVIL
Middle tier: slice is self + any two top tier nodes
Leaf tier: slice is self + any two middle tier nodes 2/4 2/4 3/4
18 / 27
EVIL EVIL EVIL EVIL EVIL EVIL
Middle tier: slice is self + any two top tier nodes
Leaf tier: slice is self + any two middle tier nodes 2/4 +1/3 3/4 +2/3 2/4 3/4
18 / 27
EVIL EVIL EVIL EVIL EVIL EVIL
Middle tier: slice is self + any two top tier nodes
Leaf tier: slice is self + any two middle tier nodes 2/4 +1/3 3/4 +2/3 2/4 3/4
18 / 27
EVIL EVIL EVIL EVIL EVIL EVIL
Middle tier: slice is self + any two top tier nodes
Leaf tier: slice is self + any two middle tier nodes 2/4 +1/3 3/4 +2/3 2/4 3/4
18 / 27
EVIL EVIL EVIL EVIL EVIL EVIL
I don’t agree to anything unless EFF
Middle tier: slice is self + any two top tier nodes
Leaf tier: slice is self + any two middle tier nodes 2/4 +1/3 3/4 +2/3 2/4 3/4
18 / 27
19 / 27
{{v1, v2, v3}}
{{v4, v5, v6}}
Definition (Quorum intersection)
20 / 27
{{v1, v2, v3, v7}}
{{v4, v5, v6, v7}}
21 / 27
{{v1, v2, v3, v7}}
{{v4, v5, v6, v7}}
21 / 27
{{v1, v2, v3, v7}}
{{v4, v5, v6, v7}}
21 / 27
3/4 FAIL FAIL FAIL FAIL
22 / 27
3/4 FAIL FAIL FAIL FAIL
22 / 27
Definition (intact)
(conceptually) delete bad nodes to make notion of intact useful
23 / 27
24 / 27
but only if no other FBA protocol could guarantee safety, either
regret choosing SCP over other Byzantine agreement protocols
25 / 27
◮ E.g., take union of sets of transaction, max of timestamps
◮ Termination always possible so long as honest quorum exists ◮ Even if balloting kicked off before nomination converged
26 / 27
✦ ✦ ✦ ✦
✦ ✦ ✦
✦
✦
✪ Offer a rate-limited way to distribute (“mint”) new digital coins ✪ Provide intrinsic incentives for good behavior ✪ Tell you whom to trust (some good configurations, some bad)
27 / 27