Ciclo de vida de la transacción

Descripción general

Saber cómo se incluyen las transacciones en un bloque puede ayudar a comprender el sistema blockchain más profundamente. En este documento, profundizaremos en el ciclo de vida paso a paso de una transacción.

Ciclo de vida de la transacción L1

  1. Envío de transacciones : cuando se envía una transacción, se somete a un check_txproceso antes de que se le permita ingresar al mempool. Si es válido, ingresa al mempool; Si no es válido, se entrega una respuesta de error.

  2. Validación de Mempool : una transacción debe pasar el check_txproceso antes de agregarse al mempool. Después de crear cada bloque, el mempool realiza una recheck_txevaluación de las transacciones restantes, filtrando aquellas que fallaron debido a cambios de estado durante la ejecución del bloque.

  3. Propagación de transacciones a validadores : una vez que una transacción ingresa exitosamente al mempool, todos los nodos comparten la transacción a través de comunicación de igual a igual (p2p). Esto asegura la entrega al validador generador de bloques.

  4. Generación de bloques (ejecución) : un validador elegido crea un bloque utilizando las transacciones en el mempool, siguiendo las reglas de cometbft.

Ciclo de vida de las transacciones L2

  1. Envío de transacciones : cuando se envía una transacción, se somete a un check_txproceso antes de que se le permita ingresar al mempool. Si es válido, ingresa al mempool. Si no es válido, se entrega una respuesta de error.

  2. Validación de Mempool : una transacción debe pasar el check_txproceso antes de agregarse al mempool. Después de crear cada bloque, el mempool realiza una recheck_txevaluación de las transacciones restantes, filtrando aquellas que fallaron debido a cambios de estado durante la ejecución del bloque.

  3. Propagación de transacciones a secuenciadores : una vez que una transacción ingresa exitosamente al mempool, todos los nodos comparten la transacción a través de comunicación de igual a igual (p2p). Esto asegura la entrega al secuenciador generador de bloques.

  4. Generación de Bloques (Ejecución) : Utilizando las transacciones validadas se genera un bloque.

  5. Envío de salida L2 a L1 : después de que se genera una época de bloques, la raíz del estado L2 se envía a L1 para su finalización.

  6. Período de finalización : este es un período de 7 días reservado para el período de desafío del resumen optimista.

  7. Finalizado : Esta es la etapa final donde se confirma la transacción.

L2

+----+
| tx | -> not valid -> not received
+----+
  |   +---------+
  +-> | mempool | -> not valid -> not received
      +---------+
        |   +-----------+
        +-> | sequencer |
            +-----------+
              |   +----------+
              +-> | l2 block |-+
                  +-|--------+ |-+
                    +-|--------+ |
                      +----------+
                         |
--------------------------------------------------------
L1                       |
                         v
                   +-----------+
                   | L2 Output |
                   +-----------+
                         |
                         v
                   +----------+
                   | L1 Block |-+
                   +-|--------+ |-+
                     +-|--------+ |
                       +----------+
                         | (after finalization period)
                         v
                      finalized

Last updated