Skip to main content
1 of 3
ivicaa
  • 7.5k
  • 1
  • 21
  • 50

Since nobody has provided an answer so far, I'll try to summarize my research on this.

After reading the pBFT paper from Castor/Liskov, I believe that 66,6% + 1 rule from pBFT also applies for Clique too. Hence, 50% + 1 is not enough to be sure that the transaction can not be removed from the chain after a reorg.

So far I have only an example as a proof: In a system with 5 sealers (N = 5), I could have a dishonest sealer S3 able to divide the network into {S1,S2,S3} and {S3,S4,S5} (for instance by an DDoS attack), so that {S2,S3} are not able to communicate with {S4,S5}. Both networks will keep running their own fork as long as S3 is participating (50%+1). When he's in-turn, he could propose a valid block with a transaction TX and publish it only to {S4,S5}, while on the other side creating an alternative block with a double spend transaction TX' publishing only to {S1,S2}. After 50%+1 confirmations in {S3,S4,S5}, he could stop publishing blocks in this subnetwork and let {S1,S2,S3} get heavier. After that, he can release the blockade in communication, and the GHOST protocol would resolve the fork by selecting the heavier chain, which is the chain created by {S1,S2,S3}.

In this sense, the minimum number of confirmations will have to be: 66,6% + 1 [more precisely: N - floor((N-1)/3)] different sealers have confirmed the transaction, which is analogous to pBFT.

ivicaa
  • 7.5k
  • 1
  • 21
  • 50