I am trying to take a deep dive into the implementation of a blockchain. But I am having trouble finding somewhere to start. One question I have if anyone has the expertise is; How does p2p networking work in most blockchain implementations? Such as node discovery and broadcasting. Furthermore how does consensus algorithm and transactions fit into this p2p networking? (I may be asking the question the wrong way but essentially I want to know what happens when I send a transaction to the blockchain, full life cycle)