許多發生在 Web3 項目上的黑客攻擊都可以通過加強智能合約的安全性進行避免。
通常,攻擊者會發現并利用整個軟件開發環節中的一些缺陷 —— 從設計到部署和維護以及發布新代碼等一系列步驟。如果擁有一套標準的智能合約開發和危險應對流程,我們相信安全事件會相應減少。
本篇文章的目的是概述 Web3 建設者、開發人員和安全團隊在設計、開發和維護智能合約系統時必須考慮的核心安全因素。以下框架討論了應在整個軟件開發生命周期中實施的八種核心安全因素 —— 從威脅建模到應急響應準備。
在了解智能合約安全防護之前,要先了解軟件的開發階段。軟件開發可以分為以下五個階段:
設計:開發人員描述系統所需的功能和操作,包括重要的基準和固定的屬性。
開發:開發人員編寫系統的代碼。
測試和審查:開發人員將所有模塊放在一個測試環境中運行,以此評估代碼的準確性和穩定性。
部署:開發人員將系統投入實際環境。
維護:開發人員評估和修改系統以確保它執行預期的功能。
A16z首席法務官:分布式系統上的結算層不僅僅是一個信息通信層:金色財經報道,A16z首席法務官Jai Ramaswamy在第一天的會議“理性監管 Web3:千載難逢的機會”上發言稱,比特幣論文的原始見解指出,分布式系統上的結算層不僅僅是一個信息通信層,而是一個新穎的計算機科學概念。然而,它的含義遠不止金融,因為它允許在互聯網上創建可編程的分布式層。目前所遇到的問題是,當人們思考監管時,他們會以靜態的方式思考,而事實上,這是一個動態的概念。如果我們考慮一下今天的世界是如何被監管的。互聯網的協議層實際上是被監管的,但它們一般是由自我監管組織(SRO)監管的。而在一些自律組織之外,還有包括SEC、CFTC、FinCen等在內的監管機構,這兩類監管機構通常監管應用層。
我們今天遇到的部分問題是金融監管機構開始監管或認為他們正在監管這些基礎層或協議層,這是一個錯誤。因為監管機構和金融監管機構最沒有能力做出設計決策。行業需要仔細考慮如何通過標準制定機構的自我監管通過最佳實踐來監管基礎層。[2022/10/24 16:37:10]
有了這個基本開發周期的基礎,現在我們可以深入了解每個步驟中影響智能合約安全的注意事項。下圖將需要考慮的因素對應到相關的開發階段。需要注意的是,環節中的某些步驟有多方面安全考慮:
a16z報告:加密驅動的 Web3 可能是十年來最好的機會之一:金色財經報道,加密風險投資公司 Andreessen Horowitz (a16z) 發布一份報告。該報告重申了該公司對 Web3 的樂觀看法,預計該行業將出現長期增長。a16z將報告要是關于 Web3 和以太坊的狀態。這家風險投資巨頭將最近的市場拋售歸因于季節性低迷的可能跡象,同時堅稱加密驅動的 Web3 可能是十年來最好的機會之一。
該公司認為,Web3 提供的經濟條款比 Meta 等 Web2 巨頭要公平得多。根據其數據,2021 年,基于以太坊的 NFT 的初級銷售加上 OpenSea 二級銷售支付給創作者的版稅總計 39 億美元,是 Meta 到 2022 年獎勵其創作者的四倍。
除了將 DeFi 視為傳統金融業的顛覆者之外,a16z 還將 Flowcarbon、Helium 和 Spruce 等區塊鏈項目確定為通過利用 DLT 在隱私、透明度和去中心化方面的優勢來解決重大現實世界問題的有力候選者。[2022/5/22 3:33:29]
a16z向去中心化質押解決方案Lido Finance投資 7000萬美元:3月4日消息,a16z 宣布向去中心化質押解決方案 Lido Finance 投資 7000萬美元,并計劃利用 Lido 將 a16z Crypto 在以太坊信標鏈上持有的未公開的部分 ETH 進行質押。
據悉,Lido Finance 成立于 2020 年,為以太坊 2.0 以及 Solana、Terra 等公鏈提供流動性質押解決方案,允許用戶在沒有鎖定或最低存款的情況下質押他們的 ETH、SOL 等代幣。Lido 于 2021 年 5 月完成由 Paradigm 領投的 7300 萬美元融資,三箭資本、Alameda Research、DCG 等參投 。[2022/3/4 13:36:37]
如上所示,軟件開發生命周期不一定總是遵循線性路徑。在實踐中,可能出現重疊或延伸到其他階段的情況。某些步驟可能在每個版本中都需要重復。一些任務 —— 例如測試和安全審查 —— 可能需要自始至終執行。
上述的軟件生命周期和相應的安全注意事項為促進智能合約的安全性提供了有用的基礎信息,但我們將在下文中對其進行更詳細地研究,使得理解、應用和分享這些實踐變得盡可能簡單,并具體分析關鍵問題:What、Why 以及 How。
元宇宙項目 Everyrealm 完成 6000 萬美元 A 輪融資,a16z領投:2月11日消息,元宇宙項目Everyrealm宣布完成6000萬美元A輪融資,由a16z領投, Coinbase、NGC Ventures、Dragonfly Capital、Hashed、Lightspeed、Griffin Gaming Partners、LibertyCity Ventures、Dapper Labs、Foresight Ventures、Animoca Brands等機構參投。
據悉,Everyrealm通過投資、管理和開發資產塑造元宇宙,包括 NFT、虛擬房地產、元宇宙平臺、游戲和基礎設施等。[2022/2/11 9:43:50]
What:從開發生命周期的一開始就實施識別系統的潛在威脅并確定其優先級的具體方案是很重要的 —— 智能合約開發人員應確定要在開發中實施的所有安全控制以及應在開發中檢查的所有威脅測試、審計和監控。所有的安全假設,包括攻擊的預期復雜程度和手段,都應在設計階段明確定義和闡明。
Why:雖然開發人員傾向于只關注智能合約或協議的預期用途,但這種關注的單一性可能會給他們留下被攻擊者利用的盲點。
a16z Crypto聘請前Winklevoss Capital合伙人Jane Lippencott為合伙人:金色財經報道,風險投資巨頭Andreessen Horowitz的數字資產部門a16z Crypto聘請了前Winklevoss Capital合伙人Jane Lippencott為合伙人。Lippencott最近在風險基金Distributed Global完成了為期7個月的工作,擔任Celo和Teller Finance等加密項目的顧問或導師。在加入Distributed Global之前,她曾在Winklevoss Capital的風險投資部門工作。以此身份,Lippencott參與了多項加密交易,包括TaxBit、TracerDao和ChainFlip。[2021/9/9 23:10:47]
How:遵循已知的威脅建模實踐。如果開發團隊沒有內部安全專業知識,那么它應該在設計階段的早期與安全顧問合作。在設計系統時采用「攻擊者」的心態,并假設任何個人、硬件或服務都可能受到攻擊。
What:實施訪問控制,限制特權賬戶的權限和智能合約調用執行管理任務的特殊功能(例如升級合約和設置特殊參數)。遵循「最低權限原則」:每個參與者應該只擁有所需的最低訪問權限。
Why:通過升級和治理流程維護協議允許開發人員通過添加新功能、修補安全問題和優化不斷變化的條件來改進協議。如果升級的能力沒有得到適當的控制,這可能構成一個嚴重的安全漏洞。
How:建立一個多重簽名錢包或 DAO 合約,將對協議的更改透明化,并且應通過徹底的審查流程以及時間鎖(故意延遲制定并具有取消能力),以確保可以驗證它們的正確性并在發生治理攻擊時回滾。確保特權密鑰在自托管錢包或安全托管服務中,且可以被安全地存儲和訪問。
What:盡可能利用現有的智能合約標準(例如 OpenZeppelin Contracts)并評估您可能需要與現有協議進行集成中可能出現的安全問題。
Why:使用現有的經過實戰檢驗、社區審核的標準在降低安全風險方面大有幫助。評估協議集成的風險有助于您進行安全檢查,以防止針對外部組件的攻擊,例如預言機操縱。
How:導入經過安全審計的可信合約庫和接口,畢竟 Crypto 和 Web3 的重點是開源、重用和可組合性。請務必在代碼庫中記錄您的合約依賴項及其版本,并盡可能減少您代碼的資源占用量;例如,導入大型項目的特定子模塊而不是所有內容;了解您的風險敞口,以便監控攻擊;使用官方接口調用外部協議,并確保考慮到潛在的集成風險;監控您重復使用的合約的更新和安全信息披露。
What:創建清晰、全面的代碼文檔,并設置快速、全面、易于運行的測試套件。在可能的情況下,在測試網上或通過主網模擬設置測試環境中進行更深入的實驗。
Why:為預期行為編寫假設不僅有助于確保威脅模型中的風險得到解決,也有助于用戶和外部審計人員了解開發團隊的意圖。為代碼創建測試套件有助于證明或反駁假設,并鼓勵對威脅模型進行更深入的思考。該測試套件應包括在極端市場情景下檢查項目代幣經濟學的機制設計測試,以及單元測試和集成測試。
How:通過已知的測試框架和安全檢查應用進行測試 —— 例如 Hardhat、 Mythril、 Slither、 Truffle 等;提供不同的測試技術,例如模糊測試(fuzzing)、屬性檢查(property-checking),甚至形式驗證(formal verification);全面記錄您的代碼,使用 NatSpec 注釋來指定預期的副作用、參數和返回值。使用文檔生成工具和高級設計說明生成實時文檔。
What:花時間通過內部和外部代碼審計來發現錯誤。
Why:從功能開發轉移到安全問題上,讓開發人員有時間發現潛在的安全問題。外部審計在這方面可能特別有用,因為它們可以帶來開發團隊沒有的外部觀點和專業知識。
How:在項目開發的適當時刻,安排功能凍結,以便有時間進行內部審查,然后進行外部審計。這些動作應該在實時部署和升級之前進行,可以查看來自 ConsenSys、Nascent、OpenZeppelin 和 Trail of Bits 的指南,這些指南為開發人員提供了考慮事項清單 —— 包括時間安排 —— 供任何準備審計的人使用。還要確保查看部署事務以確保它們使用經過審核的代碼版本并具有適當的參數,尤其是在升級軟件時。
What:創建鼓勵社區參與開源代碼庫安全改進的計劃。一種方法是建立漏洞賞金。另一種方法是鼓勵社區開發協議監控檢測機器人。
Why:開發團隊可以從更廣泛的知識和經驗中受益(同樣,開源也有助于 Crypto 發展)。值得注意的是,此類程序可以幫助激發開發者對項目的熱情,實質上將社區和白帽黑客變成了傳道者。它們還可以通過為黑客提供成為防御者的途徑來幫助將潛在的攻擊者轉變為守護者。
How:使用漏洞賞金平臺(例如 Code4rena、HackenProof、 Immunefi 或 Secureum)為賞金系統提供基于嚴重程度的獎勵,以激勵熟練的黑客披露漏洞。(披露:本文的一些共同作者為 Forta 工作,該網絡有一個為創建去中心化高質量安全監控機器人提供代幣激勵結構的網絡。)開發團隊可以鼓勵他們的協議社區利用傳統和 Web3 原生的方法來激勵對漏洞的尋找,并讓參與者通過增強安全性來獲得潛在獎勵,從而為所有人帶來雙贏。
What:實施監控智能合約和關鍵運營組件(如預言機和跨鏈橋)的系統,并根據已知威脅模型向開發團隊和社區報告可疑活動。
Why:早期發現問題使團隊能夠快速對漏洞和錯誤進行響應,從而可能阻止或減輕損害。這似乎很容易想到,但在規劃中可能會被忽略。
How:使用監控平臺或分布式節點運行實時監控智能合約事件的機器人。根據需要為開發團隊和更廣泛的社區建立儀表板和警報通知。
What:利用能夠在出現任何安全問題時立即做出響應的工具和流程。
Why:即使有最好的部署前保護措施,智能合約和關鍵組件(例如預言機和跨鏈橋)仍然可能存在臨時問題。擁有專門的人員、清晰的流程和適當的自動化確保可以快速調查并盡快解決事件。
How:通過計劃如何響應事件或緊急情況以及最大程度地使得響應能力自動化,為最壞的情況做準備。包括為有能力的人員分配調查和響應責任,這些人員可以通過分布式安全郵件列表、代碼存儲庫中的說明或智能合約注冊表公開聯系與安全問題相關的人員。根據協議的威脅模型,開發一套流程,其中可能包括場景演習和采取緊急行動的預期響應時間。考慮將自動化集成到事件響應中:例如,工具可以接收來自 Forta 機器人的事件并對其采取行動。
對于安全的考慮應該是成功開發的一個組成部分,而不僅僅是事后的想法。
盡管上述框架為構建 Web3 協議和應用的團隊在整個開發過程中提高安全性方面提供了一些快速指南,但簡短概述不足以提供對智能合約安全性各個方面的詳盡討論。缺乏內部安全專業知識的團隊應該聯系合格的 Web3 安全專家,他們可以幫助團隊將上述的通用指導應用于他們的具體情況。但最重要的是,請記住,安全絕不僅僅是在簡單的清單中打勾以管理復雜的問題,它始終是一套永無止境、持續不斷的實踐過程。我們仍處于建立這些實踐的開始階段,因此現在是為所有開發人員協作創建和共享安全實踐的時候了。
原文標題:《深度研究:如何設計代幣經濟學框架?》牛市時我是個愚蠢的樂觀主義者,熊市時我會繼續是個愚蠢的樂觀主義者.
1900/1/1 0:00:001.DeFi代幣總市值:478.66億美元 DeFi總市值 數據來源:coingecko2.過去24小時去中心化交易所的交易量:38.
1900/1/1 0:00:00美國政府問責辦公室:加密監管需要解決機構間缺乏合作的問題:金色財經報道,國會監督機構、美國政府問責辦公室 (GAO) 發布了一份6月份完成的關于金融區塊鏈使用監管框架的報告.
1900/1/1 0:00:00原文標題:《世界上最高效的市場運行在區塊鏈》區塊鏈技術帶來創新,這種創新的本質往往在公眾爭論中消失了——爭論集中在對區塊鏈的負面看法.
1900/1/1 0:00:00我們將 Web3 定義為基于區塊鏈技術的去中心化互聯網生態系統。首先,作為開發人員和建設者,我們理解去中心化通常會喚起碎片化技術堆棧的概念.
1900/1/1 0:00:00頭條 ▌比特幣哈希率回升至歷史新高金色財經報道,在5月份短暫放緩之后,比特幣網絡的哈希率反彈至歷史新高。總的來說,哈希率現在達到 258 exahashes (EH/s).
1900/1/1 0:00:00