The toolbox for enhancing privacy in P2P networks
p3lib implements a set of privacy preserving primitives and protocols that help engineers to build P2P and decentralized systems that protect peer's privacy.
The primitives implemented by p3lib are based on privacy enhancing technology research:
-
p3lib-sphinx
implements a general-purpose onion routing packet construction and processor based on Sphinx [1]. p3lib aims at adding more primitives and protocols in the future. Stay tuned and let us know what you'd like to see as part of p3lib library. -
p3lib-fullrt
implements a full routing table DHT lookup for libp2p that was suggested by OctupusDHT [2], to protect DHT initiator privacy during the recursive network lookup. -
p3lib-sinkhole
is a computational PIR system [3] that complements DHT lookups and guarantees probavle privacy for DHT lookup initiators
Layer | p3lib components | implementation status |
---|---|---|
Packet format | p3lib-sphinx [1] |
v0.1 |
Full Routing Table request | p3lib-fullrt [2] |
v0.1 |
Plausible deniability DHT lookup | p3lib-cfrd |
specs |
Octopus lookup | p3lib-multipathlookup , p3lib-shadownode [2] |
specs |
Sinkhole DHT | p3lib-sinkhole |
specs |
If you are interested about implementation details and APIs of p3lib components, check the specifications.
p3lib is designed to integrate seamlessly with libp2p.
Do you have ideas about some rad stuff you'd like to see implemented by p3lib? Open an issue or let's have a chat!.
[1] Sphinx: A Compact and Provably Secure Mix Format
[2] Octopus: A Secure and Anonymous DHT Lookup
[3] Private Information Retrieval
Fork and PR. Issues for discussion.
© MIT (hashmatter)
This work is supported by hashmatter. Want to become a supporter? Reach out!