-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I'm still working on the initial implementation of MH-corrected probes in Fred. I'm pretty close to having minimal functionality working, and next week I plan to finish up the initial implementation. However, I'm not happy with the current design, so if anyone would like to take a look at the bleeding edge of development and possibly offer feedback, the code is available. [1] This branch is quite rough; before submitting a pull request or a formal request for review I will rewrite the history onto another branch with each commit making a reasonable unit of change along with descriptive commit messages. Which is to say this branch does not have those properties.
The probes do not have a concept of acknowledgement or two-stage (propagated) timeouts. The possible outcomes of a probe request are a timeout, a node participating in the probe being disconnected, (also not propagated - only occurs for local disconnection) or a set of results. The possible results are: - -Swap identifier - useful for network population estimates - -Statistics on uptime: session, 48-hour percentage, and 7-day percentage - -Output bandwidth limit - -Datastore size limit - -Link lengths - -Freenet build - -Whether a key is found at the endpoint - -The number of nodes along the trace back on which a key is found Results like link lengths, bandwidth limit, or store size will have a small amount of random noise added in an attempt to make them less identifiable. The originating node requests exactly one type of result. As the request is routed the HTL is probabilistically decremented, with a very low probability of decrementing at HTL = 1. This is intended to make it more difficult to interrogate directly connected nodes by sending them probe requests with HTL = 1. Each node has a hard limit of how many probes it can be waiting on at any point in time, and will not respond to requests beyond that limit. Timeout is proportional to HTL. The probes are exposed over FCP. A tentative design for the request and names for responses is available on the wiki. [2] Nodes will be able to disable any number of these response types, and refusal to respond to a probe is (intended to be) indistinguishable from a timeout. Comments and suggestions are very welcome! Thanks, operhiem1 [1] https://github.com/thynix/fred-staging/tree/newProbesDev [2] https://wiki.freenetproject.org/User:Operhiem1/MHProbeFCP -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAEBAgAGBQJPreW2AAoJECLJP19KqmFuSYcP/jU2MI/jujZQVDfBVWbNW7xJ M+qh0EPdQ5yWBSj5H10LNLW4Ea29KNTmsI7ttnR9GPAHYeeOZ8F8AVZYB0eQd3jX IRecJiwWm2N48OcgMtEnpTbaaLYX9a70a/PLXQWZldX8aOwkbVefFn0DXF0D+j5u HgCDLuBa26tO5XwaGgmxkhLyJNfO/R94MezWUNaxF2HiwlP3zajUFDGRo/hZSC89 FNrqJYlAimfogli0RPatTNoJ1fG4YhQiyeQyxChCvooH+6FIHFzgI/gGVNAKam9i xDyk0cew6eQBp1L6aPzyzpgw/jkK0oXWB/jyaqLvRZM2aYY+jWCPrq1Z6jXzGnq8 Ps8VLkpNYGoegobiQCtf9kJXnrJ1UjN7wRky2Cvi6pwoDkulHS5HSv82lSSjeqK4 aWOkMfjQXFNjGCZj1CwlD2sgFhRkozc4HPkqe3ub8yVkshBto1W6xpApvQc7iI2F 5mVOLn+uaat9glq9OrYtwMB7nMJVyFFp9MGDRLk58z3vhk28kj6qIQmDIzAh6urc tDVgAtcrIckYN1j3WPnSJqN4ev+8lH49tSkfef3xnAIiEo5lqvT80xZi7PQoKKn3 5WW7KWGBlKoqMVWZlkKysB8Ks9xF5EzvCQ6//B2uZdwFQm2Xa0CBtNvqEMNTXuWI 8uTWVYqYdvB7Qub3HZD0 =P41g -----END PGP SIGNATURE-----
