In Ethereum, when a node ‘broadcasts’ a transaction or block, what algorithm is used to broadcast that transaction or block to all the nodes? Also, how does this algorithm discover peers? What are some resources I could use to learn about this algorithm and its use in Ethereum?




Note:
[This](https://ethereum.stackexchange.com/questions/52240/how-are-transactions-broadcasted) is not the same question as mine. Mine is much more in-depth.