Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking issue for peer IDs as CIDs #216

Open
9 of 22 tasks
Stebalien opened this issue Oct 1, 2019 · 1 comment
Open
9 of 22 tasks

Tracking issue for peer IDs as CIDs #216

Stebalien opened this issue Oct 1, 2019 · 1 comment

Comments

@Stebalien
Copy link
Member

Stebalien commented Oct 1, 2019

RFC: #209

This RFC outlines the process for moving from formatting peer IDs as base58 multihashes to formatting them as CIDs with a special libp2p-key multicodec (0x72).

This RFC does not change the in-memory and/or network representation of peer IDs, just the textual format.

This process has two stages that must be completed in order:

  • Stage 1: Parse CIDs as peer IDs.
  • Stage 2: Format peer IDs as CIDs by default.

Tracking status of all libp2p implementations:

lidel added a commit to multiformats/js-multiaddr that referenced this issue Oct 25, 2019
This change adds support for Peer ID represented as CID.
Implements `Stage 1` from libp2p/specs#216

License: MIT
Signed-off-by: Marcin Rataj <lidel@lidel.org>
jacobheun pushed a commit to multiformats/js-multiaddr that referenced this issue Oct 28, 2019
This change adds support for Peer ID represented as CID.
Implements `Stage 1` from libp2p/specs#216

License: MIT
Signed-off-by: Marcin Rataj <lidel@lidel.org>
lidel added a commit to ipfs/js-ipfs that referenced this issue Nov 4, 2019
This adds support for PeerIDs as CIDs in /ipns/ paths.
See libp2p/specs#216 for full context.

License: MIT
Signed-off-by: Marcin Rataj <lidel@lidel.org>
lidel added a commit to ipfs/js-ipfs that referenced this issue Nov 4, 2019
This adds support for resolving PeerIDs as CIDs in /ipns/ paths.
See libp2p/specs#216 for full context.

License: MIT
Signed-off-by: Marcin Rataj <lidel@lidel.org>
alanshaw pushed a commit to ipfs/js-ipfs that referenced this issue Nov 6, 2019
This adds support for resolving PeerIDs as CIDs in /ipns/ paths.
See libp2p/specs#216 for full context.

License: MIT
Signed-off-by: Marcin Rataj <lidel@lidel.org>
lidel added a commit to libp2p/go-libp2p-core that referenced this issue Dec 10, 2019
What:

1. Supports decoding CIDs (of libp2p keys) as peer IDs 
   (libp2p/specs#216)
2. Continues to encode peer IDs as base58 multihashes by default.
3. Adds functions for converting between peer IDs and CIDs.
4. Deprecates IDB58{Decode,Encode}, replacing them with {Decode,Encode}.

Why:

1. We _need_ to support multibase somehow, so we can put peer IDs in domains.
2. This makes peer IDs fully self describing. That is, the CID itself indicates that it's a hash of a libp2p public key.
3. It's much easier to upgrade wire protocols than text. This change punts
pids-as-cids on the wire down the road but that's something we can revisit if it ever becomes relevant. 

See libp2p/specs#111 for context.

Deviations from that issue:

* This _retains_ the current peer ID inlining of ed25519 keys. That turned out to be a nightmare, one I'd like to punt a bit more down the road.
* Likewise, this _punts_ the question of embedding the multi-hash algorithm in the public key.
marten-seemann pushed a commit to libp2p/go-libp2p that referenced this issue Aug 17, 2022
What:

1. Supports decoding CIDs (of libp2p keys) as peer IDs 
   (libp2p/specs#216)
2. Continues to encode peer IDs as base58 multihashes by default.
3. Adds functions for converting between peer IDs and CIDs.
4. Deprecates IDB58{Decode,Encode}, replacing them with {Decode,Encode}.

Why:

1. We _need_ to support multibase somehow, so we can put peer IDs in domains.
2. This makes peer IDs fully self describing. That is, the CID itself indicates that it's a hash of a libp2p public key.
3. It's much easier to upgrade wire protocols than text. This change punts
pids-as-cids on the wire down the road but that's something we can revisit if it ever becomes relevant. 

See libp2p/specs#111 for context.

Deviations from that issue:

* This _retains_ the current peer ID inlining of ed25519 keys. That turned out to be a nightmare, one I'd like to punt a bit more down the road.
* Likewise, this _punts_ the question of embedding the multi-hash algorithm in the public key.
@Arlodotexe
Copy link

Tracking issue for the .NET side ipfs-shipyard/net-ipfs-core#26

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Triage
Development

No branches or pull requests

3 participants
@Stebalien @Arlodotexe and others