mechanical verification of a constructive proof for flp
play

Mechanical Verification of a Constructive Proof for FLP according - PowerPoint PPT Presentation

Mechanical Verification of a Constructive Proof for FLP according to Hagen V olzer Bisping Brodmann Jungnickel Rickmann St uber Wilhelm-Weidner Seidler Peters Nestmann 24 August 2016 Models and Theory of Distributed Systems


  1. Mechanical Verification of a Constructive Proof for FLP according to Hagen V¨ olzer Bisping Brodmann Jungnickel Rickmann St¨ uber Wilhelm-Weidner Seidler Peters Nestmann 24 August 2016 Models and Theory of Distributed Systems Bisping et al. FLP Constructive Proof 24 August 2016 1 / 15

  2. Introduction Consensus – Motivation Example • distributed database • each at different state • decide whether to apply transaction Bisping et al. FLP Constructive Proof 24 August 2016 2 / 15

  3. Introduction Consensus – Motivation Example • distributed database • each at different state • decide whether to apply transaction • exchange messages • all have to arrive at same decision Bisping et al. FLP Constructive Proof 24 August 2016 2 / 15

  4. Introduction Consensus – Motivation Example • distributed database • each at different state • decide whether to apply transaction • exchange messages • all have to arrive at same decision Problem processes may crash Bisping et al. FLP Constructive Proof 24 August 2016 2 / 15

  5. Introduction The FLP Theorem Theorem (Fischer, Lynch, Paterson, 1985) impossible to ensure consensus, if processes may crash Bisping et al. FLP Constructive Proof 24 August 2016 3 / 15

  6. Introduction The FLP Theorem Theorem (Fischer, Lynch, Paterson, 1985) impossible to ensure consensus, if processes may crash Theorem (V¨ olzer, 2004) more constructive proof of FLP Bisping et al. FLP Constructive Proof 24 August 2016 3 / 15

  7. Introduction The FLP Theorem Theorem (Fischer, Lynch, Paterson, 1985) impossible to ensure consensus, if processes may crash Theorem (V¨ olzer, 2004) more constructive proof of FLP Our Work • based on the more constructive paper of V¨ olzer • formalizing this proof in Isabelle/HOL • . . . including “fairness”, which was just stated Bisping et al. FLP Constructive Proof 24 August 2016 3 / 15

  8. Introduction Consensus Model • finite set of sequential processes • asynchronous communication channels between all pairs p 0 1 p 3 p 1 1 0 p 2 0 Bisping et al. FLP Constructive Proof 24 August 2016 4 / 15

  9. Introduction Consensus Model • finite set of sequential processes • asynchronous communication channels between all pairs Definition: Binary Consensus p 0 Each process gets an input value from { 0 , 1 } and 1 may irrevocably decide on a final output value such that: p 3 p 1 • Agreement : No two processes decide 1 0 differently. • Validity : The output value is the input value p 2 of some process. 0 • Termination : Each process eventually decides or crashes. Bisping et al. FLP Constructive Proof 24 August 2016 4 / 15

  10. Introduction Consensus Model • finite set of sequential processes • asynchronous communication channels between all pairs Definition: Binary Consensus p 0 Each process gets an input value from { 0 , 1 } and 1 may irrevocably decide on a final output value such that: p 3 p 1 • Agreement : No two processes decide 1 0 differently. • Validity : The output value is the input value p 2 of some process. 0 • Termination : Each process eventually decides or crashes. Bisping et al. FLP Constructive Proof 24 August 2016 4 / 15

  11. Introduction Fairness • easy to obtain undesired behaviour • “block” process by not processing its messages Bisping et al. FLP Constructive Proof 24 August 2016 5 / 15

  12. Introduction Fairness • easy to obtain undesired behaviour • “block” process by not processing its messages Definition: Fair Execution Each message is processed (as long as receiver not crashed). Bisping et al. FLP Constructive Proof 24 August 2016 5 / 15

  13. Introduction Fairness • easy to obtain undesired behaviour • “block” process by not processing its messages Definition: Fair Execution Each message is processed (as long as receiver not crashed). • unfair execution practically irrelevant Bisping et al. FLP Constructive Proof 24 August 2016 5 / 15

  14. Introduction The FLP Theorem Theorem (V¨ olzer, 2004) There is no consensus algorithm such that • a process may crash • validity • agreement • every fair execution terminates Bisping et al. FLP Constructive Proof 24 August 2016 6 / 15

  15. Introduction The FLP Theorem Theorem (V¨ olzer, 2004) There is no consensus algorithm such that • a process may crash • validity • agreement • every fair execution terminates fundamental result in distributed computing Bisping et al. FLP Constructive Proof 24 August 2016 6 / 15

  16. Introduction The FLP Theorem Theorem (V¨ olzer, 2004) Every consensus algorithm such that • a process may crash • validity • agreement has an infinite fair execution that does not decide. Bisping et al. FLP Constructive Proof 24 August 2016 7 / 15

  17. Introduction The FLP Theorem Theorem (V¨ olzer, 2004) Every consensus algorithm such that • a process may crash • validity • agreement has an infinite fair execution that does not decide. � constructive Bisping et al. FLP Constructive Proof 24 August 2016 7 / 15

  18. Introduction The FLP Theorem Theorem (V¨ olzer, 2004) Every consensus algorithm such that • a process may crash • validity • agreement has an infinite fair execution that does not decide. � constructive Idea of proof • find invariant that ensures non-decided • find proper way to extend finite execution, keeping the invariant • infinite fair run Bisping et al. FLP Constructive Proof 24 August 2016 7 / 15

  19. Our proof in Isabelle/HOL Initial Lemma Non-uniform There are processes p , q such that • crash of p allows decision 0 • crash of q allows decision 1 Bisping et al. FLP Constructive Proof 24 August 2016 8 / 15

  20. Our proof in Isabelle/HOL Initial Lemma Non-uniform There are processes p , q such that • crash of p allows decision 0 • crash of q allows decision 1 Initial Lemma There is a non-uniform initial configuration. Bisping et al. FLP Constructive Proof 24 August 2016 8 / 15

  21. Our proof in Isabelle/HOL Initial Lemma Non-uniform There are processes p , q such that • crash of p allows decision 0 • crash of q allows decision 1 Initial Lemma There is a non-uniform initial configuration. Small error in V¨ olzer’s proof • used same symbol for different configurations • required adaption in proof Bisping et al. FLP Constructive Proof 24 August 2016 8 / 15

  22. Our proof in Isabelle/HOL Extension Lemma Extension Lemma - V¨ olzer’s version For each non-uniform configuration c and each process p there is a configuration c ′ such that c ⇒ ∗ c ′ and crash of p in c ′ allows for both decisions. Bisping et al. FLP Constructive Proof 24 August 2016 9 / 15

  23. Our proof in Isabelle/HOL Extension Lemma Extension Lemma - V¨ olzer’s version For each non-uniform configuration c and each process p there is a configuration c ′ such that c ⇒ ∗ c ′ and crash of p in c ′ allows for both decisions. Extension Lemma – our version • choose message ( p , m ) – receiver p , content m • apply Extension Lemma for this p • can safely consume message (keeping invariant) all put into single extension Bisping et al. FLP Constructive Proof 24 August 2016 9 / 15

  24. Our proof in Isabelle/HOL Extension – Picture 0 • c 1 Bisping et al. FLP Constructive Proof 24 August 2016 10 / 15

  25. Our proof in Isabelle/HOL Extension – Picture 0 p • • c 1 Bisping et al. FLP Constructive Proof 24 August 2016 10 / 15

  26. Our proof in Isabelle/HOL Extension – Picture 0 p Extension • • c c ′ 1 Bisping et al. FLP Constructive Proof 24 August 2016 10 / 15

  27. Our proof in Isabelle/HOL Extension – Picture 0 p Extension • • c c ′ 1 Bisping et al. FLP Constructive Proof 24 August 2016 10 / 15

  28. Our proof in Isabelle/HOL Extension – Picture 0 p Extension • • c c ′ 1 Bisping et al. FLP Constructive Proof 24 August 2016 10 / 15

  29. Our proof in Isabelle/HOL FLP-Theorem FLP-Theorem Each possible consensus algorithm has a fair infinite execution that does not decide. Bisping et al. FLP Constructive Proof 24 August 2016 11 / 15

  30. Our proof in Isabelle/HOL FLP-Theorem FLP-Theorem Each possible consensus algorithm has a fair infinite execution that does not decide. Proof by V¨ olzer • start with non-uniform initial configuration • take message with minimal enabling time • extend execution using Extension Lemma, ending with non-uniform configuration • repeat this process Bisping et al. FLP Constructive Proof 24 August 2016 11 / 15

  31. Our proof in Isabelle/HOL Proof Idea 0 • Initial 1 Bisping et al. FLP Constructive Proof 24 August 2016 12 / 15

  32. Our proof in Isabelle/HOL Proof Idea 0 • • Initial ( p 1 , m 1 ) • 1 Bisping et al. FLP Constructive Proof 24 August 2016 12 / 15

  33. Our proof in Isabelle/HOL Proof Idea 0 Extension • • Initial ( p 1 , m 1 ) • 1 Bisping et al. FLP Constructive Proof 24 August 2016 12 / 15

  34. Our proof in Isabelle/HOL Proof Idea 0 Extension • • Initial ( p 1 , m 1 ) • 1 Bisping et al. FLP Constructive Proof 24 August 2016 12 / 15

  35. Our proof in Isabelle/HOL Proof Idea 0 • ( p 2 , m 2 ) Extension • • • Initial ( p 1 , m 1 ) • 1 Bisping et al. FLP Constructive Proof 24 August 2016 12 / 15

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend