Bitcoin Forum
November 11, 2024, 10:18:55 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Average mempool size difference across nodes  (Read 161 times)
?QuestionMark? (OP)
Member
**
Offline Offline

Activity: 79
Merit: 28


View Profile
January 08, 2021, 06:28:39 PM
Merited by ranochigo (4), LoyceV (2), malevolent (1), ABCbits (1)
 #1

Does anybody know what the average difference of the mempool size between nodes is. I know some nodes have their on rules on what gets in the mempool, some don't run 24/7 and some are connected to more peers. But is the difference minimal or very high?
ranochigo
Legendary
*
Offline Offline

Activity: 3038
Merit: 4420


Crypto Swap Exchange


View Profile
January 09, 2021, 02:41:13 AM
 #2

There isn't a way to get the absolute value since there isn't anyone actively recording the mempool size of the individual nodes.

The mempool size would be more dependent on the limit as specified by the individual node as opposed to the number of nodes it's connected to. Transaction propagation is generally fairly extensive, nodes will always attempt to find out transactions not in their mempool by sending mempool messages and receiving inv message as a response to populate their own mempool. It's thus fairly unlikely for the node to miss any transactions unless all of their peers has rules that are more restrictive than the user's nodes.

Not running your node 24/7 or not having more peers should not result in your mempool being significantly lower than others. At least the reference nodes should be able to see most of the standard transactions.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
?QuestionMark? (OP)
Member
**
Offline Offline

Activity: 79
Merit: 28


View Profile
January 10, 2021, 08:23:09 PM
 #3

Thanks for the explanation. Gets me a better picture. But I got another question.

Lets say I'm restarting my bitcoin node after a few days being offline. Since mempool is in RAM, my mempool is empty. Do I ask my peers for transactions I missed to fill my mempool or do I just normally receive transactions and when validating a block asking for missing transactions and put them directly into the UTXO? And Is the UTXO set also in RAM or stored on the HD?

nodes will always attempt to find out transactions not in their mempool by sending mempool messages and receiving inv message as a response to populate their own mempool. It's thus fairly unlikely for the node to miss any transactions unless all of their peers has rules that are more restrictive than the user's nodes.

Or does that answer my question about transactiosn for the mempool? I'm not quite sure.
ranochigo
Legendary
*
Offline Offline

Activity: 3038
Merit: 4420


Crypto Swap Exchange


View Profile
January 11, 2021, 03:53:47 AM
 #4

Lets say I'm restarting my bitcoin node after a few days being offline. Since mempool is in RAM, my mempool is empty. Do I ask my peers for transactions I missed to fill my mempool or do I just normally receive transactions and when validating a block asking for missing transactions and put them directly into the UTXO? And Is the UTXO set also in RAM or stored on the HD?
The mempool is dumped onto the disk at shutdown. It's contained within mempool.dat within the data directory.

CMIIW, the reference client synchronizes first before repopulating the mempool again. It would make sense for them to catch up with the best tip so that any transactions spending the same UTXO within the mempool can be removed more efficiently.

My take on the issue is that discrepancies between mempool size should be a result of the user's configuration more than the nature of the propagation of the transaction. I've previously ran a node and a pruned Bitcoin Core node. When I did arbitrary comparisons, the difference between the two was fairly small, think less than a MB. It's no indication of the bigger picture but I'm inclined to believe that the difference should not be excessively big.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
?QuestionMark? (OP)
Member
**
Offline Offline

Activity: 79
Merit: 28


View Profile
January 11, 2021, 12:20:22 PM
 #5

CMIIW, the reference client synchronizes first before repopulating the mempool again. It would make sense for them to catch up with the best tip so that any transactions spending the same UTXO within the mempool can be removed more efficiently.

Why didn't I think of it earlier. Makes super sense now, thanks!
DaveF
Legendary
*
Offline Offline

Activity: 3654
Merit: 6666


Crypto Swap Exchange


View Profile WWW
January 11, 2021, 05:16:48 PM
 #6

Yes the mempool can be all over the place.
I asked a similar question back in 2019.
Take a look at this thread: https://bitcointalk.org/index.php?topic=5200716

-Dave

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!