Research Article

Formal Modelling of PBFT Consensus Algorithm in Event-B

Listing 7

Event ‘Reply_s’.
Event Reply_s
  Anynode message
  Where
   @grd1 nodeNODES
   @grd2 node∉∅
   @grd3 cache[corr]≠∅
   @grd4 messagemessage
   @grd5 message∈inter(cache[corr])
   @grd6 message∉dom(G(node))
  Then
   @act1 G≔{TRUE↦G<+{node↦G(node)∪{message
True_execute(message)}},FALSE↦G<+{node↦G(node)∪ {messageFAULTY}}}(bool(node∈corr))
End