區塊鏈分叉分為軟分叉和硬分叉。本文主要探討的是硬分叉,一種不支持向后兼容的軟件升級方式。硬分叉是共識的分裂或者改變,共識就是區塊鏈系統中各節點達成數據一致性的算法,正常情況下每個節點需要運行相同規則的算法,例如比特幣運行的是基于PoW共識,以太坊曾經也是PoW共識,最近通過“TheMerge”切換到了PoS共識算法。
分叉的原因有很多,在區塊鏈當中是一種很常見的現象,通常是短距離的分叉,這和共識算法有關,同一個高度上有時會出現相互競爭的區塊,但最終有的區塊會被放棄,只保留一個區塊。但硬分叉不同,這一種是有計劃有目的的分叉,一些節點客戶端部署了與原網絡不同的程序版本,生產出的區塊只能在分叉鏈上通過驗證,無法被原網絡接受,也不接受原網絡的區塊。例如近期熱門的EthereumPoW分叉。
北京:“區塊鏈+政務服務”讓數據為群眾多跑路:記者從北京市政務服務管理局了解到,為了進一步推動改善營商環境、提升政務服務效率質量,北京市政務服務管理局與各有關部門密切合作,大力推進政務服務領域區塊鏈應用建設。目前,在政務服務領域已落地140個具體場景應用,實現“鏈”享數據減材料、“鏈”通業務省時間、“鏈”上服務促復產,平均減少材料40%,不少場景跑動次數從五、六次減少到“最多跑一次”。
北京市政務服務管理局政府網站建設管理處負責人表示,以前各個部門的數據,例如身份證信息、營業執照信息都是分散在各個部門,傳統的數據中心的模式需要把數據都匯總到一起,但數據在傳遞、使用、管理過程就脫離了原部門的控制,容易出錯帶來風險,責任也不好明確。現在利用區塊鏈技術,數據可以繼續保留在各個產生數據的部門,數據在傳輸、使用的痕跡都可以被記錄和監督,而且防止篡改,極大提升了安全性,有效打破了“數據孤島”,讓各部門可以高效地協同,有效提升了辦事效率。(新華網)[2020/8/7]
如果要成功分叉一條區塊鏈并不容易,并非直接復制原網絡的代碼即可,需要進行基本的修改才能保證它安全運行,為此,我們總結了幾種常見的安全問題及防護方法。
上海代表團:利用區塊鏈技術加強流動勞務人員的就業保障:5月26日下午,十三屆全國人大三次會議上海代表團召開視頻新聞發布會。代表們緊緊圍繞中心工作和國家戰略積極建言獻策。比如,在“六穩”“六保”方面,代表們提出利用區塊鏈技術加強流動勞務人員的就業保障。(澎湃新聞)[2020/5/26]
網絡層
由于分叉鏈是獨立于原網絡的區塊鏈,首先需要在網絡層進行隔離:
1、種子節點
種子節點,也稱bootnode或者seednode,是區塊鏈啟動時網絡首先會嘗試進行連接的節點。分叉鏈在啟動時首先連接種子節點列表里的節點,從而進一步發現網絡中其它的對等節點,然后才能進一步同步區塊,達成共識。因而必須要修改種子節點列表,防止連接到原網絡的節點。
2、異形攻擊
即使種子節點列表改變了,但并不代表分叉網絡不會連接到原網絡,因為雙方的P2P協議是相同的,如果有一個節點無意中添加了另外一個網絡的節點連接,那么兩個節點將成功握手,并將對方添加到節點地址池。不僅如此,雙方節點還會將自己節點里的地址分享給對方,進而造成雙邊網絡節點池互相污染。關于這個問題,慢霧此前曾單獨披露過《沖突的公鏈!來自P2P協議的異形攻擊漏洞》。
外匯局山西省分局深入推進跨境金融區塊鏈服務平臺試點工作:疫情期間,外匯局山西省分局深入推進國家外匯管理局推出的跨境金融區塊鏈服務平臺的試點工作,專題調研全省中小微外貿企業融資現狀;深入宣傳,促進更多中小微外貿企業了解區塊鏈平臺融資的便利性;加強推動,鼓勵銀行對中小微外貿企業建立專營服務機制;及時引導,推進銀行主動對接中小微外貿企業,開展出口應收賬款融資;“點對點”輔導,加快推進地方法人銀行上線區塊鏈平臺,挖掘中小微外貿企業融資需求。通過外匯局的有效措施,銀行對中小企業融資的積極性有了明顯提高,企業對區塊鏈融資的便利性也越來越了解,銀行擴大了對中小微企業的融資規模,企業獲得了便捷的融資,實現了“一項政策、多方共贏”。截至今年3月底,16家銀行加入了區塊鏈平臺,全省通過區塊鏈平臺累計放款7.65億美元。山西省涉外中小微外貿企業復工復產1458戶,復工率達91%。(金融時報)[2020/4/9]
為了解決地址池互相污染的問題,需要在通信協議上做網絡識別。早期的以太坊并不支持網絡分隔,但后續的版本中在協議里加入了NetworkID做為網絡區分的標志,NetworkID通常是每個鏈的ChainID,例如以太坊主網的NetworkID和ChainID都為1,而ETHW初始版本中并未對NetworkID進行分叉,可能存在異形攻擊漏洞。
業內人士:在區塊鏈等助力下“非接觸式”服務模式有巨大發展機會:在業內人士看來,此次疫情期間,在業務層面打造的“非接觸式”服務模式擁有非常好的政策機遇,同時在5G、人工智能、云計算、區塊鏈等技術的助力下,又有著巨大的技術發展機會,而由此產生的客戶流量也給金融機構拓展線上服務帶來了巨大的流量機遇。未來,金融機構也將更加注重數字化渠道的建設。(中國金融新聞網)[2020/3/24]
在比特幣網絡中,使用的是Magic值來標識不同的網絡,通常在chainparams里進行定義,例如比特幣主網值為F9BEB4D9,測試網值為FABFB5DA。
共識層
1、交易隔離
通常與區塊鏈交互時,我們需要用自己的私鑰簽署一筆交易,隨后這筆交易被廣播到網絡,并被礦工或者出塊節點打包到區塊中。但如果區塊鏈出現分叉,這筆交易可能會被兩個網絡分別打包到不同的區塊當中,假設這是一筆原鏈上的轉賬,那么分叉鏈上也會有相同的一筆轉賬,顯然這是一個非預期行為,會造成資產損失。
動態 | 光大銀行“陽光區塊鏈”與雄安集團及螞蟻金服等建立深度合作:11月14日,第241場銀行業保險業例行新聞發布會在京召開,光大銀行副行長武健表示,光大銀行“陽光區塊鏈”這一創新數字金融工具,已經與雄安集團及螞蟻金服等重要伙伴在資金流通和供應鏈金融領域建立深度合作。未來在業務模式上,光大銀行數字金融業務將重點落實推進“一體、兩翼、三動力、四技術”策略。“四技術”即5G、區塊鏈、物聯網和人工智能,不斷優化客戶服務模式,驅動產品服務創新,促進各項業務健康快速發展。(金融時報)[2019/11/15]
這時就需要對交易進行重放保護,在早期以太坊的版本中沒有做這樣的保護,后來EIP155之后在交易結構中加入了ChainID,確保用戶簽署的交易只用于當前網絡。如果對以太坊進行分叉,那么也需要對ChainID進行重新定義,當然這并不是只修改配置里的ChainID這么簡單,因為分叉鏈需要對舊的區塊做兼容,所以需要在分叉高度之后使用新的ChainID,才能保證分叉鏈正常運行。
比特幣的交易結構中不存在ChainID,那么它是如何做重放保護的呢?比特幣使用了一種叫做UTXO的模型,簡單說它是對一筆交易進行花費,而不是對賬號進行花費,通常全新啟動的網絡不會存在相同的兩筆交易,也就不存在重放的場景。
但是在硬分叉的情況下,還是會存在交易重放的問題,例如2017年的BCH分叉以及后來的BSV分叉。BCH通過在交易數據簽名添加SIGHASH_FORKID(0x40),使得BCH上的交易和BTC的交易不再互相兼容,從而達到重放保護的目的。
2、算力調整
在分叉前,原鏈占有全網所有的算力,那么依據PoW共識算法,它的出塊計算難度也是比較高的。分叉后,算力分散到不同的區塊鏈上,那么分叉鏈由于共識不足通常無法獲得足夠的算力去生產新的區塊,區塊的增長會陷入停滯。這時有必要降低分叉后的初始計算難度,給分叉鏈贏得一個快速調整算力的時間窗口。
3、防范51%攻擊
網絡和交易都隔離開了,區塊鏈分叉了,新區塊順利產出,一切都看似正常。然而安全問題依舊突出,它依舊存在一種更普遍、更難以防御的攻擊:51%攻擊。
挖礦是逐利的,當出現分叉幣時,哪邊的挖礦收益高礦工就會把算力切換到哪個網絡,但現實是分叉幣往往幣價低,導致整體的算力十分低。以ETHW分叉為例,我們從2miners上看到,原ETH網絡算力峰值最高超過900TH/s,而在寫稿時ETHW的算力只有30TH/s左右,大量算力消失并不是好事,它隨時可以對ETHW發起51%攻擊。
對于這種51%攻擊的防范幾乎沒有什么很好的方法,只能通過增加確認數來防范。
應用層
我們把建立在交易上的應用,如基于虛擬機的智能合約,統歸為應用層。區塊鏈在分叉時,也會對運行在區塊鏈上的應用產生巨大影響。
1、簽名重放
簽名重放與上文提到的交易重放是相同道理的,有一些合約,例如GnosisSafe,它會在合約里驗證用戶的簽名,如果簽名里沒有包含ChainID,那么這個簽名非常可能可以在兩個鏈上重放,導致資產損失。
2、預言機失效
分叉后的區塊鏈多數智能合約依舊可以正常運行,例如Token合約、AMM合約,這些自運行系統不依賴于鏈下數據就可以穩定運行,但類似MakerDAO等借貸系統,高度依賴預言機的價格數據,在失去鏈下喂價支持后,它將無法繼續運行下去。
3、價格劇變
區塊鏈分叉了,一個應用同時運行在兩個鏈上,用戶該使用哪個鏈上的應用?哪個算是“正統”的呢?這個問題又回到了共識上,通常哪個區塊鏈擁有正統的共識,那么它上面的資產就會保留原有的價值共識,而另一個區塊鏈上的資產會在瞬間失去價值。
這種價格上的劇烈變化,會導致DeFi應用徹底崩潰,借貸應用永遠無法平倉,有一些有識之士會抓住分叉的時間窗口,把“歸零”的資產通過AMM等應用兌換成主鏈代幣,從而保留了一些價值,在ETHW分叉事件中,我們觀察到了大量分叉鏈上的套利行為。
總結
至此,我們從網絡層、共識層和應用層對區塊鏈分叉的安全性進行了分析,可以看到其中存在的技術風險,對于分叉我們需要十分審慎地對待。并且,不少分叉的背后不僅僅是技術變革的需要,有的可能存在商業上的直接利益,例如發起方在分叉中直接獲取大量的分叉幣,這些都需要用戶準確認識,避免不必要的損失。
區塊鏈是一種去中心化的系統,它的升級不依賴于單一個人或組織,因此分叉在區塊鏈里難以避免,雖然給社區用戶帶來混亂,但也促進了系統向前發展以更好地服務社會。
Tags:區塊鏈ChainETH區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢Chain幣是什么幣ETH錢包地址ETH挖礦app下載Etherael指什么寓意
我們現在盡可以樂觀一點,但這是一個一次暴雷后就會損失浪費數十億美元風險投資的行業。我們身在其中,盡管我們付出了那么多努力,但我們還有什么可以拿出來證明一個為期多年的牛市將至.
1900/1/1 0:00:00較高的區塊空間需求和較低的以太坊擴容性能不可持續的流動性挖礦激勵推動了對其他L1鏈的需求。今天這些L1鏈表現如何? 說句公道話,大多數DeFi的數據都在下降.
1900/1/1 0:00:00導讀: 相比于21年5月時隔兩年的V3版本,V4擁有了更為自由靈活的資產可組合性以及大幅降低了提供流動性和交易所需的Gas費用.
1900/1/1 0:00:002013年,一家名為Robocoin的公司在溫哥華的一家咖啡店放置了一臺機器,世界上首次出現了比特幣ATM機.
1900/1/1 0:00:00昨天,Block.one剛剛在美國華盛頓特區的#B1June活動上結束了演講。演講中,Block.one的CEOBrendanBlumer和CTODanielLarimer分別對新產品進行了演示.
1900/1/1 0:00:00區塊鏈7月2日2022年11月,一款強大的人工智能工具ChatGPT橫空出世,引發了全世界對于人工智能技術的驚嘆,更是吸引了部分嗅覺敏銳的風險投資家們.
1900/1/1 0:00:00