EigenSpeed could provide a lot of security improvements to the Tor network in the face of all sorts of amplification attacks. It just sort of sucks because the passive version could not measure fast relays, and so we've never used it.
However, an active version based on CapProbe, PacketPair, etc could possibly measure capacity in as little as a handful of UDP packets, enabling distributed active lightweight measurements. We could also blend in circuit failure rate information.
As an alternative, we could also try using the passive EigenSpeed for slow relays and the bw authorities only for the faster ones...
The big problem is that this is basically a research effort. We're going to need to try at least a couple different versions of these designs and compare them to each other, and then compare them to the current bandwidth authorities, to make sure everything is as performant and abuse tolerant as possible.
Designs
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
Trac: Cc: arma to arma, aagbsn Summary: Evaluate Active EigenSpeed/Hybrid Eigenspeed to Evaluate Active EigenSpeed vs Hybrid EigenSpeed vs Existing Bw Auths Owner: mikeperry toN/A Status: new to assigned
FYI, there are a ton of lightweight capacity measurement mechanisms published since CapProbe that claim to be improvements. Examples include: Packet Twins, TRIO, and "ThroughputIndex" (fully passive).
If we have to do both the research and the implementation ourselves, this is a large project. It is also closely related to network performance and security.
Who knows what black hole the source has disappeared into, though...
The code for EigenSpeed is here: https://bitbucket.org/hatswitch/eigenspeed. Nikita sent me an old patch when asked about the code used in "Improving Security and Performance in the Tor Network through Tunable Path Selection". Not sure if that one is helpful though...
Status on this one: since Mike made this ticket, the Peerflow paper became a thing, and Rob even has an implementation of a collaborative flooding approach that he's been using for the recent experiments to exercise each relay.
So in that sense we have made progress on secure bandwidth measurement, but not so much on decentralized bandwidth measurement.
Mike, what did you have in mind here that we haven't achieved?
And cc'ing @gk and @juga so they can follow along, since part of this is about the glorious future of bwauths.
Since the PeerFlow paper, we've taken a step back and designed a system that we think is more reasonable for Tor's threat model and operational environment called FlashFlow (yes, too many "flows" being thrown around).
FlashFlow is basically a system to run my flooding experiment, but distributed across a set of bandwidth authorities with well-defined (and more intelligent) algorithms for coordination, measurement of new relays, etc.
We have a research paper explaining the system and it's security and performance implications, Tor proposal 316 detailing how Tor could adopt it, and @pastlyimplemented it specifically for Tor deployment.
We had originally intended sbws to be a temporary band-aid and designed FlashFlow to be the future.