所謂的形式化驗證,簡單而言就是用數學工具進行驗證的方法,把代碼編成數學模型,從設計到實現整個流程,通過證明手段來證明代碼是完備安全的。
形式化驗證作為成都鏈安的核心技術之一,已經幫助上千份智能合約解決安全問題。可能很多人會問,為什么人工不能檢測到的問題,形式化驗證可以呢?
這是因為,對于形式化驗證,可以無需理解合約具體實現的細節,無需構造特定的場景,無需數據枚舉;通過邏輯關系凝練出可復用的安全屬性,對合約每條路徑都會進行嚴謹的數學公式推理,自動檢測每個可能的系統狀態及操作,計算出可滿足的解,并根據求解結果對比是否違反安全屬性最終檢測出每條路徑下可能存在的安全問題。
數據:近24小時以太坊上Dex交易量約為3.93億美元:據歐科云鏈OKLink數據顯示,截至今日18時,近24小時以太坊上去中心化交易所總交易量約為3.93億美元。其中交易量排名前五的分別是Uniswap V2 2.06億美元,環比上升7.6%;0x協議0.51億美元,環比上升9.83%;Curve協議 0.5億美元,環比下降22.21%;Tokenlon 0.34億美元,環比上升 4.94%以及1inch 0.15億美元,環比下降38.46%。[2020/10/20]
以太坊合并“后時代”,智能合約安全同樣不可忽視,今天,我們為大家準備了一個以太坊生態的案例,看看下面這份合約是如何在我們的智能合約形式化驗證平臺“鏈必驗”檢測出漏洞的。
當前以太坊上DeFi協議總鎖倉量約合118.8億美元:金色財經報道,據歐科云鏈OKLink數據顯示,截至今日16時,以太坊上DeFi協議總鎖倉量約合118.8億美元。其中排名前五的分別是Uniswap 20.1億美元(+0.9%),Maker 18.1億美元(+1.34%),Curve 15.5億美元(+1.82%),Aave 12億美元(+1.02%)以及Yearn 8.26億美元(-7.44%)。[2020/9/23]
鏈必驗,是一款全球領先的“一鍵式”智能合約形式化驗證平臺。檢測準確率高達97%以上,精確定位風險代碼位置并給出修改建議,自動檢測智能合約80余項的常規安全漏洞及功能邏輯缺陷。現已擁有生態用戶10萬+,是全球首套同時支持螞蟻鏈、騰訊區塊鏈、FISCO-BCOS、Fabric等的智能合約形式化驗證平臺。可以極大提高智能合約的人工審計效率,有效降低安全隱患遺漏風險。
動態 | 以太坊指南即將發行:據ethnews報道,區塊鏈重量級人物Andreas Antonopoulos最近通過reddit宣布,他與Gavin Wood合著的的以太坊指南“Mastering Ethereum”已被復制編輯,并且即將開始打印。根據Antonopoulos的說法,這本書將幫助開發人員學習如何在以太坊網絡上構建。據悉,該指南共400多頁,將于將于12月10日推出。[2018/10/20]
01.
準備需要驗證的示例Wizard_game.sol
說明:
原合約為以太坊上真實存在的一個巫師決斗合約。為了看起來簡單明了并且能夠使用形式化檢測驗證問題,本合約根據邏輯關系只保留巫師決斗超時的處理接口;
resolveTimedOutDuel是更新處理超時情況下的巫師決斗結果的接口;
以太坊價格再創新高699美元 上漲動能持續:據OKEX行情顯示,晚間10點半以太坊(ETH)價格達699美元,24小時漲幅達16%,再創新高。ETH近兩日以來呈現強勢上漲態勢,不斷刷新歷史高位,上漲動能持續。[2017/12/14]
其中每個巫師有自己的決斗場和決斗能量;
若巫師1滿足勝利條件,則將巫師2的決斗能量轉移給巫師1,再將巫師2的決斗能量清零。
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幣
MakerDAO引入了一種新代幣以添加到其抵押品中由于現實世界的資產和增加收益率的計劃獲得批準,產生的收入增加 MakerDAO在12月3日的一項新提案中決定提高DAI持有者獲得的收益.
1900/1/1 0:00:00對于加密貨幣市場來說,周四是看跌的交易日。以太坊合并和市場對美聯儲的擔憂使市場陷入深紅色。 重要見解: 對于加密貨幣前十名來說,這是一個看跌的周四交易日,以太坊領跌.
1900/1/1 0:00:00MystenLabs開發的Layer1公鏈SuiNetwork宣布啟動側重獨立驗證者的SuiTestnetWave1,這意味著自2022年5月6日啟動了SuiDevnet以來.
1900/1/1 0:00:00過去一周,狗狗幣價格出現了大幅下跌。在給定的時間內,它損失了15%的市場價值。在過去24小時內,DOGE下跌了0.7%。當前的價格走勢指向區間波動.
1900/1/1 0:00:00隨著最期待的發布日期和有趣的加密事件的發布,整個加密空間終于可以系好安全帶了。是的,以太坊合并終于發生了!以太坊組織透露了以太坊2.0或合并的發布日期,即2022年9月6日.
1900/1/1 0:00:00一份新報告顯示,加密貨幣只占銀行資產的一小部分根據國際清算銀行的一份新報告,世界各地的銀行對加密貨幣的風險敞口微乎其微.
1900/1/1 0:00:00