-
Notifications
You must be signed in to change notification settings - Fork 992
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
update Dandelion documentation #2723
Conversation
@antiochp @quentinlesceller the first draft is now ready for review, let me know what you think, and please notice the questions I've highlighted throughout the description of the Grin implementation, not sure what we do in some of these cases. |
@antiochp @quentinlesceller just another nudge on a review on this (happy to make edits in case you'd want this to look different - just say). Some specific questions I have about the way this is implemented in Grin:
|
Yes. One is randomly chosen from the current set of outbound peers at the beginning of each epoch.
Yes. Any stem txs received will be added to the local stempool.
No. I believe we diverge from the spec here. There may be room for improvement to make the behavior match the spec. Did it this way as the impl was significantly simpler if we did not need to treat "local" txs differently. Still not entirely clear what the benefit is of always stemming local txs.
Yes. The following is configurable -
I believe so yes. This implies something unexpected happened in terms of routing and we immediately fluff in this situation. We probably want to keep an eye on this and see how often this occurs in practice. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apologies for not reviewing this earlier. This looks good.
Responded to your specific questions separately.
"Always stem local" behavior implemented here - #2876 Turns out the main thing preventing us from doing this was how hard it makes Dandelion testing if we cannot get "local" txs to participate in local stem aggregation. So made it a configurable option that defaults to following the Dandelion++ paper. The following config will set your local node to aggregate all txs it sees and fluff them periodically -
|
@antiochp thanks for the review, the comments, and the improvement! I've updated the docs to reflect your answers I think and this is now ready to be merged. Just a quick note regarding this one:
Actually, I don't think the parameters you list here relate to
Is this |
Oh I see what you're asking - I misunderstood before. The 10s is not configurable no, its simply an implementation detail. |
Oki cool - so then this documentation is accurate and is ready for merging unless there is other feedback. ✌️ |
On which branch should this be merged? And, reading this
I would have guessed such settings makes stemming not happen. |
Good question, if I understand correctly our current docs are now outdated. Any reason why this shouldn't be merged into master @antiochp? |
We're holding off touching master until after the HF I believe. |
@antiochp cool - does that mean that I need to close and reopen the PR? |
No, you can change the branch you want to merge in on the top of the page, when you press the "Edit" button |
* generate txhashset archives on 250 block intervals. * moved txhashset_archive_interval to global and added a simple test. * cleaning up the tests and adding license. * increasing cleanup duration to 24 hours to prevent premature deletion of the current txhashset archive * bug fixes and changing request_state to request height using archive_interval. * removing stopstate from chain_test_helper to fix compile issue
* commit cargo.lock * rustfmt
Thanks, I've re-opened a cleaned up version as #2942 to be merged against |
Fixes #2719.