比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > DYDX > Info

以太坊合并“后時代”「形式化驗證技術」如何檢測合約安全?_ETH

Author:

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

所謂的形式化驗證,簡單而言就是用數學工具進行驗證的方法,把代碼編成數學模型,從設計到實現整個流程,通過證明手段來證明代碼是完備安全的。

形式化驗證作為成都鏈安的核心技術之一,已經幫助上千份智能合約解決安全問題。可能很多人會問,為什么人工不能檢測到的問題,形式化驗證可以呢?

這是因為,對于形式化驗證,可以無需理解合約具體實現的細節,無需構造特定的場景,無需數據枚舉;通過邏輯關系凝練出可復用的安全屬性,對合約每條路徑都會進行嚴謹的數學公式推理,自動檢測每個可能的系統狀態及操作,計算出可滿足的解,并根據求解結果對比是否違反安全屬性最終檢測出每條路徑下可能存在的安全問題。

數據:Bitfinex上以太坊永續合約達1個月低點:金色財經消息,據Glassnode數據顯示,當前Bitfinex上的以太坊永續合約(24小時)為8,983,095.43美元,達1個月低點。[2022/7/10 2:03:32]

以太坊合并“后時代”,智能合約安全同樣不可忽視,今天,我們為大家準備了一個以太坊生態的案例,看看下面這份合約是如何在我們的智能合約形式化驗證平臺“鏈必驗”檢測出漏洞的。

鏈必驗,是一款全球領先的“一鍵式”智能合約形式化驗證平臺。檢測準確率高達97%以上,精確定位風險代碼位置并給出修改建議,自動檢測智能合約80余項的常規安全漏洞及功能邏輯缺陷。現已擁有生態用戶10萬+,是全球首套同時支持螞蟻鏈、騰訊區塊鏈、FISCO-BCOS、Fabric等的智能合約形式化驗證平臺。可以極大提高智能合約的人工審計效率,有效降低安全隱患遺漏風險。

數據:16.4萬枚ETH在近一周被質押至以太坊2.0合約:據歐科云鏈鏈上大師數據顯示,當前以太坊2.0存款合約地址已收到725.9萬ETH,占以太坊供應量的6.2%,近一周新增質押164000 ETH,單周增量環比下降55.25%;當前已有43309個地址參與以太坊2.0質押,近一周新增562個。[2021/8/30 22:46:07]

01.

準備需要驗證的示例Wizard_game.sol

說明:

原合約為以太坊上真實存在的一個巫師決斗合約。為了看起來簡單明了并且能夠使用形式化檢測驗證問題,本合約根據邏輯關系只保留巫師決斗超時的處理接口;

resolveTimedOutDuel是更新處理超時情況下的巫師決斗結果的接口;

其中每個巫師有自己的決斗場和決斗能量;

以太坊智能合約自動執行工具Gelato即將發布GEL代幣:5月7日消息,以太坊智能合約自動執行工具GelatoNetwork宣布即將發布GEL代幣,GEL將具有治理和質押兩個關鍵功能。治理功能方面,代幣持有者能對GelatoDAO中的提案進行投票。另外,GelatoNetwork還計劃擴展到Polygon(原MaticNetwork)、幣安智能鏈等網絡上,以滿足自動化智能合約執行的需求。注:GelatoNetwork支持開發人員無需運行任何底層服務器基礎架構,自動執行用戶交易。去年9月份,GelatoNetwork完成120萬美元種子輪融資,IOSGVentures和GalaxyDigital領投。今年4月中旬,GelatoNetwork發布V2版本,新功能包括每個DApp都可以定義自己的自定義界面、無需代理合約等。[2021/5/7 21:33:28]

若巫師1滿足勝利條件,則將巫師2的決斗能量轉移給巫師1,再將巫師2的決斗能量清零。

以太坊研發者跟蹤發現已有39個USDT相關地址都被列入黑名單:7月9日,USDC地址被拉黑一事引發熱議,針對此事,以太坊研發者Philippe Castonguay制作了一個DuneAnalytics版面,用以展示和跟蹤被USDC放入黑名單的地址。根據該版面最新數據,已有39個USDT地址都被列入禁用地址。早間消息,穩定幣USDC發行機構Centre應美國執法部門的要求,將一個擁有近10萬枚USDC的以太坊地址列入黑名單凍結資產。[2020/7/9]

2.合約上傳

新增項目

在“鏈必驗”工具中創建需要檢測的項目。本次檢測的項目為ETH類型項目,那么根據需求點擊工具左上方“新增項目”按鈕,輸入項目名稱,選擇項目類型,點擊確定。

新增合約文件夾

選擇剛創建好的項目,點擊工具左上方的“新增合約文件夾”按鈕,輸入文件夾名稱。

上傳合約文件

選擇剛創建好的文件夾,點擊工具左上方的“上傳”按鈕,上傳準備好檢測的合約文件。

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幣

DYDX
波動性最小的“Uptober”——本周比特幣需要了解的 5 件事_USD

2022年10月尚未證明自己,因為分析師預測11月比特幣價格將出現“狂野”波動。 比特幣在結束所有交易區間的交易區間繼續保持穩定的情況下,以堅定的平均情緒開始“Uptober”的最后一周.

1900/1/1 0:00:00
BTC 和 ETH 正在上漲,它們下一步將走向何方?_BTC

在美國聯邦儲備委員會主席杰羅姆鮑威爾周二宣布通貨膨脹開始下降之后,比特幣一直在恢復強勢,目前交易價格高于23,000美元大關。另一方面,以太坊最近能夠穩定在1650美元關口.

1900/1/1 0:00:00
Shiba Inu 燒毀采摘勢頭,8 月燒毀 37.8 億 Shib:詳細信息_SHI

2022年8月燒毀了37.8億柴犬(SHIB),過去24小時燒毀了4.6113億,單筆交易燒毀了2.19億.

1900/1/1 0:00:00
2022 年 9 月 9 日的以太坊價格分析_MAC

以太坊價格分析2022年9月9日,按市值計算的第二大加密貨幣以太坊自2021年11月以來一直處于下跌趨勢。本周第五天,以太坊買家主導了基于每周DojiHeikinAshi燭臺的價格.

1900/1/1 0:00:00
比特幣波動率指數表明價格大幅波動即將到來_比特幣

比特幣波動率指數的歷史數據暗示,加密貨幣的價格可能會在不久的將來出現重大變動。 比特幣波動率指數最近低于25正如一位經濟學家在Twitter上指出的那樣,波動率指數已經下降到一個歷史上跟隨BTC.

1900/1/1 0:00:00
比特幣(BTC)最近的價格下跌是危險信號還是買入機會?_比特幣

經過一系列橫向交易時段后,BTC價格終于出現了激動人心的下行趨勢,帶來了未來價格大幅波動的希望。幾位分析師認為,這種趨勢是比特幣投資者逢低買入并獲得回報的絕佳機會.

1900/1/1 0:00:00
ads