假如把智能合約看成文章: 探討自然語言處理辨識合約漏洞的可行性

更新於 發佈於 閱讀時間約 5 分鐘
以太坊因為有了智能合約而獲得很大的便利性與彈性,智能合約的出現讓原本單純的金流交易功能延伸出可以發行代幣、鑄造NFT或是利用DApp撰寫一些去中心化遊戲等許多有趣的創意發想。但畢竟EVM的語言還沒完全成熟,若是智能合約的編寫過程出現沒有預期到的漏洞,再加上區塊鏈本身不可修改的性質,這對已經放上鏈的合約而言,就等於整份合約是「報廢」的狀態,連帶著可能影響的一個優秀的作品發想。

假如將智能合約看作是一篇文章

對於合約潛在的漏洞風險,我們不經開始思考,有沒有甚麼辦法可以在合約上鏈之前先檢查一遍,來降低合約出錯的機會。而現有許多合約分析的工具,像是SlitherSecurify等,這些工具是基於已知很固定的編碼方法來很制式的做出判定,例如檢查加減乘除的順序、轉帳時扣款的順序。但是一份合約可能因為功能的需求做出比較複雜的編寫方式,例如在函式中呼叫其他函式、將變數編寫成較複雜的資料格式、甚至呼叫其他合約。這一系列的動作最終會導致超出分析工具的能力範圍。因此將合約視為文章,利用現有的自然語言處理工具來進行機器學習似乎會是一個可行的解決辦法。

甚麼是自然語言處理?

常見的機器學習方法如類神經網路(ANN)、多層感知機(MLP)、卷積神經網路(CNN),藉由輸入資料來進行訓練,經過隱藏層之後,直接在輸出層給出二分類的輸出或是多分類的輸出。對於上述的機器學習方法,自然語言處理不一樣的地方在於更重視輸入資料「上下文」之間的關係,實現方法是將經過訓練的資料,也就是隱藏層或輸出層的結果放回輸入層。也就是將這次輸出的結果作為下一次輸入時額外的參考。這種神經網路架構將前後的資訊連結起來成為一個迴圈狀的結構。他有一個專有的名稱,叫做遞迴神經網路(Recurrent Neural Networks, RNN)。
Recurrent Neural Networks model schematic diagram
上圖是一個簡單的RNN範例。如上圖所示,遞迴神經網路將時間(t)等於0的時候輸入的資料經過隱藏層後,除了輸出t=0的輸出值之外,同時也輸出給下一個時間t=1的隱藏層當作輸入資料的一部分來一併運算。只要不斷的有資料輸入神經網路,這樣的運算模式就會持續進行,而之前的資料都可能會影響到後續的輸出。這就像我們理解一句話時,不聽到最後的話,就有可能誤解整段句子一樣。不過這個簡單的RNN模型還有一些問題存在,那就是當下這個模型只能接收前一次模型的輸出當作參考,這樣一來,相鄰比較遠的文字的影響就比較難看出來;另外在數學上遞迴模型的輸出每經過一次向後連結,在求解過程中就越容易引發梯度消失,所以後來研究人員有做了一些改進。
為了將長距離(long-distance)或長期(long-term)語句產生的影響,也納入模型的理解範圍,科學家在RNN基礎上進行修改,成為長短記憶網路(long short term memory, LSTM)。機率性的決定這次的要不要加入輸入、輸出的資料。也就是新輸入的資料要不要加入這次運算過程、而運算的結果要不要提供給之後的運算使用。另外再加上能夠儲存資料或遺忘資料的演算法,來加強模型對長距離或長期語句的理解。本篇的重點不在說明LSTM,如果有興趣研究LSTM的讀者可以參考Jimmy Lin翻寫的遞歸神經網路(RNN)和長短期記憶模型(LSTM)的運作原理。最後經過自然語言處理,資料受到時序的影響能夠在模型訓練的結果被看見。

自然語言處理應用到智能合約漏洞的檢查

智能合約目前面臨許多種類的漏洞,前些日子在本專題《區塊鏈生存守則》中,另一位作家Alice也列舉並簡介了一些常見的智能合約漏洞。自然語言處理能有效的處理時序性資料,但是否能辨識如Reentrancy這類可能是金流轉移過程順序上出問題的漏洞,或是其他可能因為呼叫函數的順序不當等造成的錯誤,都是研究人員可以好好探討的地方,而發展這些漏洞辨識工具,能有助區塊鏈穩定的發展下去。
----------------------------------------------------------------------------
作者阿原目前從事區塊鏈資料分析工作,對區塊鏈的經濟架構、事件發展有很大的興趣,並希望能將相關的區塊鏈知識分析並且統整給大家。如果喜歡我的文章,或是想獲得更多區塊鏈大小事,歡迎關注我的vocus帳號
另外,我已經加入由趨勢科技防詐達人所成立的方格子專題-《區塊鏈生存守則》,在那裡我會跟其他優質的創作者一起帶大家深入瞭解區塊鏈,並隨時向大家更新區塊鏈資安事件。
> 追蹤《區塊鏈生存守則》學習如何在區塊鏈的世界保護自己
> 關注防詐達人獲得其他最新詐騙情報

參考資料

  1. Day 25 遞迴神經網路 RNN 、梯度下降與梯度消失: https://ithelp.ithome.com.tw/m/articles/10280019
  2. [Day-16] RNN - LSTM介紹: https://ithelp.ithome.com.tw/articles/10223055
  3. 遞歸神經網路(RNN)和長短期記憶模型(LSTM)的運作原理: https://brohrer.mcknote.com/zh-Hant/how_machine_learning_works/how_rnns_lstm_work.html
avatar-img
33會員
176內容數
我們整理了web3相關的熱門資安問題,包含加密貨幣投資詐騙、盜版NFT、空投釣魚和區塊鏈重大資安事件懶人包等等,並提供最完整的辨識方法教學,讓大家從0到1學習如何保護自己
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
防詐達人的沙龍 的其他內容
幣安用戶注意!新一波假冒幣安的釣魚簡訊又來了,這次是要求民眾要「開通帳戶管存功能,否則將被限制使用」,而且點擊網址還會進到一個與幣安首頁非常相像的網站,小心一旦登入,幣安帳戶將被偷走,裡面的加密貨幣也可能瞬間不見
分散式應用漏洞分類-DASP TOP10簡介
詐騙集團在社群假冒KOL,放出加密貨幣交易平台被駭客攻擊以及面臨倒閉的假消息,並藉機分享假冒官方的釣魚連結示意驚恐的用戶點擊,實際上連結裡安插惡意軟件,點擊的用戶可能面臨盜刷、帳號被盜用以及勒索攻擊等各種資安威脅
2022年12月底,Twitter上因全球總體市場經濟預期不佳,幣圈市場呈現瀕死的狀態。這時候橫空出世的新狗幣$BONK 默默在Solana鏈上發幣,引來幣圈人們一陣瘋狂。 繼迷因柴犬幣$DOGE之後的新meme項目- $BONK 是否能為幣圈帶來新氣象,又或是另一個曇花一現的meme token?
隨著加密貨幣的出現,以加密貨幣為名的詐騙行為以及區塊鏈上的詐騙行為日益普及,Chainsight 提供了超強的詐騙監測功能,以保護大家的數位資產,協助投資者和執行者防範詐騙行為,不管加密貨幣或是NFT詐騙都能事先預防。
幣安用戶注意!新一波假冒幣安的釣魚簡訊又來了,這次是要求民眾要「開通帳戶管存功能,否則將被限制使用」,而且點擊網址還會進到一個與幣安首頁非常相像的網站,小心一旦登入,幣安帳戶將被偷走,裡面的加密貨幣也可能瞬間不見
分散式應用漏洞分類-DASP TOP10簡介
詐騙集團在社群假冒KOL,放出加密貨幣交易平台被駭客攻擊以及面臨倒閉的假消息,並藉機分享假冒官方的釣魚連結示意驚恐的用戶點擊,實際上連結裡安插惡意軟件,點擊的用戶可能面臨盜刷、帳號被盜用以及勒索攻擊等各種資安威脅
2022年12月底,Twitter上因全球總體市場經濟預期不佳,幣圈市場呈現瀕死的狀態。這時候橫空出世的新狗幣$BONK 默默在Solana鏈上發幣,引來幣圈人們一陣瘋狂。 繼迷因柴犬幣$DOGE之後的新meme項目- $BONK 是否能為幣圈帶來新氣象,又或是另一個曇花一現的meme token?
隨著加密貨幣的出現,以加密貨幣為名的詐騙行為以及區塊鏈上的詐騙行為日益普及,Chainsight 提供了超強的詐騙監測功能,以保護大家的數位資產,協助投資者和執行者防範詐騙行為,不管加密貨幣或是NFT詐騙都能事先預防。
你可能也想看
Google News 追蹤
Thumbnail
/ 大家現在出門買東西還會帶錢包嗎 鴨鴨發現自己好像快一個禮拜沒帶錢包出門 還是可以天天買滿買好回家(? 因此為了記錄手機消費跟各種紅利優惠 鴨鴨都會特別注意銀行的App好不好用! 像是介面設計就是會很在意的地方 很多銀行通常會為了要滿足不同客群 會推出很多App讓使用者下載 每次
Thumbnail
長短期記憶(英語:Long Short-Term Memory,LSTM)是一種時間循環神經網路(RNN),論文首次發表於1997年。 LSTM(長短期記憶)是一種特定類型的遞歸神經網絡(RNN),在許多需要處理時間序列數據或順序數據的應用中非常有用。 以下是一些常見的 LSTM 應用:
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 首先先展示 Transformer 的架構圖: 可以看到架構中不再出現 RNN 、 LSTM 、 CNN 等物件,因為 Recurrence 已被摒棄。
0. 大綱Outline 以太坊交易 發起交易 與智能合約互動 receive & fallback function 1. 舊以太坊交易 Ethereum Gas Tracker - 7 Gwei - Etherscan //交易技術, 表示特定帳戶的交易數量,是計數器, 每發一筆交
大語言模型,例如OpenAI提供的ChatGPT,是過去幾年發展的深度神經網路模型,開啟自然語言處理的新紀元。
Thumbnail
對於熱衷於語言科技的你, 大語言模型(LLMs)在自然語言處理(NLP)領域的發展無疑是一個革命性的進展。 從傳統的規則系統到基於深度學習的方法, LLMs展現了在理解、生成和翻譯人類語言方面的巨大突破。 這不僅是技術上的飛躍, 更是開啟了新的應用和可能性。 下面將介紹這一變革帶來的三大
Thumbnail
法律主要缺點就是模糊與不確定,卻也成其最大的優點,因為具有靈活和適應程度的契約規則。智能合約主要優點就是自主保證執行,卻構成其最大的限制,導致過度僵化和無法持續與環境同步。只有時間才能證明區塊鏈技術及是否會真正轉變且滲入我們的世界,也就是Web3世界的到來。而我相信智能法律合約將會是未來的發展趨勢!
Thumbnail
/ 大家現在出門買東西還會帶錢包嗎 鴨鴨發現自己好像快一個禮拜沒帶錢包出門 還是可以天天買滿買好回家(? 因此為了記錄手機消費跟各種紅利優惠 鴨鴨都會特別注意銀行的App好不好用! 像是介面設計就是會很在意的地方 很多銀行通常會為了要滿足不同客群 會推出很多App讓使用者下載 每次
Thumbnail
長短期記憶(英語:Long Short-Term Memory,LSTM)是一種時間循環神經網路(RNN),論文首次發表於1997年。 LSTM(長短期記憶)是一種特定類型的遞歸神經網絡(RNN),在許多需要處理時間序列數據或順序數據的應用中非常有用。 以下是一些常見的 LSTM 應用:
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 首先先展示 Transformer 的架構圖: 可以看到架構中不再出現 RNN 、 LSTM 、 CNN 等物件,因為 Recurrence 已被摒棄。
0. 大綱Outline 以太坊交易 發起交易 與智能合約互動 receive & fallback function 1. 舊以太坊交易 Ethereum Gas Tracker - 7 Gwei - Etherscan //交易技術, 表示特定帳戶的交易數量,是計數器, 每發一筆交
大語言模型,例如OpenAI提供的ChatGPT,是過去幾年發展的深度神經網路模型,開啟自然語言處理的新紀元。
Thumbnail
對於熱衷於語言科技的你, 大語言模型(LLMs)在自然語言處理(NLP)領域的發展無疑是一個革命性的進展。 從傳統的規則系統到基於深度學習的方法, LLMs展現了在理解、生成和翻譯人類語言方面的巨大突破。 這不僅是技術上的飛躍, 更是開啟了新的應用和可能性。 下面將介紹這一變革帶來的三大
Thumbnail
法律主要缺點就是模糊與不確定,卻也成其最大的優點,因為具有靈活和適應程度的契約規則。智能合約主要優點就是自主保證執行,卻構成其最大的限制,導致過度僵化和無法持續與環境同步。只有時間才能證明區塊鏈技術及是否會真正轉變且滲入我們的世界,也就是Web3世界的到來。而我相信智能法律合約將會是未來的發展趨勢!