時間:2022-02-26|瀏覽:499
NFT項目審計概覽
NFT是英語“Non Fungible Token簡稱,翻譯是非同質(zhì)化通證。NFT可以理解為存儲在區(qū)塊鏈上的獨特單元數(shù)據(jù)。每當談到它時NFT通行證,我們自然會把它和普通人結(jié)合起來ERC-類比20[2]通證。NFT通證與ERC-20通證有區(qū)別,兩者的區(qū)別在于任何兩個NFT通證不同,不可互換,即不同質(zhì)。因此,與NFT相關(guān)操作(如交易等)與ERC-與比特幣、以太坊等同質(zhì)數(shù)字資產(chǎn)相比,20通證的操作有明顯差異。
近年來,以NFT為核心發(fā)展創(chuàng)造了一個新的生態(tài)系統(tǒng),2021年發(fā)展特別迅速。然而,隨著生態(tài)的快速發(fā)展,生態(tài)安全問題經(jīng)常出現(xiàn)。當行業(yè)審視這些安全問題時,它們經(jīng)常被與之相匹配ERC-比較20通證生態(tài)中的安全問題,但是NFT該領(lǐng)域的安全問題有自己的特點和差異。然而,這些特征和差異并沒有得到行業(yè)的系統(tǒng)關(guān)注和研究。
關(guān)于NFT學(xué)術(shù)界學(xué)者對生態(tài)安全問題進行了大膽的探索和研究,如D. Das、P. Bose、N. Ruaro、C. Kruegel和G. Vigna合并論文[3]。但在實踐和具體實施過程中,對NFT缺乏對安全問題的深入探討和研究,如何檢查、審查流程、預(yù)防措施和預(yù)防措施。
Fairyproof研究團隊根據(jù)自己積累的專業(yè)知識和審計NFT本項目積累的實踐經(jīng)驗總結(jié)了一套系統(tǒng)、全面的方案,希望與行業(yè)和關(guān)注該領(lǐng)域發(fā)展的同事進行討論和交流。
項目、應(yīng)用程序或服務(wù)和服務(wù)NFT互動,我們視之為NFT項目、NFT應(yīng)用或NFT服務(wù)。如果一個應(yīng)用或服務(wù)和NFT互動,我們認為這個應(yīng)用程序或服務(wù)是整個NFT生態(tài)的一員。所有這些應(yīng)用程序和服務(wù)現(xiàn)在都是我們看到的NFT生態(tài)系統(tǒng)。
在這個生態(tài)系統(tǒng)中,根據(jù)每個成員在技術(shù)上的角色,我們將其分為四類:NFT區(qū)塊鏈的通證部署,NFT合同、業(yè)務(wù)邏輯和流程的核心應(yīng)用、輔助NFT應(yīng)用或服務(wù)工作。
對于NFT這四類成員都需要關(guān)注和審查項目的審計。NFT如果部署的區(qū)塊鏈不能正常工作,項目將失去根本原因;NFT實現(xiàn)通證合同存在問題,那么NFT如果項目的業(yè)務(wù)邏輯和流程設(shè)計有問題,項目只會失去活力NFT通證;輔助NFT工作應(yīng)用或服務(wù)不能正常工作或項目不選擇合適的輔助應(yīng)用或服務(wù),NFT不能充分發(fā)揮其潛力。
因此這四者的安全和審計缺一不可,都不能忽視。在本文接下來的篇章,我們將對這四者的安全及審計分別展開論述。
審計區(qū)塊鏈
對于NFT如果項目部署的區(qū)塊鏈是一個相對成熟的區(qū)塊鏈(如以太坊),它通常不需要審計,這一步可以跳過。由于成熟的區(qū)塊鏈經(jīng)過多年的發(fā)展和發(fā)展,經(jīng)歷了各種安全事故的挑戰(zhàn)和磨練,在安全方面有了更可靠的保證和信用。如果部署的區(qū)塊鏈是新的,理論上不能忽視區(qū)塊鏈的審計。
區(qū)塊鏈的審計在業(yè)界已經(jīng)相對成熟。這種審計的方法、方法、流程、重點和難點已經(jīng)包括在內(nèi)Fairyproof區(qū)塊鏈安全公司熟練的業(yè)務(wù)和領(lǐng)域。這種審計對行業(yè)和安全公司并不陌生。
對NFT實現(xiàn)合同審計
NFT通證的實現(xiàn)在技術(shù)上是常見的ERC-20通證類似,由一個或多個智能合同組成。但是,因為NFT實現(xiàn)所基于的通證標準(比如ERC-721和ERC-1155)和ERC-20同質(zhì)通證不同,所以NFT通證中可能出現(xiàn)的問題也與ERC-20通證略有不同。典型的問題之一是NFT在實現(xiàn)發(fā)行功能時是否使用了合適的隨機數(shù)。如果使用的隨機數(shù)不合適,則NFT發(fā)行時可能會遇到回滾攻擊,即用戶可以通過不斷的回滾交易獲得自己的偏好NFT。因此對NFT實現(xiàn)合同審計和對合同的審計ERC-20合同的審計略有不同,主要表現(xiàn)在不同的重點、重點和難點。
對此,F(xiàn)airyproof在實踐中,系統(tǒng)總結(jié)經(jīng)驗,開發(fā)一套快速定位的自動審計工具NFT排除合同中的潛在風險。
審計核心業(yè)務(wù)邏輯應(yīng)用的審計
我們在這里所說的核心業(yè)務(wù)邏輯應(yīng)用主要是指一個NFT在項目中,實現(xiàn)業(yè)務(wù)邏輯的部分。這部分應(yīng)用程序?qū)⑴c各種應(yīng)用程序使用NFT通證交互。
在一個NFT商業(yè)邏輯在項目中的應(yīng)用通??煞譃閮深悾?br>一種是典型的互聯(lián)網(wǎng)2.應(yīng)用程序NFT交互和實現(xiàn)的商業(yè)邏輯相對簡單,通常只涉及一些簡單的事情NFT操作,比如NFT的發(fā)行、NFT轉(zhuǎn)賬等。近年來非常流行的PFP項目屬于這一類。
另一種是互聯(lián)網(wǎng)2.0應(yīng)用程序和區(qū)塊鏈智能合綜合應(yīng)用。這種綜合應(yīng)用包括NFT操作要復(fù)雜得多,除了簡單NFT以及發(fā)行和轉(zhuǎn)賬NFT管理通證,NFT通證的抵押等。現(xiàn)在NFT交易平臺[9][10]是生態(tài)中最大的應(yīng)用。
雖然這兩種應(yīng)用在復(fù)雜性上存在差異,但它們是基于它們的ERC-與20通證的應(yīng)用相比,有一些獨特的共性,這些共性也是如此NFT應(yīng)用的共性。
這些共性主要表現(xiàn)在:第一:NFT鏈上操作不如應(yīng)用所涉及的鏈上操作ERC-20通證申請(例如DeFi鏈條上的應(yīng)用[11][12]操作復(fù)雜;其次,很多NFT應(yīng)用程序面向的用戶是非技術(shù)人士,有些用戶甚至沒有區(qū)塊鏈知識,也不知道基于區(qū)塊鏈的數(shù)字貨幣。
因此,為了讓大量非專業(yè)用戶在沒有區(qū)塊鏈或數(shù)字貨幣知識的情況下無障礙地使用和參與NFT項目,很多開發(fā)團隊會花費大量的精力和資源來設(shè)計和優(yōu)化用戶界面,使之更符合用戶已經(jīng)在互聯(lián)網(wǎng)2.0應(yīng)用程序中建立的習慣。這自然使得一些項目在設(shè)計和開發(fā)過程中大量使用互聯(lián)網(wǎng)2.0應(yīng)用技術(shù)和流程[9][13]。一方面降低了用戶的使用門檻,更方便新用戶進入NFT但另一方面,這也使這些NFT應(yīng)用程序往往過于集中。這種過于集中的傾向不僅存在于應(yīng)用程序的技術(shù)實現(xiàn)中,也存在于業(yè)務(wù)邏輯和過程中。
在這里,我們想強調(diào)的是:在現(xiàn)有NFT應(yīng)用程序中涉及的業(yè)務(wù)邏輯和過程中可能存在的問題以及是否存在一些未知的隱患尚未引起行業(yè)從業(yè)者的足夠關(guān)注和研究,特別是在安全領(lǐng)域。例如,目前有許多流行的問題NFT在交易平臺中,KYC還并未被強制要求,更談不上堅決執(zhí)行,在這種情況下如何防范安全事故及對黑客身份的追蹤、定位;再如對NFT在大多數(shù)交易平臺上,項目真?zhèn)蔚尿炞C只是一個可選項,而不是一個必要的執(zhí)行項目。在這種情況下,如何防止用戶誤入假冒項目;還有NFT原團隊設(shè)置并收取交易股息(royalty)各種平臺采用的流程和方法是否存在安全漏洞和隱患,是否存在欺詐和不公正?......
業(yè)界很少提到上述問題的發(fā)展和研究,更不用說深入探討了。
對此Fairyproof一直在進行跟蹤研究和探索,積累和總結(jié)這些方面的經(jīng)驗,開發(fā)一套綜合框架和系統(tǒng)NFT領(lǐng)域從業(yè)者提出建設(shè)性意見和切實可行的方案。
審計輔助服務(wù)或應(yīng)用程序
這里提到的輔助服務(wù)或應(yīng)用是指幫助NFT充分發(fā)揮其功能或特點的服務(wù)或應(yīng)用。NFT存儲元數(shù)據(jù)(metadata)服務(wù)或應(yīng)用.
興起于2021年的PFP該項目使用輔助服務(wù)或應(yīng)用程序。這種典型的NFT項目經(jīng)常發(fā)行一定數(shù)量的恒定數(shù)量NFT,每個NFT每個圖片都有一個獨特的圖片,包含各種特征的組合。每個圖片NFT這張圖是它的元數(shù)據(jù)。
為了吸引用戶購買和持有,這些圖片往往是獨一無二的,所以圖片的保存和顯示是這樣的NFT這個項目非常重要。許多項目考慮使用各種方案來使圖片盡可能永久地保存。因此,什么樣的服務(wù)或應(yīng)用程序可以提供可靠和安全的永久存儲是這些項目的焦點。
目前,行業(yè)內(nèi)常見的存儲方案主要包括分散存儲應(yīng)用和分散存儲應(yīng)用。前者是典型的IPFS、Arweave等。后者主要包括亞馬遜云等。
然而,并非所有這些存儲方案都能現(xiàn)成地提供永久存儲,有些可以提供永久存儲,但成本較高,有些只能提供臨時存儲,各有優(yōu)缺點。因此,項目開發(fā)人員必須考慮如何綜合考慮使用一個或多個方案來組合,建立一套可以永久存儲的服務(wù)。
但當項目方考慮使用這些解決方案時,這些解決方案本身可能會出現(xiàn)什么問題呢?合使用時可能存在哪些安全隱患或潛在風險?如何避免和預(yù)防這些隱患或潛在風險?到目前為止,對這些問題的討論和研究相當有限。
Fairyproof自成立以來,我們一直關(guān)注這一領(lǐng)域的研究和探索,特別是在安全實踐中可能存在的困難和重點?;谧陨淼姆e累和實踐,我們探索并開發(fā)了一套評價和審查的系統(tǒng)方案NFT輔助服務(wù)或應(yīng)用程序已經(jīng)開發(fā)和部署了一套全面的流程和系統(tǒng),以檢查這些輔助服務(wù)或應(yīng)用程序在各種實踐方案中可能存在的安全風險和潛在風險。
對NFT項目審計不僅僅是對的NFT智能合約的審計是一個系統(tǒng)工程和一個綜合過程,需要從生態(tài)的角度進行全面的審查NFT其核心業(yè)務(wù)邏輯及周邊應(yīng)用、基礎(chǔ)設(shè)施及輔助服務(wù)。
Fairyproof并將繼續(xù)密切關(guān)注NFT生態(tài)發(fā)展,堅持深入研究該領(lǐng)域的安全問題,繼續(xù)擴大和探索該領(lǐng)域的最新發(fā)展,并繼續(xù)與同行分享我們對前沿問題的思考和前瞻性判斷。
熱點:NFT 交易平臺 以太 以太坊 區(qū)塊鏈 數(shù)字貨幣 數(shù)字貨幣知識 數(shù)字資產(chǎn)