時(shí)間:2023-08-04|瀏覽:296
Hello Nimbus 社區(qū),
今天,我們有一個(gè)關(guān)于NBU交換涉及的最新事件的重要更新,請(qǐng)參見這里:
https://nimbusplatform.medium.com/provided-liquidity-and-token-value-update-6c6d3616f000
。我們一直以盡可能的透明度為目標(biāo)。因此,在下面的內(nèi)容中,我們將提供非常詳細(xì)的說明,包括事件的經(jīng)過以及Nimbus如何解決這種情況,并努力彌補(bǔ)流動(dòng)資金提供者可能面臨的損失。
2021年3月1日,NBU交換發(fā)生了什么?
正如之前所提到的,我們?cè)獾搅颂桌悄?a title='合約交易開戶' target='_blank' class='f_c'>合約的攻擊。
然而,我們一直在努力分析的是,為什么智能合約能夠在短短幾分鐘內(nèi)實(shí)現(xiàn)這樣的結(jié)果并耗盡幾乎所有的流動(dòng)性?通常,要實(shí)現(xiàn)這個(gè)目標(biāo)需要很多交易,而且需要更長(zhǎng)的時(shí)間。但是對(duì)于我們來(lái)說,這一切都是瞬間發(fā)生的。為什么呢?
在過去幾天里,我們一直在尋找答案。好消息是:我們找到了!
我們的分析表明,即使在Zokyo對(duì)Nimbus智能合約進(jìn)行審核之后,仍然存在一個(gè)小錯(cuò)誤。雖然看起來(lái)不起眼,但它卻是導(dǎo)致這種情況惡化的關(guān)鍵。
1)在2021年3月1日凌晨3:15:17(世界標(biāo)準(zhǔn)時(shí)間),地址0x3a518964ff40ee733d30749a213d2e5c9ffb2b8c進(jìn)行了初始交易,在Nimbus交換的ETH-NBU交易對(duì)中注入了1.994E-15個(gè)NBU。
2)然后,在NimbusSwap上從ETH-NBU交易對(duì)中撤回了516.9個(gè)ETH和597712.9個(gè)NBU的流動(dòng)性。值得注意的是,這是在沒有NimbusLP代幣參與的情況下進(jìn)行的。當(dāng)NimbusLP代幣用于提供流動(dòng)性時(shí),這些代幣會(huì)發(fā)行給所有的Nimbus流動(dòng)性提供者,撤回流動(dòng)性時(shí)必須使用這些代幣。但在這種情況下,流動(dòng)性被撤回了,但沒有使用這些代幣,這是異常的開始。
3)隨后,其他地址多次重復(fù)了這個(gè)過程。
4)結(jié)果,不僅NBU代幣的價(jià)值和流動(dòng)性受到套利活動(dòng)的影響,而且在幾個(gè)交易中,Nimbus內(nèi)部交換中NBU交易對(duì)的90%流動(dòng)性被撤回。
Nimbus智能合約中的小錯(cuò)誤(即使經(jīng)過審計(jì)人員的審核也沒有注意到)如何影響情況?
在Nimbus智能合約的測(cè)試階段,我們沒有發(fā)現(xiàn)任何漏洞。此外,外部技術(shù)審核也沒有發(fā)現(xiàn)任何錯(cuò)誤,并確認(rèn)了Nimbus平臺(tái)的功能完整和安全。
但是,通過Nimbus團(tuán)隊(duì)的最新調(diào)查,我們發(fā)現(xiàn)了代碼中的錯(cuò)誤。以下是詳細(xì)的技術(shù)說明:
為了計(jì)算Factory.sol合約的第405行和第406行的balance0Adjusted和balance1Adjusted,必須要使用具有10,000位的數(shù)值,并且完成正確的操作。但是,為了使智能合約能夠檢查新的流動(dòng)性與基礎(chǔ)智能合約算法相匹配,必須在第407行中使用相同的10,000位。但錯(cuò)誤的地方是,這里使用了“1,000”位而不是“10,000”。
結(jié)果,這個(gè)小錯(cuò)誤使惡意智能合約可以與進(jìn)一步撤回流動(dòng)性進(jìn)行套利攻擊。
我們完全理解并承認(rèn),這次事件的責(zé)任在于Nimbus團(tuán)隊(duì)。我們已經(jīng)修復(fù)了這個(gè)問題,并計(jì)劃全額向流動(dòng)資金提供者進(jìn)行賠償。具體方法如下:
1)首先,Nimbus團(tuán)隊(duì)將全額向所有流動(dòng)資金提供者進(jìn)行賠償。您可以放心,我們不會(huì)讓任何惡意的第三方損害您的利益!
2)其次,我們已經(jīng)修復(fù)了已經(jīng)發(fā)現(xiàn)的漏洞。新版本的智能合約已經(jīng)發(fā)布在我們的GitHub上,因此需要在 CET 時(shí)間3月4號(hào)上午7點(diǎn)至8點(diǎn)期間暫停Nimbus平臺(tái)的維護(hù)。
目前維護(hù)工作已經(jīng)結(jié)束,流動(dòng)資金提供者的警告已經(jīng)解除。您可以再次向平臺(tái)添加流動(dòng)性,并放心所有功能都能正常運(yùn)作。
下面是方便您訪問我們的GitHub的鏈接:https://github.com/nimbusplatformorg。
3)最后,正如我們之前宣布的,我們已經(jīng)啟動(dòng)了流動(dòng)資金提供者通知系統(tǒng)。從現(xiàn)在開始,在我們持續(xù)的分析中發(fā)現(xiàn)市場(chǎng)中有潛在攻擊和其他風(fēng)險(xiǎn)情況時(shí),這個(gè)系統(tǒng)將保護(hù)流動(dòng)資金提供者的資產(chǎn)。
此外,我們還進(jìn)行了開發(fā)和測(cè)試方法的改進(jìn),以避免將來(lái)發(fā)生類似情況:
1)從現(xiàn)在開始,我們將在內(nèi)部測(cè)試完成后,讓每個(gè)人都可以測(cè)試我們的代碼。這將通過Bug獎(jiǎng)勵(lì)計(jì)劃來(lái)實(shí)現(xiàn)-參與者可以測(cè)試代碼性能,并在發(fā)現(xiàn)漏洞時(shí)獲得獎(jiǎng)勵(lì)!
2)此外,我們與外部審計(jì)人員的互動(dòng)方式發(fā)生了重大變化。從現(xiàn)在開始,我們將引入更多的測(cè)試和審計(jì)階段,并以更多樣化的方式進(jìn)行。這將讓我們的用戶在此事件發(fā)生后感到安全,并確保所有情況的安全性。
最后,我們已經(jīng)開始與流動(dòng)資金提供者和兌換用戶緊密合作,以確保NBU市場(chǎng)的可持續(xù)性。這將有助于平衡任何未來(lái)可能出現(xiàn)的不利市場(chǎng)情況。
正如我們之前的帖子所述,由于NBU市場(chǎng)增長(zhǎng)迅速,所以這次事件在發(fā)生后迅速被發(fā)現(xiàn)。盡管這為市場(chǎng)參與者創(chuàng)造了一些機(jī)會(huì),但也帶來(lái)了不穩(wěn)定性和風(fēng)險(xiǎn)。為什么呢?因?yàn)槭袌?chǎng)仍然