Ad-hoc Network from Daidalos

Implementation of the Polynomial-assisted Ad-hoc Charging Protocol. Part of my Masters dissertation, it allows to charge for traffic in multihop ad-hoc networks. All traffic is clearly authenticated using signatures. Forwarding nodes are also authenticated and identified, which can be used to provide incentives to participation. The protocol makes use of ECDSA (Elliptic Curve DSA) and hash chains in order to be resilient against impersonation attacks.

From the point of view of performance, it behaves very well. Even if all nodes add their identifier to packets forwarded. The base idea was to use hash-chains with a shared secret, combined with a constant size identifier. When adding their identifier to a packet, instead of appending it, nodes would combine their identifier with the information already present in each packet, by considering their identifier as a set of coefficients of a polynomial.

Packet headers are proofs of forwarding and can be redeemed for some benefit. When proofs are delivered to the collector, it can identify all participants by means of inverting a Vandermonde matrix in real time.

Source code can be found here. My dissertation can be found here and a relevant paper here