2019年3月1日凌晨3時52分,以太坊區塊高度7280000,此前一再延期的“君士坦丁堡”與“圣彼得堡”兩大硬分叉終于成功在主網啟動。目前網絡運轉正常,最受人們關注的區塊獎勵已降低為兩個ETH,沒有產生新鏈。
可以認為,君士坦丁堡硬分叉已經成功。
屢屢延期的硬分叉
由于開發人員遇到的眾多障礙短期內無法克服,原定于去年10月份進行的“君士坦丁堡硬分叉”一再延期。先是從10月8日推遲到10月14日,后因為共識問題,14日的硬分叉升級再次落空,經過漫長的討論和會議后,以太坊開發團隊進而把硬分叉的時間定在了2019年的1月16日。
然而,時間在臨近1月16日之前,又傳出了關于以太坊升級可能存在隱患的消息,當時我們的文章“君士坦丁堡分叉,是否會重蹈“the DAO”覆轍?”對此做出了分析。果不其然,以太坊不愿冒著風險強行硬分叉,升級時間被再次延后到了今天(3月1日)凌晨。
作為區塊鏈行業的明星項目,以太坊力推的“君士坦丁堡硬分叉”吸引了外界廣泛的關注。最初,人們認為,憑以太坊社區的技術,升級本應不在話下,而現實卻是以太坊社區將升級之日一再推后。很多業內人士認為,這種爽約行為給以太坊帶來了負面的影響,受到了一些非議和指摘。
然而,即便一再食言,以太坊也要保證“君士坦丁堡硬分叉”安全穩定的實施,因為這對以太坊的影響將會非常深遠,很大程度上關乎著以太坊共識機制能否順利的改變。
可插拔架構的作用
眾所周知,共識算法是區塊鏈的核心。有一種說法是,共識算法就是區塊鏈世界的法律,它決定了區塊鏈的主要特性和功能。雖然現在共識算法較多,如PoW,PoS,DPoS,PBTF等,但這些共識算法也是各有優缺點,沒有一種共識算法能夠適應所有的需求,也就是所謂的“FLP不可能原理”。
“FLP不可能原理”:即便在網絡通信可靠的情況下,一個可擴展的分布式系統的共識問題通用解法的下限是——沒有下限即無解。
就拿以太坊來說。最初以太坊在共識機制上,采用的是和比特幣一樣的PoW機制。隨著算力競爭的加劇,人們發現,PoW的挖礦行為不僅會消耗大量的能源,算力還會被少數礦場所壟斷,給去中心化造成威脅。因此,以太坊想要把共識機制更改為PoS。
而“君士坦丁堡硬分叉”的一個重要項目(EIP-1234)就是將出塊獎勵從3ETH減少到2ETH,通過減少礦工獎勵,間接減少礦工數量,為日后的正式更改共識機制減少阻力。
另外,從辯證的角度來看,共識算法也在不斷的發展,總會有更好的算法出現或對已有算法進行完善或改進。因此,保證共識算法的可插拔,對維持項目的發展就顯得非常重要。
可插拔現狀和Trias的方案
理論上講,共識算法保證了節點間形成統一的過程,它可以與數據本身無關。但具體到區塊鏈上,因為每種共識算法達成共識需要多個各自不同的邏輯過程,邏輯過程與共識算法密不可分,不能簡單解耦,這給區塊鏈項目實現可插拔帶來極大的困難。
雖然目前共識算法完全替換難度很大,但對工作流程相近的共識算法而言,找出以單個塊為共識對象的算法,這些算法的替換是可以實現的。
在Trias的構想中,共識算法的可插拔架構被設計為三層,頂層功能主要包括智能合約、虛擬機等,第二層是共識算法框架單元,不同的共識算法作為獨立的單元,分別提供統一標準的接口給主框架調用。第三層是共識算法的可組合有機組合功能模塊,如gossip模塊、共識對象校驗模塊等。
頂層主系統和第二層的可插拔的算法兼容支持,借鑒Tendermint-ABCI實現,根據配置調用不同的共識算法,共識算法再調用自己所需的功能模塊。
在Trias設計中,可插拔架構主要包括以下要點:
①支持世界時間同步,因為部分排序算法是強時間敏感類型;
②雙鏈結構,一個主業務鏈,另一個為配置鏈,每次動態修改組合方案都在配置鏈產生新的塊作為起點,新添加的變更功能模塊需通過配置鏈進行同步。
③雙共識機制,配置鏈目前默認使用基于TEE的PBFT。
綜上所述,雖然目前可插拔架構技術尚需要進一步開發和完善,但其方便易用,降低成本和便于維護的優勢已經初步顯現出來,這是未來公鏈需要可插拔架構的三個最主要的原因。
評論
查看更多