niwl - an experimental prototype combining fuzzy message detection with mixing to construct an open, decentralized, bandwidth efficient/scalable, metadata resistant, anonymous communication system.
serious #hicsuntdracones 🐉 warning on this one.
For some background on fuzzytags and some of the work that inspired this work check out: https://openprivacy.ca/discreet-log/01-anonymity-bandwidth-and-fuzzytags/index.html …
In short, Fuzzy Message Detection ( https://eprint.iacr.org/2021/089 ) is this pretty neat concept that allows receivers to set their false positive independently from senders constructing messages. This removes the needs for server-side bucketing, but requires sender anonymity to be secure
So why not combine the fuzzy message detection threat model with intermediate mixing to achieve that? That is niwl in essence.
However, because of the fuzzy addressing model and client-specified false positive rates we can be a bit more dynamic about the whole thing.
e.g. in niwl mixing is just a service provided by certain clients - as such there doesn't have to be consensus on who the mixers area and clients are free to make their own decisions about what mixers they trust and what strategies they can use (or not use).
Mixing comes at the small cost of doubling the number of messages on the (untrusted) routing server (per mix step) - but because clients are free to set lower false positive rates, the number of messages they download can be much smaller than the number of messages in the system.
The routing server can collude with a mixing node to undermine sender anonymity, but because of the fuzzytags it is still faced with a statistical analysis problem (and clients are free to choose mixing nodes, and there is no authority governing who can be a mixing node)
I'm sure there are issues with this prototype. Mixing systems are a complicated problem with many hidden dangers. Reviews / Comments / Collaborators welcome.
I've mostly been thinking about niwl in my spare time, but I'm hoping to dive into it more after the beta version of Cwtch is released - in particular I'd like to do some actual anonymity analysis, in addition to a thorough review.
You can follow @SarahJamieLewis.
Tip: mention @threader on a Twitter thread with the keyword “compile” to get a link to it.