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

Integrate Custom Mix Protocol with libp2p for PoC #2

Open
10 of 21 tasks
AkshayaMani opened this issue Sep 23, 2024 · 0 comments
Open
10 of 21 tasks

Integrate Custom Mix Protocol with libp2p for PoC #2

AkshayaMani opened this issue Sep 23, 2024 · 0 comments
Assignees

Comments

@AkshayaMani
Copy link
Collaborator

AkshayaMani commented Sep 23, 2024

Description

This issue details tasks required to integrate the custom Mix protocol with libp2p, showcasing the core features with an anonymized Ping simulation.

Tasks

Sphinx Cryptographic Packet Format Implementation

  • Implement core Sphinx packet operations.
    • Define interfaces for required cryptographic primitives (AES, KDF, SHA256, MAC).
    • Define interfaces for core curve25519 operations.
    • Implement custom Sphinx protocol structure (with serialization).
    • Implement Sphinx packet wrapping/unwrapping functions.
  • Implement replay protection via tag manager.
  • Integrate proof-of-work for spam prevention.

Libp2p Integration

  • Create a libp2p protocol adapter for Sphinx.
    • Define protocol ID and message format.
    • Implement protocol handler logic for:
      • Sender nodes (packet creation, wrapping).
      • Intermediary nodes (processing, forwarding).
      • Exit nodes (unwrapping, final delivery).

Simulation

  • Develop a network simulation framework:
    • Procedures for node setup and teardown.
    • Basic routing and message passing.
  • Node configuration:
    • Define node roles (mix, sender, receiver).
    • Integrate libp2p ping on designated nodes.
  • Simulate anonymized Ping:
    • Enable sender nodes to route Ping through local mix.
    • Forward messages through the mix network.
    • Final delivery at the exit node.
  • Implement logging for debugging and demonstration.
  • Test coverage:
    • Functional tests for mix handlers.
    • Integration tests for libp2p protocol adapter.
    • End-to-end test of the mix network.
  • Document simulation steps and analysis.

Additional Notes

  • Focus on a functional PoC to demonstrate core functionality.
  • Maintain simplicity and clarity to ease future development.
  • Document assumptions, limitations, and future improvements.
  • Ensure regular team communication and feedback.
@AkshayaMani AkshayaMani self-assigned this Sep 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant