Back to Blog

Solanaを分かりやすく解説 03:5分でSolanaトランザクションを理解しよう

June 27, 2024
9 min read

「Solana Simplified」シリーズへようこそ。このシリーズは、Solanaの複雑なエコシステムをマスターできるように設計されています。最初の記事では、Solanaのオペレーティングメカニズム、アカウントモデル、トランザクション構造を探りました。2番目の記事では、Rustで最初のSolanaプログラムを書き、テストする方法を説明しました。

このシリーズの3番目にして最後のパートとなるこの記事では、Phalcon Explorerを使用して簡単なSolanaトランザクションを分析する方法を説明します。実践的なSolanaトランザクション分析に進む前に、まずSolanaでのトークンの実装方法を探り、トランザクショントラフィックを理解するための基本的な側面を理解しましょう。

Solanaトークン実装の理解

Solanaのトークンは、大きく分けてネイティブトークンとその他のトークン(SPLトークン)の2つのカテゴリに分類できます。これらの違いを把握することは、効果的なSolanaトランザクション分析にとって非常に重要です。

ネイティブトークン(SOL)

ネイティブトークンとは、Solanaの主要な暗号通貨であるSOLを指します。最初の記事で述べたように、SolanaのすべてのアカウントにはLamportsフィールドがあり、そのアカウントのSOL残高を記録します。LamportsはSOLの最小単位であり、1 SOLは10億Lamportsに相当します。SOLは、トランザクション手数料、ステーキング、ネットワーク参加に使用されます。

その他のトークン(SPLトークン)

その他のトークンについては、Solanaはプログラムアカウント(トークンプログラム)と2種類のデータアカウント:ミントアカウントトークンアカウントを中心に構築された堅牢なフレームワークを利用しています。このアーキテクチャは、Solanaブロックチェーン上のさまざまなトークンを管理および操作するために必要なすべての機能を提供します。

Solanaトークンプログラム

Token Program Structure Diagram トークンプログラムは、Solana Program Library(SPL)によって提供されるプログラムアカウントであり、AccountInfo内のExecutableフィールドがTrueになります。

システムプログラムと同様に、トークンプログラムはSolana上の固定アドレスにデプロイされ、そのオーナーはBPF Loaderです。強力なプログラムアカウントとして、多数の命令を実装して多様なトークン機能を提供します。たとえば、新しいトークンを初期化するためにミントアカウントを作成したり、特定のアドレスが保有するトークン数を記録するためにトークンアカウントを作成したりする命令があります。その他の命令は、トークン供給を増やすためのMintTo命令、または2つのアドレス間でトークンを転送するためのTransfer命令など、基本的なトークン操作を容易にします。

トークンプログラムはミントアカウントとトークンアカウントの作成を担当しているため、これらのアカウントのオーナーでもあり、そのライフサイクルとデータに対する制御を付与していることに注意することが重要です。

ミントアカウント構造

Mint Account Structure Diagram ミントアカウントはデータアカウントであり、AccountInfoExecutableフィールドはFalseです。Solanaでは、各ユニークなトークン(例:USDC、RAYなど)は単一のミントアカウントに対応します。このアカウントには、トークンの総供給量、小数点以下の桁数、トークンをミント(作成)またはバーン(削除)する権限を持つアカウントのアドレスなどの重要な情報が格納されます。

トークンアカウント構造

トークンアカウントは、個人または他のプログラムが保有する特定のトークンの量を記録します。各種類のトークンについて、そのトークンを保有する各エンティティには対応するトークンアカウントがあります。たとえば、ユーザーが5種類の異なるSPLトークンを保有している場合、各トークンタイプについて5つの異なるトークンアカウントを持つことになります。

トークンアカウントはデータアカウントであり、そのAccountInfoDataフィールドは通常、3つの主要なサブフィールドで構成されます。

  • Mint: この特定のトークンアカウントに対応するミントアカウントのアドレス。どのトークンを保有しているかを識別します。
  • Owner: このトークンアカウントからトークンを転送する権限を持つアカウントの公開鍵。これがトークンの真の「オーナー」です。
  • Amount: このトークンアカウントに現在保有されているトークンの数。

Token Account Structure Diagram AccountInfoownerフィールド(アカウントのデータを変更できるユーザーを決定します)と、トークンアカウントのData内のownerフィールド(トークンを所有するユーザーを指定します)は、全く異なる概念であることに注意が必要です。前者は一般的なSolanaアカウントのプロパティであり、後者はSPLトークンアカウントに固有のものです。

これらの概念を接続すると、以下のようなアカウント関係図を視覚化できます。システムプログラムとトークンプログラムの両方がブロックチェーン上のユニークで固定されたアドレスにデプロイされ、コアライブラリとして機能します。ウォレットアカウントは複数のトークンアカウントを保有している可能性があり、それらのトークンアカウント内のトークンの真の「オーナー」です。同じタイプのトークンアカウントのMintフィールドは、トークンの総供給量などの情報を記録する、そのトークンの一意のミントアカウントを指します。

Solana Account Relationship Diagram
Solana Account Relationship Diagram

Phalcon ExplorerによるSolanaトランザクションの分析

Solscanのような従来のExplorerは貴重なデータを提供しますが、詳細なSolanaトランザクション分析にとって直感的ではない方法で情報が表示される場合があります。まずSolscanでトランザクションを確認し、次にBlockSecのPhalcon Explorerがより明確で包括的なビューをどのように提供するかを見てみましょう。

Solscanでのトークンアカウントの表示

Solscanを使用して、この例のトランザクション内のトークンアカウントの変更を表示できます。

Solscan Token Balance Change View Address列には、トランザクションに関与するすべてのトークンアカウントがリストされます。Owner列は、トークンの真の「オーナー」(トークンアカウントデータフィールドのowner)を示します。Token列は、現在のトークンのミントアカウントに対応します。最初の行の右側にある「$SON」をクリックすると、詳細が表示されます。

Solscan Token Profile Summary プロフィールサマリーのOwner Programは、現在のミントアカウントのオーナーがトークンプログラムであることを示しています。これで、Solscanで3種類すべてのアカウントを一致させました。

しかし、Solscanのこの表示はいくぶん誤解を招く可能性があります。たとえば、前の画像では、最初の行の残高増加がアドレスCHS9WajyFfuaAZRk2JC7hRJvPHXmG5fC94gtAPbnLjuYのものであるか、それともRaydium Authority V4のものであるかは不明確です。このような曖昧さは、ユーザーがトランザクションの真の流れを理解するのを困難にします。さらに、読者は、SOLトークンと他のトークンがSolscanで別々のセクションに表示されていることに気づくかもしれません。この分離は技術的には合理的ですが、統合されたトークンセクションの下でまとめて表示されると、資産変更の全体像を把握しやすくなります。

Phalcon Explorerはこれらの問題に対処するだけでなく、詳細なSolanaトランザクション分析のために他の多くの革新を導入しています。それでは、Phalcon Explorerを使用して同じトランザクションを調べてみましょう。

Phalcon Explorerのトランザクションへのリンクを開き、手順に従って一緒に分析することを強くお勧めします。このインタラクティブなアプローチにより、トランザクションの詳細をよりよく理解し、Solanaトランザクション分析のためのPhalcon Explorerの強力な機能を高く評価できます。

Phalcon Explorerを始めましょう

賢く行動するためにトランザクションを深く掘り下げる

今すぐ無料で試す

Phalcon Explorerでのトランザクションの表示と分析

Phalcon Explorer Transaction Overview ページ左上隅で、現在のトランザクションがJITO MEVトランザクションとして識別されていることがわかります。これはセキュリティアナリストにとって貴重な情報です。必要に応じて、トランザクション署名の横にあるSolanaアイコンをクリックして、直接Solscanにジャンプすることもできます。

このSolanaトランザクションに関する情報は、基本情報資金の流れ残高変更呼び出しフローの4つの主要セクションに論理的に分割されています。右上のアイコンをクリックすることで、これらのセクションをシームレスに切り替えることができ、包括的なSolanaトランザクション分析が可能です。

基本情報

Phalcon Explorer Basic Info Section 基本情報セクションには、現在のSolanaトランザクションに関する重要な詳細が表示されます。ブロック番号と署名者のアドレスをクリックすると、Solscanにジャンプして参照したり、追加のコンテキストを得たりできます。このセクションでは、トランザクション実行の詳細に入る前に、簡単な概要を提供します。

資金の流れ

Phalcon Explorer Fund Flow Section 資金の流れセクションは、トランザクション実行中の資金の移動とタイミングを明確に視覚的に表現しており、Solanaトランザクション分析を直感的に行えます。

  • トランザクションの開始者および署名者である59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2Fは、まず一定量のトークンをRaydium Authority V4というラベルのアドレスに転送しました。
  • 次に、Raydium Authority V4は、約6.747 Wrapped SOLトークンを署名者59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2Fに送り返しました。
  • 最後に、署名者は、トランザクションを実行したJitoバリデーターへのチップとしてJitoに0.000003 SOLを提供しました。これはMEV関連の活動を示唆しています。

以下は比較のためのSolscanからの資金の流れ図です。Solscanと比較して、Phalcon Explorerの資金の流れ図の各アドレスは一意のノードに対応しており、アドレス間の関係を特定することが significantly 容易になり、特に複雑なSolanaトランザクションでの分析効率が向上します。

Solscan Fund Flow Diagram トランザクションの資金の流れを、インシデント対応やフォレンジック調査のために、より深く分析したい場合は、右上の茶色のアイコンをクリックして、BlockSecの高度なオンチェーン分析ツールであるMetaSleuthに入ることができます。

MetaSleuth調査を探る

調査のためにフローをトレースし、証拠を構築する

今すぐ無料で試す

残高変更

Phalcon Explorer Balance Changes Section 残高変更セクションは、Solanaトランザクション完了後の各アカウントのトークン変更を明確に示しています。この統合されたビューは、Solanaトランザクション分析にとってsignificantな利点です。

たとえば、トランザクションの署名者である59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2Fは、ネイティブトークンSOL、61Hh8Udg7zruvG3BhyNiHF4UmULnC8reB9RBFtwi8uKpという名前のトークン(おそらくSPLトークン)、およびWrapped SOLトークンの3種類のトークンに変更がありました。

Balance Changesに表示される各Account Addressには、1つ以上のToken Accountが関連付けられています。各アドレスをクリックすると、コピーしたり、Solscanにジャンプして追加のコンテキストを取得したりできます。

Phalcon ExplorerはこのビューではSOLトークンと他のSPLトークンを区別しておらず、これは特定のアカウントのすべてのトークンの変更を直接反映しています。この統合された表示により、トークンアカウントとそのオーナーの関係を視覚化することがはるかに容易になり、Solanaトランザクション中の資産移動のより完全な画像を提供します。

呼び出しフロー

Phalcon Explorer Invocation Flow Section 呼び出しフローは、トランザクション命令の実行プロセスを記録し、各行はSolanaトランザクション中に実行された命令に対応します。このセクションは、スマートコントラクトの相互作用やプログラム呼び出し内の操作の正確なシーケンスを理解するために非常に役立ちます。

ここでは、トークン転送に関与する命令2と4に焦点を当てます。

2番目の命令は、トークンを売却するためにRaydium AMMswapBaseInを呼び出します。この命令を展開すると、Raydium Authority V4とトランザクション署名者間でのトークン転送を容易にする2つのCPI(Cross Program Invocation)命令で構成されていることがわかります。4番目の命令は、署名者がJitoにチップを支払い、トランザクションのMEV性質を確認するプロセスです。

以下の図に示すように、各命令の後のAccountsタブをクリックすると、その特定の命令に関与するすべてのアカウントを表示できます。Solscanと比較して、この表示方法はより簡潔であり、アナリストは余分な詳細に圧倒されることなく、トランザクションでより重要な情報に集中できます。この詳細なビューは、Solanaトランザクションの深い分析とデバッグに不可欠です。

Phalcon Explorer Invocation Flow Accounts Tab
Phalcon Explorer Invocation Flow Accounts Tab

結論

この記事では、まずネイティブSOL、トークンプログラム、ミントアカウント、トークンアカウントをカバーするSolanaトークンの実装原則を紹介しました。次に、Solscanを使用して特定のトランザクションのトークンアカウントの変更を調査し、そのいくつかの制限を強調しました。最後に、BlockSecのPhalcon Explorerを使用して同じSolanaトランザクションのさらなる、より詳細な分析を行い、Solanaトランザクション分析に優れた明瞭さと洞察を提供する革新的な機能を紹介しました。

これにより、「Solana Simplified」シリーズは終了します。Solanaのコアコンセプトと実践的なトランザクション分析の理解に役立ったことを願っています。特定のセキュリティインシデント、エコシステム紹介、または他のBlockSec製品など、他に学びたいトピックがあれば、コメントを残してください。🫡

このシリーズの他の記事を読む:

Sign up for the latest updates
Newsletter - April 2026
Security Insights

Newsletter - April 2026

In April 2026, the DeFi ecosystem experienced three major security incidents. KelpDAO lost ~$290M due to an insecure 1-of-1 DVN bridge configuration exploited via RPC infrastructure compromise, Drift Protocol suffered ~$285M from a multisig governance takeover leveraging Solana's durable nonce mechanism, and Rhea Finance incurred ~$18.4M following a business logic flaw in its margin-trading module that allowed circular swap path manipulatio

~$7.04M Lost: GiddyDefi, Volo Vault & More | BlockSec Weekly
Security Insights

~$7.04M Lost: GiddyDefi, Volo Vault & More | BlockSec Weekly

This BlockSec weekly security report covers eight attack incidents detected between April 20 and April 26, 2026, across Ethereum, Avalanche, Sui, Base, HyperLiquid, and MegaETH, with total estimated losses of approximately $7.04M. The highlighted incident is the $1.3M GiddyDefi exploit, where the attacker did not break any cryptography or use a flash loan but simply replayed an existing on-chain EIP-712 signature with the unsigned `aggregator` and `fromToken` fields swapped out for a malicious contract, demonstrating how partial signature coverage turns any historical signature into a generic permit. Other incidents include a $3.5M Volo Vault operator key compromise on Sui, a $1.5M Purrlend privileged-role takeover, a $413K SingularityFinance oracle misconfiguration, a $142.7K Scallop cross-pool index injection, a $72.35K Kipseli Router decimal mismatch, a $50.7K REVLoans (Juicebox) accounting pollution, and a $64K Custom Rebalancer arbitrary-call exploit.

Weekly Web3 Security Incident Roundup | Apr 13 – Apr 19, 2026
Security Insights

Weekly Web3 Security Incident Roundup | Apr 13 – Apr 19, 2026

This BlockSec weekly security report covers four attack incidents detected between April 13 and April 19, 2026, across multiple chains such as Ethereum, Unichain, Arbitrum, and NEAR, with total estimated losses of approximately $310M. The highlighted incident is the $290M KelpDAO rsETH bridge exploit, where an attacker poisoned the RPC infrastructure of the sole LayerZero DVN to fabricate a cross-chain message, triggering a cascading WETH freeze across five chains and an Arbitrum Security Council forced state transition that raises questions about the actual trust boundaries of decentralized systems. Other incidents include a $242K MMR proof forgery on Hyperbridge, a $1.5M signed integer abuse on Dango, and an $18.4M circular swap path exploit on Rhea Finance's Burrowland protocol.