--
You received this message because you are subscribed to the Google Groups "bitcoin-xt" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoin-xt+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
One possible middle ground for a mempool eviction policy would be to pick two random transactions, then evict the one with lower fee/kB.
--
Agreed, the simplicity of the rules is as important as the "optimality" of the result, since the goals themselves can't be totally nailed down anyway.
From simple rules like this, ant colonies have complex emergent behavior.
One consequence would be that under a prolonged pool-full period, this rule tends toward highest-feerate. A measurement I like better is: expectedBlocks(feerate) * sizeBytes. This approximates the node's expected cost of keeping it in the mempool.
Do you agree on these priorities?
--
Based on those priorities, my take on some of the suggestions.
Moving from #transactions limit to a #bytes limit to trigger
evictions(from #61):
Why use it? Because it will be easier for users to set the right
value that won't crash their nodes.
RAM is measured in bytes, so the mempool limit should be too.
Picking 2-4 random samples instead of 1 to compare by fee/kb
before evicting(by Chris Chua):
This improves the current code without drawbacks. Love this idea.
Random seed based deterministic ordering for evictions(by
Christophe Biocca):
While it does come with complexity and CPU cost, it's also a
significant improvement in reducing the influence we have on the
network-wide mempool. Would lean in favour of implementing it, but
it's a tough trade-off.
Bloom filter based re-insert prevention(by me, without
misbehave version):
This is an alternative solution to Christophe Biocca's seed based
ordering. The advantages are largely the same, but I think this is
cheaper to implement. Complexity is similar.
--
Because of this, my current favourite combination is:
Perhaps I'm biased to pick my own alternative over Christophe's
but there you have my reasoning behind it.
Alright, I believe we shouldn't drag this discussion on for too long and implement something sooner rather than laterFirst, we should make sure this is indeed a valid concern :) I personally doubt that.
1) in case of an attack the number of spam txs is much higher than the number of real txs, this means the chances of eviction are much greater for spam txs. (but this requires either somebody good with math or a simulation to confirm)
2) your transaction will still live in other nodes, again this needs to be estimated/simulated.
3) are there any penalties for rebroadcasting currently in the code?
4) how often will spam attacks happen, especially once the block limit is raised?
You tell me :] I'm up for discussing it.Some other arguments pro/con?
--
You received this message because you are subscribed to the Google Groups "bitcoin-xt" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoin-xt+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
I wrote an article on the new memory pool limiting feature here:It contains some basic technical info and I also argue that random selection actually makes more sense than ordering by fee. I feel about 80% confident in this argument but there might be something I've overlooked. Please do argue with me if you'd like to see a switch to shoot-lowest-fee in future.