Can an attacker flood the Bitcoin network with fake transactions?
It seems like one of the basic assumptions you are making is that all transactions (&quot;fake&quot; or not) are added to the blockchain. But that is not the case. Only valid transactions can be included in a block and thus added to the blockchain. So even if some bad actor spams invalid transactions, these won't get added to the blockchain and force new nodes to sync them.
Furthermore, nodes will only relay blocks and transactions that are valid. If they are invalid, then they will not be forwarded on to the node's peers. Additionally, nodes have local Denial of Service protections. If a particular node is sending multiple invalid transactions and blocks, then the node will disconnect them and even refuse to accept a connection from/to that node (aka the malicious node is banned by the local node).
So a bad actor could make nodes that connect to many other nodes and try to spam them, but they will find themselves quickly peerless as everyone disconnects and bans them. Of course the way around this would be to change their IP address, but this means they constantly have to do that, just in order to get disconnected and banned. It would be essentially impossible to maintain a sustained attack on the network in this manner.
Lastly, the bad actor would only be able to do this to nodes that accept incoming connections. Nodes that only make outgoing connections would be unlikely to connect to the bad actors nodes, at least after they have changed their IP address once. This is because nodes that only make outbound connections only connect to nodes that are considered &quot;good&quot;, which includes things like long uptime. So the bad actor would have to maintain a node for a while (so it has a long uptime) in order to get incoming connections from outbound only nodes. But once they start spamming, they get disconnected and banned as they would for nodes that accept incoming connections. From that point on, nodes will not make outbound connections to it because it has misbehaved or because it has changed IP addresses and the new IP address does not have a long uptime.