ipfs/ipfs-docs

[CONTENT REQUEST] document peer ids more thoroughly

Opened this issue · 3 comments

I couldn't find documentation on peer ids, aside from a brief glossary entry which linked to the DHTs page. That page doesn't talk about the nature of peer ids themselves, just how they're used in the DHT.

At minimum, it should link to the libp2p documentation on the topic: https://docs.libp2p.io/concepts/fundamentals/peers/

A common topic I get questions about is peer id stability / life-cycle.

Here's a list of topics to cover off the top of my head:

  • how do the various mature implementations create peer ids? and when?
  • how are they managed, and where?
  • what are the conditions under which a peer id would change?
  • as a developer, what are some reasons i might want to change my peer id?
  • what are the repercussions of changing a peer id?
  • what are some common patterns/challenges in ipfs applications which use peer ids as identity?

also, the docs are not consistent in how peer ids are referred to.

if you type peerid into search, you get zero results.

if you type peer id you get the glossary entry, which consistently uses peer id.

the glossary entry links to the dht page which doesn't use peer id at all, and only uses peerId.

  • where's the key pair that the id is derived from?
  • can i use it for other things, like in dapps?
  • can i use it to encrypt and share stuff?
  • should i? what are benefits and risks of doing so?

I was investigating the basics of PeerIDs and key types as part of basic research for this (and a related project), and had some questions which I posted in the libp2p forum: https://discuss.libp2p.io/t/questions-regarding-peerids-key-types-and/2330.

Sharing here as it's probably relevant for this