「形式化驗證」如ChatGPT或將取代人類?

發表於 2023-02-09 17:36 作者: 區塊鏈情報速遞pro

近日,ChatGPT火出圈,上线僅兩個月活躍用戶就已突破一億。用它寫文章、碼代碼、談戀愛,找工作回郵件已成了常規操作,網上還有不少教你利用該軟件“賺錢”的門道,甚至賓大的沃頓商學院教授也聲稱“學生”ChatGPT通過了商業管理考試

於是人工智能取代某些崗位甚至是人工智能取代人類的熱議話題登上了熱搜,在人人被卷的時代,大家心裏也漸漸打起小鼓。

那么人工智能,或形式化驗證這樣的“計算機產物”,到底能否取代人類呢?在Web3.0的世界,形式化驗證又能否取代人工審查呢

形式化驗證

形式化驗證,是一種驗證計算機程序是否按照了預期運行的數學證明方法。它將程序的屬性和預期行爲表達成爲數學公式,然後使用自動化工具來檢查這些公式是否成立。該過程有助於確保其程序符合預期。

形式化驗證的應用

形式化驗證是一種可被廣泛應用於不同系統的工具,包括:

  • 計算機硬件設計:確保集成電路和數字系統符合它們所需的規範,並且行爲正確。

  • 軟件工程:驗證軟件系統的正確性和可靠性,特別是在航空、醫療設備和金融系統等任務關鍵型應用/領域。

  • 網絡安全:評估加密算法和協議的安全性,並識別對安全敏感的系統中的安全漏洞。

  • 人工智能和機器學習:驗證人工智能和機器學習模型的屬性和行爲,確保它們按照預期運行並做出精准預測。

  • 自動化定理證明:驗證數學定理和證明數學猜想,應用於數學、物理學和計算機科學等領域。

  • 區塊鏈和智能合約:確保區塊鏈系統和智能合約的正確性、安全性和可靠性

智能合約的形式化驗證

智能合約的形式化驗證,是通過將智能合約的邏輯和預期行爲用數學表達式表示,然後使用自動化工具來檢查這些數學表達式是否正確

這個過程包括:

  • 用形式化語言定義合約的規範和屬性。

  • 將合約的代碼“翻譯"”成形式化的表示,如數學邏輯或模型。

  • 使用自動定理證明器或模型檢查器來驗證合約的規範和屬性是否成立。

  • 重復驗證過程,以發現和修復任何錯誤或偏離預期的情況。

有時,自動化定理證明器或模型檢查器不能證明或證僞一個屬性。在這種情況下,可能需要對規範和期望的屬性進行改進,並重復驗證過程。

將規範分解成更短小的代碼或者提供更多的規範信息,可以完善規範和期望的屬性。這可以使定理證明者和模型檢查者更容易驗證規範和屬性是否成立。

形式化驗證可以應用於一個合約同時應用於多個合約。Web3.0項目經常使用多個合約,確保這些合約一起工作並正確實現所需的項目功能非常重要。

形式化驗證當中,由於其屬性已在數學上被嚴格證明是正確的,因此使用這種數學方法有助於確保智能合約不存在錯誤、漏洞和其他非預期行爲。

將代碼形式化表示

代碼片段示例一

如下代碼顯示了一個簡化的代幣轉移功能程序:有兩個用戶,他們各自有一些代幣(balance 和balance2 )。函數transferFromUser1將代幣從用戶1轉移到了用戶2。該程序有一個不變量,即代幣的總供應量總是等於余額之和。

代碼片段一:代幣轉移程序

我們把不變量用數學公式表示,並對公式進行編號。數學公式中,“=”意味着“等於”,而不是賦值。

代碼片段示例二

如下代碼顯示了如何添加邏輯公式(爲了例子簡單明確,在此暫時忽略整數溢出)。

代碼片段二:表達了代碼含義的邏輯公式函數

如果想要檢查transferFromUser1是否保持了程序中的不變量,那么我們可以檢查公式7(在函數的末尾)是否有不變性(公式1)。下面是使用高中代數方法進行的證明。

形式化驗證與人工審計的協同

在確保智能合約的安全性方面,形式化驗證和人工審計可謂相輔相成。

形式化驗證:

形式化驗證提供了一種系統化和自動化的方法來檢查合約的邏輯和行爲以及它的預期屬性,使其更容易識別和修復潛在的錯誤或漏洞。它對發現復雜或不容易被察覺的問題十分有效,因爲這些問題可能很難通過人工檢查發現。

當處理復雜或多個合約時,人類則很難推理出所有需要檢查的組合和可能性,而機器則“毫無壓力”。

人工審計:

人工審計提供了專家對合約代碼、設計和部署的審查,審計專家可以利用他們的經驗和專業知識來識別潛在的安全風險並評估合約的整體安全情況。

除此之外,人工還可以驗證形式化驗證過程是否被正確執行,並檢查無法用自動化工具檢測的問題。因此人工專家審計,更有助於確保形式化驗證中使用的規範和所需屬性的正確性

綜上,結合形式化驗證和人工審計兩個方法,才能對智能合約的安全性進行全面徹底評估,並增加發現和漏洞修復的機會。這也是一種結合了人類和機器各自特長,且被稱爲“深度防御”的安全方法。

安全專家在线AMA

形式化驗證的力量不可小覷,但是也不能忽略人工審計的重要性。在ChatGPT官網上,其已坦言了自身的不足,而人工智能無法取代人類思考和創造這樣老生常談的討論在此也可以省略一萬字……這不,Bard出錯谷歌股價大跌。

同樣的,形式化驗證也不可取代人工審計,兩者相輔相成才能對智能合約進行完整的檢驗

標題:「形式化驗證」如ChatGPT或將取代人類?

地址:https://www.coinsdeep.com/article/9996.html

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

你可能還喜歡