美東時間 2023 年 3 月 27 日星期一,我們將發布 Cortina 升級的預覽版代碼。Cortina 升級將於美東時間 2023 年 3 月 30 日星期四上午 11 點(世界時下午 3 點)啟動。請注意,預覽版代碼僅適用於 Fuji 測試網,在主網無法運行。
Cortina 在 Fuji 測試網完成測試後,我們會公佈 Cortina 上線 Avalanche 主網的具體時間。屆時,Cortina 版 AvalancheGo(v1.10.0)也將正式發布。
Cortina 升級中的部分協議優化項目無法兼容 v1.10.0 以下版本的 AvalancheGo。如果您的節點在 Fuji 測試網,建議您在 Cortina 上線測試網前將 AvalancheGo 升級到 v1.10.0 或更高版本。如果您的節點在 Avalanche 主網,在 AvalancheGo v1.10.0 代碼發布前,您無需進行任何操作。
X 鏈轉為線性區塊鏈
目前,X 鏈運行 Avalanche 雪崩協議。雪崩協議是一個基於有向無環圖(DAG)的無領導協議,能以高吞吐量同時處理互不衝突的 UTXO,鏈上活動不進行完全排序。與此同時, Avalanche C 鏈、P 鏈和全部子網都使用基於鏈的、完全排序的 Snowman++ 共識。 Snowman++ 共識對數千名參與者進行無衝突的出塊排序,沒有設置時間 slot。
X 鏈現有的語義結構不利於集成 Avalanche Warp Messaging(AWM 子網間通訊協議)、增加複雜 X 鏈交易、啟用狀態同步,或支持傳統交易所。集成 AWM 需要 Snowman++ 協議驗證其他子網所發送的消息的 BLS 多重簽名,因此,雖然子網間通信的需求非常迫切,但 X 鏈無法在當前的形式下和子網進行交互,X 鏈所運行的基於 DAG 的共識亦無法廣泛應用於各個子網。X 鏈的部分排序性意味著驗證頂點時沒有規範化狀態(頂點是X鏈批量處理交易的容器,類似於區塊鏈中的區塊)。根據 X 鏈的設計,頂點是在不同節點上按照不同順序處理的。在沒有規範狀態的情況下,與共享的鏈上對象(如交易所)進行交互並將狀態同步到網絡頂端(以避免重新處理所有歷史活動)是非常麻煩且容易出錯的。同時,這也將為子網技術的進一步升級造成阻礙。最後,在 X 鏈當前的形式下,鏈上活動的非確定性排序極大地影響了傳統交易所對 X 鏈的集成。傳統交易所大多是針對比特幣、以太坊等完全排序區塊鏈設計的,部分排序區塊鏈會讓這些交易所難以對賬不同點上的餘額。
Cortina 升級後,X 鏈將轉為線性區塊鏈,即遷移到 Snowman++ 共識,運行完全排序的區塊鏈。線性化遷移開始後,原有的 X 鏈 DAG 便無法添加新的頂點。DAG 的最終狀態現在已經確定,它將成為遷移到 Snowman++ 共識的新線性 X 鏈的創世狀態。在線性化遷移的過程中,X 鏈上的交易形式和提交交易、返回交易狀態、返回餘額的 API 均不會改變。換言之,絕大多數錢包用戶都不需要為 X 鏈的線性化遷移做任何操作。但是,集成 X 鏈的區塊鏈瀏覽器需要從 “解析 X 鏈頂點” 調整為 “解析 X 鏈區塊”,類似於 P 鏈區塊。線性化遷移不會導致 P 鏈、C 鏈或任何子網宕機,但 X 鏈將在短時間內無法訪問。
正如上文所述,X 鏈轉為線性區塊鍊為集成 AWM 通信協議掃除了障礙。新交易類型能修改共享的 X 鏈狀態,讓狀態同步更加簡單。交易所集成 X 鏈也將更加便利,彈性子網的自定義代幣也將與 X 鏈交互。雖然 DAG 也能改為完全排序結構,但這會需要修改整個雪崩共識引擎,且無法解決子網相關問題。 X 鏈遷移至新共識後,Avalanche 網絡將全部使用同一共識引擎。這樣不僅能縮小可信計算基(TCB),也能增強現有研發工作的槓桿效應,從而加快開發速度、推動通用型創新。
我們為集成 X 鏈的應用和服務準備了一份遷移指南,介紹了 Cortina 升級後 AvalancheGo API 需要如何調整:https://docs.avax.network/apis/avalanchego/x-chain-migration
C 鏈 Gas 上限提高
AP1 啟動後,C 鏈區塊 gas 上限設為 8M。結合 C 鏈 2 秒/塊的出塊速度,gas 消耗量上限為40M/10 秒。Cortina 升級後,以 10 秒為周期的gas目標值將提高至 15M。也就是說,如果上一個 10 秒週期內消耗的 gas 多於 15M,gas 費用將提高。反之,如果上一個 10 秒週期內消耗的 gas 不足15M,gas 費用將下降。
詳見 C 鏈動態費率機制:https://medium.com/avalancheavax/apricot-phase-three-c-chain-dynamic-fees-432d32d67b60
區塊 gas 上限功能不僅能根據網絡情況設置特定時間範圍內的 gas 價格,也對單個區塊發送的交易的複雜程度加以限制。隨著開發團隊在 Avalanche 上部署的 dApp 越發複雜,8M/區塊的上限已經無法滿足他們的需要,因此 Cortina 將 C 鏈 gas 上限增加到 15M/區塊。為了避免增加驗證主網所需要的資源量,gas 目標值將保持在 15M/10 秒。
常見問題解答
如何升級節點?
升級到 AvalancheGo v1.10.0 的流程和以往的升級並無不同。如果您是從源代碼開始構建節點的,請像以前那樣運行構建腳本。如果您使用的是預編譯二進製文件,請像以前那樣啟動這些文件。如果您使用的是安裝腳本,請繼續使用安裝腳本。
啟動 AvalancheGo v1.9.0 之後,您不需要做任何其他操作。如需詳細了解如何升級節點,請參考:https://docs.avax.network/nodes/maintain/upgrade-your-avalanchego-node。
友情提醒:升級前,最好備份一下您的質押密鑰/證書。
升級節點是必須的嗎?
如果您未能在 Cortina 主網激活(具體日期將於日後發布)前將節點升級至 v1.10.0,您的節點將顯示離線,其他節點會報告您的節點在線時間不足,這可能會影響您的質押收益。
硬件要求有變化嗎?
沒有
升級會影響節點的在線時間嗎?
不會。友情提醒,您可以調用API info.uptime 查看節點的預估在線時間:
遇到問題,我該怎麼做?
首先,請仔細閱讀我們的開發者文檔並查看常見問題解答。如果您的問題仍未得到解決,請到我們的Discord頻道檢索您的問題。如果還沒有人提出同樣的問題,請在相應的板塊發布您的問題。