Red (Network)
Los pasos para ejecutar la red son los siguientes:
- Las nuevas transacciones se transmiten a todos los nodos.
- Cada nodo recopila nuevas transacciones en un bloque.
- Cada nodo trabaja en encontrar una prueba de trabajo difícil para su bloque.
- Cuando un nodo encuentra una prueba de trabajo, transmite el bloque a todos los nodos.
- Los nodos aceptan el bloque solo si todas las transacciones en él son válidas y no han sido gastadas previamente.
- Los nodos expresan su aceptación del bloque trabajando en la creación del siguiente bloque en la cadena, utilizando el hash del bloque aceptado como el hash anterior.
Los nodos siempre consideran la cadena más larga como la correcta y continuarán trabajando en extenderla. Si dos nodos transmiten diferentes versiones del siguiente bloque simultáneamente, algunos nodos pueden recibir una u otra primero. En ese caso, trabajan en la primera que recibieron, pero guardan la otra rama por si se alarga. El empate se romperá cuando se encuentre la siguiente prueba de trabajo y una rama se vuelva más larga; los nodos que estaban trabajando en la otra rama cambiarán entonces a la más larga.
Las transmisiones de nuevas transacciones no necesariamente necesitan llegar a todos los nodos. Mientras lleguen a muchos nodos, se incluirán en un bloque pronto. Las transmisiones de bloques también toleran la pérdida de mensajes. Si un nodo no recibe un bloque, lo solicitará cuando reciba el siguiente bloque y se dé cuenta de que faltó uno.