Back to Blog

Solana Simplificado 03: Entenda as Transações da Solana em 5 Minutos

MetaSleuthPhalcon Explorer
June 27, 2024
10 min read
Key Insights

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

Diagrama de Estrutura do Token Program 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

Diagrama de 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.

Diagrama de Estrutura da 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.

Diagrama de Relacionamento de Contas Solana
Diagrama de Relacionamento de Contas Solana

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:

Visualização de Alteração de Saldo de Token no Solscan 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:

Resumo do Perfil de Token no Solscan 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 gratuitamente

Visualizando e Analisando Transações no Phalcon Explorer

Visão Geral da Transação 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

Seção de Informações Básicas no Phalcon Explorer 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

Seção de Fluxo de Fundos no Phalcon Explorer 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 como Raydium Authority V4.
  • Em seguida, Raydium Authority V4 transferiu 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.

Diagrama de Fluxo de Fundos no Solscan 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.

Explore a Investigação com o MetaSleuth

Rastreie fluxos e construa evidências para investigações

Experimente gratuitamente

Alterações de Saldo

Seção de Alterações de Saldo no Phalcon Explorer 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

Seção de Fluxo de Invocação no Phalcon Explorer 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.

Aba Accounts do Fluxo de Invocação no Phalcon Explorer
Aba Accounts do Fluxo de Invocação no Phalcon Explorer

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! 🫡

Leia outros artigos desta série:

Go Deeper with MetaSleuth Investigation

Extend your crypto compliance capabilities with Blocksec's MetaSleuth Investigation, the first platform for tracing funds, mapping transaction networks and revealing hidden on-chain relationships.

Move from detection to resolution faster with clear visual insights and evidence-ready workflows across the digital assets ecosystem.

MetaSleuth Investigation

Visualize Transactions With Phalcon Explorer

Use the Most Trusted Multi-Chain Explorer. Dive into Transactions to Act Wisely.

Phalcon Explorer