Tuesday, July 29, 2008

Kad v8

GonoszTopi ported Kademlia version 8, which will be intregrated into our next release. I quote the Changelog:

  • Kad now ignores multiple IDs pointing to one IP in routing request answers

  • When calculating the total user count, Kad now uses (if available) the real number of firewalled clients for the calculation instead a fixed value. This will take more effect when 0.49+ nodes become common

  • Kad no longer tries to add UDP firewalled (and therefore mostly unreachable) nodes into its routing table, reducing overhead and increasing reliability [Idea: Netfinity]

  • Optimized the Kad packettracking code to only track packets which we check later, to save resources

  • Fixed a bug which let Kad sometimes assume a Kad2 contact to be Kad1 after probing for both versions

  • Did first small step in dropping Kad1 support by not probing unknown Kad contacts for Kad1 anymore to save overhead. Kad1 clients will nevertheless still be work for now.

  • Several changes were made to Kad in order to defy routing attacks researched by University of Minnesota guys [Peng Wang, James Tyra, Eric Chan-Tin, Tyson Malchow, Denis Foo Kune, Nicholas Hopper, Yongdae Kim], in particular:
    • Kad contacts will only be able to update themself in others routing tables if they provide the proper key (supported by 0.49a+ nodes) in order to make it impossible to hijack them

    • Kad uses now a three-way-handshake (or for older version a similar check) for new contacts, making sure they do not use a spoofed IP

    • Unverified contacts are not used for routing tasks

    • When reading a nodes.dat without any verified contacts (possible an old file version), aMule will assume all contacts to be verified to avoid slowing down the connecting process



aMule development blog

This blog serves to inform users about important changes in the developmental version of aMule. This includes new features as well as changes to the application like new configuration options.

The blog won't be updated daily or immediately after every change, but expect to be informed of the most important changes in a timely manner.

I happily accept contributions like feature explanations, please contact me.

kind regards

Johannes Krampf <wuischke@amule.org>