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

[P2P][LibP2P][SPIKE] Consolidate and Refactor Node Identity #348

Open
13 tasks
jessicadaugherty opened this issue Nov 13, 2022 · 0 comments
Open
13 tasks
Assignees
Labels
consensus Consensus specific changes core Core infrastructure - protocol related p2p P2P specific changes triage It requires some decision-making at team level (it can't be worked on as it stands)

Comments

@jessicadaugherty
Copy link
Contributor

jessicadaugherty commented Nov 13, 2022

Objective

Research and design an implementation plan for consolidating naming patterns between Address & Peer throughout the codebase.

Origin Document

In the consensus module, we define a NodeId in types.go.

Screen Shot 2022-11-13 at 4 24 47 PM

In the P2P module, we maintain addr books and lists:

Screen Shot 2022-11-13 at 5 31 34 PM

In LibP2P, we have a PeerID:

Screen Shot 2022-11-13 at 5 34 32 PM

Goals

  • Identifying all the different parts in the codebase that need to be updated to simplify and consolidate IDs
  • LibP2P ↔ Pocket identity mapping: determine whether to centralize the mappers in one place or adopt LibP2P address as a base

Deliverables

  • A design document that recommends how to simplify the codebase and consolidate the use of the same IDs with a single source of truth that includes:
    • Replacing NodeId in consensus with node-wide identity
    • A decision on if we support multi-address or not
    • How to expose/advertise identity through RPC appropriately
    • Required cleanup configurations for node runners related to identity
    • Decide & design if using one PrivateKey for all modules or on a per module level
    • Show how different modules are connecting via this ID

Non-Goals / Deliverables

  • Peer discovery or churn
  • Using the same private key for each module

General issue checklist

  • Update the appropriate CHANGELOG
  • Update the README
  • If applicable, update the source code tree explanation
  • If applicable, add or update a state, sequence or flowchart diagram using mermaid
  • Update any relevant global documentation & references
  • Document small issues / TODOs along the way

Creators: @jessicadaugherty @Olshansk

@Olshansk Olshansk added core Core infrastructure - protocol related p2p P2P specific changes labels Nov 14, 2022
@deblasis deblasis moved this from Up Next to In Progress in V1 Dashboard Nov 14, 2022
@deblasis deblasis moved this from In Progress to Up Next in V1 Dashboard Nov 14, 2022
@jessicadaugherty jessicadaugherty moved this from Up Next to Backlog in V1 Dashboard Jan 13, 2023
@jessicadaugherty jessicadaugherty moved this from Backlog to Rescope in V1 Dashboard Feb 13, 2023
@jessicadaugherty jessicadaugherty changed the title [P2P] Peer Discovery - LibP2P - Consolidate Node/Peer ID with LibP2P Peer ID [P2P][SPIKE] LibP2P - Consolidate Node/Peer ID with LibP2P Peer ID Mar 9, 2023
@jessicadaugherty jessicadaugherty changed the title [P2P][SPIKE] LibP2P - Consolidate Node/Peer ID with LibP2P Peer ID [P2P][LibP2P][SPIKE] Consolidate and Refactor Node Identity Mar 9, 2023
@jessicadaugherty jessicadaugherty added the triage It requires some decision-making at team level (it can't be worked on as it stands) label Mar 13, 2023
@jessicadaugherty jessicadaugherty moved this from Rescope to Backlog in V1 Dashboard Mar 13, 2023
@bryanchriswhite bryanchriswhite moved this from Backlog to In Progress in V1 Dashboard Mar 24, 2023
@bryanchriswhite bryanchriswhite moved this from In Progress to Rescope in V1 Dashboard Apr 19, 2023
@jessicadaugherty jessicadaugherty moved this from Rescope to In Review in V1 Dashboard May 14, 2023
@bryanchriswhite bryanchriswhite moved this from In Review to In Progress in V1 Dashboard May 15, 2023
@bryanchriswhite bryanchriswhite moved this from In Progress to Rescope in V1 Dashboard May 15, 2023
@Olshansk Olshansk added the consensus Consensus specific changes label Jul 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
consensus Consensus specific changes core Core infrastructure - protocol related p2p P2P specific changes triage It requires some decision-making at team level (it can't be worked on as it stands)
Projects
Status: Rescope
Development

No branches or pull requests

5 participants