Lamport's celebrated Paxos consensus protocol is generally viewed as a complex hard-to-understand algorithm. Notwithstanding its complexity, in this paper, we take a step towards automatically proving the safety of Paxos by taking advantage of three structural features in its specification: spatial regularity in its unordered domains, temporal regularity in its totally-ordered domain, and its hierarchical composition. By carefully integrating these structural features in IC3PO, a novel model checking algorithm, we were able to infer an inductive invariant that identically matches the human-written one previously derived with significant manual effort using interactive theorem proving. While various attempts have been made to verify different versions of Paxos, to the best of our knowledge, this is the first demonstration of an automatically-inferred inductive invariant for Lamport's original Paxos specification. We note that these structural features are not specific to Paxos and that IC3PO can serve as an automatic general-purpose protocol verification tool.
翻译:拉姆波特的著名的和平和平协会共识协议一般被视为复杂的难以理解的复杂算法。 尽管其复杂性在本文件中,但我们还是迈出了一步,借助其规格的三个结构特征来自动证明和平协会的安全:无序域的空间规律性、完全有序域的时间规律性及其等级构成。通过仔细整合IC3PO中的这些结构特征,这是一种新颖的模型检查算法,我们得以推导出一种与以前通过使用互动理论证明的人工努力而获得的人类写法完全一致的诱导性变量。尽管我们已作出各种尝试来核查不同版本的Paxos,但据我们所知,这是第一次为Lamport的原Paxos规格自动推断的诱导性演化。我们注意到这些结构特征并非和平协会所特有的,而且IC3PO可以作为自动通用协议核查工具。