本文由“靈蹤安全”原創,授權“金色財經”獨家首發,轉載請著名出處。
?一份審計報告是對一套智能合約的“質量檢測報告”,那報告就要告訴用戶所審計的對象是誰。
?和普通的有形商品不同,智能合約這種特殊的商品是摸不著的,那怎么才能讓用戶知道它呢?
?區塊鏈領域的絕大多數項目包括鼎鼎大名的比特幣和以太坊都有一個共同的特點:它們的源代碼都是”開源”的。所謂的“開源”就是它們的代碼都是公開的,放在某個公開、所有人都可以訪問的網站上,任何人都可以看到它的內容。
?我們所審計的智能合約絕大多數也是這樣,它們都是開源的,放在一些知名的、供所有人存放文件的網站比如github等。
?如果我們所審計的智能合約是開源并且放在了github上,我們要讓用戶知道它、看到它的源代碼,就會在審計報告中列出合約所存放的github的網址。這就好比一件商品存進了一個大倉庫,存在倉庫中的某個庫房,我們要讓用戶能找到這件商品就要告訴用戶倉庫的地址和庫房的門牌號碼。存放合約的github網址就等于倉庫地址門牌號碼。
獨家 | DeFi中鎖定資產總價值達110.25億美元:據DappBirds DeFi Data專題數據顯示,YFI單價突破3萬美元,DeFi中鎖定資產總價值達110.25億美元,較昨日上升0.36%,其中Aave,Maker,Curve,yearn,Synthetix分別以17.10億美元,14.60億美元,12.20億美元,9.32億美元,8.78億美元位列前五名。[2020/8/31]
可是如果合約的編寫者在給審計機構審計時用的是放在github上的一套合約,但審計后尤其是項目上線后,用戶又修改了它的智能合約,我們怎么知道放在github上的合約就是審計時看到的合約而不是后來修改過或者其它“魚目混珠”的合約呢?
這就涉及到github這個倉庫的一個特性了。
當項目方往github中存放代碼時,github會給這次存放動作產生一個版本號。這就好比我們在比特幣、以太坊中申請一個新錢包時,這個錢包會有一個獨一無二的地址一樣,這個版本號也是唯一的。
獨家 | Bakkt期貨合約數據一覽:金色財經報道,Bakkt Volume Bot數據顯示,8月13日,Bakkt比特幣月度期貨合約日交易額為5868萬美元,同比下降10%,未平倉合約量為1658萬美元,同比上升9%。[2020/8/14]
當項目方之后對任何文件有了任何改動:小到一個字的修改,大到文件的刪除、添加等,當把這些改動提交到github中,github又會給這次動作產生一個新的版本號。
所以github中的版本號就是對所存放的文件的一份唯一存證,它保證了這個版本號所對應的文件就是某時某刻放進倉庫中的文件,而不是之前或之后放進去的文件。
所以我們在審計報告中除了羅列被審計合約的github網址,還要羅列被審計合約在github中的版本號。
這兩個要素就保證了讀者看我們報告時能準確知道我們所審計的內容。
獨家 | Bakkt期貨合約數據一覽:金色財經報道,Bakkt Volume Bot數據顯示,8月5日,Bakkt比特幣月度期貨合約日交易額為5065萬美元,同比上漲15%,未平倉合約量為2326萬美元,同比下跌5%。[2020/8/6]
除了放在github上,還有的項目方在審計時已經把合約部署在區塊鏈網絡上了。由于智能合約一旦部署到區塊鏈網絡上,它就是無法篡改和撤銷的,因此智能合約所部署的區塊鏈地址也可以作為合約的存證地址。
對這樣的合約,我們通常也會記錄下它在區塊鏈上的地址作為唯一存證。
我們前面說絕大多數項目的智能合約是開源的,這也就意味著還有一些項目的合約在審計時是未開源的,在這種情況下,我們怎么記錄這份合約的存證呢?
我們會用SHA-256的值來標記合約文件的存證。
獨家 | 金色財經2月10日挖礦收益播報:金色財經報道,據幣印礦池數據顯示:
主流幣挖礦日收益分別為:BTC(¥1.16/T)、ZEC(¥0.35/T)、LTC(¥22.04/G)、BSV(¥1.10/T)、BCH(¥1.15/T)、DASH(¥0.18/G)。
當前熱門礦機數據及凈收益分別為:阿瓦隆A1066(BTC,¥28.85)、芯動A9+(ZEC,¥27.33)、芯動A4+(LTC,¥6.82)。[2020/2/10]
有些讀者尤其是數字貨幣的玩家看到“SHA-256”這個詞會覺得很眼熟:這不是數字貨幣加密算法中常用的一個技術嗎?
確實是這樣,更準確的說,它是一種經過“哈希函數”運算得出的值,這個值也被稱為“哈希值”,它有256位。
所謂的哈希函數又稱散列函數,是一種從任何一種數據中創建小的數字“指紋”的方法。哈希函數把消息或數據壓縮成摘要,使數據量變小,將數據的格式固定下來。該函數將原有的數據打亂混合,重新創建一個結果叫做哈希值。
我們為什么要用這個值來記錄合約文件的存證呢?因為一個SHA-256的值所對應的文件內容是唯一的。這就和上面我們用github中的版本號來保證github中的文件是唯一的一樣。
那我們怎么用這個值來記錄合約文件的存證呢?
我們自己編寫了一套這樣的工具,對所審計的每個合約文件的內容都用這個工具進行一次運算,所得到的值就是一個SHA-256的值。這個值就代表了我們所審計的文件內容的唯一。
我們會羅列每個文件及其所對應的SHA-256值,這就記錄了文件的存證。
當用戶或讀者要檢測他看到的合約文件是否是我們所審計的合約時,將他看到的文件用我們的工具計算一下,將所得出的SHA-256值與我們所得到的值進行比較,如果一樣就證明是,如果不一樣就證明不是。
所以總結起來說,我們會用github網址版本號、區塊鏈地址或SHA-256值這三種方式中的一種或幾種來記錄文件的存證。
謝謝
------------------------------------------------------------------
作者:
靈蹤安全CEO譚粵飛
美國弗吉尼亞理工大學(VirginiaTech,Blacksburg,VA,USA)工業工程碩士(Master)。曾任美國硅谷半導體公司AIBTInc軟件工程師,負責底層控制系統的開發、設備制程的程序實現、算法的設計,并負責與臺積電的全面技術對接和交流。自2011至今,從事嵌入式,互聯網及區塊鏈技術的研究,深圳大學創業學院《區塊鏈概論》課程教師,中山大學區塊鏈與智能中心客座研究員,廣東省金融創新研究會常務理事。個人擁有4項區塊鏈相關專利、3本出版著作。
關于靈蹤安全:
靈蹤安全科技有限公司是一家專注區塊鏈生態安全的公司。靈蹤安全科技主要通過“代碼風險檢測邏輯風險檢測“的一體化綜合方案服務了諸多新興知名項目。公司成立于2021年01月,團隊由一支擁有豐富智能合約編程經驗及網絡安全經驗的團隊創建。
團隊成員參與發起并提交了以太坊領域的多項標準草案,包括ERC-1646、ERC-2569、ERC-2794,其中ERC-2569被以太坊團隊正式收入。
團隊參與了多項以太坊項目的發起及構建,包括區塊鏈平臺、DAO組織、鏈上數據存儲、去中心化交易所等項目,并參與了多個項目的安全審計工作,在此基礎上基于團隊豐富的經驗構建了完善的漏洞追蹤及安全防范系統。
Tags:ITHHUB區塊鏈SHALilith Cash BondSoccerHub區塊鏈域名選什么后綴好Stand Share
?如果將比特幣當作一個公司,那大部分投資者剛接觸數字貨幣都會去交易所炒幣,因為門檻低,只需要下個軟件充值,就可以交易;甚至可以使用杠桿,撬動更多的資金,造成了能讓投資者"暴富"的假象.
1900/1/1 0:00:00雖然Filecoin主網上線才5個月,但Filecoin網絡已經擁有了Web3中最活躍的開發者生態之一.
1900/1/1 0:00:00尊敬的BithumbGlobal用戶:?BithumbGlobal將支持DREP100:1代幣縮量計劃,且基於多次項目審查和溝通.
1900/1/1 0:00:00巴曙松教授認為,理財通的推出可能會面臨一些問題,包括跨境KYC、投資額度以及可投資產品。因數字人民幣具有可追蹤和智能合約功能,同時在兌換時需經銀行處理,可滿足KYC要求,并可限制資金只能投資部分.
1900/1/1 0:00:00尊敬的虎符用戶, 虎符將于2021年03月30日10:30(UTC8)重磅上線GFX/USDT交易對。充值已開啟,提現將于2021年03月31日10:00(UTC8)開啟.
1900/1/1 0:00:00以下是杠桿ETF為什么值得關注的優勢:一、現貨交易、無需保證金用戶可以像購買普通現貨一樣,在ZT上購買杠桿ETF,使得用戶免于保證金、強平風險等問題.
1900/1/1 0:00:00