引?言
我們都知道,區塊鏈的特性之一是不可篡改,這一特性背后是節點共識等技術的支撐。在全節點共識的網絡中,升級一直是困擾區塊鏈界的一大問題,因為在實際使用場景中,節點的部署通常存在一定的地理隔離。要想在同一時間對所有節點進行升級基本是不可能的!這一問題在公鏈中更為凸顯,一條公鏈的節點可能分散在世界的各個角落。
如果不能同一時間對全部節點進行升級,就會導致某一時刻,既有運行舊版本的節點也有運行新版本的節點。如果舊版本的節點無法驗證新版本的節點產生的區塊,那么便會存在兩條區塊鏈,即所有舊版本的節點維護一條鏈,所有新版本的節點維護一條新的鏈。這一現象我們稱為“硬分叉”。
現有區塊鏈的升級方式
引言中提到的“硬分叉”確實是區塊鏈里的一種軟件升級方式,典型的例子如比特幣以及硬分叉的比特幣現金。
還有一種分叉稱為“軟分叉”,與硬分叉不同之處在于:硬分叉中,新版本的節點可以驗證舊版本的節點產生的區塊,舊版本的節點無法驗證新版本節點產生的區塊;而軟分叉中,新舊版本軟件可以互相驗證對方產生的區塊,因此軟分叉以后,依舊是一條區塊鏈。
美SEC執法主管:DeFi提供既不去中心化也非金融的服務,而只是純粹的“欺詐”:6月17日消息,美國證券交易委員會(SEC)執法部門主管 Gurbir Grewal 表示,我們不關心標簽。我們關心的是產品,標簽對我們來說并不重要。技術很重要。DeFi 提供既不去中心化也非金融的服務,而只是純粹的“欺詐”。我們將在法律允許的范圍內擴大我們的管轄權。[2023/6/17 21:43:29]
軟分叉和硬分叉都可以對區塊鏈進行升級,但是它們有非常明顯的缺點:
影響業務運行:需要將正在運行的節點停掉,替換成新版本的二進制,再啟動新版本的節點升級需要較長時間:由于區塊鏈的節點數量很多,且由不同的礦工/管理員運行,整個升級過程可能持續較長時間才能完成
Polkadot如何進行升級
Polkadot是基于Substrate框架開發的區塊鏈,也是一個跨鏈協議,其作為中繼鏈實現不同區塊鏈之間的跨鏈交互。它使用Substrate提供的升級方案來進行無分叉的系統升級,完美解決了傳統區塊鏈升級中存在的問題。
Oanda分析師:短期內美國監管不會影響加密市場的持續增長:金色財經報道,外匯做市商Oanda高級市場分析師Edward Moya表示,比特幣測試了2.5萬美元的水平后,未能繼續走高,許多活躍的交易員獲利了結。短期內,投資者對風險資產的興趣可能會下降,一段時間內,美國對加密市場的新監管舉措的不會影響其持續增長的能力,加密市場仍有機會自行調整。但很多資金可能會離開穩定幣,轉向其他類型的加密投資。[2023/2/18 12:14:42]
▲?Runtime介紹
要解釋Polkadot如何進行無分叉升級,首先不得不介紹一下Polkadot里的幾個概念。從技術角度來講,Polkadot協議可以分為兩個部分:Runtime和RuntimeEnvironment,Runtime包含Polkadot協議的大多數狀態轉換函數的執行邏輯,RuntimeEnvironment則包含區塊鏈的一些通用模塊,如網絡通信、區塊生成和共識引擎等。RuntimeEnvironment將外部數據傳入Runtime,并與之交互來執行狀態轉換函數。對Polkadot的升級其實就是對Runtime部分的升級。
歐易Web3錢包插件端上線zkSync 2.0 測試網:據歐易OKX官網消息,歐易 Web3 錢包插件端已于 2022 年 11 月 25日 14:00 (HKT) 上線 zkSync 2.0 測試網。用戶可在插件錢包設置頁中開啟“自定義網絡”,體驗測試網生態。同時,錢包內集成目前主流的測試幣水龍頭,用戶可快速領取測試幣。
此外,歐易Web3錢包當前支持 Goerli、Sepolia 等測試網絡,插件錢包可在Google Chrome、Firefox、Microsoft Edge、Brave瀏覽器中使用。[2022/11/26 20:46:46]
用戶可以選擇使用FRAME來開發Runtime,它的全稱是FrameworkforRuntimeAggregationofModularizedEntities,是一組可簡化Runtime開發的模塊和支持庫。Polkadot的Runtime是用rust編寫的代碼,它被同時編譯成一個native可執行文件和一個WebAssembly二進制文件,native可執行文件是整個節點可執行文件的一部分,而wasm二進制則被作為狀態的一部分存儲在鏈上。節點執行時既可以使用nativeruntime也可以使用wasmruntime,wasmruntime雖然比nativeruntime執行效率低一點,但是它有以下優點:
David Chaum:區塊鏈有很多機會和增長空間:金色財經報道,加密貨幣教父、密碼學家David Chaum在接受采訪時表示,非常棒的是,比特幣將他的愿景的形象提升到了當權者無法忽視的程度,而這正在改變游戲規則。
他認為區塊鏈有很多機會和增長空間。然而,目前的隱私狀況是他最關心的問題。當被問及他對 Tornado Cash 和 Circle 將使用 USDC 的地址轉移到“黑名單”相關地址的看法時,他指出這“非常令人不安”。Chaum隨后聲稱這“有點超出他的范圍,但實際上,他對底層技術有著深刻的理解。[2022/8/21 12:38:54]
跨平臺。雖然wasm是與平臺無關的二進制格式,無論使用何種硬件,在VM中運行wasm,得到相同的執行結果。可以確保產生有效的區塊。在wasm中執行的邏輯總是能在nativeruntime中運行,但反過來則不一定。良好的社區支持。工具鏈和生態得到了社區的大力支持,目前rust對wasm支持的最好。▲?Runtime無分叉升級
升級Runtime的第一步,就是提出一個議案,將更新的Runtimewasm二進制提交到鏈上。下圖是作者寫這篇文章時在Polkadot瀏覽器中的提案截圖,其中編號為2的提案便是對Runtime進行升級的提案。
印度今年迄今為止有400多個加密廣告違反其指導方針:金色財經報道,印度廣告標準委員會(ASCI)透露,今年迄今為止有400多個加密廣告違反了其指導方針。在所有投訴中,有419個加密貨幣廣告需要修改,并指出大多數投訴涉及影響者。印度有兩套適用于大多數加密廣告的指南。一個涵蓋了加密貨幣、加密交易所和NFT的推廣和廣告。該標準由ASCI于今年2月發布,并于今年4月生效。另一套指導方針于去年6月生效,對網紅的廣告和營銷活動進行了規范。
今年5月,印度證券交易委員會(SEBI)提議禁止包括名人和運動員在內的公眾人物為加密產品和服務做廣告和背書。證券監管機構還提議,公眾人物在推廣加密產品時的任何違法行為都應被追究責任。(news.bitcoin)[2022/6/29 1:39:00]
該議案進入公投并投票通過以后,區塊鏈節點便使用當前的Runtime邏輯,將鏈上使用的wasm二進制替換為議案通過的wasm二進制。作為共識過程的一部分,全網所有的區塊鏈節點都將執行這一過程。
Runtime提供版本信息以區分不同的版本,節點執行時通過判斷nativeruntime和wasmruntime的版本信息,來選擇合適的Runtime執行。Runtime使用RuntimeVersion結構體來表示版本信息,如下圖所示:
其中各字段解釋如下:
spec_name:用于區分不同Substrateruntime的標識符。
impl_name:Runtime實現名稱,用于區分不同團隊所實現的代碼。
authoring_version:出塊接口版本號。只有當該值等于nativeruntime的版本號時,出塊節點才會生成區塊。
spec_version:Runtime規范版本號。只有當nativeruntime和wasmruntime中的spec_name、spec_version、和authoring_version都相等的情況下,全節點才會使用nativeruntime,否則使用wasmruntime。
impl_version:Runtime規范實現版本號。節點可以完全忽略此值;它僅用來說明代碼是不同的。
transaction_version:外部交易接口版本號。
apis:所支持的RuntimeAPI及其版本的列表。
之后,節點執行時會發現nativeruntime的版本和wasmruntime版本不一致,因此之后所有執行過程都會使用鏈上最新的wasmruntime,而不是nativeruntime。至此,便完成了無分叉的升級過程。
▲?存儲遷移
在Polkadot升級過程中,還有一個不可忽略的要點便是存儲遷移,它是指開發人員重新調整現有的存儲以滿足新的需求。
為什么需要存儲遷移呢?舉個簡單的例子:假設在舊的Runtime邏輯中,用戶賬戶余額的數據類型是用無符號整型表示的,也就是用無符號整型進行存儲的;而在新的Runtime邏輯中,該數據類型是用有符號整型表示的。如果沒有使用存儲遷移,新的Runtime執行狀態轉換邏輯的過程中,讀取用戶賬戶余額時有可能讀取到負數可能,這便可能引起不可預料的結果。
在Runtime中需要進行遷移的改動必須使用Substrate提供的D1-runtime-migration標簽來指定。同時,FRAME提供了on_runtime_upgrade函數,該函數的邏輯會在Runtime升級之后立即執行,因此可以在該函數中加入相關的邏輯來實現存儲遷移。
總結
Polkadot的升級方案通過將Runtime分為native和wasm并采用鏈上治理進行升級,無需中斷節點且不影響業務運行,也無需太多的人員投入,效率大大提高,完美解決了分叉升級帶來的問題,確實是一個非常不錯的區塊鏈升級方案。
參考文獻
?RuntimeUpgrades,?https://substrate.dev/docs/en/knowledgebase/runtime/upgrades
?J.Burdges,A.Cevallos,P.Czaban,R.Habermeier,S.Hosseini,F.Lama,H.K.Alper,X.Luo,F.Shirazi,A.Stewart,andG.Wood.Overviewofpolkadotanditsdesignconsiderations.arXivpreprintarXiv:2005.13456,2020.
作者簡介
周蓉
數據網格實驗室BitXHub團隊
研究方向:區塊鏈賬本互操作技術
Tags:IMEUNTTIMETIMTIMESERIES價格Titan Hunterstime幣最新消息CRAZYTIME
據Coindesk報道,一位印度政府高級官員稱,有關擬議立法將在印度全面禁止使用加密貨幣的討論處于最后階段.
1900/1/1 0:00:004月17日,“超算·融合,2021全球區塊鏈算力大會”在四川成都正式開幕。本屆大會由巴比特、鏈節點、幣印聯合主辦,吳說區塊鏈協辦,算力360總冠名.
1900/1/1 0:00:00作者:RobertBrisita? 翻譯:Jeremy 價值從何而來?是有形的物體所固有的嗎?是在制造中;背后隱藏著廣告嗎?不管你相信什么,這一切都歸結于努力,有人為創造某樣東西所付出的努力.
1900/1/1 0:00:00參考消息網4月9日報道澳大利亞東亞論壇網站4月5日刊載題為《數字貨幣的未來將在亞洲決定》的文章,文章稱,數字貨幣和支付正在亞洲蓬勃發展,數字落后地區將感受到壓力.
1900/1/1 0:00:001.以太坊核心開發者eric.eth考慮創建EIP,以將區塊獎勵從2ETH減少到1ETH2.四川經信廳廳長:發揮清潔能源優勢.
1900/1/1 0:00:003月25日,第一屆“中國中小企業協會區塊鏈創新高峰論壇”在海口舉行。中國電信區塊鏈業務研發負責人梁偉表示,區塊鏈是下一代互聯網的核心基礎設施.
1900/1/1 0:00:00