以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > BNB > Info

智能合約開發必讀:這10個Solidity安全問題不容忽視_DEF

Author:

Time:1900/1/1 0:00:00

編者按:本文來自登鏈社區,Odaily星球日報經授權轉載。在2018年,我們曾對智能合約安全狀況進行過初步研究,重點是Solidity編寫的智能合約。當時,我們根據公開的合約源代碼編寫了最常見的10個智能合約安全問題。兩年過去了該更新研究并評估智能合約安全性發展的如何了。值得關注的其他問題

盡管有一個安全問題排名很不錯,但它往往一些有趣的細節,因為某些細節與排名列表并不完全一致。在深入挖掘10大問題之前,必要闡述一下原始研究中一些值得關注的亮點問題:在2018年,最主要的兩個問題是外部合約拒絕服務和重入。但是現在這些問題有所緩解。可以從我們的研究博客中了解更多有關Reentrancy的信息:從安全角度出發審視智能合約。譯者注:實際上由于DeFi應用之間的組合應用,又導致了多起嚴重的重入攻擊事件。現在Solidityv0

多鏈 DeFi 管理協議 Instadapp 推出智能合約錢包 Avocado:3月9日消息,多鏈 DeFi 管理協議 Instadapp 推出智能合約錢包 Avocado,支持多網絡交易,所有網絡的 Gas 以 USDC 形式支持,無需管理多個本地 Gas 代幣。同時用戶可利用內置帳戶抽象來創建只有自己可以控制的確定性智能合約,Avocado 額外收取 20% 的 Gas 費,其中 10% 給 DApp 集成商。[2023/3/9 12:50:59]

如上例所示,在乘法之前執行的除法,可能會有巨大的舍入誤差。5.依賴tx

動態 | bZx遭受二次攻擊,需要對DeFi智能合約進行徹底審計:昨日去中心化金融(DeFi)貸款協議bZx再次被攻擊后,該平臺被關閉并離線,開發人員試圖修復合同,保證惡意行為體無法執行另一次攻擊。第一次攻擊讓加密社區措手不及,因為flashloans是DeFi平臺提供的新產品。第二次攻擊表明,需要對DeFi智能合約進行非常徹底的審計。bZx在兩次攻擊中都凍結了平臺,這一事實表明,即使將其作為DeFi進行銷售,但最終它是一個集中化平臺,開發者可以使用“管理密鑰”來關閉平臺上的交易。(Bitcoinis)[2020/2/19]

}可以在Solidity的文檔中找到TxOrigin攻擊的詳細說明。簡單的說,tx

聲音 | 彭楓:智能合約交易可以減少人工干預:金色財經現場報道,在今日舉辦的金融界2018夏季達沃斯之夜+區塊鏈思享會上,中國人民銀行數字貨幣研究所規劃部負責人彭楓提出了自己的創新思路,認為區塊鏈可以做到數據上鏈登記,包括三流信息同步,多方信息一致,全新數據存儲結構,算法保障安全可信,對等協作新模式;全方位數據驗證,包括開放賬本體系,內部共識驗證,外部交叉驗證,共享驗證存證,探索跨鏈交互;信息穿透,包括底層資產信息披露,信息安全可信,動態數據更新,信息全局一致,滿足多方需求;智能合約交易,包括減少人工干預,簡化流程執行,公開透明交易,自動強制執行,創新業務探索等。[2018/9/17]

在上面的示例中,當i的值為0時,下一個值為2^256-1,這使條件始終為true。開發人員應當盡量使用<、>、!=和==進行比較。7.不安全的類型推導

該問題在Solidity十大安全問題排行榜中上升了兩位,現在影響到的智能合約比之前多了17%以上。Solidity支持類型推導,但有一些奇怪的表現。例如,字面量0會被推斷為byte類型,而不是通常期望的整型。在下面的示例中,i的類型被推斷為uint8,因為這時能夠存儲i的值uint8就足夠。但如果elements數組包含256個以上的元素,則下面的代碼就會發生溢出:for(vari=0;i<elements

在這個例子中,攻擊者可能利用此行為來進行拒絕服務攻擊,從而阻止其他用戶接收以太幣。10.時間戳依賴

在2018年,時間戳依賴問題排名第五,重要的是要記住,智能合約在不同時刻多個節點上運行的。以太坊虛擬機不提供時鐘時間,并且通常用于獲取時間戳的now變量實際上是礦工可以操縱的環境變量。if(timeHasCome==block

由于礦工可以操縱當前的環境變量,因此只能在不等式>、<、>=和<=中使用其值。如果你的應用需要隨機性,可以參考RANDAO合約,該合約基于任何人都可以參與的去中心化自治組織,是所有參與者共同生成的隨機數。總結

比較2018年和2020年十大常見問題時,我們可以觀察到開發最佳實踐的一些進展,尤其是那些影響安全性的實踐。看到2018年排名前2位的問題:外部合約拒絕服務和重入,已經不再榜單了,這是一個積極的信號,但仍然需要采取措施來避免這類常見錯誤。請記住,智能合約在設計上是不可變的,這意味著一旦創建,就無法修補源代碼。這對安全性構成了巨大挑戰,開發人員應利用可用的安全測試工具來確保在部署之前對源代碼進行了充分的測試和審核。Solidity是一種非常新且仍在成熟的編程語言,Solidityv0.6.0引入了一些重大更改,并且預計在以后的版本中還會有更多更改。來源鏈接:securityboulevard.com

Tags:DEFEFIDEFISOLIDDOGDEFI價格NINEFIYearn DeFi ForkSolidblock

BNB
我們對自己的加密資產有自主權嗎?USDC地址資產被凍結引發熱議_USD

編者按:本文來自區塊律動BlockBeats,Odaily星球日報經授權轉載。7月8日穩定幣USDC的發行機構Centre應美國執法部門的要求,已將某個地址列入黑名單,凍結了該地址資產.

1900/1/1 0:00:00
2萬張NFT數字收藏卡1小時搶空,區塊鏈+收藏品是否能成新趨勢?_區塊鏈

區塊鏈+產業,一直處于一個話題性高但落地性不足的困局中,區塊鏈開發者和傳統行業從業者似乎都找不到足夠的“剛需”場景,因此也就缺乏推進落地的動力.

1900/1/1 0:00:00
EOS周報 | EOS跌出市值排行榜前十;Voice正式向全球用戶開放閱讀(6.30-7.6)_EOS

本周大事記 數據上,EOS主網賬戶量上周已突破198萬。不過,幣價方面EOS慘遭ADA、CRO超越,在全幣種中市值排名跌出前十名,目前排列榜單第十一位.

1900/1/1 0:00:00
科普:比特幣挖礦的過程_比特幣

比特幣挖礦科普專輯到這里就要收尾了,經過前兩篇文章鋪墊,相信讀者朋友已經對比特幣交易和區塊產生的過程有一定的認識.

1900/1/1 0:00:00
一文讀懂世界比特幣礦業成本,了解比特幣算力_比特幣

編者按:本文來自巴比特資訊,作者:BitOoda,編譯:夕雨,星球日報經授權發布。挖礦是比特幣網絡的基礎組成部分,而BTC則是資產.

1900/1/1 0:00:00
觀點:8月份比特幣突破10000美元的可能性超過90%_比特幣

編者按:本文來自巴比特資訊,作者:AdrianKlent,譯者:夕雨,星球日報經授權發布。在過去的三周中,價格技術圖表上幾乎所有指標都標志著比特幣呈現出價格突破.

1900/1/1 0:00:00
ads