Relay transactions with exponential decaying probability #29
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If we can relay txs we can increase our privacy. However, we can't validate txs so we don't know if we're relaying invalid txs or not. Bchd nodes do not currently ban for relaying invalid txs, however we open the possibility of an amplification attack if we relay everything.
To prevent this we relay with an exponentially decaying probability that resets every block.
If we ever implement banning in bchd for invalid txs we should allow a minimum number of invalid txs before a ban with the minimum set well above the expected number of relayed txs from neutrino nodes.