¿Por qué Bitcoin usa TCP en lugar de UDP?

Desea usar TCP porque es confiable . Esto significa que si se interrumpe un solo bit durante la comunicación, TCP se encargará de la retransmisión. Entonces, desde una perspectiva de programación, puede ver la conexión TCP como un túnel. Mientras el túnel esté arriba, puede estar seguro de que los datos se pondrán del otro lado.

Si no tiene confiabilidad, no puede estar seguro de que una transacción tuvo éxito, y todo el sistema eventualmente colapsará.

Alec Cawley dijo que siempre debe intentar usar TCP, porque siempre querrá confiabilidad. Bueno, creo que esto es una exageración. UDP es simple y rápido, y esto lo hace perfecto para el tráfico en tiempo real como transmisiones de video y audio, o VoIP. Además de eso, tiene solo la sobrecarga mínima. Por lo tanto, en caso de que los enlaces funcionen y no tengamos caídas, es más eficiente en ancho de banda que TCP.

Por eso, diría esto: siempre trate de usar UDP, solo use TCP cuando necesite confiabilidad absoluta . De hecho, hay algunos proyectos para llevar protocolos tradicionales basados ​​en TCP como HTTP en segmentos UDP.

Si desea ver todas las diferencias, puede leer este artículo sobre TCP y UDP.

Porque quieres fiabilidad. La falta de fiabilidad de UDP agregaría otra capa de complejidad al sistema.

El número de situaciones en las que UDP es apropiado es pequeño y generalmente se asocia con requisitos de rendimiento curiosos. Siempre debe usar TCP a menos que pueda demostrar que necesita UDP. Bitcoin no necesita UDP, por lo que no necesita usar UDP.