Decentrale, gedistribueerde netwerken vereisen dat de informatie overal hetzelfde is en daarvoor is een peer-o-peer-netwerk van nodes nodig die de informatie aan elkaar doorgeven.
Om die informatie bereikbaar te houden is een netwerk van nodes nodig. Elke node heeft dezelfde informatie als de rest.
Door speciale technieken toe te passen is het mogelijk om niet alle informatie op elke node te zetten, al moet wel alle informatie ooit geverifieerd zijn door de node. Dat heet dan een pruned node of een SPV-node (simplified payment verification).
Er is geen verschil tussen de nodes in hiërarchie van het netwerk omdat het gaat om een peer-to-peer-netwerk zonder centrale autoriteit.
Het netwerk wordt gevormd door nodes die met elkaar in contact komen door, bij bitcoin, te verbinden via een TCP-verbinding of via TOR. Als er via een TCP-verbinding verbonden wordt, gaat dit standaard via poort 8333.
Nadat een verbinding tot stand gebracht is, vindt er een zogenaamde ‘handshake’ plaats waarmee informatie over de node wordt gedeeld, zoals het gebruikte versienummer van de software.
Om initieel andere nodes te vinden, worden verschillende DNS(-achtige) technieken gebruikt. Na het verbinden met minstens één node worden verschillende commando’s uitgewisseld om meer nodes te vinden met behulp van het getaddr-bericht.
Slechts één verbinding met een andere node is nodig om te beginnen.
Het is niet nuttig om meer dan een tiental verbindingen te hebben, omdat dit om meer rekenkracht en netwerkgebruik vraagt.
Als er helemaal geen communicatie is met een andere node, dan wordt de verbinding na 90 minuten gesloten en wordt een nieuwe node gezocht.