所謂的形式化驗證,簡單而言就是用數學工具進行驗證的方法,把代碼編成數學模型,從設計到實現整個流程,通過證明手段來證明代碼是完備安全的。
形式化驗證作為成都鏈安的核心技術之一,已經幫助上千份智能合約解決安全問題。可能很多人會問,為什么人工不能檢測到的問題,形式化驗證可以呢?
這是因為,對于形式化驗證,可以無需理解合約具體實現的細節,無需構造特定的場景,無需數據枚舉;通過邏輯關系凝練出可復用的安全屬性,對合約每條路徑都會進行嚴謹的數學公式推理,自動檢測每個可能的系統狀態及操作,計算出可滿足的解,并根據求解結果對比是否違反安全屬性最終檢測出每條路徑下可能存在的安全問題。
Paradigm正構建基于Rust的以太坊執行層Reth:11月24日消息,加密風投機構Paradigm首席技術官Georgios Konstantopoulos在推特上表示,Paradigm正在構建基于Rust的以太坊執行層Reth。Reth不是任何其他客戶端實現的分叉或重寫,而是一個新的Apache/MIT許可的全節點實現,其核心目標是模塊化和開源友好性。[2022/11/24 8:04:09]
以太坊合并“后時代”,智能合約安全同樣不可忽視,今天,我們為大家準備了一個以太坊生態的案例,看看下面這份合約是如何在我們的智能合約形式化驗證平臺“鏈必驗”檢測出漏洞的。
數據:最近一周,以太坊網絡新增77萬枚NFT資產:金色財經報道,NFTScan數據顯示,最近一周,以太坊網絡新增77萬枚NFT資產,平均每天新增鑄造11萬枚NFT資產。[2022/1/9 8:35:42]
鏈必驗,是一款全球領先的“一鍵式”智能合約形式化驗證平臺。檢測準確率高達97%以上,精確定位風險代碼位置并給出修改建議,自動檢測智能合約80余項的常規安全漏洞及功能邏輯缺陷。現已擁有生態用戶10萬+,是全球首套同時支持螞蟻鏈、騰訊區塊鏈、FISCO-BCOS、Fabric等的智能合約形式化驗證平臺。可以極大提高智能合約的人工審計效率,有效降低安全隱患遺漏風險。
01.
準備需要驗證的示例Wizard_game.sol
說明:
原合約為以太坊上真實存在的一個巫師決斗合約。為了看起來簡單明了并且能夠使用形式化檢測驗證問題,本合約根據邏輯關系只保留巫師決斗超時的處理接口;
以太坊未確認交易為174,930筆:金色財經消息,據OKLink數據顯示,以太坊未確認交易174,930筆,當前全網算力為525.03TH/s,全網難度為7.18P,當前持幣地址為61,934,424個,同比增加55,346個,24h鏈上交易量為1,880,999.84ETH,當前平均出塊時間為13s。[2021/8/2 1:28:17]
resolveTimedOutDuel是更新處理超時情況下的巫師決斗結果的接口;
其中每個巫師有自己的決斗場和決斗能量;
若巫師1滿足勝利條件,則將巫師2的決斗能量轉移給巫師1,再將巫師2的決斗能量清零。
2.合約上傳
新增項目
在“鏈必驗”工具中創建需要檢測的項目。本次檢測的項目為ETH類型項目,那么根據需求點擊工具左上方“新增項目”按鈕,輸入項目名稱,選擇項目類型,點擊確定。
USDC Treasury在以太坊網絡增發近5479萬枚USDC:Whale Alert數據顯示,北京時間1月23日02:55-00:56,USDC Treasury在以太坊網絡上先后增發兩筆總計54789258枚USDC。[2021/1/23 16:49:17]
新增合約文件夾
選擇剛創建好的項目,點擊工具左上方的“新增合約文件夾”按鈕,輸入文件夾名稱。
上傳合約文件
選擇剛創建好的文件夾,點擊工具左上方的“上傳”按鈕,上傳準備好檢測的合約文件。
3.合約檢測
新增項目
將待檢測合約上傳完成之后,選擇此合約,按照合約內容輸入檢測參數,然后點擊開始檢測。
4.查看結果
待合約檢測完成之后,查看檢測結果,通過代碼定位、錯誤描述、修復建議了解明確該漏洞的具體信息,然后查看代碼邏輯尋找問題并進行修復。
5.結果分析
經分析,產生此漏洞的原因是在執行resolveTimedOutDuel接口更新巫師1和巫師2的決斗屬性時,未考慮巫師1和巫師2相等的情況,在此場景下,巫師1的決斗能量會先翻倍,然后再清零,導致巫師1狀態更新前后總的決斗能量發生了改變,所以導致了assert斷言的失敗。
6.問題解決
此時在resolveTimedOutDuel接口中添加一個限制條件“require(wizardId1!=wizardId2);”,確保在執行決斗屬性更新時巫師1和巫師2不相等,查看是否還存在此問題。
7.漏洞檢測難度人工難以察覺,隨機測試難以出現這種情況
對于智能合約的驗證,通常是伴隨人工驗證,靠自身經驗不斷嘗試枚舉各項可能不滿足的輸入條件,從而比對輸出來判斷是否存在漏洞;其存在的問題就是人工成本昂貴,測試時無法覆蓋到所有的路徑,測試具有一定的機械性、重復性、工作量往往較大。
而對于智能合約的另外一種驗證方式-fuzzing模糊測試,雖然可以解決人工成本昂貴的問題,但是由于其沒有實際執行規則機制原因,僅靠“蠻力”不斷枚舉各個輸入,同樣存在可能出現某種輸入漏掉的問題,并且無法根據路徑檢測出一些邏輯性的漏洞。
在加密行業你想抓住下一波牛市機會你得有一個優質圈子,大家就能抱團取暖,保持洞察力。
如果只是你一個人,四顧茫然,發現一個人都沒有,想在這個行業里面堅持下來其實是很難的。
想抱團取暖,或者有疑惑的,歡迎加入!
感謝閱讀,喜歡的朋友可以點個贊關注哦,我們下期再見!
Tags:以太坊ETHCOS以太坊幣是什么幣ETH錢包地址ETH挖礦app下載Etherael指什么寓意COS價格COS幣
將推出新的ShibaInu生態系統代幣。SHIB繼續在鯨魚中流行。經過漫長的等待,ShibaInu透露了meme硬幣生態系統的重大更新.
1900/1/1 0:00:00比特幣礦業公司CleanSpark已收購3,843家加密貨幣礦工,以鞏固其在市場中的地位。CleanSpark以每terahash15.50美元的價格以590萬美元的價格購買了AntminerS.
1900/1/1 0:00:00ERC鏈是一種基于以太坊網絡的智能合約協議,用于創建和交互去中心化應用。ERC全稱為EthereumRequestforComments,是由以太坊開發者社區提出和制定的標準,用于規范和發展以太.
1900/1/1 0:00:00狗狗幣再次證明了它與自稱“狗狗之父”的埃隆·馬斯克的緊密聯系,后者在周四晚上強調了他對Twitter的收購,有報道稱他解雇了這家社交媒體巨頭的關鍵官員.
1900/1/1 0:00:00比特幣價格正試圖向上修正至21,500美元以上。以太坊在1,650美元附近面臨阻力,XRP在0.34美元附近盤整。EOS和CHZ上漲了近20%。比特幣價格在強勁下跌至21,000美元后開始盤整.
1900/1/1 0:00:00特斯拉首席執行官埃隆馬斯克宣布,他在2021年初購買了狗狗幣,這讓namecoin的價格陷入了瘋狂。所以你可能想知道,ElonMusk擁有多少,2022年ElonMusk是否還有狗狗幣.
1900/1/1 0:00:00