Skip to content

Proof of Work (PoW) Support in Onionbalance

Proposal 327 brings a Proof of Work (PoW) defense for Onion Services. It's currently implemented on C Tor and plans for implementing on Arti are well underway.

This feature is advertised to clients through a new descriptor field:

   "pow-params" SP type SP seed-b64 SP suggested-effort
                SP expiration-time NL

For services relying on Onionbalance, though, this field is still unsupported, since:

  1. The frontend service does not implement this field.
  2. Clients cannot fetch the backend's descriptors to check if pow-params is present.
  3. Currently the frontend service does not check this field on each backend service.
  4. The backend services have no way to agree in shared parameters such as seed-b64, suggested-effort and expiration-time.

This issue is intended to track the current status of PoW support in Onionbalance, if feasible.