Bienvenido a la serie "Solana Simplificado", diseñada para ayudarte a dominar el intrincado ecosistema de Solana. En el primer artículo, exploramos el mecanismo de funcionamiento de Solana, el modelo de cuentas y la estructura de transacciones. En el segundo artículo, te guiamos a través de la escritura y prueba de tu primer programa de Solana en Rust.
Como tercera y última parte de esta serie, este artículo te guiará a través del análisis de una transacción simple de Solana utilizando Phalcon Explorer. Antes de adentrarnos en el análisis práctico de transacciones de Solana, primero exploremos cómo se implementan los tokens en Solana, un aspecto fundamental para comprender los flujos de transacciones.
Entendiendo la Implementación de Tokens en Solana
Los tokens en Solana se pueden clasificar ampliamente en dos categorías: Token Nativo y Otros Tokens (Tokens SPL). Comprender estas distinciones es crucial para un análisis efectivo de transacciones en Solana.
Token Nativo (SOL)
El Token Nativo se refiere a la criptomoneda principal de Solana, SOL. Como se mencionó en el primer artículo, cada cuenta en Solana tiene un campo Lamports, que registra el saldo de SOL en esa cuenta. Los Lamports son la unidad más pequeña de SOL, donde 1 SOL equivale a 1 mil millones de Lamports. SOL se utiliza para las comisiones de transacción, el staking y la participación en la red.
Otros Tokens (Tokens SPL)
Para los Otros Tokens, Solana utiliza un sólido framework construido alrededor de una cuenta de programa (el Token Program) y dos tipos de cuentas de datos: la Mint Account y la Token Account. Esta arquitectura proporciona todas las funcionalidades necesarias para gestionar e interactuar con diversos tokens en la blockchain de Solana.
El Token Program de Solana
El Token Program es una cuenta de programa proporcionada por la Biblioteca de Programas de Solana (SPL), lo que hace que su campo Executable dentro de AccountInfo sea True.
Similar al System Program, el Token Program se despliega en una dirección fija en Solana, y su propietario es el BPF Loader. Como una poderosa cuenta de programa, implementa numerosas instrucciones para proporcionar diversas funcionalidades de tokens. Por ejemplo, algunas instrucciones se utilizan para crear una Mint Account e inicializar un nuevo token, o para crear una Token Account que registre el número de tokens en posesión de una dirección en particular. Otras instrucciones facilitan operaciones esenciales con tokens, como la instrucción MintTo para aumentar el suministro de tokens, o la instrucción Transfer para transferir tokens entre dos direcciones.
Es importante destacar que, dado que el Token Program es responsable de crear Mint Accounts y Token Accounts, también es el propietario de estas cuentas, lo que le otorga control sobre su ciclo de vida y sus datos.
Estructura de la Mint Account
Una Mint Account es una cuenta de datos, lo que significa que su campo Executable en AccountInfo es False. En Solana, cada token único (por ejemplo, USDC, RAY, etc.) corresponde a una única Mint Account. Esta cuenta almacena información crítica, como el suministro total del token, el número de decimales y la dirección de la cuenta con autoridad para acuñar (crear nuevos) o quemar (destruir) el token.
Estructura de la Token Account
Una Token Account registra la cantidad de un token específico en posesión de un individuo u otro programa. Para cada tipo de token, cada entidad que posee ese token tiene una Token Account correspondiente. Por ejemplo, si un usuario posee cinco tokens SPL diferentes, tendrá cinco Token Accounts distintas, una para cada tipo de token.
La Token Account es una cuenta de datos, y el campo Data de su AccountInfo generalmente consta de tres subcampos clave:
- Mint: La dirección de la Mint Account correspondiente a esta Token Account específica, que identifica qué token contiene.
- Owner: La clave pública de la cuenta con el privilegio de transferir tokens desde esta Token Account. Este es el verdadero "propietario" de los tokens.
- Amount: El número actual de tokens almacenados en esta Token Account.
Cabe enfatizar que el campo
owner en AccountInfo (que determina quién puede modificar los datos de la cuenta) y el campo owner dentro del Data de la Token Account (que especifica quién posee los tokens) son conceptos completamente diferentes. El primero es una propiedad general de las cuentas de Solana, mientras que el segundo es específico de las Token Accounts de SPL.
Conectando estos conceptos, podemos visualizar el diagrama de relación de cuentas que se muestra a continuación. Tanto el System Program como el Token Program se despliegan en direcciones únicas y fijas en la blockchain y funcionan como bibliotecas principales. Una cuenta de billetera puede tener múltiples Token Accounts, y es la verdadera "propietaria" de los tokens dentro de estas Token Accounts. El campo Mint en las Token Accounts del mismo tipo apunta a la Mint Account única para ese token, que registra información como el suministro total del token.
Análisis de Transacciones de Solana con Phalcon Explorer
Si bien los exploradores tradicionales como Solscan proporcionan datos valiosos, a veces pueden presentar la información de una manera menos intuitiva para el análisis detallado de transacciones de Solana. Primero veamos una transacción en Solscan y luego observemos cómo Phalcon Explorer de BlockSec ofrece una vista más clara y completa.
Visualización de Token Accounts en Solscan
Podemos usar Solscan para ver los cambios en las Token Accounts dentro de esta transacción de ejemplo:
La columna Address enumera todas las Token Accounts involucradas en la transacción. La columna Owner indica el verdadero "propietario" del token (el owner en el campo Data de la Token Account). La columna Token corresponde a la Mint Account del token actual. Podemos hacer clic en "$SON" en el lado derecho de la primera fila para obtener más detalles:
El Owner Program en el Resumen del Perfil indica que el propietario de la Mint Account actual es el Token Program. En este punto, hemos identificado los tres tipos de cuentas en Solscan.
Sin embargo, esta visualización en Solscan puede resultar algo confusa. Por ejemplo, en la imagen anterior, no queda claro si el saldo incrementado en la primera fila pertenece a la dirección CHS9WajyFfuaAZRk2JC7hRJvPHXmG5fC94gtAPbnLjuY o a Raydium Authority V4. Dicha ambigüedad aumenta la dificultad para que los usuarios comprendan el flujo real de la transacción. Además, los lectores pueden notar que los tokens SOL y los demás tokens se muestran en secciones separadas en Solscan. Si bien esta separación es técnicamente razonable, sería más fácil de entender si se presentaran juntos en una sección de tokens unificada para tener una visión holística de los cambios en los activos.
Phalcon Explorer no solo aborda estos problemas, sino que también introduce muchas otras innovaciones para el análisis detallado de transacciones de Solana. Ahora usemos Phalcon Explorer para examinar la misma transacción.
Recomendamos ampliamente abrir el enlace a la transacción en Phalcon Explorer y seguir nuestros pasos para analizarla juntos. ¡Este enfoque interactivo te permitirá comprender mejor los detalles de la transacción y apreciar las potentes funciones de Phalcon Explorer para el análisis de transacciones de Solana!
Comienza con Phalcon Explorer
Analiza Transacciones para Actuar con Inteligencia
Pruébalo gratis ahoraVisualización y Análisis de Transacciones en Phalcon Explorer
En la esquina superior izquierda de la página, puedes ver que la transacción actual ha sido identificada como una transacción JITO MEV, una información valiosa para los analistas de seguridad. También puedes hacer clic en el ícono de Solana junto a la firma de la transacción para ir directamente a Solscan si lo necesitas.
La información sobre esta transacción de Solana está dividida lógicamente en cuatro secciones clave: Información Básica, Flujo de Fondos, Cambios de Saldo y Flujo de Invocación. Puedes cambiar entre estas secciones fácilmente haciendo clic en los íconos de la esquina superior derecha, lo que permite un análisis completo de transacciones de Solana.
Información Básica
La sección de Información Básica ofrece detalles esenciales sobre la transacción de Solana actual. Puedes hacer clic en el número de bloque y la dirección del firmante para ir a Solscan y obtener referencias cruzadas o contexto adicional. Esta sección proporciona una visión general rápida antes de profundizar en los detalles de la ejecución de la transacción.
Flujo de Fondos
La sección de Flujo de Fondos proporciona una representación visual clara del movimiento y el momento de los fondos durante la ejecución de la transacción, haciendo que el análisis de transacciones de Solana sea intuitivo:
- El iniciador y firmante de la transacción,
59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2F, primero transfirió una cierta cantidad de un token a la dirección etiquetada comoRaydium Authority V4. - A continuación,
Raydium Authority V4transfirió aproximadamente 6,747 Tokens de SOL Envuelto de vuelta al firmante,59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2F. - Finalmente, el firmante proporcionó 0,000003 SOL a Jito como propina al validador de Jito por ejecutar la transacción, lo que indica una actividad relacionada con MEV.
A continuación se muestra el diagrama de flujo de fondos de Solscan para comparar. En comparación con Solscan, cada dirección en el diagrama de flujo de fondos de Phalcon Explorer corresponde de forma única a un único nodo, lo que facilita significativamente la identificación de las relaciones entre direcciones y mejora así la eficiencia del análisis, especialmente para transacciones complejas de Solana.
Si deseas realizar un análisis más profundo del flujo de fondos de la transacción, quizás para respuesta a incidentes o investigaciones forenses, puedes hacer clic en el ícono marrón en la esquina superior derecha para acceder a MetaSleuth, la herramienta avanzada de análisis on-chain de BlockSec.
Cambios de Saldo
La sección de Cambios de Saldo muestra claramente los cambios de tokens para diferentes cuentas tras la conclusión de la transacción de Solana. Esta vista unificada es una ventaja significativa para el análisis de transacciones de Solana.
Por ejemplo, el firmante de la transacción, 59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2F, experimentó cambios en tres tipos de tokens: el token nativo SOL, un token llamado 61Hh8Udg7zruvG3BhyNiHF4UmULnC8reB9RBFtwi8uKp (probablemente un token SPL) y el Token de SOL Envuelto.
Cada dirección de cuenta que aparece en Cambios de Saldo tiene una o más Token Accounts asociadas. Al hacer clic en la dirección correspondiente, puedes copiarla o ir a Solscan para obtener contexto adicional.
Phalcon Explorer no distingue entre tokens SOL y otros tokens SPL en esta vista, lo que refleja directamente los cambios en todos los tokens de una cuenta determinada. Esta presentación unificada facilita mucho la visualización de la relación entre una Token Account y su propietario, ofreciendo una imagen más completa de los movimientos de activos durante las transacciones de Solana.
Flujo de Invocación
El Flujo de Invocación registra el proceso de ejecución de las instrucciones de la transacción, con cada línea correspondiendo a una instrucción ejecutada durante la transacción de Solana. Esta sección es invaluable para comprender la secuencia precisa de operaciones dentro de una interacción con un contrato inteligente o una llamada a un programa.
Aquí nos enfocamos en las instrucciones 2 y 4, que involucran transferencias de tokens.
La segunda instrucción llama al swapBaseIn de Raydium AMM para vender un token. Al expandir esta instrucción, se revela que consiste en dos instrucciones CPI (Cross Program Invocation), que facilitan la transferencia de tokens entre Raydium Authority V4 y el firmante de la transacción. La cuarta instrucción es el proceso mediante el cual el firmante paga una propina a Jito, confirmando la naturaleza MEV de la transacción.
Como se muestra en la figura a continuación, al hacer clic en la pestaña Accounts que sigue a cada instrucción, podemos ver todas las cuentas involucradas en esa instrucción específica. En comparación con Solscan, este método de visualización es más conciso, lo que permite a los analistas centrarse en la información más crítica de la transacción sin verse abrumados por detalles superfluos. Esta vista detallada es esencial para el análisis en profundidad y la depuración de transacciones de Solana.

Conclusión
En este artículo, primero presentamos los principios de implementación de los tokens de Solana, cubriendo SOL nativo, Token Programs, Mint Accounts y Token Accounts. Luego usamos Solscan para examinar los cambios en las Token Accounts de una transacción específica, destacando algunas de sus limitaciones. Finalmente, realizamos un análisis más profundo y detallado de la misma transacción de Solana utilizando Phalcon Explorer de BlockSec, mostrando sus innovadoras funciones que proporcionan mayor claridad e información para el análisis de transacciones de Solana.
Con esto concluye la serie "Solana Simplificado". Esperamos que te haya sido útil para comprender los conceptos fundamentales de Solana y el análisis práctico de transacciones. Si tienes otros temas sobre los que te gustaría aprender, como incidentes de seguridad específicos, introducciones al ecosistema u otros productos de BlockSec, ¡no dudes en dejar un comentario! 🫡


