1200 × 700 The Attack of the Clones against Proof-of-Authority Parinya Ekparinya Vincent Gramoli Guillaume Jourjon Ekparinya et al, "The Attack of the Clones against PoA" Page 1
Public Blockchains Proof-of-Work Consortium & Private Blockchains Ekparinya et al, "The Attack of the Clones against PoA" Page 2
Public Blockchains Proof-of-Work Consortium & Private Blockchains Proof-of-Authority Ekparinya et al, "The Attack of the Clones against PoA" Page 3
Ekparinya et al, "The Attack of the Clones against PoA" Page 4
Ekparinya et al, "The Attack of the Clones against PoA" Page 5
Why Proof-of-Authority (PoA)? Ekparinya et al, "The Attack of the Clones against PoA" Page 6
Why Proof-of-Authority (PoA)? Ekparinya et al, "The Attack of the Clones against PoA" Page 7
Why Proof-of-Authority (PoA)? Ekparinya et al, "The Attack of the Clones against PoA" Page 8
Why Proof-of-Authority (PoA)? BFT Ekparinya et al, "The Attack of the Clones against PoA" Page 9
Why Proof-of-Authority (PoA)? BFT Ekparinya et al, "The Attack of the Clones against PoA" Page 10
The Cloning Attack => Double-spending $ 10 $ 10 Ekparinya et al, "The Attack of the Clones against PoA" Page 11
The Cloning Attack => Double-spending SAME TOKENS!! $ 10 $ 10 Ekparinya et al, "The Attack of the Clones against PoA" Page 12
Q: How is it possible to double spend on PoA/Ethereum? Ekparinya et al, "The Attack of the Clones against PoA" Page 13
The Modus Operandi of AuRa N4 N1 N2 N3 N5 Sealers Ekparinya et al, "The Attack of the Clones against PoA" Page 14
The Modus Operandi of AuRa N4 N1 N2 N3 N5 Sealers Ekparinya et al, "The Attack of the Clones against PoA" Page 15
The Modus Operandi of AuRa N4 N1 N2 N3 N5 Sealers 1 Blocks Ekparinya et al, "The Attack of the Clones against PoA" Page 16
The Modus Operandi of AuRa N4 N1 N2 N3 N5 Sealers 1 2 Blocks Ekparinya et al, "The Attack of the Clones against PoA" Page 17
The Modus Operandi of AuRa N4 N1 N2 N3 N5 Sealers 1 2 Blocks Time (s) 5 10 25 30 40 15 20 35 Ekparinya et al, "The Attack of the Clones against PoA" Page 18
The Modus Operandi of AuRa N4 N1 N2 N3 N5 Sealers 1 2 3 Blocks Time (s) 5 10 25 30 40 15 20 35 Ekparinya et al, "The Attack of the Clones against PoA" Page 19
The Modus Operandi of AuRa N4 N1 N2 N3 N5 Sealers 1 2 3 Blocks Decided Time (s) 5 10 25 30 40 15 20 35 Ekparinya et al, "The Attack of the Clones against PoA" Page 20
The Modus Operandi of AuRa N4 N1 N2 N3 N5 Sealers 1 2 3 4 Blocks Time (s) 5 10 25 30 40 15 20 35 Ekparinya et al, "The Attack of the Clones against PoA" Page 21
The Modus Operandi of AuRa N4 N1 N2 N3 N5 Sealers 1 2 3 4 5 Blocks Time (s) 5 10 25 30 40 15 20 35 Ekparinya et al, "The Attack of the Clones against PoA" Page 22
The Modus Operandi of AuRa N4 N2 N3 N5 N1 Sealers 1 2 3 4 5 6 Blocks Time (s) 5 10 25 30 40 15 20 35 Ekparinya et al, "The Attack of the Clones against PoA" Page 23
The Modus Operandi of AuRa ZZz N4 N3 N5 N1 N2 Sealers 1 2 3 4 5 6 Blocks Time (s) 5 10 25 30 40 15 20 35 Ekparinya et al, "The Attack of the Clones against PoA" Page 24
The Modus Operandi of AuRa ZZz N4 N5 N1 N2 N3 Sealers … 1 2 3 4 5 6 7 Blocks Decided Time (s) 5 10 25 30 40 15 20 35 Ekparinya et al, "The Attack of the Clones against PoA" Page 25
N3 … 7 Time (s) 60 65 75 40 45 50 55 70 Ekparinya et al, "The Attack of the Clones against PoA" Page 26
N4 N1 N3 Group A Sealers Group A Blocks … 7 Group B Blocks Group B Sealers N5 N2 Time (s) 60 65 75 40 45 50 55 70 Ekparinya et al, "The Attack of the Clones against PoA" Page 27
N4 N1 N3 Group A Sealers Group A 8 Blocks … 7 Group B Blocks Group B Sealers N5 N2 Time (s) 60 65 75 40 45 50 55 70 Ekparinya et al, "The Attack of the Clones against PoA" Page 28
N4 N1 N3 Group A Sealers Group A 8 Blocks … 7 Group B 8 Blocks Group B Sealers N5 N2 Time (s) 60 65 75 40 45 50 55 70 Ekparinya et al, "The Attack of the Clones against PoA" Page 29
N4 N1 N3 Group A Sealers Group A 9 8 Blocks … 7 Group B 8 Blocks Group B Sealers N5 N2 Time (s) 60 65 75 40 45 50 55 70 Ekparinya et al, "The Attack of the Clones against PoA" Page 30
N4 N1 N3 Group A Sealers Group A 9 8 Blocks … 7 Group B 8 9 Blocks Group B Sealers N5 N2 Time (s) 60 65 75 40 45 50 55 70 Ekparinya et al, "The Attack of the Clones against PoA" Page 31
N4 N1 N3 Group A Sealers Group A 9 8 10 Blocks … 7 Group B 8 9 Blocks Group B Sealers N5 N2 Time (s) 60 65 75 40 45 50 55 70 Ekparinya et al, "The Attack of the Clones against PoA" Page 32
N1 N4 N3 Group A Sealers Group A 9 8 10 11 Blocks … 7 Group B 8 9 Blocks Group B Sealers N5 N2 Time (s) 60 65 75 40 45 50 55 70 Ekparinya et al, "The Attack of the Clones against PoA" Page 33
N1 N4 N3 Group A Sealers Group A 9 8 10 11 Blocks … 7 Group B 8 9 10 Blocks Group B Sealers N2 N5 Time (s) 60 65 75 40 45 50 55 70 Ekparinya et al, "The Attack of the Clones against PoA" Page 34
N1 N4 N3 Group A Sealers Group A 9 8 10 11 Blocks … 7 Group B 8 9 10 Blocks Group B Sealers N2 N5 Time (s) 60 65 75 40 45 50 55 70 Ekparinya et al, "The Attack of the Clones against PoA" Page 35
N4 N3 Group A Sealers N1 Group A 9 8 10 11 Blocks … 7 12 Group B Blocks Group B Sealers N2 N5 Time (s) 60 65 75 40 45 50 55 70 Ekparinya et al, "The Attack of the Clones against PoA" Page 36
Block decision duration network partition – Since decision requires strictly more than half, only one partition may decide blocks Can decide a block Ekparinya et al, "The Attack of the Clones against PoA" Page 37
Block decision duration network partition – Since decision requires strictly more than half, only one partition may decide blocks Can decide a block Ekparinya et al, "The Attack of the Clones against PoA" Page 38
Ekparinya et al, "The Attack of the Clones against PoA" Page 39
If one sealer become malicious – A malicious sealer creates a clone to participate in both partitions!! – If n = 9, both partitions contain 5 sealers, therefore both may decide a block!! Malicious Clone sealer sealer Can Can decide decide a block a block Ekparinya et al, "The Attack of the Clones against PoA" Page 40
The Cloning Attack Ekparinya et al, "The Attack of the Clones against PoA" Page 41
The Cloning Attack Ekparinya et al, "The Attack of the Clones against PoA" Page 42
The Cloning Attack Ekparinya et al, "The Attack of the Clones against PoA" Page 43
The Cloning Attack Ekparinya et al, "The Attack of the Clones against PoA" Page 44
The Cloning Attack Ekparinya et al, "The Attack of the Clones against PoA" Page 45
Ekparinya et al, "The Attack of the Clones against PoA" Page 46
Ekparinya et al, "The Attack of the Clones against PoA" Page 47
Ekparinya et al, "The Attack of the Clones against PoA" Page 48
Ekparinya et al, "The Attack of the Clones against PoA" Page 49
Ekparinya et al, "The Attack of the Clones against PoA" Page 50
Ekparinya et al, "The Attack of the Clones against PoA" Page 51
Countermeasure – The algorithm will be more resistant to the attack if it requires strictly more than two- thirds to decide a block as shown in the illustration below with n = 9 sealers. Cannot Cannot decide decide a block a block Ekparinya et al, "The Attack of the Clones against PoA" Page 52
Key takeaways – With the attack of the Clones, it is possible to double spend in PoA/Ethereum. – Provided sufficient network partition duration, the attacker can double spend with 100% success rate. – To promote safety property in PoA/Ethereum: the higher number of required sealers, the higher resistance against the attack. – The attack applies as well to Clique. The details can be found in paper. – We exchanged with the security experts of geth and parity. The developers of xDai have already took this attack into account in their POSDAO consensus algorithm. Ekparinya et al, "The Attack of the Clones against PoA" Page 53
Recommend
More recommend