Basically having a mempool means there is another p2p network going on before the blocks of the blockchain is even formed, that is based around propagating transactions peer to peer to random/semirandom other nodes.
Some people think this is good it allows for visibility of transactions before they are “committed” and makes for an additional layer of decentralisation. One thing to note here is that there is no “global mempool”, it is just a theoretical idea of all the transactions getting gossiped (moved around) in the system, but each node will always have an imperfect view of it. (This is why for MEV, there are agents called searchers that try to get as perfect as a view as possible of the mempool!).
Well as you can guess, it can be seen as a waste to send transactions to nodes other than the current leader of the blockchain (the node that is tasked with building a block). So in Solana, they decided to skip this part by having it be “semi” known ahead of time who the leader is. Now nodes can directly just send transactions to the leader as its known ahead of time! No need to waste time on “gossip”!
Actually, nodes can even know the upcoming leaders to a certain extent! Which allows Solana to go even further - you can send transactions to the leader AND the upcoming leaders in the case that you don’t fit into the current block.
But this of course introduces an issue, how do we order these transactions and not have duplicates?
This is where the “proof of history” thing comes in, which is an internal clock that allows everyone to follow the same sense of “time”. With a global clock, transaction ordering is predetermined to be kinda FIFO.
More on gulf stream: Gulf Stream: Solana’s Mempool-less Transaction Forwarding Protocol | by Anatoly Yakovenko | Solana | Medium
You can also probably sense that MEV gets weird with the above model. You can also know understand why Solana needs beefy compute and high networking capacity.
Now funnily enough, Narwhal also approaches performance improvements from the same angle. The creators also thought that the p2p network is holding us back.
I think @georged already explained Narwhal well above, so I will not dive to deep into it. From what I understand, its about everyone propagating blocks constantly, as well as some kind of compressed form of a series of blocks. These are then accepted to the chain via some kind of verification method.
Its very interesting to kinda compare the two approaches and realize that they are trying to solve the same problem - both identify the gossip layer as a bottleneck.
Solana - Removes gossiping by making the leaders known beforehand
Narwhal - Removes gossiping transactions by… gossiping blocks?
Solana - Solves ordering by having universal time and using FIFO
Narwhal - Individual nodes order inside blocks, but blocks are ordered by round number.
Correct me if im wrong about the above and if you have further questions please DM me on twitter: