Creación de grafos de transacciones · Lección 6 de 6
Trazado entre cadenas
9 min de lectura
Los fondos rara vez permanecen en una sola cadena. Los ladrones intercambian los tokens robados en un DEX, los transfieren a otra red mediante un puente, los convierten en bitcoin a través de un protocolo de intercambio entre cadenas y luego usan un servicio de exchange instantáneo, a menudo en cuestión de horas. Cada movimiento deja registros en dos o más libros contables que no comparten un grafo de transacciones común. El trazado entre cadenas consiste en volver a conectar esos registros y ser transparentes sobre la solidez de cada conexión.
Tres tipos de conexión
Dentro de una misma cadena, un resultado gastado o un evento de transferencia es un hecho comprobable. Entre cadenas, no hay una conexión compartida, por lo que el analista debe establecerla. Cada conexión entre cadenas pertenece a uno de estos tres niveles:
| Nivel | Fundamento | Ejemplo |
|---|---|---|
| Determinista | El propio protocolo registra la conexión con un identificador compartido | Un ID de depósito de un puente o una secuencia de mensajes que aparece tanto en los eventos de origen como en los de destino |
| Registrado por el protocolo | Los registros públicos del servicio emparejan las transacciones entrantes y salientes | La API de un protocolo de intercambio entre cadenas que enumera cada hash entrante junto con su hash saliente |
| Probabilístico | Se infiere a partir de la coincidencia en monto, hora y comportamiento | Un depósito en un servicio de exchange instantáneo y un pago de valor similar minutos después en otra cadena |
Indica siempre el nivel de cada conexión de tu recorrido. Un recorrido solo es tan sólido como su conexión más débil.
El tiempo también se comporta de forma diferente entre cadenas. Los intervalos entre bloques van desde bastante menos de un segundo hasta unos diez minutos, y el retraso entre los dos lados de una transferencia depende del mecanismo: segundos en una red de liquidez, minutos en un puente que espera la finalidad de la cadena de origen y unos siete días para un retiro estándar de un rollup optimista. Convierte todas las marcas de tiempo a UTC, anota la altura de bloque de cada cadena y establece las ventanas de coincidencia según el retraso real del mecanismo, no según una estimación fija.
Intercambios y activos envueltos en la misma cadena
Antes de salir de una cadena, los fondos suelen cambiar de forma. Un intercambio en un DEX es el caso más sencillo: en una sola transacción, la dirección del usuario envía el token A a un pool y recibe el token B; ambos son visibles como eventos de transferencia con el mismo hash de transacción (consulta la lección Intercambios en DEX y flujos de liquidez). La conexión es determinista, pero el monto cambia con el precio, así que tu trazado debe cambiar de activo y registrar la tasa.
Los activos envueltos representan un activo en otra forma. WETH envuelve ETH en la propia Ethereum: el contrato de WETH emite un evento Deposit cuando entra ETH y un evento Withdrawal cuando sale, en una proporción de uno a uno. Los tokens de bitcoin envuelto en Ethereum son acuñados y quemados por un custodio o un puente, por lo que la conexión con el bitcoin real pasa por los registros de ese emisor, no por ninguna de las dos cadenas. Las versiones transferidas mediante puentes de un mismo token pueden coexistir en una red bajo distintas direcciones de contrato, así que identifica siempre un token por su dirección de contrato, nunca por su símbolo.
Puentes
Un puente mueve valor entre cadenas. Predominan tres modelos:
- Bloqueo y acuñación: el activo se bloquea en un contrato de la cadena de origen y se acuña una versión envuelta en la cadena de destino. La operación inversa es quema y liberación.
- Red de liquidez: el usuario deposita en la cadena de origen y un retransmisor o proveedor de liquidez paga activos nativos en la cadena de destino con sus propios fondos; luego recibe el reembolso. Es rápido, pero el pago procede de la dirección de otra persona.
- Protocolos de paso de mensajes: una capa de mensajería lleva un mensaje de una cadena a otra, y las aplicaciones, como los puentes de tokens, se construyen sobre ella.
La mayoría de los puentes asignan a cada transferencia un identificador que aparece en ambos lados. Por ejemplo, el contrato principal de Wormhole emite LogMessagePublished(address indexed sender, uint64 sequence, uint32 nonce, bytes payload, uint8 consistencyLevel) en la cadena de origen. El mensaje firmado que acepta la cadena de destino se indexa de forma única por la cadena emisora, la dirección emisora y el número de secuencia, de modo que la coincidencia de esos tres valores conecta determinísticamente ambos lados. Otros puentes usan un ID de depósito, un nonce o un hash de mensaje con la misma función. Los puentes canónicos de rollups se explican en la lección Capas 2, cadenas laterales y puentes como fuentes de datos.
La regla práctica: antes de buscar coincidencias por monto, lee el evento del puente en la cadena de origen, encuentra su identificador y los campos de destino (ID de cadena de destino, destinatario, token, monto) y busca el mismo identificador en la cadena de destino. Recurre a la coincidencia por monto y hora solo cuando no exista un identificador.
Protocolos de intercambio entre cadenas
Algunos protocolos intercambian activos nativos entre cadenas sin envolverlos. THORChain es el ejemplo más conocido. Para intercambiar bitcoin por ether, el usuario envía BTC a la dirección de bóveda del protocolo con un memo en una salida OP_RETURN (que se mantiene dentro de los 80 bytes, el límite predeterminado de retransmisión de larga data para este tipo de datos) que indica el activo y la dirección de destino. Una transacción descodificada ficticia:
txid 2c9d…71be (Bitcoin, ficticia)
vout 0 0.75000000 BTC bc1q…vlt8 dirección de bóveda entrante del protocolo de intercambio
vout 1 OP_RETURN "=:ETH.ETH:0xA1b2…9F" memo: intercambio a precio de mercado por ETH, destinatario 0xA1b2…9F
vout 2 0.21843000 BTC bc1q…k2ze vuelto
El memo =:ETH.ETH:0xA1b2…9F significa «intercambiar a precio de mercado por ETH nativo en Ethereum y pagar a 0xA1b2…9F». La dirección de destino está escrita en la transacción de la cadena de origen, y los registros públicos del protocolo emparejan el hash entrante con el pago saliente en ETH. Por eso, aunque son rápidos, estos intercambios figuran entre las formas más trazables de cambiar de cadena. Tras el robo de aproximadamente 1,5 mil millones de dólares a Bybit en febrero de 2025, los atacantes convirtieron gran parte del ETH robado en bitcoin principalmente a través de THORChain; una estimación publicada el 27 de febrero de 2025 por la investigadora de seguridad Taylor Monahan calculó que al menos 161.490 ETH pasaron por THORChain en 3.934 transacciones en unos cinco días.
Exchanges instantáneos y coincidencias por monto y hora
Los servicios de exchange instantáneo reciben un depósito en un activo y pagan otro, por lo general sin necesidad de una cuenta. Son custodiales, por lo que la conexión está en sus registros, y los analistas de cadena solo pueden establecer coincidencias por monto y hora.
Un ejemplo práctico. Una billetera investigada envía 2,00000000 BTC a una dirección de depósito de un servicio de exchange instantáneo a las 14:02 UTC. En ese momento, 1 BTC = 60.000 USD y 1 ETH = 2.400 USD, así que 2 BTC valen 50 ETH. Si se considera una comisión del servicio de entre el 0,5 % y el 1 %, más los costos de red, el pago esperado es de aproximadamente 49,4 a 49,75 ETH. La consulta siguiente enumera los pagos en ETH del servicio durante la hora siguiente que se encuentran dentro de una banda de valor del 5 %:
SELECT o.txid, o.to_address, o.block_timestamp, o.amount_eth,
ABS(o.amount_eth - 49.6) / 49.6 AS rel_gap -- distancia respecto del valor esperado
FROM service_outflows_eth o
WHERE o.block_timestamp >= TIMESTAMP '2026-05-11 14:02:00'
AND o.block_timestamp < TIMESTAMP '2026-05-11 15:02:00'
AND o.amount_eth BETWEEN 47.5 AND 50.0 -- banda del 5 % por debajo de 50 ETH
ORDER BY rel_gap;
Devuelve cuatro pagos: 49,61 ETH a las 14:19, 49,58 ETH a las 14:51, 49,20 ETH a las 14:33 y 48,95 ETH a las 14:48. Los dos primeros se ajustan al rango esperado; los dos últimos, no. La coincidencia ha reducido cuatro candidatos a dos, pero no ha establecido una conexión. Más pruebas pueden permitir distinguirlos: ¿alguno de los destinatarios envía después fondos a una dirección de depósito de un exchange que la persona investigada haya usado anteriormente? ¿Comparte fuentes de fondos para el gas o hábitos de horarios con las billeteras conocidas de esa persona? Cada dato independiente refuerza o debilita un candidato.
Cuantificación de la incertidumbre
Las conexiones probabilísticas necesitan cifras, no solo adjetivos:
- Tamaño del conjunto de candidatos: cuántos pagos se ajustan a la ventana y a la banda. Un candidato entre cuatro es muy distinto de uno entre cuarenta.
- Tasa de coincidencias fortuitas: aplica la misma regla de coincidencia a una muestra de depósitos no relacionados en el mismo servicio, realizados en momentos aleatorios. Si el 60 % de los depósitos aleatorios también encuentra una «coincidencia», esta es una prueba débil; si ocurre en el 2 %, es una prueba sólida.
- Sensibilidad: amplía y reduce la ventana de tiempo y la banda de valor. Una conexión que solo aparece con una configuración muy estrecha es frágil.
- Corroboración: cuenta las señales independientes (monto, horario, comportamiento del destino, convergencia posterior con billeteras conocidas) y anota cualquier señal que contradiga la conexión.
Luego, expresa el resultado con un lenguaje calibrado y un nivel de confianza para cada hallazgo (consulta la lección Confianza, incertidumbre y lenguaje), mantén las conexiones deterministas y probabilísticas visualmente diferenciadas en los diagramas (por ejemplo, con líneas continuas y discontinuas) y enumera los identificadores y las consultas en un apéndice para que el recorrido pueda reconstruirse en ambas cadenas.
Enfoque del examen: los tres niveles de conexión entre cadenas (determinista, registrada por el protocolo y probabilística) y por qué un recorrido solo es tan sólido como su conexión más débil; los intercambios en DEX y los activos envueltos como cambios de forma dentro de una misma cadena, incluidos los eventosDeposityWithdrawalde WETH y la identificación de tokens por dirección de contrato; los puentes de bloqueo y acuñación, quema y liberación, red de liquidez y paso de mensajes; la coincidencia de transferencias de puentes mediante identificadores compartidos, como la cadena emisora, la dirección emisora y la secuencia de Wormhole; la lectura de un memo de intercambio entre cadenas en una salidaOP_RETURN; las coincidencias por monto y hora con expectativas ajustadas por comisiones; el tamaño del conjunto de candidatos, la tasa de coincidencias fortuitas, la sensibilidad y la corroboración.