⚙️ Solana でトランザクションを送信すると、実際には何が起こるの?

Solana ウォレットで「送信」を押すと、トランザクションが確定される前にいくつかのバックエンド処理が行われます。

1️⃣ トランザクションが作成されます

ウォレットは、次の内容を含むトランザクションを作成して署名します:

• 命令

• 関与するアカウント

• 最新のブロックハッシュ

• 暗号学的署名

署名されたトランザクションは、その後 Solana ネットワークに投入する準備が整います。

2️⃣ トランザクションがネットワークに入ります

そのトランザクションは Solana の RPC ノードに送信され、現在予定されているリーダーへ向けてネットワーク経由で転送されます。

RPCノードは主に、あなたのウォレット/アプリケーションとブロックチェーンネットワークの間のゲートウェイです。

3️⃣ リーダーがそれを処理します

Solanaは、短い期間のリーダーとしてスケジュールされたProof-of-Stakeのバリデータを使用します。

リーダーはトランザクションを受け取り、命令を実行し、次のような点を確認します:

✔️ 署名の有効性

✔️ アカウント状態

✔️ プログラム命令

✔️ 必要なトランザクション手数料

✔️ アカウント権限

その後、生成されたデータは他のバリデータに伝播されます。

4️⃣ Proof of History(PoH)がシーケンスを記録します

ここで Proof of History(PoH)が重要になります。

PoH は暗号学的ハッシュのシーケンスを継続的に生成します:

H0 → H1 → H2 → H3 → H4 → H5 → ...

各ハッシュは前のハッシュに依存しているため、このシーケンスは出来事が起きた順序の検証可能な記録になります。

トランザクションは、このシーケンスの特定の時点に組み込むことができます。

つまり:

PoH = 暗号学的な時計 + 検証可能な順序付け

ただし、PoH 自体はトランザクションを最終化しません。

5️⃣ バリデータがデータを検証します

他のSolanaバリデータがリーダーのデータを受け取ります。

バリデータはそれぞれ独立してトランザクションを検証し、関連するプログラムを実行し、結果として得られるアカウント状態が有効かどうかを確認します。

データが有効であれば、バリデータはそのチェーンに投票できます。

6️⃣ Tower BFT がコンセンサスに到達します

ここで Tower BFT が登場します。

Tower BFT は、ステーク・プルーフに基づきProof of Stake上で構築されたSolanaのBFTスタイルのコンセンサスメカニズムです。

バリデータは有効だと考えるチェーンに投票し、投票の強さは委任されたステークによって重み付けされます。

Tower BFT の重要な要素の一つが「ロックアウト」という概念です。

バリデータがブロックに投票すると、その投票は一時的にそのチェーンへのコミットメントを作ります。もしそのバリデータが、そのブロックの子孫に対しても投票し続けると、ロックアウトは段階的により長くなります。

簡単に言うと:

バリデータがブロックを受け取ります

↓

検証します

↓

それに投票します

↓

投票がロックアウトを作る

↓

継続する投票がコミットメントを増やす

↓

バリデータは1つのチェーンに収束します

これにより、競合するフォーク間を何度も切り替えることが非常に難しくなり、ネットワークが単一の履歴へ収束するのに役立ちます。

7️⃣ 確認 → 最終化

より多くのバリデータがそのチェーンに投票するにつれて、トランザクションはSolanaの確認(confirmation)ステージを通過していきます。

最終的に、十分なステークが該当チェーンに投票し、そのブロックが最終化ステータスに到達します。

この時点で、トランザクションはネットワークによって最終化されたと見なされます。

🔗 完全なバックエンドの流れ

ウォレット

↓

トランザクションに署名

↓

RPCノード

↓

現在のリーダー

↓

トランザクション実行

↓

PoH の順序付け / 暗号学的クロック

↓

バリデータ検証

↓

Tower BFT + ステークに重み付けされた投票

↓

ロックアウトとスーパー多数決の合意

↓

🔒 Solanaで最終化

重要な違い

PoH → 時間と出来事の検証可能なシーケンスを確立する

Proof of Stake → バリデータの投票の重みを決定

Tower BFT → バリデータの投票とロックアウトを使ってコンセンサスに到達

つまり「Send SOL(SOLを送信)」を単に押すだけでも、バックエンドではコインを1つのウォレットから別のウォレットへ移す以上のことが行われます。

それには、トランザクション実行、暗号学的順序付け、バリデータ検証、ステークに重み付けされた投票、そして、そのトランザクションがSolanaブロックチェーン上で最終化される前に行われるコンセンサスが含まれます。

#Solana #SOL #ProofOfHistory #TowerBFT #ProofOfStake #Blockchain #Web3 #CryptoTechnology #BlockchainBackend