比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

區塊鏈分叉帶來的安全挑戰_區塊鏈

Author:

Time:1900/1/1 0:00:00

區塊鏈分叉分為軟分叉和硬分叉。本文主要探討的是硬分叉,一種不支持向后兼容的軟件升級方式。硬分叉是共識的分裂或者改變,共識就是區塊鏈系統中各節點達成數據一致性的算法,正常情況下每個節點需要運行相同規則的算法,例如比特幣運行的是基于 PoW(工作量證明)共識,以太坊曾經也是 PoW 共識,最近通過 “The Merge” 切換到了 PoS 共識算法。

分叉的原因有很多,在區塊鏈當中是一種很常見的現象,通常是短距離的分叉,這和共識算法有關,同一個高度上有時會出現相互競爭的區塊,但最終有的區塊會被放棄,只保留一個區塊。但硬分叉不同,這一種是有計劃有目的的分叉,一些節點客戶端部署了與原網絡不同的程序版本,生產出的區塊只能在分叉鏈上通過驗證,無法被原網絡接受,也不接受原網絡的區塊。例如近期熱門的 EthereumPoW(ETHW)分叉。

歷史上的今天丨天津市發布行動方案,加大區塊鏈等技術的攻關力度:2019年6月3日,近日,天津市委網絡安全和信息化委員會正式發布《天津市促進數字經濟發展行動方案(2019—2023年)》(以下簡稱《方案》)。方案指出,要發展智能型先導和支柱產業,加大智能科技研究攻關力度,加大新型虛擬化技術、人工智能關鍵技術、區塊鏈核心技術的攻關力度。

2018年6月3日,西班牙國會一致支持有利于規范區塊鏈技術和加密貨幣的立法草案。由議會多數黨派人民黨商定的倡議草案贏得了眾議院財政和公共職能委員會所有各方的支持。該文件要求審查與加密貨幣,比如比特幣以及區塊鏈相關的法規,并建議通過監管沙箱向西班牙市場引入該技術。國會已同意推動區塊鏈作為一種成本效益高且不受干擾的支付和轉移系統,并主張特別需要培育金融科技創業公司。[2020/6/3]

如果要成功分叉一條區塊鏈并不容易,并非直接復制原網絡的代碼即可,需要進行基本的修改才能保證它安全運行,為此,我們總結了幾種常見的安全問題及防護方法。

聲音 | 黃士瑋:建議國家制定區塊鏈行業標準大方向:金色財經報道,長沙星沙區塊鏈產業園區主任黃士瑋表示,如果一個或者幾個地方集中力量,重點研究透徹區塊鏈的一個領域或方向,并將研發成果在全國推廣,這樣或許可以減少各地同質化的競爭。黃士瑋倡議,國家從大的方向制定行業標準、從頂層設計發展路徑,各個地方、各地企業再根據本地實際情況把區塊鏈的應用落地。[2019/11/23]

網絡層

由于分叉鏈是獨立于原網絡的區塊鏈,首先需要在網絡層(P2P)進行隔離:

1、種子節點

種子節點,也稱 bootnode 或者 seednode,是區塊鏈啟動時網絡首先會嘗試進行連接的節點。分叉鏈在啟動時首先連接種子節點列表里的節點,從而進一步發現網絡中其它的對等節點,然后才能進一步同步區塊,達成共識。因而必須要修改種子節點列表,防止連接到原網絡的節點。

2、異形攻擊

即使種子節點列表改變了,但并不代表分叉網絡不會連接到原網絡,因為雙方的 P2P 協議是相同的,如果有一個節點無意中添加了另外一個網絡的節點連接,那么兩個節點將成功握手,并將對方添加到節點地址池。不僅如此,雙方節點還會將自己節點里的地址分享給對方,進而造成雙邊網絡節點池互相污染。關于這個問題,慢霧此前曾單獨披露過《沖突的公鏈!來自 P2P 協議的異形攻擊漏洞》。

動態 | 聯想發布《區塊鏈供應鏈協同應用白皮書》:11月8日,由中國信息通信研究院、中國通信標準化協會、可信區塊鏈推進計劃共同主辦的“2019可信區塊鏈峰會”在北京舉辦。在分論壇上,聯想集團區塊鏈高級研究員、TBI供應鏈協同組組長陳飛飛正式發布可信區塊鏈推進計劃《區塊鏈供應鏈協同應用白皮書》。陳飛飛表示,兩年前,聯想開始探索區塊鏈技術的應用落地方向,把目光聚焦在了供應鏈管理領域,發現區塊鏈自身具備的可信賬本、分布式聯盟的特性,能夠契合到供應鏈的協作管理、協同共贏的的訴求,所以聯想將兩者融合進行創新。[2019/11/8]

為了解決地址池互相污染的問題,需要在通信協議上做網絡識別。早期的以太坊并不支持網絡分隔,但后續的版本中在協議里加入了 NetworkID 做為網絡區分的標志,NetworkID 通常是每個鏈的 ChainID,例如以太坊主網的 NetworkID 和 ChainID 都為 1,而 ETHW 初始版本中并未對 NetworkID 進行分叉,可能存在異形攻擊漏洞。

動態 | 阿爾法銀行利用Waves企業區塊鏈平臺 推出區塊鏈流動性管理服務:據Cointelegraph 9月12日消息,俄羅斯阿爾法銀行和X5 Retail Group合作在俄羅斯推出區塊鏈流動性管理服務即分布式財務和現金管理服務(DTCM),使其銀行客戶可以管理其存款、貸款及產品和內部流動性。據悉,DTCM托管在Waves企業區塊鏈平臺上,并采用智能合約。[2019/9/12]

在比特幣網絡中,使用的是 Magic 值來標識不同的網絡,通常在 chainparams 里進行定義,例如比特幣主網值為 F9BEB4D9,測試網值為 FABFB5DA。

共識層

1、交易隔離

通常與區塊鏈交互時,我們需要用自己的私鑰簽署一筆交易,隨后這筆交易被廣播到網絡,并被礦工或者出塊節點打包到區塊中。但如果區塊鏈出現分叉,這筆交易可能會被兩個網絡分別打包到不同的區塊當中,假設這是一筆原鏈上 的轉賬,那么分叉鏈上也會有相同的一筆轉賬,顯然這是一個非預期行為,會造成資產損失。

動態 | 由信通院牽頭的可信區塊鏈人才培訓計劃正式發布:據科技行者消息,在今日舉行的2018可信區塊鏈峰會區塊鏈人才生態發展論壇上,由中國信息通信研究院牽頭發起的可信區塊鏈人才培訓計劃正式發布。該計劃是中國信通院聯合產、學、研、用各方力量,共同推出的一套區塊鏈知識體系,以及基于這一知識體系的系列培訓課程,旨在幫助幫助政府、企事業單位以及希望了解區塊鏈知識的個人,深度認識和了解區塊鏈,并通過一定的培訓,學會自己構建區塊鏈應用環境。[2018/10/10]

這時就需要對交易進行重放保護,在早期以太坊的版本中沒有做這樣的保護,后來 EIP155 之后在交易結構中加入了 ChainID,確保用戶簽署的交易只用于當前網絡。如果對以太坊進行分叉,那么也需要對 ChainID 進行重新定義,當然這并不是只修改配置里的 ChainID 這么簡單,因為分叉鏈需要對舊的區塊做兼容,所以需要在分叉高度之后使用新的 ChainID,才能保證分叉鏈正常運行。

比特幣的交易結構中不存在 ChainID,那么它是如何做重放保護的呢?比特幣使用了一種叫做 UTXO 的模型,簡單說它是對一筆交易(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、簽名重放

簽名重放與上文提到的交易重放是相同道理的,有一些合約,例如 Gnosis Safe,它會在合約里驗證用戶的簽名,如果簽名里沒有包含 ChainID,那么這個簽名非常可能可以在兩個鏈上重放,導致資產損失。

2、預言機失效

分叉后的區塊鏈多數智能合約依舊可以正常運行,例如 Token 合約、AMM 合約,這些自運行系統不依賴于鏈下數據就可以穩定運行,但類似 MakerDAO 等借貸系統,高度依賴預言機的價格數據,在失去鏈下喂價支持后,它將無法繼續運行下去。

3、價格劇變

區塊鏈分叉了,一個應用同時運行在兩個鏈上,用戶該使用哪個鏈上的應用?哪個算是“正統”的呢?這個問題又回到了共識上,通常哪個區塊鏈擁有正統的共識,那么它上面的資產就會保留原有的價值共識,而另一個區塊鏈上的資產會在瞬間失去價值。

這種價格上的劇烈變化,會導致 DeFi 應用徹底崩潰,借貸應用永遠無法平倉,有一些有識之士會抓住分叉的時間窗口,把“歸零”的資產通過 AMM 等應用兌換成主鏈代幣,從而保留了一些價值,在 ETHW 分叉事件中,我們觀察到了大量分叉鏈上的套利行為。

總結

至此,我們從網絡層、共識層和應用層對區塊鏈分叉的安全性進行了分析,可以看到其中存在的技術風險,對于分叉我們需要十分審慎地對待。并且,不少分叉的背后不僅僅是技術變革的需要,有的可能存在商業上的直接利益,例如發起方在分叉中直接獲取大量的分叉幣,這些都需要用戶準確認識,避免不必要的損失。

區塊鏈是一種去中心化的系統,它的升級不依賴于單一個人或組織,因此分叉在區塊鏈里難以避免,雖然給社區用戶帶來混亂,但也促進了系統向前發展以更好地服務社會。

慢霧科技

個人專欄

閱讀更多

財經法學

成都鏈安

金色早8點

Bress

鏈捕手

PANews

Odaily星球日報

Tags:區塊鏈HAIChainCHA區塊鏈技術就業前景BCHAINOMA CHAINblockchain官方網站登錄不了

歐易交易所
元宇宙+教育是未來嗎?_MET

眼下,冠以“元宇宙”之名的招聘越發火熱,更有不少崗位給出高薪攬才。伴隨著市場對人才的渴求,越來越多的人關注到元宇宙如何應用到教育行業中的問題.

1900/1/1 0:00:00
sudoswap 引領的 NFTFi Summer 來了?_OPT

本文將討論 NFT-FI 方向中圍繞 NFT 抵押借貸以及衍生品的一些有意思的細分賽道 / 協議,以及目前的瓶頸和未來可能的發展.

1900/1/1 0:00:00
哈佛大學教授:Web3如何讓互聯網變得更公平、公正?_區塊鏈

Web3 提供了進行有意義的課程修正的機會——一個重新構想互聯網并從第一原則構建新平臺的機會。 原文:《A Theory of Justice for Web3》by Li Jin and Ka.

1900/1/1 0:00:00
萬字拆解FTX的營銷之道:如何在3年內做到320億美元估值?_NFT

原文標題:Web3 Marketing Case Study: How FTX Scaled from a $7M to $32B Company in Just 36 Months原文作者:J.

1900/1/1 0:00:00
金色觀察|以太坊合并相關數據Dune儀表盤推薦_TPS

以太坊合并正在到來,Dune官方推特推薦了7個追蹤以太坊合并相關數據的Dune儀表盤,包括ETH2質押、Lido相關數據、Ankr流動性質押、合并追蹤器等相關數據.

1900/1/1 0:00:00
Coinbase:熊市下的 BTC 閃電網絡現狀如何?_BTC

來源 | Coinbase Blog注:本文不代表 Coinbase 計劃增加對比特幣閃電網絡的支持,僅是該公司研究人員在研究其潛力后的分享.

1900/1/1 0:00:00
ads