本文来自孟岩的区块链思考,作者孟岩、王玮、周志强,星球日报经授权转载。Solv团队已经开始正式撰写文档,将于近期通过EIP过程提交一种新的加密数字资产标准文档。目前我们在内部称其为vNFT,定位为“可计算NFT标准”。据我们所知,如果获得通过,这将是首个由中国背景的团队提出的加密数字资产国际标准。
Solv创建的vNFT致力于为非匀质化通证NFT添加可计算性,即在保留NFT强大的个性化描述能力的同时,使“数量”成为其NFT的核心属性,使之能够支持数学运算。可计算NFT是兼容ERC721的“超级NFT”,同时具备ERC20与ERC721的特长,是通用的非货币类数字资产描述协议,可以广泛应用于数字艺术品、数字出版物、数字票证、标准化虚拟商品的描述和表示,也可以成为线下实体商品映射上链的理想协议。
图1.可计算NFT、vNFT和SolvVouchers在整个通证技术体系中的定位
可计算NFT是通证技术体系的最新发展,是具有重大研究和应用价值的新领域。Solv团队已经率先在Ethereum上开发了可计算NFT的参考实现,并在SolvVouchers产品当中得到验证。由于Solv率先实现的可计算NFT被称为Voucher,因此在相关提案还未标准化之前,我们称这一通证标准为vNFT。
vNFT是一个平台无关的数字资产标准,当前已经在以太坊上实现,将很快快在BSC、Polygon等链上实现,未来还计划在Solana、NEAR、Polkadot等各种主流公链和以太坊L2上实现。
对数字资产有所研究的读者将不难看出,可计算性与NFT的结合将激发巨大的创新。我们将不但根据EIP的要求公开全部标准文档,而且在合适的时机,全面开源参考实现的代码,欢迎全世界的数字资产创新者与我们共同推动这一技术的应用。
本文简明扼要地介绍可计算NFT的基本思想、设计方案和应用意义。为了表述的精确化,对用语作出以下约定:
Beosin:Avalanche链上Platypus项目损失850万美元攻击事件解析:2月17日,据区块链安全审计公司Beosin旗下Beosin EagleEye安全风险监控、 预警与阻断平台监测显示,Avalanche链上的Platypus项目合约遭受闪电贷攻击,Beosin安全团队分析发现攻击者首先通过闪电贷借出4400万USDC之后调用Platypus Finance合约的deposit函数质押,该函数会为攻击者铸造等量的LP-USDC,随后攻击者再把所有LP-USDC质押进MasterPlatypusV4合约的4号池子当中,然后调用positionView函数利用_borrowLimitUSP函数计算出可借贷余额,_borrowLimitUSP函数会返回攻击者在MasterPlatypusV4中质押物品的价值的百分比作为可借贷上限,利用该返回值通过borrow函数铸造了大量USP(获利点),由于攻击者自身存在利用LP-USDC借贷的大量债务(USP),那么在正常逻辑下是不应该能提取出质押品的,但是MasterPlatypusV4合约的emergencyWithdraw函数检查机制存在问题,仅检测了用户的借贷额是否超过该用户的borrowLimitUSP(借贷上限)而没有检查用户是否归还债务的情况下,使攻击者成功提取出了质押品(4400万LP-USDC)。归还4400万USDC闪电贷后, 攻击者还剩余41,794,533USP,随后攻击者将获利的USP兑换为价值8,522,926美元的各类稳定币。[2023/2/17 12:12:32]
可计算NFT(ComputationalNon-fungibleToken)是指具有可计算性的NFT。
vNFT是Solv团队提出的可计算NFT实现协议,我们将根据EIP提出申请,力争令vNFT成为可计算NFT的行业标准。在不产生误解的情况下,本文有时也用vNFT表示一个具体的token。
Voucher是泛指在遵循vNFT标准的具体的可计算NFT。任何人都可以基于vNFT创造一种面向某个具体应用的voucher,例如代表提货单的voucher,代表产权证书的voucher,代表投资份额的voucher等等。在不产生误解的情况下,本文有时也用voucher表示一个具体的token。
1NFT并非不可计算
加拿大房地产公司Thornton Place将比特币添加至投资组合:加拿大房地产公司Thornton Place已将比特币添加到其投资组合。该公司已为其储备基金购买了0.4 BTC。根据最近的一份声明,Thornton Place还将在未来每月对比特币投资700加元(约合563美元)。该公司表示,预计其加密投资的期限为10年。(Decrypt)[2021/3/19 18:59:12]
匀质通证的主要优势就在于其可计算,因此适合用来表达货币、积分这种纯粹数值性的对象。而非匀质通证的主要优势在于其描述能力强,每一个NFT都可以有不同的性质和内容。所谓描述能力强,换一种说法就是效率高。假如有100件不同的物品要以token方式描述,如果使用FT技术,例如ERC20标准,那就要编写100个不同的ERC20合约,发布100种不同的ERC20tokens。
做一个类比,在ERC20里,为了生产100件不同的产品,要先建设100间不同的工厂,然后每个工厂只生产一种产品,效率自然是很差的。而在NFT中,只需要创建一个ERC721合约,然后铸造100个不同NFT,在每一个NFT当中写入不同的数据内容即可。这就好比只建造一个工厂便可以生产100件不同的产品,效率自然更高。
当前的NFT主要基于ERC721协议创造。这种协议所创造的NFT,每一个都是独一无二的,既没有同类,也不可拆分。就好比这家工厂有一个怪脾气,每一种产品只能生产一个,不能生产多个,因此ERC721有一个巨大的缺陷,就是不可计算。
为什么说不可计算?在ERC721里任意两个NFT都不能相加,连加法都不能做,自然不能进行其他的计算。
由于先入为主的观念影响,很多人在谈到NFT的时候,都将其不可计算性认为是理所当然,甚至把它当成NFT的本质属性和价值来源。很多人认为,既然一个苹果加一个梨子是没有意义的,那么一个NFT与另一个NFT当然也不能相加,更谈不上数量乘法等更高级的计算。
但其实稍加深入思考便会意识到,NFT并非一定不可计算。
就拿艺术品和收藏品来说,达芬奇的《蒙娜丽莎》和颜真卿的《祭侄文稿》自然是独一无二的,但是版画、海报、邮票、明星卡、碑帖拓本等物品,则可以是限量发行、而非独一无二的。比如一版邮票,限量发行一千套,而在其中任意两套,虽然严格来说确实是不同的,但它们之间的差异非常微小,以至于我们可以忽略它们的差异,抽象地把它们看成是完全一样的。
波卡二层扩容协议Plasm Network宣布Plasm Grit计划:波卡二层扩容协议Plasm Network宣布Plasm Grit计划,以扩大对应用程序开发人员的支持范围。支持内容包括帮助构建DApp或从以太坊迁移到Polkadot生态系统;Discord的技术问答、项目审查、每月同步会议、新功能的先前公告、营销和协作公告和其他有利于应用程序开发的支持。
该计划针对的人群包括:1. 想从零开始在Plasm网络或Polkadot生态系统上构建DApp的团队或个人;2. 正在考虑从以太坊迁移到Polkadot生态系统的团队。申请获得支持需要符合的要求:1. 在Solidity或者ink方面有经验的团队或者个人;2. 有工作产品或原型(可选)。[2020/11/1 11:22:21]
换言之,这种忽略与抽象本质上是一种再匀质化的过程,我们将本来非匀质的、彼此不同的一组物品在概念上变得各个相同的匀质物品了。既然是匀质的,在很多场景中就可以进行计算了。其中一个最突出的场景就是价格计算。比如一套邮票价格是200元,那么另一套同版的邮票价格就是200元。几乎不会有人会因为这两套邮票有几个像素的差别而要求不同的价格。同样的,一张三年期100元面值的国库券现价是90元,那么10张同样面值的国库券现价就应该是900元,不会有人因为其中有一张国库券有一个折角而给出不同的估值。
由此可见,NFT的不可计算性绝非天经地义。对于很大一类NFT来说,可计算将为它们的实际应用带来巨大的便利。
哪些NFT是可计算的呢?主要有这么一些:
标准产品的数字代表
各种单据和证书
数字金融票证和标准化合约
限量发行的数字内容
限量发行的虚拟商品
可份额化的权利证书
2抽象与归类是NFT可计算性的基础
世界上没有两片树叶是完全一样的,也没有两个苹果是完全一样的。只要不进入微观世界,那么这世上只有一个又一个截然不同的东西。我们永远不可以把一个苹果与另一个苹果加起来,也得不出“两个苹果”这一概念。所以,鲁迅说墙外的两株树,一株是枣树,还有一株也是枣树,这便谈不上是什么文学了。
幸好人类具有一种了不起的认知能力,就是抽象与归类。所谓抽象,其实就是有目的地忽略一个物品的特殊之处,而强调它与其他某些物品之间的共性,并基于这种共性将这些物品放在某一个概念之下,归于一类。正是由于这种能力,人们可以发展出“苹果”、“树叶”、“老虎”、“枣树”这样的概念,并且在一定场景之下,允许在同类物品之间进行加和计算了。当我们说“两只苹果”的时候,实际上是把两个被归于同类的物品抽象为一模一样的东西,消除它们之间的差异,进行了一次“再匀质化”,然后在做一个一加一等于二的操作,才能创造出“两只苹果”这样的概念。
这样一套逻辑同样适用于NFT。两个NFT当然是不同的,但是如果我们应用抽象与归类,忽略掉它们的不同,那么就可以消除它们之间的差异,将它们重新“匀质化”,从而也就可以进行包括加法和数量乘法在内的多种计算了。
然而ERC721作为当前主流的NFT标准,片面地强调每一个NFT的独一无二,并没有提供一套标准的方式来对NFT进行抽象与归类。这就是ERC721NFT不可计算的根本原因,也是可计算NFT创新的出发点。
3vNFT的基本思想
vNFT是可计算NFT的一个具体标准,其目的在于为NFT添加可计算性,具体的说,就是允许在vNFT中批量化的创造大量同类的NFT。这就好像vNFT这间工厂,既可以生产独一无二的产品,也可以按照要求大批量生产一种产品,灵活性和效率都达到了最佳状态。
vNFT基于以下三项基本思想设计:
第一,将“数量”作为vNFT的核心属性;
第二,提供一套标准的抽象与归类的机制,即SLOT机制;
第三,与ERC721兼容。
3.1数量作为vNFT的核心属性
ERC721认为每一个NFT都是独一无二的,因此其缺省的数量都是1。既然都是1,也就没有必要显明地表示出来。
可计算NFT则不同。一个可计算NFT一定包含一个数量属性,这是其可支持数学计算的基本原因。为此,我们将数量作为核心属性放在vNFT中。例如,如果用一个vNFT代表你的数字名片,而它的quantity是100,这代表它并不是一张名片,而是100张名片的集合。当然,这个数量也可以就是1。
图2.vNFT将数量作为核心属性
可见,一个vNFT既可以是一个单独的、独一无二的NFT,也可以是若干同类vNFT的加和。例如,一张面值为100元的债券,可以视为100张面值1元的债券的加和。一张包含30件某型号商品的提货单,可以视为30张单件商品的提货单的加和。Solv在vNFT当中将“数量”设为头等属性,与该vNFT的ID信息并列,从而使上面的这种加法运算成为可能。换句话说,两个vNFT相加,其实就是一种合并,是在保持其他属性不变的情况下,两者的数量属性相加的运算。这是可计算性的根本出发点。
加法的逆运算是减法,因此有了数量这个属性,一个直接的后果就是可能对vNFT进行化整为零的拆分。一个vNFT可以被拆成两份,只要这两份vNFT的数量属性之和等于原始的vNFT数量属性即可。例如,在vNFT中,可以将一张100元面值的债券通证拆分成两张面值分别为20元和80元的债券。事实上,在SolvVouchers平台当中,用户不仅可以做拆分,而且可以进行部分转让。当前,NFT份额化以及拆分是一个热门话题,存在一些可行的技术方案,但都比较繁琐。而在vNFT当中,支持NFT份额化、拆分和部分转让是非常自然简单的事情。
vNFT中的数量属性在实用中非常灵活,可以表达份额数量,也可以表达诸如面积、长度、重量、价格等各种度量。vNFT标准允许开发者给这些数量施加各种限制条件,比如最大量、最小量、是否可进行拆分、拆分的最小单位,等等,可以满足各种应用场景的需求。
3.2SLOT机制
SLOT是vNFT的核心创新,所以必须稍加笔墨予以说明。
英文的SLOT是“插槽”的意思。在现代电子设备中,插槽是一种标准化的适配接口。例如在计算机的主板上,留有若干标准插槽,无论是哪个厂家生产板卡,只要遵循相关标准,能够插入到插槽之上,便可以正常工作。不同厂家生产的不同型号的板卡当然是彼此不同的,但是在插槽的抽象与统一下,它们的差异被忽略掉,而是被抽象为完全相同的、匀质的标准零件。
vNFT选用这个词代表可计算NFT的抽象与归类机制,正是因为其工作机制与计算机中的插槽颇为神似。在vNFT中,一个SLOT就代表着一个类别,在实现上是圈定了一组特定的属性。任何两个vNFT,只要它们都具有这一组属性,而且它们的这一组属性都一模一样,便都可以“插入”到这个插槽当中,也就是都可以被归为这个SLOT所代表的的类别之中。所有能够被归类到同一个SLOT的vNFT,被视为同类,因为也可以进行加和操作。
举一个例子。假设我们为某一个图书仓库创建一个vNFT类别来代表图书提货单,比如用一张单子代表100本书的提货权。这个单子在vNFT中的表示示意如下:
图3.代表图书提货单的vNFT
SLOT可以发挥什么作用呢?一个SLOT就是vNFT中的一个属性子集。假设一个SLOT圈定了三个属性,其意义就是说,只要两个vNFT在这三个属性上完全一样,那就可以被归入一类。
图4.图书提货单中的SLOT属性子集
比方我们看到两个vNFT,其中都包含有这三个属性,而且都是,那么不管这两个vNFT各自还有什么别的属性,也不管它们其他的属性是否相同,我们都可以认为这两个vNFT都同属于这一个SLOT,也就是属于同一类。由此它们便可以加和。当它们加和时,两个vNFT合并为一,新的vNFT保持这两个属性的值,将其数量属性的值加和。
图5.两个图书提货单vNFT相加
由此可见,SLOT是一种抽象分类机制,它允许我们刻意地忽略事物的某些方面,而仅仅根据一些共性,就将不同的东西划归同一类。一旦归类,便可以进行“再匀质化”,从而进行数值计算。
值得指出的是,SLOT机制事实上允许个别的vNFT个性化自己,也就是声明自己不属于某一个类别。在实践当中,一种voucher的设计者可以在SLOT中放入一些特殊属性,专门方便一个具体的vNFT通过为这些特殊属性赋值以使自己“卓尔不群”,自成一类。换句话讲,如果说SLOT是一种“再匀质化”机制,那么SLOT中的这些特殊属性就是一种“反再匀质化”机制。由此可见SLOT机制的灵活性。这是SLOT机制比较高级的用法,在这里不详细展开。
3.3与ERC721兼容
可以通过多种方式实现可计算NFT。例如,ERC1155从某种意义上来说也是一种可计算NFT的实现标准,但是vNFT在设计上与其存在多项不同之处,其中一个重要的差别在于,vNFT与ERC721兼容,每一个vNFT同时也是一个ERC721。熟悉面向对象编程的读者不难理解,vNFT可视为ERC721的一个派生类,因此一个应用如果支持ERC721,那么它就已经支持vNFT了。相比之下ERC1155另起炉灶,完全创造了一中全新的通证标准,各应用需要专门编写代码来支持ERC1155。毫无疑问,vNFT的这种向后兼容性,大大降低了其落地应用的门槛。在实践当中,Solv所创造的各种voucher,都可以直接在各种NFT钱包中管理,也可以进入OpenSea等NFT市场流转,体现了这一设计选择的优势。
选择与ERC721兼容的另一个优势在于动态性和灵活性。这一点与ERC20和ERC1155对比时格外突出。为了方便理解,我们仍然使用之前的工厂的类比。ERC20是只能批量生产同一种产品的工厂,因此如果你想创建一种新的产品,那么就必须创建一个新的工厂。ERC721则是一个性格乖张的工厂,它可以生产各种各样的产品,但是每一个产品只能生产一个,绝不重复,更不能批量制造同一种产品。ERC1155则是一条有多条生产线的工厂,每一条生产线都可以批量制造同一种产品,但是想要增加一类新产品,就必须添加一条新的生产线,并且要求所有的分发、销售渠道和应用场景都升级来支持这种新产品。
而vNFT相当于一个智能工厂,它既可以生产独一无二的产品,也可以批量化生产同类产品,还允许渠道和用户各自定制化这些产品,并且增加新产品的时候,也不需要他人做结构性的调整。很显然,相比于ERC20、ERC721和ERC1155,vNFT具有最大的灵活性和动态性。
4vNFT的应用场景
可计算NFT实际上是将非匀质的通证再匀质化,因此它既具有匀质通证的抽象性和可计算性,又具有NFT的灵活性和描述能力,在应用中达到了一个最佳的平衡点。在海外的数字资产研究领域,有人将这种通证成为“半匀质通证”,正在吸引越来越多的关注。
以下以vNFT为例探讨一些可能的应用:
用vNFT制作数字名片、明星卡、入场券、邮票等限量发行的物品;
用vNFT表示可份额化和共享的资产权证,如土地或房屋的产权证书,
用vNFT代表天然具有数量特征的证明,比如提货单、兑换券、优惠券、积分卡等;
用vNFT代表有面积属性的虚拟地产所有权证明;
用vNFT代表游戏当中的虚拟物品;
用vNFT制作精美的功能票券,不但在系统中具有特定的功能,而且本身具有艺术性和收藏性;
用vNFT制作限量发行,且收藏者可签章评论的加密艺术品;
用vNFT制作金融合约和金融工具。
以上的列表远远没有穷尽vNFT的应用场景。毫无疑问,几乎在未来数字经济的各个领域,可计算NFT都能够扮演关键角色,而vNFT作为可计算NFT的原生标准,必将得到广泛应用。
5vNFT的进展
Solv团队从2020年10月开始研究可计算NFT,12月正式确立技术思路,2021年第一季度完成了vNFT的设计和参考实现,并且于2021年6月17SolvVouchers以太坊主网正式启动。SolvVouchers本身代表加了释放时间锁的token份额,与ERC721兼容,并且可以拆分、合并、部分转让,可以进行加法、数量乘法等线性运算,并且每一张voucher都有精心设计的外观,成为了特色鲜明数字资产。
SolvVouchers的创新已经获得了众多国际优秀DeFi项目和协议的认可,目前已经有超过20家DeFi项目与Solv建立了战略,包括DODO、Parsiq、Bounce、NAOSFinance、Ankr、SaffronFinance、ImpossibleFinance等。来自同行的肯定充分证明了vNFT和SolvVouchers创新的价值和有效性。
不过,对于可计算NFT的研究还处于早期阶段,Solv团队也致力于不断增强vNFT标准和Vouchers产品的功能。我们即将发布的新版Vouchers将具备可定制的释放条件、后置资产补充等功能,未来还将以某种方式实现多个异质vNFT的打包和分层等功能,能力还将大大提升。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。