推荐:点击此处下载PANews关注NFT日报和NFT一周售卖铸造预告,快人一布局可能有价值的NFT。


作者:Yuefei TAN, CEO of Fairyproof

NFT英语Non Fungible Token简称翻译过来非同质化通证。一个NFT可以理解存储在区块链上一个独一无二单元数据[1]每当谈及NFT通证我们自然常见的ERC-20[2]通证进行类比NFT通证ERC-20通证区别的两者区别在于任何两个NFT通证互不相同,不可互换不同质因此NFT相关的操作比如交易ERC-20通证其它同质数字资产比特币以太坊操作相比有着明显的区别

近年来NFT核心成长出了一个全新生态这个生态在2021发展尤为迅猛。但是生态快速发展同时,生态中的安全问题频繁显现当业界审视这些安全问题往往ERC-20通证生态中的安全问题进行类比但是NFT领域出现安全问题却有自己特点和差异然而这些特点和差异还没有系统受到业界的关注研究。

关于NFT生态中安全问题学术界已经学者进行大胆探索研究比如D. DasP. BoseN. RuaroC. KruegelG. Vigna合著论文[3]然而实践具体执行过程中NFT安全问题采用什么方式检视什么流程审查什么措施进行防范以及哪些角度进行防范缺乏深入探讨和研究

Fairyproof研究团队根据自身积累专业知识和审计NFT项目中积累实践经验总结一套系统全面方案在此业界关注此领域发展的同仁进行探讨和交流。

如果一个项目应用或服务NFT交互,我们视其为NFT项目NFT应用或NFT服务如果一个应用服务NFT交互我们这个应用服务整个NFT生态中所有这些应用和服务一起组成了现在我们见到NFT生态系统。

这个生态系统中,根据其中每个成员技术扮演角色我们将其分为四类NFT通证部署区块链NFT通证实现合约实现商业逻辑流程核心应用辅助NFT工作应用或服务

对于NFT项目审计,四类成员需要关注和审视如果NFT部署区块链正常工作项目失去了根本如果NFT通证实现合约问题,NFT就无法正常工作项目失去内核如果项目的商业逻辑和流程设计问题,那项目剩下毫无生命力NFT通证如果辅助NFT工作应用服务不能正常工作或者项目没有选择合适的辅助应用服务NFT就无法将其潜力充分发挥


因此这四者安全和审计缺一不可都不能忽视本文接下来的我们将四者安全审计分别展开论述

1 区块链的审计

对于NFT项目部署的区块链如果一条比较成熟区块链比如以太坊通常情况下,无需进行审计这一步可以跳过因为成熟的区块链已经经年累月发展成长历经各种安全事故的挑战和磨练安全上已经有了较为可靠的保障和信用如果部署的区块链新生的理论上区块链审计不能忽略的

区块链审计业界已经相对成熟此类审计方式方法流程重点难点已经包括Fairyproof在内区块链安全公司比较熟练业务和领域。业界安全公司来说,这类审计并不陌生

2 NFT实现合约的审计

NFT通证实现技术上来讲常见ERC-20通证类似,都是一个多个智能合约组成。但是,由于NFT实现基于通证标准比如ERC-721[4]ERC-1155[5]ERC-20同质通证不同因此NFT通证可能出现的问题ERC-20通证略有不同这其中一个典型问题就是NFT发行功能实现是否使用了合适随机数如果使用的随机数不合适,NFT发行可能遭遇回滚攻击,用户可以通过不断回滚交易,直到获取自己偏好NFT因此NFT实现合约审计ERC-20合约审计略有不同主要表现关注点重点和难点有所不同

对此,Fairyproof实践中系统总结了经验开发一套自动审计工具能够快速定位NFT合约中的风险点,排除潜在风险

3 核心商业逻辑应用的审计

这里我们指的核心商业逻辑应用主要一个NFT项目中实现商业逻辑部分这部分应用各类NFT通证交互

一个NFT项目中实现商业逻辑的应用通常分为两类

一类典型的互联网2.0应用它在项目中NFT的交互实现的商业逻辑比较简单通常涉及一些简单的NFT操作比如NFT的发行NFT的转账等。近年极为流行的PFP[6]项目[7][8]属于这类

另一类包含互联2.0应用区块链智能合约综合应用这类综合应用包含的NFT操作复杂多,除了简单NFT发行和转账,还有NFT通证管理NFT通证抵押现在NFT生态应用比如交易平台[9][10]就是这类。

尽管这两类应用复杂程度有区别,它们基于ERC-20通证应用相比展现一些特有共性这些共性也是NFT应用共性

这些共性主要表现在首先NFT应用涉及的链上操作不如ERC-20通证应用比如DeFi应用[11][12]涉及链上操作复杂其次很多NFT应用面向用户技术人士这些用户有些甚至没有区块链方面的知识了解基于区块链数字货币

因此为了大量专业领域用户无需具备区块链数字货币知识情况下毫无障碍使用参与NFT项目很多开发团队花费大量的精力资源设计优化用户界面使之符合用户已经互联网2.0应用中建立习惯便自然而然使一些项目设计和开发的过程中大量沿袭使用互联网2.0应用技术流程[9][13]一方面降低了用户使用门槛便于新用户进入NFT领域另一方面这也使得这些NFT应用过于中心化倾向这种过于中心化倾向不仅存在应用的技术实现上,也存在商业逻辑流程中。

这里我们特别强调现有NFT应用中涉及商业逻辑流程的部分可能存在什么问题是否某些未知的隐患没有引起业界尤其安全领域从业者足够关注研究比如目前诸多流行的NFT交易平台KYC并未强制要求,谈不上坚决执行这种情况下如何防范安全事故黑客身份的追踪、定位再如NFT项目真伪验证大多数交易平台只是可选项而非必须执行这种情况下如何防止用户误入假冒项目还有对于NFT原创团队设定收取交易分红royalty方面目前各类平台采用的流程和方式是否存在安全漏洞隐患以及是否存在欺诈不公......

上述问题展开和研究目前鲜有看到业界提及遑论进行深入的探讨

对此Fairyproof一直进行跟踪研究探索并在这些方面积累和总结经验研发一套综合性框架系统NFT领域从业者提出建设性的意见切实可行方案。

4 对辅助服务或应用的审计

这里所提到辅助服务应用是指助于NFT充分发挥功能特色的服务应用典型的NFT存储元数据metadata[14]服务或应用.

兴起2021PFP项目利用了辅助服务或应用这类典型的NFT项目往往发行一定恒定数量的NFT每个NFT都有一个独一无二的图片每个图片包含各种特征组合每个NFT来说,这个图片就是元数据

这些图片往往为了吸引用户买入持有经过精心设计独具特色因此图片保存和显示这类NFT项目来说显得非常重要很多项目在设计考虑了使用各种方案使图片能够尽量永久保存因此什么样的服务应用能够提供可靠稳妥永久存储就是这些项目方关注重点

目前在业界见的存储方案主要有去中心化的存储应用中心化的存储应用。前者典型的IPFS[15]Arweave[16]后者主要有亚马逊[17]等。

但是这些存储方案并非每个都能现成提供永久存储有些可以提供永久存储费用较高,有些只能提供按时收费的临时存储各有优缺点因此如何综合考虑使用一种多种方案进行组合构建一套能够永久存储服务就是项目开发者必须考虑问题

但是项目方考虑使用这些方案时,这些方案本身可能存在什么问题组合使用这些方案可能存在哪些安全上隐患或者潜在风险如何规避和防范这些隐患潜在风险有关这些问题讨论和研究至今所见相当有限

Fairyproof成立伊始便开始关注领域研究探索尤其安全实践可能存在什么难点重点我们基于自身积累和实践,探索研发了一套系统方案用来评价和审查NFT辅助服务应用研发部署一套全面流程系统检视这些辅助服务应用各类实践方案可能存在的安全隐患潜在风险。

NFT项目审计不单单是NFT智能合约的审计系统工程是一套综合流程需要从生态角度全面审视NFT本身核心业务逻辑涉及周边应用基础设施辅助服务

Fairyproof一直并将持续密切关注NFT生态发展持之以恒深入研究这个领域的安全问题已经建立的成熟框架继续扩展探索领域最新的发展继续同业分享我们前沿问题的思考和前瞻判断

参考文献:

[1] Non-fungible token, https://en.wikipedia.org/wiki/Non-fungible_token, Feb 22, 2022

[2] ERC-20 Token Standard, https://ethereum.org/en/developers/docs/standards/tokens/erc-20/

[3] Understanding Security Issues in the NFT Ecosystem, https://arxiv.org/abs/2111.08893, Jan 19, 2022

[4] ERC-721 Non-fungible Token Standard,

https://ethereum.org/en/developers/docs/standards/tokens/erc-721/

[5] EIP-1155: Multi Token Standard, https://eips.ethereum.org/EIPS/eip-1155

[6] A Beginners Guide to Understanding PFP NFTs,

https://medium.com/geekculture/a-beginners-guide-to-understanding-pfp-nfts-8714e9d30d0b, August 29, 2021

[7] CryptoPunks, https://www.larvalabs.com/cryptopunks

[8] BAYC, https://boredapeyachtclub.com/#/

[9] OpenSea, https://opensea.io/

[10] Rarible, https://rarible.com/

[11] Curve, https://curve.fi/

[12] MakerDAO, https://makerdao.com/

[13] Nifty Gateway, https://niftygateway.com/

[14] metadata, https://csrc.nist.gov/glossary/term/metadata

[15] IPFS, https://ipfs.io/

[16] Arweave, https://www.arweave.org/

[17] AWS, https://aws.amazon.com/

About the author:

Yuefei TAN, CEO of Fairyproof

About Fairyproof:

Fairyproof Tech is a blockchain security company, established in Jan 2021.

It was founded by a team with rich experience in smart contract programming and network security. The team members participated in initiating a number of draft standards in the Ethereum field, including ERC-1646, ERC-2569, ERC-2794, and EIP-3712, of which ERC-2569 was officially accepted by the Ethereum team.

The team participated in the launch and development of various Ethereum projects, including blockchain platforms, DAO organizations, on-chain data storage, decentralized exchanges, and conducted security audits of multiple projects which have been deployed on Ethereum. Based on its strong R&D capability and deep understanding of smart contract security, Fairyproof has developed comprehensive vulnerability tracking and security systems and tools.

Fairyproof Tech serves and works closely with customers by providing systematic solutions covering both “code vulnerabilities” and “logic vulnerabilities” and aims to provide customers with the best and most professional services.