STONfi 上的“資金池版本”究竟告訴你什麼——V1 vs V2 作爲合約代
在 STONfi 的某個資金池頁面上,有一個小標籤會告訴你正在查看的是哪個版本。很容易直接跳過過去,而且大多數人都會這麼做,因爲它看起來就像應用更新那樣的版本號——只是背景細節,並不會真正改變你的風險或收益。但你的直覺在這裏是錯誤的,值得糾正:V1 和 V2 並不是同一個資金池的“外觀更新”。它們是不同的合約代(contract generations),底層機制確實不同;把它們當作可以互換的東西,正是讓人們最終去比較兩件從一開始就並不具備可比性的事物的原因。
這是一個小小的標籤,但上面承載的影響卻很大;它被人關注的程度與它實際能解釋的內容之間的落差,才是這整件事值得被寫下來的真正原因。
版本號其實是在告訴你,你信任的是哪一段程式碼
當人們聽到「V1」與「V2」時,直覺會以為 V2 只是把 V1 的一些錯誤修掉,並提供更好的介面。有時候,放在一般軟體的語境裡這樣想也許大致成立。但用在這裡並不正確。
STONfi 的 V1 與 V2 池子是分開的合約實作,彼此獨立部署,各自有處理交換、準備金與流動性記帳的邏輯。一個池子的版本不是什麼外觀標籤——它在告訴你:當你成為 LP 時,你的交易正在執行、以及你存入的流動性正在被持有的,究竟是哪一段程式碼。同一個代幣交易對,在兩個版本各有一個池子,並不是同一個池子只是換了個「外衣」。它們是兩段不同的程式碼,在不同時間被建立,並且把不同的假設寫進了它們如何運作。

直到我去找原因,為什麼在我以為是「同一」交易對的情況下,兩個池在相似條件下的表現有點不一樣,我才真的把這件事內化。結果發現我根本不是在比較同一個交易對——我在比較它的兩種不同實作;在我注意到版本標籤之前,光盯著表面數字是不可能解釋那個差距的。
這件事不只關於好奇心。如果某個池子的機制需要被仔細審視——例如它如何處理邊界情況、它的費用邏輯實際上怎麼運作、它的流動性記帳假設是什麼——答案就完全取決於你實際在看的版本。若沒有說清楚它描述的是哪個世代,那麼一句「STONfi 的池子是怎麼運作的」的一般陳述就一定是不完整的。
不同世代之間到底改了什麼?又為什麼這不是漸進式調整
V2 引入了真正的架構差異,而不只是漸進式的調參。最重要的是,在流動性管理之下有一套以金庫(vault)為基礎的系統,同時也擴充了不同池子類型的支援——除了標準的常數乘積模型之外,V2 支援 StableSwap 池與加權池;而它們的行為會依賴兩個配對資產之間的實際相關性有多高。
這很重要,因為常數乘積池與 StableSwap 池不只是同一套數學的不同口味。StableSwap 型的池子是特別為那些預期會彼此接近等價(接近 1:1)交易的資產設計的——想像兩種穩定幣——它會把流動性效率集中在一個窄小的價格區間,而這是標準常數乘積池不會嘗試做到的。加權池則會把兩種資產之間的曝險比例完全改掉;而 V1 池根本不提供這種能力。這些變化在 V1 之下都不存在;它們之所以能存在,是因為 V2 是用「真正全新的世代」打造的,而不是把補丁貼在舊版本上。

當你知道自己正在看哪個世代之後,值得再確認幾個具體事項:
池子是純粹的常數乘積設計,還是 V2 的較新類型之一——因為這會單就決定該交易對的「正常」價格行為會長成什麼樣
池子是針對相關性資產設計,還是確實是獨立資產設計,這會影響預期波動率與預期流動性效率
你看到的費用配置,是反映 V2 更靈活的「每個池子」設定,還是較早、較固定的 V1 結構
所以「V2」並不是某一個單獨的東西,代表你要嘛碰到它、要嘛沒碰到。它是一個世代,解鎖了多種不同的池子行為;取決於你在其中實際看到的是哪一種特定類型。而把「V2」當成一個單一類別,可能會讓人誤解,甚至近似於完全忽略版本
最讓人驚訝的一點:V1 池並沒有被抹除
當新版本上線時,一個合理的假設是:舊版本會默默消失——被棄用、被遷移、被遺忘。但這裡並不是那樣。V1 池仍然照它部署時的方式運作,因為 STONfi 的池子合約一旦上線就不可變。沒有人把 V1 池重寫成 V2 池。它們以真正彼此獨立的部署形式共存;而且對於同一交易對,V1 池仍可能在那裡持有真實流動性,同時 V2 池也完全獨立地存在、同時啟用,有時甚至條件差異明顯。
我第一次注意到時就是這樣被嚇到的。我去找自己常交易的某個交易對的「那一個」池子,結果發現兩個:兩個都在運作、都具備真實流動性;而且其中一個並不是另一個的殘留幽靈。我一開始的假設是:較新的版本只是把舊的取代掉,但事實證明那個假設完全錯了

這種「同時存在」值得好好想一下,因為它意味著檢查「哪個版本」並不是一次性的歷史好奇問題——每次你要選擇在哪裡交易或在哪裡存款時,這都是持續、即時的問題。下面是我目前大致如何一步步處理它的順序:
搜尋這個交易對,並留意所有跳出來的池子,不要直接點進第一個結果
在比較任何其他內容之前,先檢查每個池子的版本標籤
只在「同一個版本與類型」的池子之間比較 TVL、交易量與費用;不要跨不同世代把它們當成在描述同一件事
如果跳過一、二步,直接進到第三步,正是那種淺薄又安靜的 V1 池,放在同一組代幣旁邊卻看似很深、很活躍的 V2 池旁邊時,會在紙面上看起來像「兩個版本的同一件事」的方式。實際上更接近的是:它們是兩個不同的市場,剛好共用同一組代幣交易對。
這會怎麼改變流動性提供者具體需要檢查的重點
如果你在提供流動性,版本就不是背景資訊——它決定了到底是哪一段合約邏輯在持有你的資金,並且在你每次用你的部位進行交換時如何處理。對於名義上同一個交易對,V1 池與 V2 池可能在流動性深度、費用動態與整體活躍程度上都有顯著差異;原因很簡單:流動性提供者與交易者不一定會在不同世代之間平均分配。有的版本可能是該交易對的大部分真實交易量實際上都集中在那裡,而另一個版本相對安靜,雖然用肉眼看起來相似,但由於費用收益較少,因此在表面上看不出差別。

這帶來一個直接、實務上的後果:TVL 與交易量的數字必須「逐池、逐版本」來解讀,不能直接假設它代表某個統一概念下的「那個交易對」。費用配置與池子類型也會直接與版本互相影響;把它們當成獨立問題,會讓比較最先出現錯誤。舉例來說:一個用於高度相關資產的 V2 StableSwap 池、一個具有不平均曝險分配的 V2 加權池,以及一個純粹的 V1 常數乘積池,對於看起來存入資本相近的情況,都可能呈現不同的收益表現——並不是因為其中一個絕對更好,而是因為它們在結構上是不同的機器,用各自不同的方式回答同一個表面問題。
這其實是同一個教訓,只是把它套用在「僅看 TVL」這件事上而已:只看單一數字、且不帶結構脈絡地看,它告訴你的東西比你以為的少。版本是那個結構脈絡的一部分,而不是旁邊的一個附註;跳過它,就意味著你後面做的每一次比較,都是建立在一個可能不成立的假設之上。
🧭 這件事在 STONfi 自家池子頁面上是怎麼呈現的,以及值得保留的習慣
這不是你必須費力挖掘的細節——STONfi 的池子列表會直接顯示版本,值得你用認真的態度去讀它,就像你讀 TVL 或費用一樣,而不是掠過它,去看那些感覺更立即重要的數字。當你要比較同一個交易對的兩個池子時,先檢查版本能告訴你,你到底有沒有在做一個公平的比較:一個 V1 池與一個聽起來像同一交易對的 V2 StableSwap 池,僅靠 TVL 或 APR 並不能直接比較,因為生成這些數字的底層機制根本不同。把版本與池子類型一起閱讀——STONfi 也同時顯示這個——你才能真正看出你將要存入的東西的「形狀」,在任何一個美元金額出現之前就先理解。

我自己的習慣之所以改變,並不是因為警告,而是因為結果讓人失望——我把資金存進我以為是該交易對的「那個」池子,結果事後才發現還有第二個、更活躍的版本是我沒檢查到的。這是個便宜但痛的教訓;只是我寧願在看池子頁面時就學到,而不是事後去比較回報
因為 STONfi 的池子合約是不可變的,所以檢查版本不會像一般市場觀察那樣過時。今天 V1 池的核心機制就是它的機制本身——可能會變的是該版本允許的範圍內,流動性、交易量與費用;但底層合約邏輯本身不會變。比較兩個池子之前,或在你打算存入某個池子之前,請用檢查 TVL 或費用的方式去檢查版本:把它當成一等資訊,而不是放在小字裡的中繼資料。版本不是你在其他地方都看起來一樣之後才去當作加分或裁決的東西;它是情境,決定「你所謂的『其他所有東西』」從一開始就是否真的能被拿來比較。
❓ 常見問題
V2 上線時 V1 池有被關閉或遷移嗎?沒有。V1 池會持續照原本部署的方式運作,因為 STONfi 的池子合約是不可變的——因此同一交易對的 V1 與 V2 池可以同時作為真正彼此獨立的部署存在。
同一個交易對下,V2 池子一定比 V1 池子更好嗎?不一定。取決於該交易對的流動性與交易量真正集中在哪裡,以及牽涉到的池子類型是什麼——一個安靜的 V2 池子並不必然比一個活躍的 V1 池子更好
為什麼 StableSwap 與加權池只存在於 V2?因為它們是在 V2 的架構中被引入的。V1 只支援標準的常數乘積模型,所以這些池子類型在更早的世代中根本不可用
檢查池子版本,對交易者重要還是只有對流動性提供者重要?兩者都重要。交易者在意,因為同一交易對在不同版本之間,流動性深度與價格影響可能會有實質差異;LP 則在意,因為版本決定了到底是哪一段合約邏輯在持有他們存入的資金。

