來源:孟岩的區塊鏈思考
作者:孟岩、王瑋、周志強
原標題:《可計算NFT:概念、意義和核心思想》
Solv團隊已經開始正式撰寫文檔,將於近期通過EIP過程提交一種新的加密數字資產標准文檔。目前我們在內部稱其為vNFT,定位為「可計算NFT(Computational NFT)標準」。據我們所知,如果獲得通過,這將是首個由中國背景的團隊提出的加密數字資產國際標準。
Solv創建的vNFT致力於為非勻質化通證NFT添加可計算性(computability),即在保留NFT強大的個性化描述能力的同時,使「數量」成為其NFT 的核心屬性,使之能夠支持數學運算。可計算NFT是兼容ERC721的「超級NFT」,同時具備ERC20與ERC721的特長,是通用的非貨幣類數字資產描述協議,可以廣泛應用於數字藝術品、數字出版物、數字票證、標準化虛擬商品的描述和表示,也可以成為線下實體商品映射上鍊的理想協議。
圖1. 可計算NFT、vNFT 和Solv Vouchers 在整個通證技術體系中的定位
可計算NFT是通證(token)技術體系的最新發展,是具有重大研究和應用價值的新領域。 Solv團隊已經率先在Ethereum 上開發了可計算NFT的參考實現,並在Solv Vouchers 產品當中得到驗證。由於Solv率先實現的可計算NFT被稱為Voucher,因此在相關提案還未標準化之前,我們稱這一通證標準為vNFT。
vNFT是一個平台無關的數字資產標準,當前已經在以太坊上實現,將很快快在BSC、 Polygon等鏈上實現,未來還計劃在Solana 、NEAR、Polkadot 等各種主流公鍊和以太坊L2上實現。
對數字資產有所研究的讀者將不難看出,可計算性與NFT 的結合將激發巨大的創新。我們將不但根據EIP 的要求公開全部標准文檔,而且在合適的時機,全面開源參考實現的代碼,歡迎全世界的數字資產創新者與我們共同推動這一技術的應用。
本文簡明扼要地介紹可計算NFT的基本思想、設計方案和應用意義。為了表述的精確化,對用語作出以下約定:
可計算NFT (Computational Non-fungible Token) 是指具有可計算性的NFT。
vNFT是Solv 團隊提出的可計算NFT 實現協議,我們將根據EIP 提出申請,力爭令vNFT 成為可計算NFT 的行業標準。在不產生誤解的情況下,本文有時也用vNFT 表示一個具體的token。
Voucher 是泛指在遵循vNFT 標準的具體的可計算NFT。任何人都可以基於vNFT 創造一種面向某個具體應用的voucher,例如代表提貨單的voucher,代表產權證書的voucher,代表投資份額的voucher 等等。在不產生誤解的情況下,本文有時也用voucher 表示一個具體的token。
NFT並非不可計算
勻質通證(FT)的主要優勢就在於其可計算,因此適合用來表達貨幣、積分這種純粹數值性的對象。而非勻質通證(NFT)的主要優勢在於其描述能力強,每一個NFT 都可以有不同的性質和內容。所謂描述能力強,換一種說法就是效率高。假如有100 件不同的物品要以token方式描述,如果使用FT 技術,例如ERC20 標準,那就要編寫100 個不同的ERC20 合約,發布100 種不同的ERC20 tokens。
做一個類比,在ERC20裡,為了生產100 件不同的產品,要先建設100 間不同的工廠,然後每個工廠只生產一種產品,效率自然是很差的。而在NFT 中,只需要創建一個ERC721 合約,然後鑄造100 個不同NFT,在每一個NFT 當中寫入不同的數據內容即可。這就好比只建造一個工廠便可以生產100 件不同的產品,效率自然更高。
當前的NFT 主要基於ERC721 協議創造。這種協議所創造的NFT,每一個都是獨一無二的,既沒有同類,也不可拆分。就好比這家工廠有一個怪脾氣,每一種產品只能生產一個,不能生產多個,因此ERC721 有一個巨大的缺陷,就是不可計算。
為什麼說不可計算?在ERC721 裡任意兩個NFT 都不能相加,連加法都不能做,自然不能進行其他的計算。
由於先入為主的觀念影響,很多人在談到NFT 的時候,都將其不可計算性認為是理所當然,甚至把它當成NFT 的本質屬性和價值來源。很多人認為,既然一個蘋果加一個梨子是沒有意義的,那麼一個NFT 與另一個NFT 當然也不能相加,更談不上數量乘法等更高級的計算。
但其實稍加深入思考便會意識到,NFT並非一定不可計算。
就拿藝術品和收藏品來說,達芬奇的《蒙娜麗莎》和顏真卿的《祭侄文稿》自然是獨一無二的,但是版畫、海報、郵票、明星卡、碑帖拓本等物品,則可以是限量發行、而非獨一無二的。比如一版郵票,限量發行一千套,而在其中任意兩套,雖然嚴格來說確實是不同的,但它們之間的差異非常微小,以至於我們可以忽略它們的差異,抽像地把它們看成是完全一樣的。
換言之,這種忽略與抽象本質上是一種再勻質化的過程,我們將本來非勻質的、彼此不同的一組物品在概念上變得各個相同的勻質物品了。既然是勻質的,在很多場景中就可以進行計算了。其中一個最突出的場景就是價格計算。比如一套郵票價格是200 元,那麼另一套同版的郵票價格就是200 元。幾乎不會有人會因為這兩套郵票有幾個像素的差別而要求不同的價格。同樣的,一張三年期100 元面值的國庫券現價是90 元,那麼10 張同樣面值的國庫券現價就應該是900 元,不會有人因為其中有一張國庫券有一個折角而給出不同的估值。
由此可見,NFT 的不可計算性絕非天經地義。對於很大一類NFT 來說,可計算將為它們的實際應用帶來巨大的便利。
哪些NFT 是可計算的呢?主要有這麼一些:
標準產品的數字代表
各種單據和證書
數字金融票證和標準化合約
限量發行的數字內容
限量發行的虛擬商品
可份額化的權利證書
抽象與歸類是NFT可計算性的基礎
世界上沒有兩片樹葉是完全一樣的,也沒有兩個蘋果是完全一樣的。只要不進入微觀世界,那麼這世上只有一個又一個截然不同的東西。我們永遠不可以把一個蘋果與另一個蘋果加起來,也得不出「兩個蘋果」這一概念。所以,魯迅說牆外的兩株樹,一株是棗樹,還有一株也是棗樹,這便談不上是什麼文學了。
幸好人類具有一種了不起的認知能力,就是抽象與歸類。所謂抽象,其實就是有目的地忽略一個物品的特殊之處,而強調它與其他某些物品之間的共性,並基於這種共性將這些物品放在某一個概念之下,歸於一類。正是由於這種能力,人們可以發展出「蘋果」、「樹葉」、「老虎」、「棗樹」這樣的概念,並且在一定場景之下,允許在同類物品之間進行加和計算了。當我們說「兩隻蘋果」的時候,實際上是把兩個被歸於同類的物品抽象為一模一樣的東西,消除它們之間的差異,進行了一次「再勻質化」,然後在做一個一加一等於二的操作,才能創造出「兩隻蘋果」這樣的概念。
這樣一套邏輯同樣適用於NFT。兩個NFT 當然是不同的,但是如果我們應用抽象與歸類,忽略掉它們的不同,那麼就可以消除它們之間的差異,將它們重新「勻質化」,從而也就可以進行包括加法和數量乘法在內的多種計算了。
然而ERC721 作為當前主流的NFT 標準,片面地強調每一個NFT 的獨一無二,並沒有提供一套標準的方式來對NFT 進行抽象與歸類。這就是ERC721 NFT 不可計算的根本原因,也是可計算NFT 創新的出發點。
vNFT 的基本思想
vNFT 是可計算NFT 的一個具體標準,其目的在於為NFT 添加可計算性,具體的說,就是允許在vNFT 中批量化的創造大量同類的NFT。這就好像vNFT 這間工廠,既可以生產獨一無二的產品,也可以按照要求大批量生產一種產品,靈活性和效率都達到了最佳狀態。
vNFT 基於以下三項基本思想設計:
將「數量」作為vNFT 的核心屬性;
提供一套標準的抽象與歸類的機制,即SLOT 機制;
與ERC721 兼容。
數量作為vNFT 的核心屬性
ERC721 認為每一個NFT 都是獨一無二的,因此其缺省的數量都是1。既然都是1,也就沒有必要顯明地表示出來。
可計算NFT 則不同。一個可計算NFT 一定包含一個數量屬性,這是其可支持數學計算的基本原因。為此,我們將數量(quantity)作為核心屬性放在vNFT 中。例如,如果用一個vNFT 代表你的數字名片,而它的quantity 是100,這代表它並不是一張名片,而是100 張名片的集合。當然,這個數量也可以就是1。
圖2. vNFT 將數量(quantity)作為核心屬性
可見,一個vNFT 既可以是一個單獨的、獨一無二的NFT,也可以是若干同類vNFT 的加和。例如,一張面值為100 元的債券,可以視為100 張面值1 元的債券的加和。一張包含30 件某型號商品的提貨單,可以視為30 張單件商品的提貨單的加和。 Solv 在vNFT 當中將「數量」設為頭等屬性,與該vNFT 的ID 信息並列,從而使上面的這種加法運算成為可能。換句話說,兩個vNFT 相加,其實就是一種合併,是在保持其他屬性不變的情況下,兩者的數量屬性相加的運算。這是可計算性的根本出發點。
加法的逆運算是減法,因此有了數量這個屬性,一個直接的後果就是可能對vNFT 進行化整為零的拆分。一個vNFT 可以被拆成兩份,只要這兩份vNFT 的數量屬性之和等於原始的vNFT 數量屬性即可。例如,在vNFT 中,可以將一張100 元面值的債券通證拆分成兩張面值分別為20 元和80 元的債券。事實上,在Solv Vouchers 平台當中,用戶不僅可以做拆分,而且可以進行部分轉讓。當前,NFT 份額化以及拆分是一個熱門話題,存在一些可行的技術方案,但都比較繁瑣。而在vNFT 當中,支持NFT 份額化、拆分和部分轉讓是非常自然簡單的事情。
vNFT 中的數量屬性在實用中非常靈活,可以表達份額數量,也可以表達諸如面積、長度、重量、價格等各種度量。 vNFT 標准允許開發者給這些數量施加各種限制條件,比如最大量、最小量、是否可進行拆分、拆分的最小單位,等等,可以滿足各種應用場景的需求。
SLOT 機制
SLOT 是vNFT 的核心創新,所以必須稍加筆墨予以說明。
英文的SLOT 是「插槽」的意思。在現代電子設備中,插槽是一種標準化的適配接口。例如在計算機的主板上,留有若干標準插槽,無論是哪個廠家生產闆卡,只要遵循相關標準,能夠插入到插槽之上,便可以正常工作。不同廠家生產的不同型號的闆卡當然是彼此不同的,但是在插槽的抽象與統一下,它們的差異被忽略掉,而是被抽象為完全相同的、勻質的標準零件。
vNFT 選用這個詞代表可計算NFT 的抽象與歸類機制,正是因為其工作機制與計算機中的插槽頗為神似。在vNFT 中,一個SLOT 就代表著一個類別,在實現上是圈定了一組特定的屬性。任何兩個vNFT,只要它們都具有這一組屬性,而且它們的這一組屬性都一模一樣,便都可以「插入」到這個插槽當中,也就是都可以被歸為這個SLOT 所代表的的類別之中。所有能夠被歸類到同一個SLOT 的vNFT,被視為同類,因為也可以進行加和操作。
舉一個例子。假設我們為某一個圖書倉庫創建一個vNFT 類別來代表圖書提貨單,比如用一張單子代表100 本書的提貨權。這個單子在vNFT 中的表示示意如下:
圖3. 代表圖書提貨單的vNFT
SLOT 可以發揮什麼作用呢?一個SLOT 就是vNFT 中的一個屬性子集。假設一個SLOT 圈定了(書號,倉庫編號,書名)三個屬性,其意義就是說,只要兩個vNFT 在這三個屬性上完全一樣,那就可以被歸入一類。
圖4. 圖書提貨單中的SLOT 屬性子集
比方我們看到兩個vNFT,其中都包含有這三個屬性,而且都是('ISBN 978-7-5217-2263-5', ' 北京海淀3 倉',' 區塊鏈與資產證券化' ),那麼不管這兩個vNFT 各自還有什麼別的屬性,也不管它們其他的屬性是否相同,我們都可以認為這兩個vNFT 都同屬於這一個SLOT,也就是屬於同一類。由此它們便可以加和。當它們加和時,兩個vNFT 合併為一,新的vNFT 保持這兩個屬性的值,將其數量屬性的值加和。
圖5. 兩個圖書提貨單vNFT 相加
由此可見,SLOT 是一種抽象分類機制,它允許我們刻意地忽略事物的某些方面,而僅僅根據一些共性,就將不同的東西劃歸同一類。一旦歸類,便可以進行「再勻質化」,從而進行數值計算。
值得指出的是,SLOT 機制事實上允許個別的vNFT 個性化自己,也就是聲明自己不屬於某一個類別。在實踐當中,一種voucher 的設計者可以在SLOT 中放入一些特殊屬性,專門方便一個具體的vNFT 通過為這些特殊屬性賦值以使自己「卓爾不群」,自成一類。換句話講,如果說SLOT 是一種「再勻質化」機制,那麼SLOT 中的這些特殊屬性就是一種「反再勻質化」機制。由此可見SLOT 機制的靈活性。這是SLOT 機制比較高級的用法,在這裡不詳細展開。
與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 具有最大的靈活性和動態性。
vNFT 的應用場景
可計算NFT 實際上是將非勻質的通證再勻質化,因此它既具有勻質通證的抽象性和可計算性,又具有NFT 的靈活性和描述能力,在應用中達到了一個最佳的平衡點。在海外的數字資產研究領域,有人將這種通證成為「半勻質通證」,正在吸引越來越多的關注。
以下以vNFT 為例探討一些可能的應用:
用vNFT 製作數字名片、明星卡、入場券、郵票等限量發行的物品;
用vNFT 表示可份額化和共享的資產權證,如土地或房屋的產權證書,
用vNFT 代表天然具有數量特徵的證明,比如提貨單、兌換券、優惠券、積分卡等;
用vNFT 代表有面積屬性的虛擬地產所有權證明;
用vNFT 代表遊戲當中的虛擬物品;
用vNFT 製作精美的功能票券,不但在系統中具有特定的功能,而且本身俱有藝術性和收藏性;
用vNFT 製作限量發行,且收藏者可簽章評論的加密藝術品;
用vNFT 製作金融合約和金融工具。
以上的列表遠遠沒有窮盡vNFT 的應用場景。毫無疑問,幾乎在未來數字經濟的各個領域,可計算NFT 都能夠扮演關鍵角色,而vNFT 作為可計算NFT 的原生標準,必將得到廣泛應用。
vNFT的進展
Solv團隊從2020 年10 月開始研究可計算NFT,12 月正式確立技術思路,2021 年第一季度完成了vNFT 的設計和參考實現,並且於2021 年6 月17 Solv Vouchers 以太坊主網正式啟動。 Solv Vouchers 本身代表加了釋放時間鎖的token 份額,與ERC721 兼容,並且可以拆分、合併、部分轉讓,可以進行加法、數量乘法等線性運算,並且每一張voucher 都有精心設計的外觀,成為了特色鮮明數字資產。
Solv Vouchers 的創新已經獲得了眾多國際優秀DeFi 項目和協議的認可,目前已經有超過20 家DeFi 項目與Solv 建立了戰略,包括DODO 、Parsiq、Bounce、NAOS Finance、Ankr、Saffron Finance、Impossible Finance 等。來自同行的肯定充分證明了vNFT 和Solv Vouchers 創新的價值和有效性。
不過,對於可計算NFT 的研究還處於早期階段,Solv 團隊也致力於不斷增強vNFT 標準和Vouchers 產品的功能。我們即將發布的新版Vouchers 將具備可定制的釋放條件、後置資產補充等功能,未來還將以某種方式實現多個異質vNFT 的打包和分層等功能,能力還將大大提升。