Research Article

Formal Modelling of PBFT Consensus Algorithm in Event-B

Listing 17

Event ‘Prepare_check’.
 Event Prepare_check
   Any node m
   Where
    @grd1 node∈NODES
    @grd2 m∈ℕ×(ℕ×value)
    @grd3 prj1(prj2(m))−n∈0‥H
    @grd4 m∈union(ran(G_pre(node)))
    @grd5 ({i∣i∈dom(G_pre(node))∧m∈G_pre(node)(i)})≥2(NODES) +1
    @grd6 prj1(m)=view(node)
   Then
    @act1 G_pre_check(node)≔G_pre_check(node)∪{m}
 End