⚙️ 在 Solana 上發送一筆交易時,實際會發生什麼?
當你在 Solana 錢包中按下“發送(Send)”時,在交易最終確認之前,會發生幾個後臺流程。
1️⃣ 交易被創建
你的錢包會創建並簽署一筆包含以下內容的交易:
• 指令(Instructions)
• 涉及的賬戶
• 最近的區塊哈希(recent blockhash)
• 加密簽名
然後,已簽名的交易就可以進入 Solana 網絡了。
2️⃣ 交易進入網絡
該交易被髮送到某個 Solana RPC 節點,該節點會將其通過網絡轉發給當前已安排的領導者(leader)。
RPC 節點主要是你錢包/應用程式與區塊鏈網路之間的閘道。
3️⃣ 領導者處理它
Solana 會使用排程的 Proof-of-Stake 驗證者,在短時間內擔任領導者(leader)。
領導者接收交易,執行其指令並檢查例如:
✔️ 簽名有效性
✔️ 帳戶狀態
✔️ 程式指令
✔️ 需要支付的交易手續費
✔️ 帳戶權限
接著,產生的資料會被傳播到其他驗證者。
4️⃣ Proof of History 記錄序列
這就是 Proof of History(PoH)變得重要的地方。
PoH 會持續產生一串加密雜湊序列:
H0 → H1 → H2 → H3 → H4 → H5 → ...
因為每個雜湊都取決於前一個,所以這個序列提供了對事件發生順序的可驗證紀錄。
一筆交易可以被納入這個序列中的特定位置。
所以:
PoH = 加密時鐘 + 可驗證的排序
不過,PoH 本身並不會完成交易。
5️⃣ 驗證者驗證資料
其他 Solana 驗證者會接收領導者的資料。
他們會獨立驗證交易、執行相關的程式,並檢查由此產生的帳戶狀態是否有效。
如果資料有效,驗證者就能對該鏈投票。
6️⃣ Tower BFT 達成共識
這就是 Tower BFT 發揮作用的地方。
Tower BFT 是 Solana 的 BFT 風格共識機制,建立在 Proof of Stake(權益證明)之上。
驗證者會對他們認為有效的那條鏈投票,而他們的投票權重則由其已委託的持股加權。
Tower BFT 的關鍵部分之一是「lockouts」的概念。
當某個驗證者對某個區塊投票時,該投票會對這條鏈產生一個暫時性的承諾(commitment)。如果該驗證者持續對該區塊的後代進行投票,lockout 會逐漸變得更長。
用簡單的話來說:
驗證者接收區塊
↓
驗證它
↓
對它投票
↓
投票會建立 lockout
↓
持續投票會增加承諾
↓
驗證者收斂到同一條鏈
這使得在競爭的分叉間反覆切換變得越來越困難,並幫助網路收斂到單一的歷史。
7️⃣ 確認 → 完成(Finalization)
隨著更多驗證者對該鏈投票,交易會經過 Solana 的確認(confirmation)各階段。
最終,足夠的持股已對相關鏈投票,使該區塊達到「已完成」(finalized)狀態。
此時,該交易被網路視為已完成(finalized)。
🔗 完整後端流程
錢包
↓
簽署交易
↓
RPC 節點
↓
目前的領導者
↓
交易執行
↓
PoH 排序 / 加密時鐘
↓
驗證者驗證
↓
Tower BFT + 持股加權投票
↓
Lockouts(鎖定)& 多數超群同意
↓
🔒 在 Solana 上已完成
重要的區別
PoH → 建立一個可驗證的時間與事件序列
Proof of Stake → 決定驗證者投票權重
Tower BFT → 使用驗證者投票與 lockouts 達成共識
所以當你只是按下「Send SOL」時,後端涉及的遠不只是把幣從一個錢包轉到另一個錢包。
這包含交易執行、加密排序、驗證者驗證、按持股加權的投票以及共識,直到該交易在 Solana 區塊鏈上成為「已完成」。
#Solana #SOL #ProofOfHistory #TowerBFT #ProofOfStake #Blockchain #Web3 #CryptoTechnology #BlockchainBackend