Bem-vindo à série "Solana Simplificado", projetada para ajudá-lo a dominar o intrincado ecossistema da Solana. No primeiro artigo, exploramos o mecanismo de funcionamento da Solana, o modelo de contas e a estrutura de transações. No segundo artigo, guiamos você na escrita e nos testes do seu primeiro programa Solana em Rust.
Como terceira e última parte desta série, este artigo irá guiá-lo na análise de uma transação simples na Solana usando o Phalcon Explorer. Antes de mergulharmos na análise prática de transações Solana, vamos primeiro explorar como os tokens são implementados na Solana, um aspecto fundamental para entender os fluxos de transações.
Entendendo a Implementação de Tokens na Solana
Os tokens na Solana podem ser amplamente classificados em duas categorias: Token Nativo e Outros Tokens (Tokens SPL). Compreender essas distinções é crucial para uma análise eficaz de transações Solana.
Token Nativo (SOL)
O Token Nativo refere-se à criptomoeda principal da Solana, o SOL. Como mencionado no primeiro artigo, toda conta na Solana possui um campo Lamports, que registra o saldo de SOL naquela conta. Lamports são a menor unidade do SOL, com 1 SOL equivalendo a 1 bilhão de Lamports. O SOL é usado para taxas de transação, staking e participação na rede.
Outros Tokens (Tokens SPL)
Para os Outros Tokens, a Solana utiliza um framework robusto construído em torno de uma conta de programa (o Token Program) e dois tipos de contas de dados: a Mint Account e a Token Account. Essa arquitetura fornece todas as funcionalidades necessárias para gerenciar e interagir com diversos tokens na blockchain Solana.
O Token Program da Solana
O Token Program é uma conta de programa fornecida pela Solana Program Library (SPL), tornando seu campo Executable dentro de AccountInfo igual a True.
Semelhante ao System Program, o Token Program é implantado em um endereço fixo na Solana, e seu proprietário é o BPF Loader. Como uma poderosa conta de programa, ele implementa inúmeras instruções para fornecer diversas funcionalidades de tokens. Por exemplo, algumas instruções são usadas para criar uma Mint Account para inicializar um novo token, ou para criar uma Token Account para registrar a quantidade de tokens mantida por um determinado endereço. Outras instruções facilitam operações essenciais de tokens, como a instrução MintTo para aumentar o fornecimento de tokens, ou a instrução Transfer para transferir tokens entre dois endereços.
É importante observar que, como o Token Program é responsável por criar Mint Accounts e Token Accounts, ele também é o proprietário dessas contas, concedendo-lhe controle sobre seu ciclo de vida e dados.
Estrutura da Mint Account
Uma Mint Account é uma conta de dados, o que significa que seu campo Executable em AccountInfo é False. Na Solana, cada token único (por exemplo, USDC, RAY, etc.) corresponde a uma única Mint Account. Essa conta armazena informações críticas, como o fornecimento total do token, o número de casas decimais e o endereço da conta com autoridade para cunhar (criar novos) ou queimar (destruir) o token.
Estrutura da Token Account
Uma Token Account registra a quantidade de um token específico mantida por um indivíduo ou outro programa. Para cada tipo de token, cada entidade que detém esse token possui uma Token Account correspondente. Por exemplo, se um usuário possui cinco tokens SPL diferentes, ele terá cinco Token Accounts distintas, uma para cada tipo de token.
A Token Account é uma conta de dados, e o campo Data de seu AccountInfo normalmente consiste em três subcampos principais:
- Mint: O endereço da Mint Account correspondente a esta Token Account específica, identificando qual token ela mantém.
- Owner: A chave pública da conta com privilégio para transferir tokens desta Token Account. Este é o verdadeiro "proprietário" dos tokens.
- Amount: O número atual de tokens mantidos nesta Token Account.
Deve-se enfatizar que o campo
owner em AccountInfo (que determina quem pode modificar os dados da conta) e o campo owner dentro dos Data da Token Account (que especifica quem é o proprietário dos tokens) são conceitos completamente diferentes. O primeiro é uma propriedade geral de contas Solana, enquanto o segundo é específico das Token Accounts SPL.
Conectando esses conceitos, podemos visualizar o diagrama de relacionamento de contas abaixo. Tanto o System Program quanto o Token Program são implantados em endereços únicos e fixos na blockchain e funcionam como bibliotecas centrais. Uma conta de carteira pode conter múltiplas Token Accounts, e ela é a verdadeira "proprietária" dos tokens dentro dessas Token Accounts. O campo Mint nas Token Accounts do mesmo tipo aponta para a Mint Account única daquele token, que registra informações como o fornecimento total do token.
Analisando Transações Solana com o Phalcon Explorer
Embora exploradores tradicionais como o Solscan forneçam dados valiosos, eles podem às vezes apresentar informações de uma forma menos intuitiva para análises detalhadas de transações Solana. Vamos primeiro observar uma transação no Solscan e depois ver como o Phalcon Explorer da BlockSec oferece uma visão mais clara e abrangente.
Visualizando Token Accounts no Solscan
Podemos usar o Solscan para visualizar as alterações nas Token Accounts dentro desta transação de exemplo:
A coluna Address lista todas as Token Accounts envolvidas na transação. A coluna Owner indica o verdadeiro "proprietário" do token (o owner no campo Data da Token Account). A coluna Token corresponde à Mint Account do token atual. Podemos clicar em "$SON" no lado direito da primeira linha para obter mais detalhes:
O Owner Program no Resumo do Perfil indica que o proprietário da Mint Account atual é o Token Program. Com isso, identificamos todos os três tipos de contas no Solscan.
No entanto, essa exibição no Solscan pode ser um pouco confusa. Por exemplo, na imagem anterior, não fica claro se o saldo aumentado na primeira linha pertence ao endereço CHS9WajyFfuaAZRk2JC7hRJvPHXmG5fC94gtAPbnLjuY ou Raydium Authority V4. Essa ambiguidade aumenta a dificuldade para os usuários entenderem o fluxo real da transação. Além disso, os leitores podem notar que os tokens SOL e outros tokens são exibidos em seções separadas no Solscan. Embora essa separação seja tecnicamente razoável, seria mais fácil de entender se fossem apresentados juntos em uma seção de tokens unificada para uma visão holística das alterações de ativos.
O Phalcon Explorer não apenas resolve esses problemas, mas também introduz muitas outras inovações para análises detalhadas de transações Solana. Agora vamos usar o Phalcon Explorer para examinar a mesma transação.
Recomendamos fortemente que você abra o link da transação no Phalcon Explorer e siga nossos passos para analisá-la em conjunto. Essa abordagem interativa permitirá que você compreenda melhor os detalhes da transação e aprecie os poderosos recursos do Phalcon Explorer para análise de transações Solana!
Comece a Usar o Phalcon Explorer
Mergulhe nas Transações para Agir com Sabedoria
Experimente gratuitamenteVisualizando e Analisando Transações no Phalcon Explorer
No canto superior esquerdo da página, você pode ver que a transação atual foi identificada como uma transação JITO MEV, uma informação valiosa para analistas de segurança. Você também pode clicar no ícone da Solana ao lado da assinatura da transação para ir diretamente ao Solscan, se necessário.
As informações sobre esta transação Solana estão logicamente divididas em quatro seções principais: Informações Básicas, Fluxo de Fundos, Alterações de Saldo e Fluxo de Invocação. Você pode alternar entre essas seções clicando nos ícones no canto superior direito, permitindo uma análise abrangente de transações Solana.
Informações Básicas
A seção de Informações Básicas oferece detalhes essenciais sobre a transação Solana atual. Você pode clicar no número do bloco e no endereço do signatário para ir ao Solscan para verificação cruzada ou contexto adicional. Esta seção fornece uma visão geral rápida antes de mergulhar nos detalhes específicos da execução da transação.
Fluxo de Fundos
A seção de Fluxo de Fundos fornece uma representação visual clara do movimento e do momento dos fundos durante a execução da transação, tornando a análise de transações Solana intuitiva:
- O iniciador e signatário da transação,
59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2F, primeiro transferiu uma certa quantidade de um token para o endereço identificado comoRaydium Authority V4. - Em seguida,
Raydium Authority V4transferiu aproximadamente 6,747 Wrapped SOL Tokens de volta para o signatário,59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2F. - Por fim, o signatário forneceu 0,000003 SOL ao Jito como gorjeta ao validador Jito pela execução da transação, indicando uma atividade relacionada ao MEV.
Abaixo está o diagrama de fluxo de fundos do Solscan para comparação. Em comparação ao Solscan, cada endereço no diagrama de fluxo de fundos do Phalcon Explorer corresponde exclusivamente a um único nó, tornando significativamente mais fácil identificar os relacionamentos entre endereços e, assim, melhorando a eficiência da análise, especialmente para transações Solana complexas.
Se você deseja realizar uma análise mais aprofundada do fluxo de fundos da transação, talvez para resposta a incidentes ou investigações forenses, pode clicar no ícone marrom no canto superior direito para acessar o MetaSleuth, a ferramenta avançada de análise on-chain da BlockSec.
Alterações de Saldo
A seção de Alterações de Saldo mostra claramente as alterações de tokens para diferentes contas após a conclusão da transação Solana. Essa visão unificada é uma vantagem significativa para a análise de transações Solana.
Por exemplo, o signatário da transação, 59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2F, sofreu alterações em três tipos de tokens: o token nativo SOL, um token chamado 61Hh8Udg7zruvG3BhyNiHF4UmULnC8reB9RBFtwi8uKp (provavelmente um token SPL) e Wrapped SOL Token.
Cada Endereço de Conta que aparece em Alterações de Saldo possui uma ou mais Token Accounts associadas a ele. Ao clicar no respectivo endereço, você pode copiá-lo ou ir ao Solscan para contexto adicional.
O Phalcon Explorer não distingue entre tokens SOL e outros tokens SPL nesta visualização, o que reflete diretamente as alterações em todos os tokens de uma determinada conta. Essa apresentação unificada torna muito mais fácil visualizar o relacionamento entre uma Token Account e seu Proprietário, oferecendo uma visão mais completa dos movimentos de ativos durante transações Solana.
Fluxo de Invocação
O Fluxo de Invocação registra o processo de execução das instruções da transação, com cada linha correspondendo a uma instrução executada durante a transação Solana. Esta seção é inestimável para entender a sequência precisa de operações dentro de uma interação com contrato inteligente ou chamada de programa.
Aqui, focamos nas instruções 2 e 4, que envolvem transferências de tokens.
A segunda instrução chama o swapBaseIn do Raydium AMM para vender um token. Expandir essa instrução revela que ela consiste em duas instruções CPI (Cross Program Invocation), que facilitam a transferência de tokens entre Raydium Authority V4 e o signatário da transação. A quarta instrução é o processo em que o signatário paga uma gorjeta ao Jito, confirmando a natureza MEV da transação.
Como mostrado na figura abaixo, ao clicar na aba Accounts após cada instrução, podemos visualizar todas as contas envolvidas naquela instrução específica. Em comparação ao Solscan, esse método de exibição é mais conciso, permitindo que os analistas se concentrem nas informações mais críticas da transação sem serem sobrecarregados por detalhes desnecessários. Essa visão granular é essencial para análises aprofundadas e depuração de transações Solana.

Conclusão
Neste artigo, apresentamos primeiro os princípios de implementação dos tokens Solana, abordando o SOL nativo, os Token Programs, as Mint Accounts e as Token Accounts. Em seguida, usamos o Solscan para examinar as alterações nas Token Accounts de uma transação específica, destacando algumas de suas limitações. Por fim, realizamos uma análise mais aprofundada da mesma transação Solana usando o Phalcon Explorer da BlockSec, demonstrando seus recursos inovadores que proporcionam maior clareza e insights para a análise de transações Solana.
Isso conclui a série "Solana Simplificado". Esperamos que tenha sido útil para entender os conceitos fundamentais da Solana e a análise prática de transações. Se você tiver outros tópicos sobre os quais gostaria de aprender, como incidentes de segurança específicos, introduções ao ecossistema ou outros produtos da BlockSec, fique à vontade para deixar um comentário! 🫡


