I nodi sono composti dai pc degli utenti e da server, essi inoltrano le transazioni alle pool.
Più o meno corretto: i nodi sono composti dai computer (che siano server o pc è indifferente) che eseguono il software bitcoin e che sono connessi alla rete. Essi inoltrano le transazioni che ricevono da un nodo agli altri ai quali sono connessi e che ancora non conoscono transazione,
ammesso che la stessa sia standard.
Essi "decidono" ,sulla base di regole standard prestabilite e non modificabili, le modalità di invio.
Se con "essi" intendi i nodi e sostituisci "invio" con "inoltro" allora si, è sostanzialmente come dici tu. E' possibile cambiare tali regole standard predefinite in modo relativamente semplice, ma la stragrande maggioranza dei nodi usa il client originale.
In che senso quindi la transazione dovrà essere consegnata brevi manu?
Dal momento che le transazioni non standard (ad esempio, quelle senza fee quando invece dovrebbero averla) non vengono inoltrate dai nodi "originali", affinchè venga inclusa in un blocco è necessario consegnarla direttamente ad uno o più minatori, ovvero alle pool, che siano impostati per includere questo tipo di transazioni nei blocchi che stanno cercando di risolvere. Questo tipicamente non è un problema se ci si affida a servizi online il cui programma bitcoin è tipicamente connesso a centinaia di nodi, tra i quali sono compresi quasi sempre le maggiori pool, mentre potrebbe esserlo in una implementazione casalinga dove il programma in esecuzione sul tuo PC è connesso ad una decina scarsa di altri nodi, che difficilmente saranno pool.
"Consegna diretta" significa che il tuo programma bitcoin si collega direttamente, tramite internet, al server di una pool e gli trasmette la transazione che vuoi sia inclusa nella catena dei blocchi, senza passare per nodi che fungano da "rimbalzo" come accade normalmente nella rete bitcoin.
Ti consiglio di leggere questa pagina della wiki:
Free Transaction Relay Policy