If a new node joins the network and attempts a full sync, it requires all transaction information from genesis to build up its chain state. To do this the transactions it receives must be the originals (signed transactions from the sender account) in order to verifiably build the state. It retrieves this data from other nodes on the network.
My question is: How are old transactions maintained to be able to sync new nodes on the network without storing too much excess data?