¿Cuándo un nodo marca una transacción como confirmada o no confirmada?

A medida que se transmiten nuevas transacciones, los nodos las mantienen en un conjunto de transacciones no confirmadas.

Un nodo lo agregará a un bloque tan pronto como encuentre una prueba de trabajo. Al mismo tiempo, muchos otros nodos están trabajando en las mismas transacciones. Cuando se transmite un nuevo bloque a la red, debe marcarse como confirmado o eliminarse del grupo.

Tengo algunas preguntas sobre este proceso:

1- ¿Cómo saben los otros nodos que el nuevo bloque ya está creado, por lo que deberían dejar de trabajar en él? (¿o no?)

2- cuando se agrega un nuevo bloque de transacciones a la cadena de bloques, ¿cómo saben los otros nodos que no deben considerar esas transacciones en su próximo intento? ¿Leen el nodo y marcan la transacción como confirmada o la eliminan? ¿Hay algún otro tipo de mensaje que intercambian?

3- si se agregan 2 nuevos bloques a la cadena de bloques en diferentes ramas. la primera rama como activa porque ese bloque vino primero. llega un nuevo bloque y se descarta la segunda rama. ¿Qué sucede con las transacciones en la sucursal descartada? seguro que ya están en los otros dos bloques de la cadena de bloques? ¿Qué hacen los nodos con ellos?

¡gracias!

Respuestas (1)

  1. No conocen el nuevo bloque hasta que lo reciben a través de la red peer-to-peer (o de alguna otra manera, por ejemplo, FIBRA ). Pero dado que se transmitió a la red, y todos los nodos de la red intentarán transmitirlo a todos sus pares, esto debería suceder con bastante rapidez.

  2. Cuando reciben el bloque, saben excluir esas transacciones en sus propios bloques. (En la práctica, es probable que generen un bloque candidato completamente nuevo, incluidas solo las transacciones que aún no están confirmadas, y con un nuevo encabezado que enumera el bloque recién recibido como su padre).

  3. Cuando el nodo cambia de opinión sobre qué rama está activa, las transacciones de la rama previamente activa (posteriores al bloque en el que divergieron) se devuelven al grupo de memoria, excepto aquellas que ya están en la nueva rama activa o entran en conflicto con un transacción en esa sucursal. Luego, al igual que todas las demás transacciones en el grupo de memoria, son elegibles para su inclusión en bloques futuros creados por este nodo.