所謂的形式化驗證,簡單而言就是用數學工具進行驗證的方法,把代碼編成數學模型,從設計到實現整個流程,通過證明手段來證明代碼是完備安全的。
形式化驗證作為成都鏈安的核心技術之一,已經幫助上千份智能合約解決安全問題。可能很多人會問,為什么人工不能檢測到的問題,形式化驗證可以呢?
這是因為,對于形式化驗證,可以無需理解合約具體實現的細節,無需構造特定的場景,無需數據枚舉;通過邏輯關系凝練出可復用的安全屬性,對合約每條路徑都會進行嚴謹的數學公式推理,自動檢測每個可能的系統狀態及操作,計算出可滿足的解,并根據求解結果對比是否違反安全屬性最終檢測出每條路徑下可能存在的安全問題。
Blur以太坊銷毀量超過NFT交易聚合器Gem:金色財經報道,據ultrasound.money最新數據顯示,Blur以太坊銷毀量超過NFT交易聚合器Gem,當前Blur以太坊銷毀量已達到11,059.46 ETH,Gem則為10,402.09 ETH。另據Dune Analytics數據,本文撰寫時Blur平臺交易額已達到1,994,554 ETH,按照當前價格計算約為35億美元,NFT銷售總量為3,312,750筆。[2023/3/23 13:21:34]
以太坊合并“后時代”,智能合約安全同樣不可忽視,今天,我們為大家準備了一個以太坊生態的案例,看看下面這份合約是如何在我們的智能合約形式化驗證平臺“鏈必驗”檢測出漏洞的。
以太坊鏈上智能合約數量突破5000萬:8月9日消息,據Dune Analytics數據顯示,以太坊鏈上智能合約數量已突破5000萬個,截至目前約為5110萬個。此外,當前以太坊鏈上地址數量為2.12億個,交易數量達到16.7億筆。[2022/8/9 12:11:30]
鏈必驗,是一款全球領先的“一鍵式”智能合約形式化驗證平臺。檢測準確率高達97%以上,精確定位風險代碼位置并給出修改建議,自動檢測智能合約80余項的常規安全漏洞及功能邏輯缺陷。現已擁有生態用戶10萬+,是全球首套同時支持螞蟻鏈、騰訊區塊鏈、FISCO-BCOS、Fabric等的智能合約形式化驗證平臺。可以極大提高智能合約的人工審計效率,有效降低安全隱患遺漏風險。
01.
準備需要驗證的示例Wizard_game.sol
以太坊名稱服務宣布將推出治理代幣:金色財經報道,基于以太坊的開源域名協議以太坊名稱服務(ENS)周一宣布將通過使用代表和治理代幣$ENS來去中心化其治理過程。ENS稱,相信ENS和DAO空間都已經足夠成熟,現在是時候通過創建DAO和$ENS治理代幣來將ENS治理傳遞給社區。[2021/11/2 21:16:42]
說明:
原合約為以太坊上真實存在的一個巫師決斗合約。為了看起來簡單明了并且能夠使用形式化檢測驗證問題,本合約根據邏輯關系只保留巫師決斗超時的處理接口;
resolveTimedOutDuel是更新處理超時情況下的巫師決斗結果的接口;
其中每個巫師有自己的決斗場和決斗能量;
若巫師1滿足勝利條件,則將巫師2的決斗能量轉移給巫師1,再將巫師2的決斗能量清零。
動態 | 約20.6%的節點更新客戶端以支持以太坊升級:據ethernodes數據顯示,過去24小時Geth和Parity的以太坊客戶端節點中,一共有11643個節點。Geth客戶端目前有7490個節點,其中1408個節點更新了客戶端;Parity的以太坊客戶端節點有3293個,其中更新客戶端的節點有986個;目前更新支持以太坊君士坦丁堡和彼得堡硬分叉的節點數為2394,占比為20.6%。目前以太坊的區塊高度為7270088,距離以太坊升級還剩9912個區塊,剩余時間還有2天8小時37分。[2019/2/26]
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幣
當時我進入幣圈是出于一個偶然的機會,那時候的“手機挖礦”APP非常的火爆,簽到領算力,認籌買礦機,然后產幣進行交易.
1900/1/1 0:00:00中本聰的比特幣是最早的、最著名的區塊鏈。同樣,以太坊已成為家喻戶曉的名字,甚至在許多非加密貨幣本地人中也是如此。但是替代鏈——比特幣和以太坊以外的區塊鏈網絡——正在穩步上升.
1900/1/1 0:00:00隨著最近圍繞全球最大加密貨幣交易所之一FTX的戲劇性事件繼續在加密貨幣領域引發沖擊波,數字資產正在努力恢復,市場正在計算其損失.
1900/1/1 0:00:00投資者預計美聯儲本周將再次加息,這對比特幣、以太幣和整個加密市場造成了重大損失。盡管前一天市場出現了看漲的轉變,但它無法扭轉這一趨勢.
1900/1/1 0:00:00加密貨幣市場目前正在經歷另一場崩盤。由于更廣泛的經濟壓力增加以及對美聯儲將再次加息的擔憂,硬幣價格正在走低。一些投資者想知道大多數大盤代幣是否會再次測試其數月低點.
1900/1/1 0:00:00鑒于熊市已經導致加密資產在2022年失去大部分價值,許多交易員和分析師對即將到來的看漲風暴持樂觀態度。自一年多前牛市達到頂峰以來,波動性已大大降低,加密資產的價格現在比以往任何時候都平靜.
1900/1/1 0:00:00