我們跟中國最懂 DeFi 的一線從業者聊了聊如何預防及應對 DeFi 攻擊|DeFi Garden #7
Curator.DAO 是一個去中心化的信息孵化器,Curator.DAO Blockchain Newsletter 帶您速覽區塊鏈行業全面的 PoW、PoS、DeFi、投資、政策週報。更多信息可以查看我們的網站:www.curatordao.com,歡迎加入我們的社羣,並得到目前成員的推薦加入我們。

本期作者

🌳Williams:有趣孤僻且勤奮的區塊鏈園丁,服務於 Nervos (個人博客
🐦LeftOfCenter:幣圈手藝人(文章鏈接
👾潘致雄:鏈聞研究員(領英鏈接
🐱小毛哥:鏈聞作者,旅居曼谷 (文章鏈接

本期特約嘉賓

🚀Bowen:DDEX & Hydro Protocol 聯合創始人
👹曹寅:數字文藝復興基金會(公衆號:Web3DAO)
💡潘超:MakerDAO 中國區負責人
🦄️Flona He:IOSG 投資總監
🦑餘弦:慢霧創始人
🎸吳家志:Peckshield 研發副總裁
☠️咕嚕:幣乎創始人
🏈徐勇:DeBank 產品負責人
🌟代代:DeFi Labs 創始人

本期導語

🌳Williams:這次 Uniswap 和 Lendf.me 等接連產生合約攻擊,除此之外,今年也持續的看到了許多 DeFi 的攻擊,例如 bZx、Curve、Sythetix 、312 Maker 事件等等,但其實這些攻擊其實並沒有擊倒 DeFi ,這個去中心化的金融生態依舊在成長中,並且會將這些在起步階段所承受的攻擊成爲學習的養分,發展茁壯,因此以下有些簡單的問題,想請您回答,並且給 DeFi 這個正在興起的行業說一些話。

問題一:攻擊發生前,從項目方和用戶的角度,如何防微杜漸有效減少這類安全事故的發生?

☠️咕嚕:
(1)項目方在智能合約代碼的設計和編寫上須投入更多資源,包括增加更多更嚴格的安全審計。
(2)用戶在投入資金前,應更充分地去評估智能合約的代碼風險:
(a)看有沒有安全審計,哪家機構做的審計,有多少家審計機構參與?
(b)對於較新的智能合約投入更少的資金,隨着時間的推移逐步增加投入。
(3)錢包方作爲應用的入口,對於上架的應用須有代碼安全方面的要求,並以淺顯的語音告知給用戶。
(4)區塊鏈行業裏成立智能合約安全的評級機構。

🏈 徐勇:
對項目方來說,要足夠重視安全和技術的投入,類似於中國互聯網更側重於市場的打法,可能在 DeFi 領域是不適用的。另外安全不僅僅是上線前的代碼審計,必須囊括項目運營的全生命週期。這次事故就是因爲在後續的運營中引入了 imBTC,但是沒有注意到 erc777 和 之前 erc20 標準代幣的差異。最後,如果有更完善的實時監控和應急響應機制,這次黑客盜幣的數量也能減少很多,比如監控借貸協議的 imBTC 鎖倉餘額和平臺資產負債表是否一致(這個規則在這次攻擊中很有用)。

對用戶來說,儘量選擇頭部的 DeFi 產品吧,另外不建議放太多資金在 DeFi 上,比如不要超過個人數字資產的 20%。

🦑餘弦:
首先是這樣,需要做好一種心理準備:任何新事物在進化過程中都會有安全風險,這是進化法則告訴我們的,越早期這種風險越大,最終要麼死亡,要麼就會趨於某種比較穩定的平衡。
基於這種心理準備,我們來看 DeFi,這是個新事物,有幾個比較重要的風險:技術安全風險、業務安全風險、合規安全風險。我們簡單展開提下(以以太坊爲例):

1 技術安全
首先看公鏈本身,是否久經考驗,足夠安全,以太坊基本滿足這點;然後看智能合約的設計是否足夠安全,Solidity 並不大滿足;再看相關的標準(如 ERC20, 223, 721, 777 等等)實現是否足夠安全,這裏最大的坑在於很多時候一個“特性”會變成一種“缺陷”;再再看基於標準的成熟框架是否安全,如 OpenZeppelin 很優秀;最後看項目方開發出來的是否是真的嚴格安全實踐,這個就非常不好說了,很明顯,開發的質量是參差不齊的。

2 業務安全
業務決定於 DeFi 的設計,要做出什麼,抵押借貸?閃貸?交易?等等,業務需要特別考慮的是安全風控,比如暴跌暴漲怎麼辦?比如突然出現的大額轉幣如何處理?比如如何解決第三方安全風險(如:接入第三方代幣、和第三方聯動等)?

3 合規安全
如果是一個灰色或黑色邊界的 DeFi,一不小心被一些國家的執法機構打掉或自己跑路了,怎麼辦?

說這些內容,主要是給項目方和用戶一起拋出的參考,都是需要關注的。另外特別補充一些和用戶角度有關的判斷:
1 項目方內部有實力不錯的安全團隊或有豐富安全經驗的核心人物把關
2 項目方近半年內被第三方專業安全機構安全審計過並公開安全審計結果
3 項目方有很長期持續緊密合作的第三方專業安全機構
4 項目方核心成員對待安全的態度是坦然開放,勇於認錯並持續真的把安全放在第一位, 而不是僅喊喊口號
5 項目方對安全工作充滿敬畏與尊重

基於上面這 5 點可以延伸出一些事實,比如:口碑、真實用戶數、數據透明度、安全透明度等等。

🎸吳家志:
由於 DeFi 項目大多是開源的,這意味着藏在暗處的黑客隨時有入侵攻擊的可能。所以項目方應該有足夠的安全防護意識,目前我們從專業安全公司的角度可以給到一些建議:1、項目上線前應該請專業的第三方安全公司做已知漏洞排查,出具安全審計報告;2、項目在運營工程中應在業務層處理安全風險建立一套風控機制,比如及時熔斷、合約調用異常分析、賬本異常監控等等;3、項目方涉及到跟其他產品的組合,務必要針對雙方業務邏輯進行組合安全風險評級,最好組合雙方的合約都有統一的安全公司進行審計,以排查可能存在的業務邏輯風險。

🦄️Fiona (IOSG):
正如 Vitalik 說的那樣,我們覺得現在 defi 做的越來越複雜,專注於做出簡單並穩定運行的項目比較少。項目方在設計時應該謹慎考慮目前底層設施的成熟度是否能支撐項目的複雜度。項目要重視風控,以及審視過往已發生過的危機事件。我們看到大部分項目如果足夠重視這方面的信息並及時採取預防措施,是可以避免部分攻擊的。除以上兩點之外,項目方也要做好用戶的風險教育,當然,這裏的教育不是簡單地在網站上列明“如果用戶使用,請自行承擔風險”,而是詳細披露風險點,這樣項目方也能自行梳理風控的重點,起到防範的作用。對用戶來說,要明確 DeFi 目前還是非常早期,要自行檢測風險偏好,在參與時對項目多做了解。

💡潘超:
首先要保證自己的代碼本身是安全的 (Sythetix),此外與其他協議組合後是安全的 (ERC777, bZx 和 Curve),再有即使底層公鏈出現問題 (312 拍賣) 金融應用也可以保持安全。

👹曹寅:
從項目方來說,
首先還是代碼,即使不是源代碼開發者,DeFi 運營者也必須吃透協議代碼,並且應該同源代碼開發者保持密切溝通,最好能夠重要變動上徵詢源碼開發者的建議。畢竟源碼開發者最瞭解自己的代碼。

其次,要同預言機、資產、託管等合作伙伴保持緊密溝通,可以像航天設計單位一樣,同合作伙伴建立問題清單制度,所有問題清單都要確保兩邊清零,互相督促,而不是“你以爲我以爲我沒問題了”;

另外,要 7*24 小時隨時監測異常情況,及時發現及時處理。

從用戶角度,
如果在某個 DeFi 協議或者平臺上有大量資產或者頭寸,一定要對該協議和平臺的代碼、團隊、治理機制進行親自了解,而不是道聽途說,或者隨波逐流。
此外,如果資產規模較大,也應該分散資產,儘可能將資產放在不同的協議上。
最後,建議在目前階段,僅僅將 DeFi 當作理財的選項之一,不要將所有資產都放在 DeFi 上。

🌟代代:
項目方:應該設立一套完整的審計-監控-預警機制。

行業內現在也在自我完善,自組織地推出 AuditDao、合約評級等預防措施。

用戶:我們對從業者、對項目方的要求應該遠遠大於對用戶的要求,否則就是在不斷拔高 defi 的使用門檻。
我建議審計行業形成行業規範,除了生成供業內開發者參考的專業審計報告,也出品面向 c 端用戶的易讀的審計和風控報告。並且項目方有義務在產品網站公開審計結果供讀者知曉。

問題二:攻擊如果真的發生了,對 DeFi 設施而言有沒有比較好的應對措施來降低損失?如果一個完全去中心化的 DeFi (沒有管理員、沒有人可以升級或關閉)協議被黑客攻擊,誰該負責?是不是用戶自己負責?有沒有可能爲 DeFi 社區設立一個全局的兜底或保險機制?

☠️咕嚕:
不管是不是完全去中心,還是有 Admin Key,只要應用是以盈利爲目的的,都是運營方承擔最終的責任。如果運營方是公司,那麼以公司的資產爲限承擔有限的責任,或者進入破產清算程序,或者以債務的方式向受損失的用戶承擔責任。全局性的 DeFi 保險機制不合適,保險機制同樣應該遵循市場機制,以單個 DeFi 應用爲單位,獨立購買保險。

🏈徐勇:
幾乎所有的 DeFi 協議目前只有業務邏輯,而沒有風控邏輯,這在傳統或互聯網金融領域是不可想象的。以後不管是鏈上協議,還是鏈外監控,都需要更完善的風控措施,並且這可能會在實質意義上,改變當前 DeFi 的形態。

如果完全去中心化的協議被攻擊,一定說要有人負責的話,排在第一的只能是用戶自己(當然這句話很殘酷)。另外協議的開發者聲譽也會受損,長遠來看其實是整個行業在買單。所以 DeFi 從業者應該一起努力,來減少用戶被傷害的可能。

關於 DeFi 保險的問題,比較可行的還是用項目的平臺幣來擔保,比如之前 MakerDAO 拍賣 MKR 填補虧空。這有兩個好處,一是,用戶在使用產品前,能根據平臺幣的市值和流動性,大致判斷出平臺的安全性,特別是兜底的能力;二是,因爲存在金融槓桿,它的兜底能力是很強的。最後,基於上述邏輯,未來平臺幣有可能會成爲 DeFi 項目的標配。

🦑餘弦:
如果攻擊真的發生了,這個真的取決於這個項目是否有成熟的安全風控機制,沒有的話,就很麻煩了。如果這個項目完全去中心化,那用戶也確實需要更加謹慎,因爲出問題了,基本就是無力迴天。項目方可以在用戶使用這樣的項目前做好足夠清晰的風險聲明,因爲用戶有知情權。由於 DeFi 是新事物,並不像我們現在世界的成熟金融體系,有很足的法律保障,司法解釋,出問題後到底是誰來負責,這個很難說,往往最終都會說「讓社區來處理」。至於 DeFi 社區的兜底或保險機制,我們希望有,這不是技術問題,這是有沒有人願意做的問題。

🎸吳家志:
如果攻擊已經發生,DeFi 協議目前最佳方案是尋求區塊鏈生態協作力量幫忙找回資產,比如 DeFi 協議裏有大量的穩定幣資產,可以趕在黑客尚未對穩定幣進行有效處理的時候對其進行封堵,基本可以確定挽回這部分資產損失。又比如,黑客如果分散資金流入交易所進行洗錢時,應第一時間跟關聯交易所進行交涉,同時立案儘可能的通過交易所方面的 KYC 信息掌握黑客的一些身份資料,進而和黑客進行談判以尋求資產被退回的可能。另外對於項目方而言可以考慮在產品體系中組合加入保險產品,這樣對用戶而言有一個保險機制。

完全去中心化的 DeFi 一旦出現問題是沒辦法進行問責的,因爲這類平臺一般依賴社區治理,任何補救決策都要通過社區投票。

理論上來講在完全去中心化的世界裏,code is law,用戶是要自己承擔損失。因爲用戶在選擇投資前就應該認識到和收益存在對等的風險。比方你現在買了比特幣,結果你私鑰丟了,只有你自己承受損失了,因爲比特幣是完全去中心化的,沒有任何人能幫你找回資產。

現在出現了一些產品組合中包含保險的 DeFi 產品,一旦遭受攻擊可根據 DeFi 保險產品的治理規則定義賠付標準,可以幫用戶適當的挽回一些損失,但這目前來看也只是杯水車薪。其他存在兜底的平臺大多有較強的中心化角色,在遭受攻擊後,可以利用平臺的激勵融資等多個手段來賠付用戶。

💡潘超:
相比於去中心化治理,管理員權限在大多數情況下處理危機時效率更高,可以暫停系統或者修改不當參數。但壞處是會犧牲去中心化的目的,增加單點的物理風險,比如管理員私鑰的可得性、濫用等。此外,危機發生後,和鏈下機構的合作也很重要,社區協作本身就是 DeFi 力量的一部分。
原生的全局兜底或保險機制比較困難,因爲這實際上意味着稅收 + 監管。
項目方治理人需要對用戶負責,讓用戶自擔風險是不負責任的。

👹曹寅:
首先應該立刻告知用戶,以免有人不明情況而遭受二次損失,如果協議有 Adminkey,可以考慮儘快使用 adminkey 停止協議。其次,應立即想辦法通知所有合作伙伴,以免風險向其他協議或者資產擴散。

Uniswap 是典型沒有管理員,沒人可以升級和關閉的 DeFi,如果開發者已經充分做到了應盡的風險提示義務,那所有因爲已知風險而導致的損失應該由用戶自己承擔,如果是因爲未告知風險而導致的損失,則需要根據具體情況討論,如果協議開發者不向用戶提供使用便利的情況下(即不提供應用界面,不主動向用戶推廣,沒有過度承諾),那責任應該是用戶。如果協議開發者提供應用界面,主動向用戶推廣,並且存在過度承諾的話,那協議開發者應該承擔責任。

100% 風險覆蓋的 DeFi 保險,短期之內應該不大可能,所以在目前階段,DeFi 應用服務提供者身上的責任比較大。

🌟代代:
在定責方面,我同意蔣濤老師說的「誰收益,誰負責」。如果 defi 產品仍舊是由團隊運營,並且團隊因此獲利,那麼就應該承擔產品上的任何資金損失。

我們說 defi 是開放的,以普惠金融爲願景的。但這並不意味着你也可以開發一個合約,我也可以部署一個合約,用戶把錢放進去,然後會不會丟錢全憑這個開發者代碼水平如何,丟了錢能不能找回來,全憑黑客水平如何。

不符合人性的設計,結果只能是自己拒絕了大規模用戶。

我認爲這也不是目前的社區共識。從目前的趨勢看,defi 社區已經在積極尋求更好的安全性和商業性。

我也不認爲「全局兜底 / 保險」是一個可行的方案。

問題三:目前 DeFi 用戶的需求和 DeFi 協議專注的方向是否不夠匹配?這次攻擊隱藏着很多基礎協議仍然存在一些安全漏洞,未來仍然有可能出現類似的危機,DeFi 從業者是否應該重新思考自己構建的協議的價值?

☠️咕嚕:
本次攻擊事件不能歸咎於基礎協議,而是產品的運營事故:在不適用於 ERC777 的協議里納入 ERC777 代幣。舉個例子,如果一個塑料桶本來不適用於盛放有機溶劑,有人用它來盛放丙酮,結果造成泄漏,你說是做容器的人的過錯,還是把丙酮放入容器人的過錯?

🏈徐勇:
我認爲目前不匹配是大量存在的,或許是因爲行業早期的緣故吧。另外個人觀察,整個行業處在一個從務虛轉向務實的階段,務實是指用戶需求導向。所以暫時的不匹配,長遠來看不用太擔心,這是必要的過程。

🦑餘弦:
匹配不匹配是進化出來的,也不可能所有的用戶需求都能滿足,DeFi 其實並不一定需要完全去中心,這是我的個人看法。前面說的:“任何新事物在進化過程中都會有安全風險,這是進化法則告訴我們的,越早期這種風險越大,最終要麼死亡,要麼就會趨於某種比較穩定的平衡。”但其實不必因此而打擊信心,DeFi 一定有自己的定位,但 DeFi 也別想着一統天下,同樣話適合 CeFi。我們應該會看到更多 DeFi + CeFi 的混合體出現。

🎸吳家志:
大方向還是匹配的,但也存在一些爭議,比如如果一個對安全性和兜底保險更敏感的用戶,平臺強調去中心化就不太匹配,又比如如果一個用戶對去中心化比較敏感,平臺任何中心化的用戶體驗優化都可能遭致用戶反感。

代碼世界裏 0day 漏洞是一直都可能存在的,DeFi 協議構建者應當把安全放在首位,務必注意安全上的保障,在安全基礎上再談去中心化或者理財管理等等比較妥善。

🦄️Fiona (IOSG):目前海外社區主流的思想還是 Joel Monegro 當初提出的 fat protocol (胖協議),但是我們看到協議層頻頻爆出黑客攻擊,且這些協議對安全性仍然不夠重視,大多數都會在網站上警示用戶風險自擔,不想承擔任何風險。不同的協議未來仍然會在不同方向進行聚合和升級,在底層需要完善數據備份和安全審計,在面向用戶的聚合應用層仍然是有較高潛力捕獲價值。單純降低用戶門檻肯定是遠遠不夠的,這樣的團隊肯定會出安全的問題。只是降低用戶使用門檻是不負責任的,最大的隱患還是數據安全。胖應用應該胖在安全和數據上,幫助用戶來 verify 技術的安全性。協議層自己說自己是安全的有用嗎?就算是有合約審計,審計公司也無法完全承擔風險,應用端才應該是對安全負責的機構。

🚀Bowen:
這次的黑客攻擊事件, 是一個很大的警鐘, 對於用戶安全性的考慮,對於資金池產品設計(是單一資金池, 還是多資金池, 是一種抵押物可以借多種抵押物, 還是一種抵押物只能借單一資產), 對於是否抵押物可以再次借出的設計的合理性。

CeFi 和 DeFi 並不是對立面, 而是互相補充。 1000 個人心中有 1000 個哈姆雷特, 每一個用戶在意的點都不同, 意識形態之爭求同存異, 只有安全平穩發展纔是重中之重。

💡潘超:
降低槓桿是加密貨幣的初心,追求賬面高收益無意義。DeFi 需要“幼稚產業保護政策”,警惕協議內“病毒” USDT 帶來的負外部性。

👹曹寅:
用戶需求多種多樣,只能說現在的 DeFi 協議方向滿足了現在用戶的需求,但是仍然有大量應用方向的有待探索,所以目前 DeFi 的用戶數量少。

任何協議,只要有人用,都有價值,只是現在的協議開發者的開發方向太同質化,但這也是因爲目前的 DeFi 存在很多協議開發者本身無法解決的瓶頸,比如鏈上身份、鏈下資產上鍊的保全和清算等等問題,這有待於 DeFi 開發者以外的開發者來解決。現在的 DeFi 其實已經在有限的條件下的進行了充分的創新。

🌟代代:
最後,在經歷了這些攻擊事件後,你還有沒有什麼想要對關心 DeFi 的朋友們說些什麼話?

希望社區的討論不要總是糾結於 defi 的定義,希望從業者對金融的本質有更深的認知。defi 無可避免地引發一場 hype,又不可避免地開始大浪淘沙。商業化是 defi 生存和發展的唯一選擇。這一次,中國 defi 社區證明了自己的團隊,後面就到了證明自己商業能力的時候。從碳基文明到硅基文明的過渡,在人類文明的敘事本上,一定有我們的篇章。
最後,在經歷了這些攻擊事件後,你還有沒有什麼想要對關心 DeFi 的朋友們說些什麼話?

希望社區的討論不要總是糾結於 defi 的定義,希望從業者對金融的本質有更深的認知。defi 無可避免地引發一場 hype,又不可避免地開始大浪淘沙。商業化是 defi 生存和發展的唯一選擇。這一次,中國 defi 社區證明了自己的團隊,後面就到了證明自己商業能力的時候。從碳基文明到硅基文明的過渡,在人類文明的敘事本上,一定有我們的篇章。

問題四:最後,在經歷了這些攻擊事件後,你還有沒有什麼想要對 關心 DeFi 的朋友們說些什麼話?

🏈徐勇:
現在的 DeFi 像極了上個世紀 90 年代的互聯網,當初互聯網所面臨的爭議並不比現在的 DeFi 要少。另外在早期判斷一個行業,無非就是人性加趨勢,我認爲 DeFi 在這兩點是邏輯自洽的。總之,短期的挫折長期來看並不重要,我個人是依然看好 DeFi 的。

🦑餘弦:
保持敬畏,共同進化。

🎸 吳家志:
這次攻擊和 312 行業黑天鵝,我相信每一個深處其中的人心情都是蠻沉重的,但無論怎樣這都是 DeFi 行業發展路上的必經之路,也是行業必須要經歷的壓力測試和挑戰。我覺得我們應該看清問題的關鍵,嘗試在未來的發展過程中努力克服,尋求一個更好的化解方案。比如 312 暴露出來的市場波動會對 DeFi 平臺的穩定性壓力測試,Lendf.Me 暴露出來的安全對於 DeFi 世界的重要性,都在提醒我們玩轉 DeFi 應該努力的方向,整體而言對大家是有成長和鞭策意義的。

💡潘超
金融仍然是區塊鏈最合適也可能是唯一的落地場景。金融的去中心化是個過程,現在的 DeFi 不會是其最終形態。

👹曹寅
都是成年人了,自己爲自己的資產負責。

以上即是 Curator.DAO 發佈最新的 PoS 週報,Curator.DAO 是一個去中心化的信息孵化器,Curator.DAO Blockchain Newsletter 爲您速覽區塊鏈行業全面的 PoW、PoS、Defi、投資、政策週報。目前加入的成員包括鏈聞 Chainews、真本聰 Realsatoshi、節點易 Nodeasy 等機構,小毛哥 MAO、Haichao、Weiting、Thomas 等區塊鏈行業從業者。創作不易,中國的 Staking 生態需要高質量的原創內容,想要加入 Curator.DAO 或貢獻內容,或贊助我們,請聯繫:mao@blocks.tech

本報告僅提供相關項目信息,不構成任何投資建議。