Mechanically Verifying the Fundamental Liveness Property of the Chord Protocol

Abstract : Chord is a protocol providing a scalable distributed hash table over an underlying peer-to-peer network. It is very popular due to its simplicity, performance and claimed correctness. However, the original version of the Chord maintenance protocol, presented with an informal proof of correctness, was since then shown to be in fact incorrect. It is actually tricky to come up with a provably-correct version as the protocol combines data structures, asynchronous communication, concurrency, and fault tolerance. Additionally, the correctness property amounts to a form of stabilization, a particular kind of liveness property. Previous work only addressed automated proofs of safety; and pen-and-paper, or automated but much bounded, proofs of stabilization. In this article, we report on the first mechanized proof of the liveness property for Chord. Furthermore, our proof addresses the full parameterized version of the protocol, weakens previously-devised invariants and operating assumptions, and is essentially automated (requiring limited effort when manual assistance is needed).
Complete list of metadatas

Cited literature [25 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/hal-02332531
Contributor : David Chemouil <>
Submitted on : Thursday, October 24, 2019 - 7:48:44 PM
Last modification on : Wednesday, November 13, 2019 - 5:09:43 PM

File

final-fixed2.pdf
Files produced by the author(s)

Identifiers

Citation

Jean-Paul Bodeveix, Julien Brunel, David Chemouil, Mamoun Filali. Mechanically Verifying the Fundamental Liveness Property of the Chord Protocol. 23rd International Symposium on Formal Methods (FM 2019), Oct 2019, Porto, Portugal. ⟨10.1007/978-3-030-30942-8_5⟩. ⟨hal-02332531⟩

Share

Metrics

Record views

20

Files downloads

34