i know that when user submits a transaction that transaction is then sent to all their peers by following this protocol https://github.com/ethereum/wiki/wiki/%C3%90%CE%9EVp2p-Wire-Protocol. Miners receive this transaction, check for validity and other things (like orphaned transactions), then bundle it together with a bunch of other transactions in a block they finally reach consensus and they store the block in the blockchain.
What happened with the wallet clients as they are not part of consensus how did they receive the blocks?? from my understanding they connect into a P2P network and something like gossipnig happens between them and the validator peers who participate in consensus and finally, they sync blocks
Am i correct until now?
My second question is gossiping protocols usually gossip a message by passing it from neighbor to neighbor as a result when a client wallet connects to a peer whos taking part in consensus and try to sync blocks how client wallet knows that this peer does not produce fake blocks or forks. Maybe the client sync from all active peers and follows the majority????
what am i missing?