SolidusIdentity
Create Your DID

Why More Solidus Holders Makes Your Presentations Safer

The unlinkability implementation described here is unaudited.

And the headline above describes a property that grows with adoption we do not have yet. The mechanism is real and running. The herd is not. That is the honest shape of this page, and it comes first rather than at the end.

What herd privacy is

Some privacy properties are not about hiding you: they are about being indistinguishable from enough other people that identifying you is not worth the effort.

The measure is usually written k: how many others could equally have produced what a verifier just saw. k = 2 is nearly no protection. k = 200,000 is strong. The mechanism is identical in both cases, only the crowd differs.

This is the part that catches people out. A privacy mechanism can be flawlessly implemented and still protect nobody, because its strength is a property of the population, not of the code.

What Solidus actually does

The BBS+ credential header is deliberately cohort-constant. Every holder issued in the same epoch gets an identical header, it carries nothing per-holder. So a verifier looking at the header learns which cohort you belong to and nothing that distinguishes you inside it. The BBS+ implementation referenced here is unaudited.

That is herd privacy applied directly, and it is a deliberate design decision rather than an accident of the format. You can see the structure yourself: the unlinkability demonstration ships inside the published npm package, and its own output prints the audit-pending boundary rather than hiding it. The BBS+ implementation referenced here is unaudited.

The mechanism exists. It is running.

The number that decides whether it matters, and we have not published it

How many holders share an epoch with you?

We do not publish that number. There is no page you can read it on and no command that returns it.

A cohort drawn from that population is not a crowd you can hide in.

We are not going to publish an estimate instead. A number we generated to make this page feel better would be exactly the kind of invented figure this site exists to avoid. The absence of the number is the finding.

What that means practically today

  • The design is right and the protection is currently thin. Both halves are true at once, and neither cancels the other.
  • It gets better on its own as more people hold credentials, which is the unusual thing about this property: we cannot ship it, only accumulate it.
  • Do not rely on herd privacy today for anything with real consequences. Rely on the mechanisms that do not depend on population size: a different identifier per verifier, so there is no shared handle to join on, and disclosing fewer fields, so there is less to match against.

Two things herd privacy does not do

It does not help against a verifier you present to directly. They see what you disclosed. The crowd protects you from being picked out of a set, not from the party you are talking to.

It does not survive a unique field. Reveal one attribute only you have, and cohort size stops mattering entirely, k collapses to 1 regardless of how large the epoch was. Herd privacy is a property of the whole presentation, and the narrowest field in it sets the ceiling.

Keep reading

Why More Solidus Holders Makes Your Presentations Safer · Solidus — Solidus Identity