Research Article
Formal Modelling of PBFT Consensus Algorithm in Event-B
Context Ma1_ctx extends Ma0_ctx | Sets value | Constants contents Correct_value Faulty_value H | Axioms | @axm1 value≠∅ | @axm2 finite(value) | @axm3 partition(Value,Correct_value,Faulty_value) | @axm4 card(Correct_value)=card(Faulty_value) | @axm5 contents∈message↣(ℕ×value) | @axm6 ∀x,y·x∈message∧y∈message∧x≠y⇒ | prj2(contents(x))≠prj2(contents(y)) | @axm7 ∀x·x∈message⇒(∃y·y∈message∧x≠y∧ | (prj1(contents(x))=prj1(contents(y))+1∨ | prj1(contents(x))=prj1(contents(y))−1)) | @axm8 ∀x,y·x∈message∧y∈message∧x≠y∧⇒ | (prj2(contents(x))∈Correct_value∧prj2(contents(y))∈Faulty_value)∨ | (prj2(contents(x))∈Faulty_value∧prj2(contents(y))∈Correct_value) | @axm9 H=2 | End |
|