I am reading Mastering Ethereum book and I have two questions which are bothering me and can't understand:
First one is about the Mempool. I understand that this is sort of database where all pending transactions are stored before they are added to a block. But my question is where are exactly those transactions stored. Since it is not a central database, are they stored locally on every active Ethereum node or are they stored on some central place where all nodes have access to.
My second question is how those transactions are actually broadcasted to the Mempool. I understand that Ethereum is using P2P system based on Kadamlia, but I suppose that nodes which are nearby receive newcomming transactions faster than nodes which are far away from each other. Or in other words some nodes should tend to receive the pending transactions faster than others, which is some kind of advantage, because they can start adding them to a block and mine that block while other nodes are still waiting for them to be received. Am I correct or first all active nodes should receive the same amount of transactions before they start adding them to a block?
If someone clarifies those two questions to me, will be very thankful!