深度調查:新公鏈們為何頻現宕機事故?

鏈捕手 2022-02-02 11:26 9637
分享

邁入1月,Solana、Harmony、Arbitrum等多條公鏈/Layer2出現停止出塊的網絡宕機現象,以太坊側鏈Poygon則出現嚴重擁堵現象,用戶反映長時間內無法發起交易或提幣。

上述公鏈多以「高性能」作為主打口號,但卻在相近時間內不約而同開始「罷工」。在此之前,Solana、Arbitrum、BSC、Fantom也已多次暴露出類似問題。

新公鏈集體停擺,反映的是一場廣泛存在、影響深遠的基礎設施危機。鏈捕手通過采訪當事方Harmony團隊,以及Conflux等國內公鏈的專業人士,試圖還原這場危機,并厘清值得重視和深思的問題。

01

為什么「公鏈宕機」值得重視?

Web 3.0以同時結合了Web 1.0的開放性和Web2.0的經濟效益著稱,是加密圈對下一代互聯網浪潮的統稱。這一舊術語重新成為熱詞,除了它給加密經濟賦予的合法性外,更因為它象征了區塊鏈和加密技術的大規模采用。

公鏈賽道在2021年迎來爆發式發展,Solana的登場是原因之一:號稱每秒數萬的TPS,致力于給用戶帶來更快、更低廉的鏈上使用體驗。SBF、美國銀行等多個名人或機構都將Solana看作促進大規模加密采用的「門戶」。

在鏈上應用有望進一步出圈的未來,公鏈作為最底層的基礎設施,其安全與穩定性至關重要。以Solana為代表的新公鏈計劃向以太坊發起挑戰,并成為很多新用戶進入加密行業的第一站,但相繼遭遇宕機等尷尬狀態,反映出這些新公鏈在快速發展過程中也逐漸暴露出自身的弊端。

上述公鏈網絡動輒癱瘓長達數小時的現象如不能及時得到解決,勢必將給新入場的主流用戶帶來糟糕的使用體驗和印象,成為制約加密經濟大規模發展的重要瓶頸。

畢竟,公鏈作為分布式節點維護的去中心化網絡,如果還像基于中心化服務器的平臺一樣頻頻宕機、卡頓,如何令主流人群信服?

02

流量失控:新公鏈們「停擺」根因

「DDoS攻擊」是項目方在解釋網絡性能下降時,最常用到的術語之一。DDoS攻擊的全稱是「distributed denial-of-service attack」,指的是通過使用多個來源的流量,讓流量超出系統的處理范圍,從而使真實用戶無法及時獲得所需的網絡服務或資源。攻擊者通常通過向某一網絡發送超出網卡處理能力的流量,或向某一應用發送超出其管理能力的請求數量,來達到效果。

據區塊鏈白帽黑客組織Halborn介紹,傳統DDoS的做法通常是造成系統中的固定單點故障,比如一臺 Web 服務器出現故障,訪問者可能無法訪問由其運營的網站。也因此,對 DDoS 攻擊的抵抗力通常是區塊鏈技術的主要賣點之一——區塊鏈網絡中沒有一個節點是必不可少的,單一節點下線并不會導致整個網絡癱瘓。

不過這并不意味著區塊鏈就能免受DDoS的影響。Halborn指出,攻擊者可以發送大量垃圾交易(spam),讓其充斥整個區塊鏈網絡,從而減少「合法用戶」的使用機會和空間資源。在真實場景中,通常所謂的「攻擊」不是真的有預謀的「攻擊」,而是在熱門項目IDO、GameFi交易或市場大行情下,真實用戶借助計算機程序「開掛」,實施的作弊行為。

那么,持續提高節點服務器的內存容量,可以解決這一問題嗎?答案是否定的。這由大多數區塊鏈網絡共有的特性決定:大多數區塊鏈都有固定容量,它們會定期創建具有特定大小限制的區塊,節點在打包區塊時,任何不適合當前塊的內容都將存儲在「內存池」中,等候下一個區塊打包。

因此,這一根本屬性也決定了公鏈網絡都需面對的普遍問題:特殊情況下,可能觸發如洪水般泛濫的交易請求。

如何應對這一難題,以及應對措施是否有效,是考察各大網絡近期表現的重要指標。

Solana用戶可能對「交易泛濫」的體驗最為熟悉。追溯至去年9月14日,Solana全網中斷17小時,所有鏈上服務都無法使用,官方后續報告稱是由于去中心化社交網絡協議Grape Protocol 在 Raydium 平臺上的IDO活動火熱,許多用戶通過編寫的機器腳本發送大量交易,這些交易造成「內存溢出」,導致驗證節點崩潰,最終整個網絡無法達成「共識」而離線(也即,無法產出新區塊)。

 

而根據Solana Status公告,Solana網絡從去年12月初出現、延續至今的擁堵現象,也與「9·14」宕機事件暴露的問題有關。Solana Status是Solana基金會運營的發布網絡性能公告的推特賬戶。

據區塊鏈公司Laine分析,近期市場行情波動性大,DeFi項目中的許多杠桿倉位都達到清算標準。執行DeFi清算的人會收到獎勵,任何人都可以申請充當清算人。因此這也開創了一個市場,許多人競相清算來爭奪賞金,其中有不少人使用的是自行開發的自動化程序(也即通常所說的「機器人」),為了確保能「贏得」比賽,這些「機器人」會發送幾十次、甚至上百次相同的交易請求。

「我們看到每秒有接近200萬個事務(交易或其他類型的請求)到達同一節點,其中90%以上是完全相同的重復?!筍olana聯合創始人Anatoly Yakovenko 1月27日凌晨在Twitter Space活動中表示。

針對宕機原因,邊界智能研究院院長胡智威則進一步向鏈捕手表示,由于 Solana 將共識消息也作為一種特殊的事務消息在驗證節點間傳遞,大量的消息堵塞導致了共識消息無法正常傳遞,而使得共識無法正常進行。


Solana TPS的結構組成  來源:solana beach

「同時 Solana 的一些特性被針對性的利用導致了網絡宕機。例如為了并發處理事務的寫入鎖定(write-lock)在很多重要地址上被鎖定,使得事務變成順序執行而非并發,極大的影響了對消息的處理能力;節點為處理分叉,不斷保留了可能的分叉信息,導致內存溢出等?!购峭f。

國內知名公鏈Conflux的CTO 伍鳴向鏈捕手分析,在Solana網絡中交易過多導致網絡擁塞的情況下,區塊的轉發(廣播)延遲就會增加,賬本隨之容易出現分叉;當賬本分叉情況嚴重時,共識算法的壓力就會增加,如果處理不好,最終就會導致系統徹底崩潰。

「這里面一個很重要的問題是,節點不應該無節制地轉發成本很低的垃圾交易,Solana應該是在這方面的流控(流量控制)沒有做好?!刮轼Q表示。

Anatoly Yakovenko也在上述Twitter Space活動中承認了該問題。他稱,主要問題在于,原先的程序設計中,「重復交易檢查」是在簽名驗證之后進行,因此所有的重復數據都必須先經過簽名驗證,才會被檢查是否屬于「垃圾交易」。此外,在節點客戶端升級前,Solana用于刪除重復數據、清除網絡冗余的程序運行得非常緩慢,需耗時幾百微秒。

為避免下次大行情期間,「機器人」交易再度干擾網絡,Anatoly Yakovenko 稱接下來將在Solana 主網 beta 的 1.9 版本中引入「實際的流量控制(actual flow control)」。

另一條熱門公鏈Harmony也面臨類似問題。1月15日,Harmony網絡中斷數小時,團隊官方將基礎gas費提高到30 gwei,來提高發送垃圾交易的門檻。

Harmony社區發布的事后分析顯示,網絡的領導節點(leader node)收到了大量垃圾流量(spam),再加上驗證節點的舊版客戶端對高流量情況的處理不佳,內、外部的因素綜合導致了這一「宕機」事故的發生。

Harmony CTO Rongjian Lan 對鏈捕手表示,點對點網絡(p2p)數據包重復發送,造成了p2p網絡的擁堵,正常的共識消息無法順利發送,網絡因此無法達成「共識」。其中內部原因在于,Harmony p2p網絡的參數存在潛在bug,因而發生了上述現象。

「新的Web3基建需要更好的流量監測和流量限制的機制,才能杜絕網絡被濫用?!筊ongjian Lan稱,Harmony對p2p網絡協議層參數進行優化后,將開展長期性的系統改良工程,在共識、網絡和RPC層都進行優化。

此外,以太坊二層擴容網絡Arbitrum One曾分別在去年9月14日和今年1月9日出現網絡中斷現象,但從官方公告來看,這與流量失控沒有直接關系,主要還是與該網絡由于仍在測試階段而特意保持的較高中心化程度有關。

據悉,Arbitrum One首次事故的原因是其Sequencer存在bug,而最近一次掉線則是由于主Sequencer節點出現硬件故障,同時備份Sequencer未能及時生效,導致網絡「罷工」數小時。

「雖然我們通常有冗余,可以讓備份 Sequencer 無縫控制,但由于正在進行軟件升級,這些功能未能生效。結果就是,Sequencer 停止處理新事務?!筄ffchain Labs稱。

據悉,序列器(Sequencer)是Arbitrum 開發團隊 Offchain Labs運營的一個全節點。序列器具有一定特權,可控制收件箱中每筆交易的排序,來保證用戶的交易結果能夠立即被確定。

Offchain Labs在上述公告中表示,一旦 Arbitrum 完全去中心化,最有力的保證就會到來。

03

提高「作惡」門檻是最終解嗎?公鏈穩定性的未來在哪里?

事實上,在一定動機激勵下,編寫腳本、「開掛」作弊,是互聯網用戶長期以來的自然行為,隨著鏈上交互的增多,「交易泛濫」和「機器人」困擾不可避免地會進入區塊鏈空間。

同期網絡運行狀態遭遇「惡評」的還有Polygon網絡。1月初,因Polygon上的P2E游戲Sunflower Farmers火爆,參與玩家發送了大量事務請求,一時間內該款鏈游的智能合約Gas消耗,一度占據了整個Polygon網絡的41.8%,導致Polygon上的其他類型交易被暫時擱置,網絡呈現高度擁堵狀態,平均Gas價格數日內上漲近7倍。


Polygon 近三個月平均Gas價格走勢  來源:Polygonscan

Polygon長期為「交易泛濫」所困,網絡擁堵現象不時發生。此前在去年10月,Poygon已經將節點客戶端的最低 gas 價格調高30倍(由1 Gwei 調至30 Gwei),以應對海量的「垃圾交易」。

這一應對方式與Harmony采取的應急措施一致。但調高基礎 gas 價格一方面提高了用戶「開掛」的成本,另一方面也會給用戶體驗帶來影響。

對于項目方的這一慣用操作,伍鳴對鏈捕手分析表示,調高基礎gas作為一種「流控」方式肯定是有效的,這一措施的本質是降低了系統所能支撐的吞吐率。

但他也指出,「如果想要做得更好,需要在系統本身下功夫,提高系統自身能支持的最大吞吐率,就會涉及到共識算法、網絡轉發算法、存儲和執行優化等多方面的改進?!?/span>

Solana聯合創始人Anatoly Yakovenko 披露的「流量控制」改進中,就涉及到引入新的協議機制。Anatoly Yakovenko 稱,新升級中將引入按質押權重的 qos 流控機制,這一機制由「Quic Protocol」實現,據稱這一協議由谷歌開發,已有5-6年的歷史。通過這一協議,Solana可以對發件人實施「評級」限制。

其中,如何決定如何在不同的區塊之間分配帶寬是開發團隊最需攻克的命題——這一過程需要驗證者接收來自網絡其余部分的消息流,并根據這些消息的來源權重,對服務質量和擁塞控制進行優先級排序。

Anatoly Yakovenko在推特表示,上述「流控」措施將在接下來4-5周內推出。

胡智威則表示,對于流量攻擊,公鏈還可以采取對于驗證人的網絡流量保護措施,如采用哨兵節點(注:能夠在主節點發生故障時通過一系列的機制實現選主從切換,實現故障轉移的節點)。對于 TPS 更高的解決方案,除了在本鏈進行優化外,還可以考慮跨鏈+應用專有鏈的擴展處理方式。

而這也是BSC正在探索的方案。近日,BSC官方在其年度總結中承認其運行機制存在諸多挑戰,包括「網絡擁塞和節點運營商面臨管理其完整節點以與最新區塊同步的困難」,這導致BSC在去年曾多次短期宕機情況。

對此,BSC表示這是因為大區塊的設定導致驗證節點需要較多存儲空間和時間來同步區塊,將在2022年向多鏈和跨鏈發展,推出BSC 應用側鏈 (BAS) 和 BSC 分區鏈 (BPC) ,以減少主鏈的數據存儲量。


BSC今年的技術規劃  來源:BSC博客

技術改進和去中心化程度提高,就能保障公鏈網絡運行的穩定性嗎?

針對這一問題,也有網友效仿區塊鏈「可擴展性」的「不可能三角」,提出了「交易質量」的選擇困境:交易泛濫(spam)、抗審查性(censorship resistance)和低費用(low fees)三者之間,實現其二,剩下的另一目標就必定不能實現。

實際是否如此,在上述項目團隊實施改進措施前,尚屬未知。

但無論如何,公鏈宕機現象都給予啟示:未來很長一段時間內,公鏈作為底層基礎設施都還處在早期階段,還需迎接在網絡穩定性、生態完善性等層面的更多考驗,特別是需要采取更多措施應對交易激增等特殊情況,避免對普通用戶的使用體驗造成負面影響。

作者 | Richard Lee

編輯 | 龔荃宇

本文來源:巴比特 原文作者:鏈捕手 責任編輯:yuele
聲明:奔跑財經登載此文出于傳遞更多信息之目的,并不意味著贊同其觀點或證實其描述。文章內容僅供參考,不構成投資建議。投資者據此操作,風險自擔。

評論

還沒有人評論,快來評論吧

相關新聞

拜登預計將于下周發布關于加密貨幣和CBDC的行政命令

2022-02-18 18:12
奧巴馬總統和上屆政府都發布了與數字資產有關的行政命令。>

不以區塊鏈技術構建的元宇宙是不完整的,你同意嗎?

2022-02-18 17:35
元宇宙也有一個基本的、但略顯神秘的方面,將它與今天的互聯網區分開來,這就是區塊鏈。>
老雅痞 3170

尋找OpenSea的下一個挑戰者

2022-02-18 15:22
還有誰有可能挑戰OpenSea,打破NFT市場壟斷局勢?>
日本免费网