時(shí)間:2022-02-09|瀏覽:503
邁入1月,Solana、Harmony、Arbitrum等多條公鏈/Layer2出現(xiàn)停止出塊的網(wǎng)絡(luò)宕機(jī)現(xiàn)象,以太坊側(cè)鏈Poygon則出現(xiàn)嚴(yán)重?fù)矶卢F(xiàn)象,用戶反映長時(shí)間內(nèi)無法發(fā)起交易或提幣。上述公鏈多以「高性能」作為主打口號,但卻在相近時(shí)間內(nèi)不約而同開始「罷工」。在此之前,Solana、Arbitrum、BSC、Fantom也已多次暴露出類似問題。新公鏈集體停擺,反映的是一場廣泛存在、影響深遠(yuǎn)的基礎(chǔ)設(shè)施危機(jī)。鏈捕手通過采訪當(dāng)事方Harmony團(tuán)隊(duì),以及Conflux等國內(nèi)公鏈的專業(yè)人士,試圖還原這場危機(jī),并厘清值得重視和深思的問題。
邁入1月,Solana、Harmony、Arbitrum等多條公鏈/Layer2出現(xiàn)停止出塊的網(wǎng)絡(luò)宕機(jī)現(xiàn)象,以太坊側(cè)鏈Poygon則出現(xiàn)嚴(yán)重?fù)矶卢F(xiàn)象,用戶反映長時(shí)間內(nèi)無法發(fā)起交易或提幣。上述公鏈多以「高性能」作為主打口號,但卻在相近時(shí)間內(nèi)不約而同開始「罷工」。在此之前,Solana、Arbitrum、BSC、Fantom也已多次暴露出類似問題。新公鏈集體停擺,反映的是一場廣泛存在、影響深遠(yuǎn)的基礎(chǔ)設(shè)施危機(jī)。鏈捕手通過采訪當(dāng)事方Harmony團(tuán)隊(duì),以及Conflux等國內(nèi)公鏈的專業(yè)人士,試圖還原這場危機(jī),并厘清值得重視和深思的問題。
01
為什么「公鏈宕機(jī)」值得重視?
Web 3.0以同時(shí)結(jié)合了Web 1.0的開放性和Web2.0的經(jīng)濟(jì)效益著稱,是加密圈對下一代互聯(lián)網(wǎng)浪潮的統(tǒng)稱。這一舊術(shù)語重新成為熱詞,除了它給加密經(jīng)濟(jì)賦予的合法性外,更因?yàn)樗笳髁?a title='區(qū)塊鏈交易平臺' target='_blank' class='f_b'>區(qū)塊鏈和加密技術(shù)的大規(guī)模采用。
公鏈賽道在2021年迎來爆發(fā)式發(fā)展,Solana的登場是原因之一:號稱每秒數(shù)萬的TPS,致力于給用戶帶來更快、更低廉的鏈上使用體驗(yàn)。SBF、美國銀行等多個(gè)名人或機(jī)構(gòu)都將Solana看作促進(jìn)大規(guī)模加密采用的「門戶」。
在鏈上應(yīng)用有望進(jìn)一步出圈的未來,公鏈作為最底層的基礎(chǔ)設(shè)施,其安全與穩(wěn)定性至關(guān)重要。以Solana為代表的新公鏈計(jì)劃向以太坊發(fā)起挑戰(zhàn),并成為很多新用戶進(jìn)入加密行業(yè)的第一站,但相繼遭遇宕機(jī)等尷尬狀態(tài),反映出這些新公鏈在快速發(fā)展過程中也逐漸暴露出自身的弊端。
上述公鏈網(wǎng)絡(luò)動輒癱瘓長達(dá)數(shù)小時(shí)的現(xiàn)象如不能及時(shí)得到解決,勢必將給新入場的主流用戶帶來糟糕的使用體驗(yàn)和印象,成為制約加密經(jīng)濟(jì)大規(guī)模發(fā)展的重要瓶頸。
畢竟,公鏈作為分布式節(jié)點(diǎn)維護(hù)的去中心化網(wǎng)絡(luò),如果還像基于中心化服務(wù)器的平臺一樣頻頻宕機(jī)、卡頓,如何令主流人群信服?
02
流量失控:新公鏈們「停擺」根因
「DDoS攻擊」是項(xiàng)目方在解釋網(wǎng)絡(luò)性能下降時(shí),最常用到的術(shù)語之一。DDoS攻擊的全稱是「distributed denial-of-service attack」,指的是通過使用多個(gè)來源的流量,讓流量超出系統(tǒng)的處理范圍,從而使真實(shí)用戶無法及時(shí)獲得所需的網(wǎng)絡(luò)服務(wù)或資源。攻擊者通常通過向某一網(wǎng)絡(luò)發(fā)送超出網(wǎng)卡處理能力的流量,或向某一應(yīng)用發(fā)送超出其管理能力的請求數(shù)量,來達(dá)到效果。
據(jù)區(qū)塊鏈白帽黑客組織Halborn介紹,傳統(tǒng)DDoS的做法通常是造成系統(tǒng)中的固定單點(diǎn)故障,比如一臺 Web 服務(wù)器出現(xiàn)故障,訪問者可能無法訪問由其運(yùn)營的網(wǎng)站。也因此,對 DDoS 攻擊的抵抗力通常是區(qū)塊鏈技術(shù)的主要賣點(diǎn)之一——區(qū)塊鏈網(wǎng)絡(luò)中沒有一個(gè)節(jié)點(diǎn)是必不可少的,單一節(jié)點(diǎn)下線并不會導(dǎo)致整個(gè)網(wǎng)絡(luò)癱瘓。
不過這并不意味著區(qū)塊鏈就能免受DDoS的影響。Halborn指出,攻擊者可以發(fā)送大量垃圾交易(spam),讓其充斥整個(gè)區(qū)塊鏈網(wǎng)絡(luò),從而減少「合法用戶」的使用機(jī)會和空間資源。在真實(shí)場景中,通常所謂的「攻擊」不是真的有預(yù)謀的「攻擊」,而是在熱門項(xiàng)目IDO、GameFi交易或市場大行情下,真實(shí)用戶借助計(jì)算機(jī)程序「開掛」,實(shí)施的作弊行為。
那么,持續(xù)提高節(jié)點(diǎn)服務(wù)器的內(nèi)存容量,可以解決這一問題嗎?答案是否定的。這由大多數(shù)區(qū)塊鏈網(wǎng)絡(luò)共有的特性決定:大多數(shù)區(qū)塊鏈都有固定容量,它們會定期創(chuàng)建具有特定大小限制的區(qū)塊,節(jié)點(diǎn)在打包區(qū)塊時(shí),任何不適合當(dāng)前塊的內(nèi)容都將存儲在「內(nèi)存池」中,等候下一個(gè)區(qū)塊打包。
因此,這一根本屬性也決定了公鏈網(wǎng)絡(luò)都需面對的普遍問題:特殊情況下,可能觸發(fā)如洪水般泛濫的交易請求。
如何應(yīng)對這一難題,以及應(yīng)對措施是否有效,是考察各大網(wǎng)絡(luò)近期表現(xiàn)的重要指標(biāo)。
Solana用戶可能對「交易泛濫」的體驗(yàn)最為熟悉。追溯至去年9月14日,Solana全網(wǎng)中斷17小時(shí),所有鏈上服務(wù)都無法使用,官方后續(xù)報(bào)告稱是由于去中心化社交網(wǎng)絡(luò)協(xié)議Grape Protocol 在 Raydium 平臺上的IDO活動火熱,許多用戶通過編寫的機(jī)器腳本發(fā)送大量交易,這些交易造成「內(nèi)存溢出」,導(dǎo)致驗(yàn)證節(jié)點(diǎn)崩潰,最終整個(gè)網(wǎng)絡(luò)無法達(dá)成「共識」而離線(也即,無法產(chǎn)出新區(qū)塊)。
「同時(shí) Solana 的一些特性被針對性的利用導(dǎo)致了網(wǎng)絡(luò)宕機(jī)。例如為了并發(fā)處理事務(wù)的寫入鎖定(write-lock)在很多重要地址上被鎖定,使得事務(wù)變成順序執(zhí)行而非并發(fā),極大的影響了對消息的處理能力;節(jié)點(diǎn)為處理分叉,不斷保留了可能的分叉信息,導(dǎo)致內(nèi)存溢出等?!购峭f。
國內(nèi)知名公鏈Conflux的CTO 伍鳴向鏈捕手分析,在Solana網(wǎng)絡(luò)中交易過多導(dǎo)致網(wǎng)絡(luò)擁塞的情況下,區(qū)塊的轉(zhuǎn)發(fā)(廣播)延遲就會增加,賬本隨之容易出現(xiàn)分叉;當(dāng)賬本分叉情況嚴(yán)重時(shí),共識算法的壓力就會增加,如果處理不好,最終就會導(dǎo)致系統(tǒng)徹底崩潰。
「這里面一個(gè)很重要的問題是,節(jié)點(diǎn)不應(yīng)該無節(jié)制地轉(zhuǎn)發(fā)成本很低的垃圾交易,Solana應(yīng)該是在這方面的流控(流量控制)沒有做好?!刮轼Q表示。
Anatoly Yakovenko也在上述Twitter Space活動中承認(rèn)了該問題。他稱,主要問題在于,原先的程序設(shè)計(jì)中,「重復(fù)交易檢查」是在簽名驗(yàn)證之后進(jìn)行,因此所有的重復(fù)數(shù)據(jù)都必須先經(jīng)過簽名驗(yàn)證,才會被檢查是否屬于「垃圾交易」。此外,在節(jié)點(diǎn)客戶端升級前,Solana用于刪除重復(fù)數(shù)據(jù)、清除網(wǎng)絡(luò)冗余的程序運(yùn)行得非常緩慢,需耗時(shí)幾百微秒。
為避免下次大行情期間,「機(jī)器人」交易再度干擾網(wǎng)絡(luò),Anatoly Yakovenko 稱接下來將在Solana 主網(wǎng) beta 的 1.9 版本中引入「實(shí)際的流量控制(actual flow control)」。
另一條熱門公鏈Harmony也面臨類似問題。1月15日,Harmony網(wǎng)絡(luò)中斷數(shù)小時(shí),團(tuán)隊(duì)官方將基礎(chǔ)gas費(fèi)提高到30 gwei,來提高發(fā)送垃圾交易的門檻。
Harmony社區(qū)發(fā)布的事后分析顯示,網(wǎng)絡(luò)的領(lǐng)導(dǎo)節(jié)點(diǎn)(leader node)收到了大量垃圾流量(spam),再加上驗(yàn)證節(jié)點(diǎn)的舊版客戶端對高流量情況的處理不佳,內(nèi)、外部的因素綜合導(dǎo)致了這一「宕機(jī)」事故的發(fā)生。
Harmony CTO Rongjian Lan 對鏈捕手表示,點(diǎn)對點(diǎn)網(wǎng)絡(luò)(p2p)數(shù)據(jù)包重復(fù)發(fā)送,造成了p2p網(wǎng)絡(luò)的擁堵,正常的共識消息無法順利發(fā)送,網(wǎng)絡(luò)因此無法達(dá)成「共識」。其中內(nèi)部原因在于,Harmony p2p網(wǎng)絡(luò)的參數(shù)存在潛在bug,因而發(fā)生了上述現(xiàn)象。
「新的Web3基建需要更好的流量監(jiān)測和流量限制的機(jī)制,才能杜絕網(wǎng)絡(luò)被濫用?!筊ongjian Lan稱,Harmony對p2p網(wǎng)絡(luò)協(xié)議層參數(shù)進(jìn)行優(yōu)化后,將開展長期性的系統(tǒng)改良工程,在共識、網(wǎng)絡(luò)和RPC層都進(jìn)行優(yōu)化。
此外,以太坊二層擴(kuò)容網(wǎng)絡(luò)Arbitrum One曾分別在去年9月14日和今年1月9日出現(xiàn)網(wǎng)絡(luò)中斷現(xiàn)象,但從官方公告來看,這與流量失控沒有直接關(guān)系,主要還是與該網(wǎng)絡(luò)由于仍在測試階段而特意保持的較高中心化程度有關(guān)。
據(jù)悉,Arbitrum One首次事故的原因是其Sequencer存在bug,而最近一次掉線則是由于主Sequencer節(jié)點(diǎn)出現(xiàn)硬件故障,同時(shí)備份Sequencer未能及時(shí)生效,導(dǎo)致網(wǎng)絡(luò)「罷工」數(shù)小時(shí)。
「雖然我們通常有冗余,可以讓備份 Sequencer 無縫控制,但由于正在進(jìn)行軟件升級,這些功能未能生效。結(jié)果就是,Sequencer 停止處理新事務(wù)。」Offchain Labs稱。
據(jù)悉,序列器(Sequencer)是Arbitrum 開發(fā)團(tuán)隊(duì) Offchain Labs運(yùn)營的一個(gè)全節(jié)點(diǎn)。序列器具有一定特權(quán),可控制收件箱中每筆交易的排序,來保證用戶的交易結(jié)果能夠立即被確定。
Offchain Labs在上述公告中表示,一旦 Arbitrum 完全去中心化,最有力的保證就會到來。
03
提高「作惡」門檻是最終解嗎?公鏈穩(wěn)定性的未來在哪里?
事實(shí)上,在一定動機(jī)激勵(lì)下,編寫腳本、「開掛」作弊,是互聯(lián)網(wǎng)用戶長期以來的自然行為,隨著鏈上交互的增多,「交易泛濫」和「機(jī)器人」困擾不可避免地會進(jìn)入?yún)^(qū)塊鏈空間。
同期網(wǎng)絡(luò)運(yùn)行狀態(tài)遭遇「惡評」的還有Polygon網(wǎng)絡(luò)。1月初,因Polygon上的P2E游戲Sunflower Farmers火爆,參與玩家發(fā)送了大量事務(wù)請求,一時(shí)間內(nèi)該款鏈游的智能合約Gas消耗,一度占據(jù)了整個(gè)Polygon網(wǎng)絡(luò)的41.8%,導(dǎo)致Polygon上的其他類型交易被暫時(shí)擱置,網(wǎng)絡(luò)呈現(xiàn)高度擁堵狀態(tài),平均Gas價(jià)格數(shù)日內(nèi)上漲近7倍。
技術(shù)改進(jìn)和去中心化程度提高,就能保障公鏈網(wǎng)絡(luò)運(yùn)行的穩(wěn)定性嗎?
針對這一問題,也有網(wǎng)友效仿區(qū)塊鏈「可擴(kuò)展性」的「不可能三角」,提出了「交易質(zhì)量」的選擇困境:交易泛濫(spam)、抗審查性(censorship resistance)和低費(fèi)用(low fees)三者之間,實(shí)現(xiàn)其二,剩下的另一目標(biāo)就必定不能實(shí)現(xiàn)。
實(shí)際是否如此,在上述項(xiàng)目團(tuán)隊(duì)實(shí)施改進(jìn)措施前,尚屬未知。
但無論如何,公鏈宕機(jī)現(xiàn)象都給予啟示:未來很長一段時(shí)間內(nèi),公鏈作為底層基礎(chǔ)設(shè)施都還處在早期階段,還需迎接在網(wǎng)絡(luò)穩(wěn)定性、生態(tài)完善性等層面的更多考驗(yàn),特別是需要采取更多措施應(yīng)對交易激增等特殊情況,避免對普通用戶的使用體驗(yàn)造成負(fù)面影響。
熱點(diǎn):以太 以太坊 公鏈 區(qū)塊鏈 區(qū)塊鏈技術(shù) 數(shù)據(jù) 智能合約 計(jì)算機(jī)