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

multi: Integrate mixpool and propagate p2p mixing messages #3208

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

jrick
Copy link
Member

@jrick jrick commented Nov 7, 2023

This commit adds the mixing message pool to the server and listens for all
peer-to-peer mixing messages broadcast on the network. If these messages are
able to be accepted to the mixpool, they are relayed to other peers through
the inventory system, and notified to RPC clients.

This commit also also adds support for publishing and receiving mix messages
over JSON-RPC for non-SPV wallet clients.

Requires #3207.
Requires #3082.

@jrick jrick force-pushed the mixing_server branch 3 times, most recently from 14218d5 to a379d96 Compare November 8, 2023 17:36
@jrick jrick force-pushed the mixing_server branch 3 times, most recently from 02673d2 to fea21bd Compare March 20, 2024 13:56
@jrick jrick changed the title peer,main: propagate p2p mixing messages multi: Integrate mixpool and propagate p2p mixing messages May 7, 2024
@jrick jrick force-pushed the mixing_server branch 5 times, most recently from 363276f to db46c15 Compare May 13, 2024 18:37
The mixpool package implements a memory pool of recently observed mix
messages.  Similar to the transaction mempool, the mixpool allows these
messages to be temporarily stored in memory to be relayed through the P2P
network.  It handles message acceptance, expiry, UTXO ownership proof checks,
and that previously referenced messages have also been accepted to the
mixpool.

The mixpool is designed with both full-node and wallet usage in mind,
providing all of these same acceptance rules to mixing wallets with the
exception of UTXO proof checks.  For wallets, it also implements query
functions for messages matching compatible pairings and messages belong to
ongoing sessions.
jrick added 3 commits May 13, 2024 19:10
This commit adds the mixing message pool to the server and listens for all
peer-to-peer mixing messages broadcast on the network.  If these messages are
able to be accepted to the mixpool, they are relayed to other peers through
the inventory system, and notified to RPC clients.

This commit also also adds support for publishing and receiving mix messages
over JSON-RPC for non-SPV wallet clients.
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.

None yet

1 participant