﻿---
title: "Sustitución de transacciones en el mempool de Ethereum"
description: "Guía centrada en el cliente sobre la sustitución de transacciones de Ethereum con el mismo remitente y nonce, aumentos de límites de comisión, carreras de cancelación, transacciones blob, rutas privadas, recibos y finalidad."
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sustitución de transacciones en el mempool de Ethereum

> Solo con fines educativos; no constituye asesoramiento ni recomendación de inversión. Las inversiones pueden ocasionar pérdidas.

<a id="answer"></a>

## Respuesta directa

La sustitución de una transacción de Ethereum es una política local del pool de transacciones por la que un nodo puede preferir una transacción recién firmada frente a otra candidata del mismo remitente y con el mismo `nonce`. No es un interruptor global de Replace-by-Fee a nivel de consenso. Que un nodo acepte el nuevo hash no elimina la transacción firmada anterior de otros nodos, relés privados o builders; solo la inclusión canónica determina qué candidata consume el nonce de la cuenta.

La acción Acelerar de una cartera suele conservar el destino, el valor y los calldata originales y elevar los campos de comisión. Una Cancelación en el pool público suele crear una transferencia a la propia cuenta, de valor cero, con el mismo remitente y nonce. Es una transacción competidora, no una operación de deshacer: si la original se incluye primero, su transferencia o llamada al contrato no se revierte. Las rutas privadas de cada producto pueden definir otras API de cancelación; por ejemplo, Flashbots Protect documenta una cancelación autenticada que no se publica onchain y que no debe generalizarse a la sustitución pública de transacciones de Ethereum.

<a id="mechanism"></a>

## Cómo funciona

1. Fije el linaje exacto: ID de cadena, cliente y versión, bloque de cabecera y base fee, ruta de envío, remitente, nonce canónico de la cuenta, bytes firmados sin procesar, hash y tipo de la transacción original. Consulte varias vistas públicas o privadas pertinentes; una etiqueta de la cartera o la respuesta de un solo RPC no representa el estado global.
2. Clasifique correctamente la original como rechazada, pendiente localmente, en cola tras un hueco de nonce, descartada o expulsada, enviada por una vía privada, incluida con éxito, incluida con `status = 0`, retirada por una reorganización o finalizada. Deje de considerar disponible la sustitución cuando el nonce ya se haya consumido canónicamente, aunque una reorganización puede reabrir la carrera.
3. Defina la nueva intención. Una aceleración debe reproducir todos los campos semánticos previstos; una cancelación pública suele utilizar el mismo remitente y nonce con `to = sender`, `value = 0` y calldata vacíos. Compare ID de cadena, tipo, destino, valor, calldata, lista de acceso, límite de gas, hashes blob y autorización antes de firmar.
4. Consulte la política real de sustitución del nodo objetivo. Las transacciones legacy y de tipo 1 usan `gasPrice`; las de tipo 2 exponen `maxFeePerGas` y `maxPriorityFeePerGas`; las de tipo 3 también exponen `maxFeePerBlobGas` y requieren el sidecar. Los valores predeterminados actuales de Geth `txpool.pricebump = 10` y `blobpool.pricebump = 100` son ejemplos de configuración de Geth, no constantes de Ethereum.
5. Calcule por separado la admisibilidad y la financiación del aumento. Para el tipo 2, el precio efectivo es `min(maxFeePerGas, baseFeePerGas + maxPriorityFeePerGas)`. La candidata también necesita codificación válida, gas intrínseco suficiente y saldo para cubrir el valor más la exposición máxima a comisiones; un límite mayor no corrige calldata inválidos ni garantiza que la EVM ejecute con éxito.
6. Envíe de forma deliberada y conserve cada respuesta. La redifusión pública puede revelar la intención y exponerla a MEV; los relés privados tienen su propia visibilidad, cancelación, cobertura de builders y disponibilidad. Siga los hashes antiguo y nuevo en cada ruta sin asumir que la aceptación local eliminó la competidora ni enviar a ciegas una tercera candidata que transfiera valor.
7. Concilie la ganadora en la cadena canónica. Verifique el bloque y hash del recibo, el índice de transacción, el `status`, el gas utilizado, el precio efectivo del gas, los logs, el nonce del remitente, los saldos y el estado del contrato con el nivel de finalidad requerido. Registre los hashes perdedores como sustituidos, descartados o aún observados según la evidencia y reinicie el análisis tras una reorganización.

<a id="example"></a>

## Ejemplos desarrollados

- **Aumento didáctico de una transacción ordinaria de tipo 2.** Una candidata antigua tiene `maxFeePerGas = 40 gwei` y `maxPriorityFeePerGas = 2 gwei`. Con una configuración didáctica de Geth que exige un aumento del `10%`, los umbrales aritméticos son `44 gwei` y `2.2 gwei`. Una candidata de `44/2.1 gwei` no alcanza el umbral de propina; `44/2.2 gwei` alcanza ambos umbrales didácticos. Con una base fee de `32 gwei` y `21,000` unidades de gas utilizadas, el precio efectivo es `34.2 gwei`, la comisión total es `718,200 gwei = 0.0007182 ETH`, la quema base es `0.000672 ETH` y la propina es `0.0000462 ETH`. La aceptación real depende de la implementación, la versión y el redondeo a wei enteros.
- **Sensibilidad a la base fee.** Una sustitución tiene límites `66/4.4 gwei`. Con una base fee de `60 gwei`, el precio efectivo es `min(66, 60 + 4.4) = 64.4 gwei`. Con una base fee de `65 gwei`, el precio efectivo es `66 gwei` y la propina efectiva es solo `1 gwei`. Con una base fee de `67 gwei`, se cumple `66 < 67`, por lo que la candidata no es admisible con ese límite, aunque haya superado una prueba local de aumento.
- **Carrera de cancelación.** La transacción original con nonce `20` envía `5 ETH` a un comercio. Si gana con `21,000 * 42 gwei = 0.000882 ETH`, el comercio recibe `5 ETH` y la cancelación pasa a tener un nonce demasiado bajo. Si gana la transferencia a la propia cuenta de valor cero con `21,000 * 45 gwei = 0.000945 ETH`, consume el nonce `20` e impide que la original entre después en la misma historia canónica. Pulsar Cancelar no permite conocer de antemano ninguno de los dos resultados.
- **Límite del blob pool.** Una candidata antigua de tipo 3 tiene un límite de comisión de ejecución de `100 gwei`, límite de propina de `3 gwei` y límite de comisión blob de `20 gwei`. Con una configuración didáctica del blob pool de Geth que exige un aumento del `100%`, los umbrales aritméticos son `200/6/40 gwei`. Una candidata de `200/6/39 gwei` no alcanza el límite blob; `200/6/40 gwei` alcanza los tres umbrales didácticos, pero aún necesita sidecar, nonce, saldo y admisión en el pool válidos. Estos valores no son reglas para transacciones ordinarias ni para otros clientes.

<a id="risks"></a>

## Riesgos

- Seleccionar un ID de cadena o una red incorrectos.
- Seleccionar un remitente o nonce de cuenta incorrectos.
- Utilizar una cabecera, base fee o nonce canónico obsoletos.
- Intentar sustituir después de que la original se haya incluido o finalizado.
- Aplicar reglas del txpool ordinario a una `UserOperation` de ERC-4337.
- Suponer que otro cliente, proveedor, versión o configuración aplica la misma política.
- No alcanzar el umbral de aumento por el redondeo a wei enteros.
- Elevar solo uno de los campos de comisión exigidos por EIP-1559.
- Fijar `maxFeePerGas` por debajo de la base fee del bloque candidato.
- Ignorar un límite de comisión blob, el sidecar o una regla específica del blob pool.
- No disponer de saldo para el valor más las comisiones máximas autorizadas.
- Firma, tipo, codificación, gas intrínseco o dominio de cadena inválidos.
- Cambiar por error el destino, valor, calldata, lista de acceso o hashes blob.
- Que una cancelación pública pierda la carrera de inclusión.
- Que la transacción antigua permanezca en otros nodos o entradas de builders.
- Que un relé privado filtre, censure, descarte o no cancele el envío.
- Que la redifusión pública exponga la intención a frontrunning, sandwiching u otro MEV.
- Que un hueco de nonce bloquee transacciones posteriores o induzca una transferencia duplicada.
- Que la sustitución se incluya pero revierta o agote el gas, consumiendo nonce y comisiones.
- Que errores de reorganización, finalidad o linaje de recibos reactiven o clasifiquen mal las candidatas.

<a id="misconceptions"></a>

## Conceptos erróneos habituales

- Una candidata con una comisión mayor elimina globalmente la transacción antigua.
- Dos transacciones con el mismo nonce numérico se sustituyen aunque procedan de remitentes distintos.
- El botón Cancelar de una cartera revierte una transacción ya incluida.
- Que un nodo acepte la sustitución demuestra que los builders la incluirán.
- Una regla universal de aumento del 10 % abarca todos los clientes, transacciones blob, relés privados y `UserOperation`.

<a id="related"></a>

## Temas relacionados

- [Mempools y pools de transacciones](/es/crypto/mempool/)
- [Comisiones de gas](/es/crypto/gas-fee/)
- [Nonce de cuenta](/es/crypto/nonce-crypto/)

<a id="sources"></a>

## Fuentes

- [Transactions](https://ethereum.org/developers/docs/transactions/) - Ethereum.org (consultado: 2026-08-13)
- [EIP-1559: Fee market change for ETH 1.0 chain](https://eips.ethereum.org/EIPS/eip-1559) - Ethereum Improvement Proposals (consultado: 2026-08-13)
- [txpool Namespace](https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-txpool) - go-ethereum (consultado: 2026-08-13)
- [Command-line Options](https://geth.ethereum.org/docs/fundamentals/command-line-options) - go-ethereum (consultado: 2026-08-13)
- [eth_sendRawTransaction](https://ethereum.github.io/execution-apis/api/methods/eth_sendRawTransaction/) - Ethereum Execution APIs (consultado: 2026-08-13)
- [EIP-4844: Shard Blob Transactions](https://eips.ethereum.org/EIPS/eip-4844) - Ethereum Improvement Proposals (consultado: 2026-08-13)
- [ERC-4337: Account Abstraction Using Alt Mempool](https://eips.ethereum.org/EIPS/eip-4337) - Ethereum Improvement Proposals (consultado: 2026-08-13)
- [Cancellations](https://docs.flashbots.net/flashbots-protect/cancellations) - Flashbots Documentation (consultado: 2026-08-13)

Source: https://wiki.fcontext.com/es/crypto/mempool-replacement/index.mdx
