今晨,Cosmos團隊表示在CosmosSDK發現嚴重安全漏洞。PeckShield安全人員分析發現,原本Cosmos抵押之后需要等待21天才能贖回,但合約代碼里Validator狀態變化時存在一種邏輯缺陷,使得用戶可以減少21天固定贖回時間,從而提前贖回抵押的數字資產,進而破壞原本的POS共識可更短周期使用資金進行重復抵押賺取利息。
Cosmos是最新上線的基于Tendermint共識的區塊鏈網絡,提出IBC通迅協議,用于解決資產跨鏈的問題,其核心主鏈被稱為CosmosHub,號稱『萬鏈之王』。其上的平臺代幣為Atom,用戶通過驗證者投票參與服務治理與維護,同時接收系統激勵,史稱『Staking模式』,為2019年區塊鏈明星項目之一。
CosmosHub是基于Tendermint,它依靠一組驗證者來保護網絡,等同于Bitcoin、Ethereum等PoW網絡中的礦工角色;
Cosmos社區通過進行第818號提案來解決Neutron上的“意外”雙重簽名問題:金色財經報道,由Cosmos保護的Neutron消費者鏈最近經歷了由兩名據報道信譽良好的驗證者進行的“雙重簽名”事件。在Cosmos鏈本身上,這通常會導致資金自動削減和永久禁止節點進行驗證。但由于Neutron是一條由Cosmos通過“復制安全”保護的消費者鏈,因此懲罰必須通過正在進行的名為第818號提案的社區投票來實施,該投票計劃于8月23日結束。[2023/8/21 18:12:21]
驗證者運行一個完整的Cosmos節點,并通過廣播包含由其私鑰簽署的加密投票參與共識,有一定的硬件投入成本;
驗證者需要抵押定額的Atom作為保證金,且系統只有股權最高的100個節點會成為驗證者;
Cosmos流動性質押協議Stride已上線主網:9月6日消息,Cosmos流動性質押協議Stride已上線主網,允許用戶存入ATOM以鑄造stATOM,旨在為Cosmos社區提供盡可能好的流動性質押服務。在接下來的24小時內,該協議將在OsmosisZone開啟STRD/OSMO、stATOM/ATOM、stATOM池的STRD挖礦獎勵。
此外,Stride表示ATOM質押者的空投預計在9月底可領取STRD空投,由于缺少ICA實施,OSMO和JUNO的質押者需要等待2-5周才能領取STRD空投。[2022/9/6 13:11:29]
驗證者在區塊鏈中打包交易提交新塊并獲得系統激勵,這是驗證者的收入,等同于挖礦收益;
另外,驗證者在參與治理方面,他們還必須對網絡中的提案進行投票,只有投票通過的提案才能發揮效應,投票權重根據每一位驗證者存放的總權益進行加權;
Layer0擴容項目MarlinProtocol已支持Cosmos網絡:4月28日消息,Layer0擴容項目MarlinProtocol宣布其網關和中繼已支持Cosmos網絡,Marlin節點運營商能夠傳輸Cosmos數據,Cosmos驗證器和完整節點可以安裝Marlin網關從而與Marlin網絡進行交互。
另外,Marlin生態系統的代幣分發機制FlowMint以及質押獎勵將支持服務Cosmos網絡的集群。[2021/4/28 21:07:33]
安全穩定的驗證者會產生穩定的收益,有問題的節點導致您損失本金,例如驗證者節點掉線會損失0.01%本金。
由此可知,運行一個Validator角色的難度不低于開一個PoW礦池,普通用戶要想加入Cosmos主網,并獲取收益是個門檻比較高的事情。
Cosmos治理提案46提議允許花費初始預算并擴大營銷分配資金:據官方消息。Cosmos發起治理提案46,提議延長34號提案Luna Mission的時間線,以允許花費初始預算并將現有資金分配給額外的ATOM營銷優先事項。[2021/4/24 20:53:58]
由于普通用戶持幣但又不想參與驗證,那么其手中的Atom會面臨增發而貶值,但是直接參與Cosmos主網有一定的技術難度,因此出現了委托人Delegator角色。委托人是那些不能或不想自己運行驗證節點的Atom持有者,普通用戶可以將Atom委托給驗證人并獲得部分收入,例如星火礦池提供的委托服務。
用戶一旦贖回委托訂單,Cosmos將在贖回操作21天之后將委托抵押的Atom退回給委托人。
因此這21天為平臺固定的鎖倉時間,如果出現一種情況,Cosmos系統存在設計缺陷,導致委托人的贖回周期可變,這對平臺上的其它用戶來說,是不公平的,也破壞了Cosmos區塊鏈的共識機制。
在了解這個漏洞之前,我們先來看下Cosmos網絡之上的驗證者狀態變化圖:
其中,一共有三個狀態:
bonded
unbonded
unbonding
狀態之間的變化關系如下:
驗證者默認屬于unbonded狀態,當發起bondValidator之后,狀態變更為bonded,
變更這一狀態之后,驗證者開始接收系統收益;
而當驗證者發起beginUnbondingValidator以退出bonded狀態時,其狀態變更為unbonding,
同時系統不再給這一驗證者發送任何收益,同時這一驗證者的委托人可以發起贖回操作;
若委托人沒有發起贖回操作,那么處于unbonding狀態的驗證者可以重新bondValidator回到bonded狀態以接收系統收益;
處于unbonding狀態的驗證者,當用戶贖回時間21天到期之后,將進入到unbonded狀態,此時委托者接收到之前抵押的Atom及抵押期間的收益。
上面我們了解到驗證者在幫助抵押贖回方面的整體流程,表面上沒有什么問題,PeckShield安全人員在分析CosmosSDK代碼的時候,發現了這一贖回流程中的致命設計缺陷,可導致委托者利用驗證者unbonding狀態,突破21天鎖倉固定期而提前贖回。
我們先看舊版的贖回代碼:
其大體流程如下,獲取驗證者的unbonding完成時間和區塊高度;
將待贖回部分代幣根據鎖倉到期時間和區塊高度生成一個鎖幣贖回記錄;
將這一贖回記錄保存到隊列之中,等待時間到期之后,退還鎖幣資金給委托人。
細心的用戶發現了這里的問題,一圖以蓋之:
簡而言之,系統在計算鎖倉到期時間的時候,誤用Validator開始unbond狀態時間和Delegator贖回發起時間,使得Delegator可以使用這一時間差贈取差異:
Validator正常發起beginUnbondingValidator操作;
Delegator在Validator發起unbond操作之后7天時發起Undelgate贖回操作,理論上贖回時間為21天,但是這里計算的時候使用的是Validator發起unbond操作的時間,
因此,這一個Deletagor『免費』縮減了7天的贖回時間,再經過14天時間就可以收到鎖倉的資金。
此時,我們再來看修復之后的代碼:
此時,無論Delegator何時發起Undelgate操作,都會確保從操作發起時開始計算21天,而與驗證者無關。
Staking作為2019年新潮的區塊鏈方向,獲取了一定的矚目,無論你是Staking的項目方,還是參與Staking的驗證者及普通用戶,在資產面前,我們都應該保有敬畏之心。
針對前段時間EOS漏洞問題,數字彗星科技CTO兼創始人張東誼的安全團隊向鏈聞ChainNews透露了整體回顧細節,希望大家提起安全意識,但也不要過度恐慌,正確看待安全問題.
1900/1/1 0:00:00文|互鏈脈搏評論員·元尚5月28日,比特幣盤中摸高至8906.78USDT的半年高位,2月份以來漲幅超過150%,成為全球耀眼的升值資產。于是乎,有不少人認為,區塊鏈的春天已經來了.
1900/1/1 0:00:00在近日舉辦的第一期捕手學堂上,原力協議聯合創始人&CEOAllenAn分享了原力協議的發展規劃以及他對DeFi、開放式金融的一些觀點.
1900/1/1 0:00:00再長的路,一步步也能走完,再短的路,不邁開雙腳也無法到達。成長的過程中,知道自己要什么,比現在干什么更為重要,做一件事情的過程可能漫長,但只要堅持,結果總會讓你滿意,交易中最難的其實也是如此,風.
1900/1/1 0:00:00據區塊鏈媒體TheBlockCrypto透露,加密貨幣交易所幣安開發的去中心化交易所將從7月1日之后屏蔽來自29個國家及地區的用戶訪問.
1900/1/1 0:00:00Cryptopia清算公司GrantThornton需要就如何現款支付客戶欠款向法庭尋求法律咨詢,因為世界上還未有任何法律先例.
1900/1/1 0:00:00