libp2p / libp2p/specs

Proposal: Privacy Preserving Metrics

Open
#504 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
1.8k
Forks
320
Avg merge
11d 15h
Merged PRs (30d)
1

Description

I’ve discussed this with various people over the last year or so, but we never wrote up a tracking issue. It’s already part of our roadmap: https://github.com/libp2p/specs/blob/master/ROADMAP.md#%EF%B8%8F-telemetry-protocol.

The proposal is to provide a generalized way to collect metrics that can be used by libp2p services (e.g. hole punching, swarm dialers, etc.) as well as libp2p users. Metrics collection should happen in a privacy preserving way, enabling us to turn on metrics by default without users having to give up their privacy, as would be the case in a more traditional metrics collection system.

There’s interesting work going on in the IETF PPM working group at the moment: They’re working on a protocol where a node reports a measurement value to two separate aggregator nodes (which are assumed to not collaborate). Through some fancy cryptography, the aggregators 1. run some sanity checks on the value (e.g. make sure that it’s within a certain value range) and 2. compute an aggregated value, which, when combined with the value derived by the other aggregator, yields the desired result (e.g. the average value over all measurements).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the telemetry protocol entry in ROADMAP.md and review the linked IETF PPM working group documents. Identify the requirements for metrics used by libp2p services and users, including privacy preservation, sanity checks, and combining results from separate aggregators. Done should be a sufficiently defined generalized protocol proposal.

Written by the indexing model from the issue text.

Assessment

Tech stack
cryptography
Domain
cryptography, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.