一筆鏈上交易能裝下多少內容,決定了開發者是一次完成操作,還是將動作拆分成幾筆再等待確認。Solana的新一代V1交易格式已於9月15日的主網epoch 1035時啟用,將單筆交易大小的上限從1232字節提高至4096字節。官方升級說明中給出的用途包括零知識證明、某些更複雜的多重簽名和機構操作。這是主網已生效的能力,並非仍在測試的提案;但也不是「所有錢包和應用已經自動支持大交易」。發送方需要主動採用V1格式,讀取方和簽名方也需跟進兼容工作。
舊有的上限並非隨意設定。在早期,Solana根據較為保守的網絡傳輸單元來限制交易有效載荷,在複雜的場景中,一筆交易可能還沒有達到計算上限,字節數就已經裝不下去了。官方解釋說,自從QUIC成為默認的交易接入協議後,過去的限制可以進行調整,但更大規模的交易需要更多的網絡傳輸和驗證者緩衝空間,因此新的上限仍然保持在4KiB左右,而非無限擴張。越大的交易也可能需要更高的優先費用才能獲得同等的執行機會。對於用戶來說,功能空間的增大與使用成本的降低之間並不能直接畫等號。
大交易帶來了什麼,格式又改了什麼
V1 將交易識別字段放在起始位置,簽名放在尾部,並將計算單元、賬戶數據大小、堆內存和優先級等配置寫入消息結構中。這樣網路基礎設施可以更快地識別版本和讀取關鍵資源參數,但也不可避免地改變了舊版應用對費用的理解方式。舊版的 V0 的優先費通常是以每計算單元多少微 lamport 的方式報價;V1 則使用一筆交易的总 lamport 金額。如果一個分析面板直接將這兩種數值並排比較,就可能得出“費用暴漲”或“費用暴跌”的錯誤結論。數據服務供應商需要先統一單位,才能正確分析趨勢。
賬戶地址的處理方式也不一樣。V0 透過使用地址查找表來節省空間,V1 則允許在更大的交易體內直接放入多達64個地址,但不使用地址查找表,重複的地址仍會被拒絕。對於複雜的交易而言,這可能會減少準備和拆分交易的步驟;但对于已經大量依賴地址查找表應用程式來運作的系統來說,卻不能簡單地將版本號從0改成1。開發者需要重新構建消息、測試賬戶順序和資源預算,並檢查交易在錢包審批界面中是否能正確顯示。格式升級的價值,在很大程度上取決於生態工具是否能夠妥善處理這些細節。
尤其需要注意“預設值”的變化。官方文檔提醒,如果沒有明確設定計算單位的上限和載入帳戶數據的大小,相關限制將會是零,交易可能在載入階段失敗。舊格式中有些資源值可以依賴運行時的預設值來填補,但新格式不能沿用這種習慣。官方建議先以足夠大的上限來模擬交易,读取實際消耗,再為最終發送的交易配置留出餘量。如果在模擬時某個帳戶還不存在,而在發送前才被創建,數據大小可能會突然增加;如果預算設定得太緊,仍然可能导致失敗。開發者將“大交易已上線”誤解為“舊代碼天生更寬鬆”,就會正好踩到這類陷阱。
主網上線並不等於整個生態無痛遷移
錢包需要明確聲明自己支持簽署 V1 交易,應用在發送前應檢查相應版本的能力。即便錢包團隊發布了支持版本,終端用戶安裝的也未必是最新客戶端。RPC 服務和區塊瀏覽器同樣需要提高可讀版本的上限,否則交易雖然已上鏈,但查詢接口卻可能返回不支持版本的錯誤。流式數據消費者還有更隱蔽的風險:若仍按 V0 解析,可能會靜默地將 V1 的配置讀錯,而非直接報錯。對於支付中繼、手續費代付和伺服器簽名服務,這不是顯示性的問題,但可能會影響費用上限與風控判斷。
鏈上程式也有邊界。過去如果合約透過掃描 ComputeBudget 指令來判斷一筆交易的資源請求,到了 V1 之後,這些指令就不再承載有效設定;設定會被放在消息裡,但現階段鏈上程式沒有相同的方式來讀取這些信息。官方明確提醒相關開發者調整依賴這一假設的邏輯。對於一般用戶而言,最可靠的信號並不是一篇宣告主網啟用的文章,而是自己使用的錢包、應用及服務供應商是否已完成適配,並且能否正確顯示預期的操作和費用。
版本共存也意味着不能強迫所有用戶在同一天進行遷移。舊格式並非因為啟用了 V1 就立即失效,錢包和應用程式可以根據兼容性選擇發送舊版或新版。對於只需要簡單轉賬的用戶而言,短期內可能根本感覺不到4096字節的變化;對於需要處理隱私證明、複雜授權或多帳戶操作的團隊來說,新格式的收益則可能會非常明顯。升級的衡量標準應該是具體交易是否能夠更可靠地一次完成,而不是將網路中的每一筆交易都改成 V1。
這次升級值得關注,因為它將過去需要拆分、打包或額外協調的部分操作整合到單筆原子交易中,降低了某些產品的工程複雜度。但4096字節並不代表吞吐量翻倍,也不意味着每類交易的手續費都會下降。這就像是在道路上加寬了一條車道:車輛能運載更多的貨物,然而調度、收費、導航和駕駛員仍需更新規則。Solana 已經開放了 V1 的主網入口,接下來就看生態系統在兼容性、風險控制與可讀性方面的表現了。












