闕培斯,高 飛,曾一洪
(西藏大學信息科學技術學院,西藏 拉薩 850032)
非同質化通證[1(]Non-Fungible Token,NFT)由加密貓CryptoKitties 的創始人兼CTO Dieter Shirley在2017年正式提出的,實質是區塊鏈網絡里具有惟一性特點的可信數字權益憑證[2],是一種可在區塊鏈上記錄和處理多維、復雜屬性的數據對象。區別于同質化通證(Fungible Token,FT),NFT 具有獨一無二、不可替代的特性,目前被廣泛應用于互聯網數字藏品、虛擬藝術品等Web3加密技術中[3]。
國內外已有的NFT 相關研究主要集中于NFT 的概念以及應用探索、模型架構和應用研究。Ghosh Indranil等[4]學者通過集成機器學習和XAI檢驗對NFT和DeFi 價格的動態做出實驗化的預測和解釋。AlbayatiHayder 等[5]人使用Smart-PLS 4 進行分析,以確定基于方差的結構方程建模(SEM),使用偏最小二乘路徑建模(PLS)方法,基于計劃行為理論(TPB)評估NFT Metaverse 中的參與決策。Chen Jun 等[6]通過對NFT 藝術的商業方面及其新版本的分析,重點介紹了美國和中國對未經許可使用基礎作品的規制,考慮了NFTs是否會重新定義藝術和藝術家的未來。陳銳等[7]構建了鏈上鏈下加IPFS分布式文件存儲系統相結合的數據存儲方案,保障對區塊空間的合理利用,并基于劃分的拜占庭容錯共識算法DPBFT(Division-based Practical Byzantine Fault Tolerance),以滿足藝術品交易系統的性能需求。
基于目前區塊鏈常見的閃電網絡[8]上鏈研究方法,本團隊在區塊鏈共識算法、數據保護以及信息校準識別等方面的研究工作,結合團隊前期對知識產權信息存儲的研究,提出基于NFT 的知識產權數字化上鏈管理方法,將實物或電子版知識產權映射到區塊鏈并形成對應的非同質化通證,已達到個人知識產權在鏈上認證。知識產權擁有者可以將其鑄造成對應的NFT 貨幣,實現鏈下物理知識產權認證與鏈上虛擬產權認證的強綁定。上鏈信息設計成聯盟鏈的單鏈惟一錨定機制,確保用戶數據安全,維護國家知識產權安全保存。
NFT 是英文Non-Fungible Token 的縮寫,一般指基于以太坊標準ERC721、ERC1155[9]發行的非同質化權益憑證,是區塊鏈技術下的數字資產證書。NFT 具有獨一無二、不可替代的特性,目前特別適合對藝術品、游戲道具、珠寶名畫等具有特殊價值的事物進行認證確權[10],同時可以使用NFT 相關技術證明和追溯所有權。
ERC 是Ethereum Request for Comments(以太坊征求意見提案)的縮寫[11],代表以太坊已正式化的提案,它是由以太坊升級提案(Ethereum Improvement Proposals,EIP)[12]經過以太坊開發團隊各種審議和測試后通過的一種提案,如圖1 所示。對有用提案進行標準化,從而實現對開發者提供模版幫助以及標準限制[13]。

圖1 ERC執行標準流程圖
ERC721標準主要定義了標準化的接口樣例[14],不同的去中心化應用通過在自己的業務模塊中實現這些標準化的接口,使得基于ERC721 標準的不同去中心化應用的NFT 資產能夠互通,ERC721 定義的主要接口有:ownerOF(查詢NFT的鏈上歸屬)、transferForm(轉移NFT)、approve(NFT 授權)、setAPProv-alForAll(鏈上賬戶授權)。
ERC-1155 允許使用者在同一個智能合約中無限量地重復使用同質化或者非同質化的代幣。是可以一次性鑄造多種多量同質化及非同質化資產的以太坊標準。使用ERC-1155 進行鑄幣就可以更高效率完成,且gas fee 只需要發送一次。相對ERC-721 具有極低的鑄造成本[15]。
知識產權的持有者可向相關NFT 平臺申請上鏈,完成區塊鏈對應的虛擬產權的映射,物理世界與虛擬世界(即區塊鏈)通過NFT 鏈接。當知識產權上鏈后,持有者可在區塊鏈上聲明所有權和交易權。
本團隊研究的知識產權上鏈方法為產權所有者提供了將知識產權上鏈并鑄造成對應可惟一識別NFT 的功能。該方法是由產權持有者、知識產權管理機構及NFT 發行平臺組成。知識產權管理機構需要對產權持有者的知識產權進行認證和授權,生成產權證明及惟一編號。知識產權管理機構服務方可以為產權持有者提供知識產權NFT 通證鑄造服務,為所提供的NFT 發行平臺信譽背書并將數字化知識產權保存于區塊鏈當中,區塊鏈鏈上結構域包括用戶Web端、聯盟區塊鏈、以太坊、公有區塊鏈和星際文件系統(Interplanetary File System,IPFS)集群。如圖2 所示,其中Web 端是產權持有者與知識產權管理機構和鏈上NFT 平臺交互的媒介;聯盟鏈節點由一些具有權威和安全系數高的機構及NFT 管理平臺進行管理和維護,聯盟鏈通過智能合約編譯和存儲知識產權數據,一旦上鏈信息將無法更改,確保知識產權所鑄造知識產權NFT安全性和不可篡改性。

圖2 知識產權資產化模型
對于知識產權的物理級別保護目前是基于知識產權管理機構所頒發的紙質證書和惟一識別編號,知識產權的所有權需要與知識產權管理機構的頒發人見證下進行綁定。知識產權的數字級別保護是基于區塊鏈不可篡改性,若把知識產權的所有權映射到區塊鏈數字空間,則需將知識產權管理機構與NFT 發行平臺進行綁定在知識產權管理機構監督和背書下NFT發行平臺對知識產權進行上鏈和管理。NFT發行平臺通過生成管理機構信息存證合約(Management Agency Information Depository Contract,MAIDC)將其上鏈存證,以便后續與存入的知識產權NFT 進行綁定。NFT發行平臺存證信息CERT-NFTtra如表1所示。

表1 NFT發行平臺存儲知識產權信息
存證流程的算法描述如下:
算法1 NFT發行平臺存證流程算法
根據算法1,NFT 平臺的管理人員需要將原始NFT 數據輸入Raw_Nft_Data 到區塊鏈存儲中,通過知識產權管理機構發布的產權編號生成NFT 信息文件NFT_File,并上傳至IPFS,以獲取IPFS 地址ipfs_Cert。同時,從原始數據Raw_Nft_Data 中提取關鍵字段,例如ID-Use、Name-Ipr、Time-Ipr、Cochain-Time 和Num-Block,用于生成NFT 惟一編號Num-NFT。將這些關鍵信息與ipfs_cert 相結合,獲得NFT 知識產權關鍵信息NFT_Ipr_Msg,并使用智能合約對該信息進行上鏈存證。
在進行知識產權持有者進行NFT 鑄造之前,NFT 發行平臺需要將知識產權版權信息送到知識產權管理機構進行產權版號真實性鑒別,相關負責人要對鑒定結果、對鑒定結果的簽名數據和鑒定時間交給產權持有者,這些信息將作為數字簽名和時間戳保存到區塊鏈中。
知識產權持有者通過NFT 發行平臺進行NFT 鑄造,其中主要工作包括二個部分:知識產權NFT 鑄造和知識產權NFT轉讓。
2.3.1 NFT鑄造
在進行NFT 鑄造時,首先會提取知識產權的基本信息:作者、內容屬性、發布及上鏈時間等,將這些信息轉化為byte 字節,將字節輸入到加密算法中得到一個輸出值。若選擇的是哈希算法,可以得到一個哈希值,基于哈希算法單項性和抗碰撞屬性,每一個哈希值都惟一對應一個源內容,無法輕易被篡改。這個哈希值就是知識產權的數字化中間產物-數字ID。選擇區塊鏈任意一條公鏈進行智能合約開發,不同的公鏈,其底層標準協議邏輯或技術組件都有所差別,本團隊使用區塊鏈私有鏈聯盟鏈的形式,只針對知識產權管理機構及NFT 發行平臺等特定群體的成員和有限的第三方,其內部指定多個預選節點為記賬人,每個塊的生成由所有的預選節點共同決定。
在信息撰寫是使用Solidity 語言進行智能合約開發,并導入到中心化應用(Decentralized Application,DAPP)。調用開發的智能合約,將知識產權數字化ID儲存在所選擇的私有鏈上,將知識產權信息發送至鏈上NFT 鑄造合約(Intellectual Property NFT Casting Contract,IPNCC),智能合約直接映射了所制作的NFT 具有的基本屬性和流轉方式。NFT 鑄造流程的算法描述如下:
算法2知識產權NFT鑄造流程算法
如算法2,將給定的文件上傳到IPFS 網絡并獲取生成的IPFS 哈希值,保存在名為File_Ipfs 的變量中。使用了之前生成的IPFS 哈希值來輔助重構產權信息。獲取一個新的產權ID,將其保存在名為TokenID_Pro的變量中。為指定的所有者鑄造一個代幣,該代幣與之前獲取的產權ID 相關聯。使用Mint 函數創建了一個NFT 編號,其中代幣ID 就是NFT 的惟一標識符,并標注地址擁有者和TokenID。將鑄造的代幣ID 添加到產權ID 列表中的第一個位置。根據所提供的參數生成一個NFT(非同質化代幣),其中包括NFT ID、BTC 編號、代幣ID 和NFT 碼號。返回生成的NFT,也就是名為Pro_Nft 的變量,輸出到區塊鏈中作為默克爾樹(Merkle Tree)的根節點。
在將知識產權信息存儲到區塊鏈上時,會得到一個通證ID,通過這個ID 可以前往開發的智能合約中讀取知識產權NFT 信息數據,此時生成一個哈希通證URL(Hash Token URL,HTURL),它就相當于一把“密匙”,通過這個密匙可以借助瀏覽器或其他介質應用,還原儲存在IPFS 分布文式文件系統中鑄造的NFT作品內容。
2.3.2 產權NFT轉讓
在原產權持有者需要進行產權轉讓時,可以登陸NFT 項目網站連接自己的錢包。網站上的JavaScript代碼基于知識產權項目的mint 價格,合約地址等生成raw transaction 數據,網站代碼與用戶的Metamask 錢包進行交互。點擊確認交易后,Metamask 會使用錢包私鑰進行簽名,以確保這個交易是原產權持有者本身授權的,后續以太坊網絡會進行校驗。交易TX 被Metamask 發送到Metamask 的以太坊node(默認配置),node對TX進行校驗,確保交易不被仿冒。
如圖3所示,交易TX 被發送到以太坊網絡的相鄰節點,然后再相互廣播到相鄰接點。這時用戶交易就可以在以太坊官網etherscan.io 上查到,交易狀態為pending。礦工node 會將同步過來的TX 都存放到一個Txpool/Mempool 交易池當中,礦工選取TX 后開始挖礦,在找到一個區塊的Solution 后廣播到以太坊網絡。在其他礦工節點驗證后,該區塊正式上鏈,此時該知識產權的持有權將聲明到新持有者身份上。

圖3 產權NFT轉讓模型
當線下知識產權的所有權需要轉移時,原持有者可在區塊鏈上發布新的智能合約來覆蓋產權屬性,以保障線上交易后線下知識產權所有權的順利交接。完成知識產權轉讓后,現持有者可向知識產權管理機構申請新的產權編號,同時申請新的哈希數字作為新的默克爾樹(Merkle Tree)的根節點,產權NFT 轉讓算法描述如下。
算法3 身份驗證流程算法
如算法3,原持有者將本人原持有信息Old_ID 寫入到NFT 編號中,并更改持有者信息NFT_issuer,將知識產權編號Pro_Num 授權到新持有者上,使用Auth函數對關鍵字段進行編碼,對新持有者New_ID 進行上鏈跟蹤,確保持有者信息一致。
基于上述模型設計,本章主要實現原型系統。通過知識產權管理機構及NFT 發行平臺實現知識產權NFT鑄造和認證。實驗過程中使用Ganache部署本地區塊鏈,使用Solidity語言編寫智能合約代碼。在Remix上編寫好智能合約代碼并調試通過后,通過Truffle 在本地編譯、部署智能合約,將合約部署至搭建的開發框架中。NFT發行平臺可通過調用交易合約進行產權NFT 的鑄造、認證和轉讓。
圖4 為持有者在數字產權移動Web 端的操作界面,包括知識產權的基本信息,如知識產權類別、發布時間及發布地點等。其中知識產權類別主要包括發明專利(patent)、學術著作(Academic works)、軟件著作(Software Works)。持有者可在網頁上實時查看所持有的知識產權NFT,以及是否將產權進行轉讓操作。

圖4 數字產權移動Web端運行結果
圖5 為持有者完成知識產權轉讓的交易結果界面,包括用戶使用Metamask錢包進行以太幣交易和數字產權移動Web 端。當A 用戶提出要購買B 用戶的知識產權時,A 用戶在圖5(b)界面進行Metamask 交易支付,NFT 交易中心會將交易哈希打包上傳到以太坊公鏈,并通知B 用戶其產權被購買,B 用戶的數字產權移動Web端圖5(a)會顯示已轉讓。

圖5 交易結果
持有者需要將知識產權的基本信息,如知識產權類別(type)、發布時間(issued time)及發布地點(location)等基本信息使用json格式寫入,如圖6所示。

圖6 知識產權基本信息
知識產權持有者輸知識產權信息后,調用ERC721接口進行產權NFT 鑄造。并使用baseURI 函數進行傳參,返回知識產權NFT 的tokenIdCounter。如圖7所示。

圖7 產權NFT鑄造
在知識產權持有者和轉讓者進行線上交易后,鏈上轉移產權NFT 至轉讓者地址。知識產權NFT 轉移的代碼,如圖8所示。

圖8 NFT版權轉讓
基于NFT的知識產權數字化上鏈管理方法是一種新型的知識產權管理方案,可以解決知識產權在確權和認證方面的問題。在這種方法中,NFT 技術被廣泛應用,因此安全性算法至關重要。
為了解決這些安全性問題,提出了一種基于NFT的知識產權數字化上鏈管理方法,其中保證安全性的算法如下:
⑴將知識產權信息進行數字化處理,并生成相應的哈希值H;
⑵將該哈希值H 與作者公鑰K1 進行加密處理,得到數字簽名S1;
⑶將數字簽名S1 與初始NFT 序列號N1 進行合并,并使用時間戳T生成新的哈希值H’;
⑷對于每個新的哈希值H’,都會生成一個新的NFT序列號N2,并將其存儲到區塊鏈上;
⑸將N2 與S1、K1 分別進行加密處理,得到數字簽名S2、S3,并將其存儲到區塊鏈上。
以上算法中,哈希值和數字簽名的安全性由公鑰和私鑰控制,保證了數字化知識產權信息的安全性。同時,利用時間戳與NFT 序列號的生成,可以防止重復生成同一NFT,并保證每一個NFT都是惟一的。
具體而言,可以通過以下步驟來實現上述算法:
將知識產權信息轉換為二進制格式,并使用SHA-256等加密算法生成哈希值H。
H=Hash(IP)⑴
利用作者的私鑰SK1 進行數字簽名,得到數字簽名S1。這里采用RSA 加密算法,假設作者的私鑰為SK1,公鑰為PK1,則有:
S1=RSA(H,SK1)⑵
將數字簽名S1 與初始NFT 序列號N1 進行合并,并使用時間戳T 生成新的哈希值H’。這里假設當前時間戳為T,有:
生成新的NFT 序列號N2,并將其存儲到區塊鏈上。這里采用Snowflake 算法,可以保證每個NFT 序列號都是惟一的。
最后,將新的NFT 序列號N2與數字簽名S1、作者公鑰K1 進行加密處理,得到數字簽名S2、S3,并將其存儲到區塊鏈上。同樣采用RSA 加密算法,假設作者的公鑰為K1,則有:
基于NFT 的知識產權數字化上鏈管理方法的安全性算法需要采用多種技術和算法,并遵循最佳實踐和審慎策略。哈希算法和加密算法在其中扮演著重要的角色,可以保證數字產權的惟一性、可靠性和安全性。
基于NFT 的知識產權數字化上鏈管理方法是一種全新的解決方案,可以有效地保護知識產權的認證權益。通過將知識產權轉換為NFT 并將其上鏈,可以確保其惟一性和不可篡改性,同時增加了知識產權的透明度和可追溯性。這種管理方法還可以幫助加快知識產權版權轉讓的速度,降低交易成本。知識產權數字化上鏈管理方法是一個十分有發展前途的領域,在未來的發展中將會得到越來越廣泛的應用。知識產權數字化管理是一個挑戰,同時也為知識產權的保護、交易和流通帶來新的機遇和挑戰,我們需要密切關注這個領域的發展,并不斷探索創新的應用方式和解決方案。