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

WIP: Mixnet: Update spec for NomMix #98

Closed
wants to merge 28 commits into from
Closed

Conversation

youngjoon-lee
Copy link
Contributor

@youngjoon-lee youngjoon-lee commented Jun 26, 2024

Reference: NomMix: Peer-to-Peer Mix Network over Gossip Channel

Now, the spec is much simpler.

  • Deleted many files not necessary anymore
  • Added the "Global Transmission Rate" (aka. GTR)
  • Added the per-conn 0-hop noise
  • No mixnode topology anymore.
    • Now we selects k nodes randomly from the membership table.
    • How the membership table will be disseminated is not determined yet. Maybe it will be gossiped through the network. Here, we assume that it is already disseminated completely to each node.
  • No direct connection between mix nodes anymore.
    • All messages are gossiped. Only one node in the network can unwrap the Sphinx packet if he has a correct private key.

This spec will be used for the NomMix simulation. I'm already working on it.

TODO (Written as TODO commented in the source code):

  • Temporal mixing
  • Limiting the max length of mix route to make the size of Sphinx packet constant.

@youngjoon-lee youngjoon-lee self-assigned this Jun 26, 2024
@youngjoon-lee youngjoon-lee requested a review from zeegomo June 26, 2024 08:07
mixnet/fisheryates.py Show resolved Hide resolved
mixnet/config.py Show resolved Hide resolved
mixnet/config.py Outdated Show resolved Hide resolved
mixnet/node.py Outdated Show resolved Hide resolved
mixnet/node.py Outdated Show resolved Hide resolved
mixnet/node.py Outdated Show resolved Hide resolved
@youngjoon-lee youngjoon-lee changed the title Update mixnet spec for v2 Update mixnet spec to NomMix Jul 9, 2024
@youngjoon-lee youngjoon-lee changed the title Update mixnet spec to NomMix Update mixnet spec for NomMix Jul 10, 2024
mixnet/config.py Outdated Show resolved Hide resolved
mixnet/config.py Outdated Show resolved Hide resolved
mixnet/config.py Outdated Show resolved Hide resolved
mixnet/node.py Outdated Show resolved Hide resolved
mixnet/node.py Outdated Show resolved Hide resolved
mixnet/node.py Outdated Show resolved Hide resolved
mixnet/config.py Outdated Show resolved Hide resolved
mixnet/connection.py Outdated Show resolved Hide resolved
mixnet/connection.py Outdated Show resolved Hide resolved
mixnet/nomssip.py Outdated Show resolved Hide resolved
mixnet/nomssip.py Outdated Show resolved Hide resolved
@youngjoon-lee youngjoon-lee changed the title Update mixnet spec for NomMix Mixnet: Update spec for NomMix Jul 13, 2024
@youngjoon-lee youngjoon-lee changed the title Mixnet: Update spec for NomMix WIP: Mixnet: Update spec for NomMix Jul 19, 2024
@youngjoon-lee youngjoon-lee marked this pull request as draft July 19, 2024 04:49
@youngjoon-lee
Copy link
Contributor Author

I just opened a new PR #109 that moves the previous mixnet spec into a new deprecated/ directory to make the repo clean. Once the PR is merged, I will rebase this PR to the new master, so that this PR can add new spec files to the new mixnet/ directory. Until then, I am marking this PR as a draft.

@youngjoon-lee
Copy link
Contributor Author

Closing this, as we discussed in Discord. The executable spec needs to be written with the technical spec, after the design is verified by simulations and PoC. Although I put only clear parts of the spec in this PR, which is not likely to change during further experiments, we are not sure right now. So, let's close this PR for now, and recreate a new PR once we are ready to write the technical spec.

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

Successfully merging this pull request may close these issues.

3 participants