Formal Specification of the Kademlia and the Kad Routing Tables in Maude

  • Isabel Pita
  • María-Inés Fernández-Camacho
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7841)


Kad is the implementation by eMule and aMule of the Kademlia peer-to-peer distributed hash table protocol. Although it agrees with the basic behaviour of the protocol, there are some significant differences. This paper presents the specification of both the Kademlia and the Kad routing tables, using the specification language Maude. As far as we know, this is the first such a formal development. The routing tables present a dynamic behavior in the sense that they should be able to send messages to other peers and they should have a notion of time for raising events and detect no answered messages. Our main contribution is the integration of these dynamic aspects in the protocol specification.


Kademlia Kad distributed specification formal analysis Maude Real-Time Maude 


  1. 1.
    Bakhshi, R., Gurov, D.: Verification of peer-to-peer algorithms: A case study. In: Combined Proceedings of the Second International Workshop on Coordination and Organization, CoOrg 2006, and the Second International Workshop on Methods and Tools for Coordinating Concurrent, Distributed and Mobile Systems, MTCoord 2006. Electronic Notes in Theoretical Computer Science, vol. 181, pp. 35–47. Elsevier (2007)Google Scholar
  2. 2.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude. LNCS, vol. 4350. Springer, Heidelberg (2007)Google Scholar
  3. 3.
    Lu, T., Merz, S., Weidenbach, C.: Towards Verification of the Pastry Protocol Using TLA + . In: Bruni, R., Dingel, J. (eds.) FMOODS/FORTE 2011. LNCS, vol. 6722, pp. 244–258. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  4. 4.
    Maymounkov, P., Mazières, D.: Kademlia: A peer-to-peer information system based on the XOR metric. In: Druschel, P., Kaashoek, M.F., Rowstron, A. (eds.) IPTPS 2002. LNCS, vol. 2429, pp. 53–65. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  5. 5.
    Mysicka, D.: Reverse Engineering of eMule. An analysis of the implementation of Kademlia in eMule. Semester thesis, Dept. of Computer Science, Distributed Computing group, ETH Zurich (2006)Google Scholar
  6. 6.
    Ölveczky, P.C., Meseguer, J.: Semantics and pragmatics of Real-Time Maude. Higher-Order and Symbolic Computation 20, 161–196 (2007)zbMATHCrossRefGoogle Scholar
  7. 7.
    Pita, I.: A formal specification of the Kademlia distributed hash table. In: Gulías, V.M., Silva, J., Villanueva, A. (eds.) Proceedings of the 10 Spanish Workshop on Programming Languages, PROLE 2010, pp. 223–234. Ibergarceta Publicaciones (2010), (Informal publication–Work in progress)
  8. 8.
    Pita, I., Fernández Camacho, M.I.: Formal Specification of the Kademlia Routing Table and the Kad Routing Table in Maude. Technical Report 1/2013. Dept. Sistemas Informáticos y Computación Universidad Complutense de Madrid (January 2013),
  9. 9.
    Pita, I., Riesco, A.: Specifying and Analyzing the Kademlia Protocol in Maude. In: 9th International Workshop on Rewriting Logic and its Applications, WRLA 2012 (2012)Google Scholar
  10. 10.
    Ratnasamy, S., Francis, P., Handley, M., Karp, R., Shenker, S.: A scalable content-addressable network. In: ACM SIGCOMM Computer Communication Review - Proceedings of the 2001 SIGCOMM Conference, vol. 31, pp. 161–172 (October 2001)Google Scholar
  11. 11.
    Rowstron, A., Druschel, P.: Pastry: Scalable, decentralized object location, and routing for large-scale peer-to-peer systems. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, pp. 329–350. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    Stoica, I., Morris, R., Karger, D., Kaashoek, M.F., Balakrishnan, H.: Chord: A scalable peer-to-peer lookup service for internet applications. ACM SIGCOMM Computer Communication Review 31, 149–160 (2001)CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2013

Authors and Affiliations

  • Isabel Pita
    • 1
  • María-Inés Fernández-Camacho
    • 1
  1. 1.Dept. Sistemas Informáticos y ComputaciónUniversidad Complutense de MadridSpain

Personalised recommendations