本文由“靈蹤安全”原創,授權“金色財經”獨家首發,轉載請著名出處。
?一份審計報告是對一套智能合約的“質量檢測報告”,那報告就要告訴用戶所審計的對象是誰。
?和普通的有形商品不同,智能合約這種特殊的商品是摸不著的,那怎么才能讓用戶知道它呢?
?區塊鏈領域的絕大多數項目包括鼎鼎大名的比特幣和以太坊都有一個共同的特點:它們的源代碼都是”開源”的。所謂的“開源”就是它們的代碼都是公開的,放在某個公開、所有人都可以訪問的網站上,任何人都可以看到它的內容。
?我們所審計的智能合約絕大多數也是這樣,它們都是開源的,放在一些知名的、供所有人存放文件的網站比如github等。
?如果我們所審計的智能合約是開源并且放在了github上,我們要讓用戶知道它、看到它的源代碼,就會在審計報告中列出合約所存放的github的網址。這就好比一件商品存進了一個大倉庫,存在倉庫中的某個庫房,我們要讓用戶能找到這件商品就要告訴用戶倉庫的地址和庫房的門牌號碼。存放合約的github網址就等于倉庫地址門牌號碼。
獨家 | Bakkt期貨合約數據一覽:金色財經報道,Bakkt Volume Bot數據顯示,6月3日,Bakkt比特幣月度期貨合約日交易額為2058萬美元,同比下跌34%,未平倉合約量為1308萬美元,同比上升25%。[2020/6/4]
可是如果合約的編寫者在給審計機構審計時用的是放在github上的一套合約,但審計后尤其是項目上線后,用戶又修改了它的智能合約,我們怎么知道放在github上的合約就是審計時看到的合約而不是后來修改過或者其它“魚目混珠”的合約呢?
這就涉及到github這個倉庫的一個特性了。
當項目方往github中存放代碼時,github會給這次存放動作產生一個版本號。這就好比我們在比特幣、以太坊中申請一個新錢包時,這個錢包會有一個獨一無二的地址一樣,這個版本號也是唯一的。
當項目方之后對任何文件有了任何改動:小到一個字的修改,大到文件的刪除、添加等,當把這些改動提交到github中,github又會給這次動作產生一個新的版本號。
獨家 | Bakkt期貨合約數據一覽:金色財經報道,Bakkt Volume Bot數據顯示,4月29日,Bakkt比特幣月度期貨合約單日交易額為2488萬美元,環比上升130%,未平倉合約量為851萬美元,環比上升22%。[2020/4/30]
所以github中的版本號就是對所存放的文件的一份唯一存證,它保證了這個版本號所對應的文件就是某時某刻放進倉庫中的文件,而不是之前或之后放進去的文件。
所以我們在審計報告中除了羅列被審計合約的github網址,還要羅列被審計合約在github中的版本號。
這兩個要素就保證了讀者看我們報告時能準確知道我們所審計的內容。
除了放在github上,還有的項目方在審計時已經把合約部署在區塊鏈網絡上了。由于智能合約一旦部署到區塊鏈網絡上,它就是無法篡改和撤銷的,因此智能合約所部署的區塊鏈地址也可以作為合約的存證地址。
獨家 | 亞洲股市普跌 美、布原油均下跌超6%:截止北京時間10:30,亞洲股市普遍下跌,國內方面,上證指數下跌1.59%,深證成指下跌2.11%,香港恒生指數下跌3.42%。國外方面,日經225下跌4.55%,韓國KOSPI200下跌3.95%,菲律賓馬尼拉下跌5.47%。
大宗商品現貨市場方面:黃金暫報1636.72美元/盎司,上漲0.13%;白銀暫報16.586美元/盎司,下跌0.93%;美國原油暫報31.10美元,下跌6.10%;布倫特原油暫報33.59美元/桶,下跌6.98%。[2020/3/12]
對這樣的合約,我們通常也會記錄下它在區塊鏈上的地址作為唯一存證。
我們前面說絕大多數項目的智能合約是開源的,這也就意味著還有一些項目的合約在審計時是未開源的,在這種情況下,我們怎么記錄這份合約的存證呢?
我們會用SHA-256的值來標記合約文件的存證。
獨家 | 一張圖看懂ETF提案對數字貨幣市場的影響:2017年至今,ETF提案與BTC價格聯動,金色內參團隊發現:每一次向SEC提交比特幣ETF申請,短期內都會推動比特幣價格的上漲;每一次SEC拒絕比特幣ETF的申請,絕大多數情況下,都會導致比特幣價格的下跌。欲查看全部內參內容,點擊原文鏈接。[2018/8/24]
有些讀者尤其是數字貨幣的玩家看到“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組織、鏈上數據存儲、去中心化交易所等項目,并參與了多個項目的安全審計工作,在此基礎上基于團隊豐富的經驗構建了完善的漏洞追蹤及安全防范系統。
大家好,我是來自CKcoin平臺首席分析師老崔說幣,也是你們的朋友老崔說幣lcsb18888,老崔說幣公眾號同步專注數字貨幣行情分析,爭取為廣大幣友傳遞最有價值的幣市信息.
1900/1/1 0:00:00?昨日行情回顧: 昨日行情整體走勢上都以上漲趨勢在運行,原計劃回踩56500開始布局多單策略,結果日內最低只給到57000附近,但是我們也成功在58000附近追多拿下了800多點的空間.
1900/1/1 0:00:001.DeFi與NFT的結合將會帶來什么新發展?下文將介紹新NFT指數項目、Uniswap即將到來的V3版本、Nifty等內容.
1900/1/1 0:00:00撰文:KyleChayka,《紐約客》專欄作者??編譯:LeoYoung去年十月,昵稱為「Beeple」的數字藝術家MikeWinkelmann注意到,在他的網絡圈子里.
1900/1/1 0:00:00當下社會隨著經濟的發展,我們的生活思想都在發生著巨大的改變,賺錢或許也變得不那么難了,生活更注重樂趣和感受,有很多事業有成或者自己有一定資產的朋友,在生活事業之余.
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