闕培斯,高 飛,曾一洪
(西藏大學(xué)信息科學(xué)技術(shù)學(xué)院,西藏 拉薩 850032)
非同質(zhì)化通證[1(]Non-Fungible Token,NFT)由加密貓CryptoKitties 的創(chuàng)始人兼CTO Dieter Shirley在2017年正式提出的,實質(zhì)是區(qū)塊鏈網(wǎng)絡(luò)里具有惟一性特點的可信數(shù)字權(quán)益憑證[2],是一種可在區(qū)塊鏈上記錄和處理多維、復(fù)雜屬性的數(shù)據(jù)對象。區(qū)別于同質(zhì)化通證(Fungible Token,FT),NFT 具有獨一無二、不可替代的特性,目前被廣泛應(yīng)用于互聯(lián)網(wǎng)數(shù)字藏品、虛擬藝術(shù)品等Web3加密技術(shù)中[3]。
國內(nèi)外已有的NFT 相關(guān)研究主要集中于NFT 的概念以及應(yīng)用探索、模型架構(gòu)和應(yīng)用研究。Ghosh Indranil等[4]學(xué)者通過集成機器學(xué)習(xí)和XAI檢驗對NFT和DeFi 價格的動態(tài)做出實驗化的預(yù)測和解釋。AlbayatiHayder 等[5]人使用Smart-PLS 4 進行分析,以確定基于方差的結(jié)構(gòu)方程建模(SEM),使用偏最小二乘路徑建模(PLS)方法,基于計劃行為理論(TPB)評估NFT Metaverse 中的參與決策。Chen Jun 等[6]通過對NFT 藝術(shù)的商業(yè)方面及其新版本的分析,重點介紹了美國和中國對未經(jīng)許可使用基礎(chǔ)作品的規(guī)制,考慮了NFTs是否會重新定義藝術(shù)和藝術(shù)家的未來。陳銳等[7]構(gòu)建了鏈上鏈下加IPFS分布式文件存儲系統(tǒng)相結(jié)合的數(shù)據(jù)存儲方案,保障對區(qū)塊空間的合理利用,并基于劃分的拜占庭容錯共識算法DPBFT(Division-based Practical Byzantine Fault Tolerance),以滿足藝術(shù)品交易系統(tǒng)的性能需求。
基于目前區(qū)塊鏈常見的閃電網(wǎng)絡(luò)[8]上鏈研究方法,本團隊在區(qū)塊鏈共識算法、數(shù)據(jù)保護以及信息校準(zhǔn)識別等方面的研究工作,結(jié)合團隊前期對知識產(chǎn)權(quán)信息存儲的研究,提出基于NFT 的知識產(chǎn)權(quán)數(shù)字化上鏈管理方法,將實物或電子版知識產(chǎn)權(quán)映射到區(qū)塊鏈并形成對應(yīng)的非同質(zhì)化通證,已達(dá)到個人知識產(chǎn)權(quán)在鏈上認(rèn)證。知識產(chǎn)權(quán)擁有者可以將其鑄造成對應(yīng)的NFT 貨幣,實現(xiàn)鏈下物理知識產(chǎn)權(quán)認(rèn)證與鏈上虛擬產(chǎn)權(quán)認(rèn)證的強綁定。上鏈信息設(shè)計成聯(lián)盟鏈的單鏈惟一錨定機制,確保用戶數(shù)據(jù)安全,維護國家知識產(chǎn)權(quán)安全保存。
NFT 是英文Non-Fungible Token 的縮寫,一般指基于以太坊標(biāo)準(zhǔn)ERC721、ERC1155[9]發(fā)行的非同質(zhì)化權(quán)益憑證,是區(qū)塊鏈技術(shù)下的數(shù)字資產(chǎn)證書。NFT 具有獨一無二、不可替代的特性,目前特別適合對藝術(shù)品、游戲道具、珠寶名畫等具有特殊價值的事物進行認(rèn)證確權(quán)[10],同時可以使用NFT 相關(guān)技術(shù)證明和追溯所有權(quán)。
ERC 是Ethereum Request for Comments(以太坊征求意見提案)的縮寫[11],代表以太坊已正式化的提案,它是由以太坊升級提案(Ethereum Improvement Proposals,EIP)[12]經(jīng)過以太坊開發(fā)團隊各種審議和測試后通過的一種提案,如圖1 所示。對有用提案進行標(biāo)準(zhǔn)化,從而實現(xiàn)對開發(fā)者提供模版幫助以及標(biāo)準(zhǔn)限制[13]。
圖1 ERC執(zhí)行標(biāo)準(zhǔn)流程圖
ERC721標(biāo)準(zhǔn)主要定義了標(biāo)準(zhǔn)化的接口樣例[14],不同的去中心化應(yīng)用通過在自己的業(yè)務(wù)模塊中實現(xiàn)這些標(biāo)準(zhǔn)化的接口,使得基于ERC721 標(biāo)準(zhǔn)的不同去中心化應(yīng)用的NFT 資產(chǎn)能夠互通,ERC721 定義的主要接口有:ownerOF(查詢NFT的鏈上歸屬)、transferForm(轉(zhuǎn)移NFT)、approve(NFT 授權(quán))、setAPProv-alForAll(鏈上賬戶授權(quán))。
ERC-1155 允許使用者在同一個智能合約中無限量地重復(fù)使用同質(zhì)化或者非同質(zhì)化的代幣。是可以一次性鑄造多種多量同質(zhì)化及非同質(zhì)化資產(chǎn)的以太坊標(biāo)準(zhǔn)。使用ERC-1155 進行鑄幣就可以更高效率完成,且gas fee 只需要發(fā)送一次。相對ERC-721 具有極低的鑄造成本[15]。
知識產(chǎn)權(quán)的持有者可向相關(guān)NFT 平臺申請上鏈,完成區(qū)塊鏈對應(yīng)的虛擬產(chǎn)權(quán)的映射,物理世界與虛擬世界(即區(qū)塊鏈)通過NFT 鏈接。當(dāng)知識產(chǎn)權(quán)上鏈后,持有者可在區(qū)塊鏈上聲明所有權(quán)和交易權(quán)。
本團隊研究的知識產(chǎn)權(quán)上鏈方法為產(chǎn)權(quán)所有者提供了將知識產(chǎn)權(quán)上鏈并鑄造成對應(yīng)可惟一識別NFT 的功能。該方法是由產(chǎn)權(quán)持有者、知識產(chǎn)權(quán)管理機構(gòu)及NFT 發(fā)行平臺組成。知識產(chǎn)權(quán)管理機構(gòu)需要對產(chǎn)權(quán)持有者的知識產(chǎn)權(quán)進行認(rèn)證和授權(quán),生成產(chǎn)權(quán)證明及惟一編號。知識產(chǎn)權(quán)管理機構(gòu)服務(wù)方可以為產(chǎn)權(quán)持有者提供知識產(chǎn)權(quán)NFT 通證鑄造服務(wù),為所提供的NFT 發(fā)行平臺信譽背書并將數(shù)字化知識產(chǎn)權(quán)保存于區(qū)塊鏈當(dāng)中,區(qū)塊鏈鏈上結(jié)構(gòu)域包括用戶Web端、聯(lián)盟區(qū)塊鏈、以太坊、公有區(qū)塊鏈和星際文件系統(tǒng)(Interplanetary File System,IPFS)集群。如圖2 所示,其中Web 端是產(chǎn)權(quán)持有者與知識產(chǎn)權(quán)管理機構(gòu)和鏈上NFT 平臺交互的媒介;聯(lián)盟鏈節(jié)點由一些具有權(quán)威和安全系數(shù)高的機構(gòu)及NFT 管理平臺進行管理和維護,聯(lián)盟鏈通過智能合約編譯和存儲知識產(chǎn)權(quán)數(shù)據(jù),一旦上鏈信息將無法更改,確保知識產(chǎn)權(quán)所鑄造知識產(chǎn)權(quán)NFT安全性和不可篡改性。
圖2 知識產(chǎn)權(quán)資產(chǎn)化模型
對于知識產(chǎn)權(quán)的物理級別保護目前是基于知識產(chǎn)權(quán)管理機構(gòu)所頒發(fā)的紙質(zhì)證書和惟一識別編號,知識產(chǎn)權(quán)的所有權(quán)需要與知識產(chǎn)權(quán)管理機構(gòu)的頒發(fā)人見證下進行綁定。知識產(chǎn)權(quán)的數(shù)字級別保護是基于區(qū)塊鏈不可篡改性,若把知識產(chǎn)權(quán)的所有權(quán)映射到區(qū)塊鏈數(shù)字空間,則需將知識產(chǎn)權(quán)管理機構(gòu)與NFT 發(fā)行平臺進行綁定在知識產(chǎn)權(quán)管理機構(gòu)監(jiān)督和背書下NFT發(fā)行平臺對知識產(chǎn)權(quán)進行上鏈和管理。NFT發(fā)行平臺通過生成管理機構(gòu)信息存證合約(Management Agency Information Depository Contract,MAIDC)將其上鏈存證,以便后續(xù)與存入的知識產(chǎn)權(quán)NFT 進行綁定。NFT發(fā)行平臺存證信息CERT-NFTtra如表1所示。
表1 NFT發(fā)行平臺存儲知識產(chǎn)權(quán)信息
存證流程的算法描述如下:
算法1 NFT發(fā)行平臺存證流程算法
根據(jù)算法1,NFT 平臺的管理人員需要將原始NFT 數(shù)據(jù)輸入Raw_Nft_Data 到區(qū)塊鏈存儲中,通過知識產(chǎn)權(quán)管理機構(gòu)發(fā)布的產(chǎn)權(quán)編號生成NFT 信息文件NFT_File,并上傳至IPFS,以獲取IPFS 地址ipfs_Cert。同時,從原始數(shù)據(jù)Raw_Nft_Data 中提取關(guān)鍵字段,例如ID-Use、Name-Ipr、Time-Ipr、Cochain-Time 和Num-Block,用于生成NFT 惟一編號Num-NFT。將這些關(guān)鍵信息與ipfs_cert 相結(jié)合,獲得NFT 知識產(chǎn)權(quán)關(guān)鍵信息NFT_Ipr_Msg,并使用智能合約對該信息進行上鏈存證。
在進行知識產(chǎn)權(quán)持有者進行NFT 鑄造之前,NFT 發(fā)行平臺需要將知識產(chǎn)權(quán)版權(quán)信息送到知識產(chǎn)權(quán)管理機構(gòu)進行產(chǎn)權(quán)版號真實性鑒別,相關(guān)負(fù)責(zé)人要對鑒定結(jié)果、對鑒定結(jié)果的簽名數(shù)據(jù)和鑒定時間交給產(chǎn)權(quán)持有者,這些信息將作為數(shù)字簽名和時間戳保存到區(qū)塊鏈中。
知識產(chǎn)權(quán)持有者通過NFT 發(fā)行平臺進行NFT 鑄造,其中主要工作包括二個部分:知識產(chǎn)權(quán)NFT 鑄造和知識產(chǎn)權(quán)NFT轉(zhuǎn)讓。
2.3.1 NFT鑄造
在進行NFT 鑄造時,首先會提取知識產(chǎn)權(quán)的基本信息:作者、內(nèi)容屬性、發(fā)布及上鏈時間等,將這些信息轉(zhuǎn)化為byte 字節(jié),將字節(jié)輸入到加密算法中得到一個輸出值。若選擇的是哈希算法,可以得到一個哈希值,基于哈希算法單項性和抗碰撞屬性,每一個哈希值都惟一對應(yīng)一個源內(nèi)容,無法輕易被篡改。這個哈希值就是知識產(chǎn)權(quán)的數(shù)字化中間產(chǎn)物-數(shù)字ID。選擇區(qū)塊鏈任意一條公鏈進行智能合約開發(fā),不同的公鏈,其底層標(biāo)準(zhǔn)協(xié)議邏輯或技術(shù)組件都有所差別,本團隊使用區(qū)塊鏈私有鏈聯(lián)盟鏈的形式,只針對知識產(chǎn)權(quán)管理機構(gòu)及NFT 發(fā)行平臺等特定群體的成員和有限的第三方,其內(nèi)部指定多個預(yù)選節(jié)點為記賬人,每個塊的生成由所有的預(yù)選節(jié)點共同決定。
在信息撰寫是使用Solidity 語言進行智能合約開發(fā),并導(dǎo)入到中心化應(yīng)用(Decentralized Application,DAPP)。調(diào)用開發(fā)的智能合約,將知識產(chǎn)權(quán)數(shù)字化ID儲存在所選擇的私有鏈上,將知識產(chǎn)權(quán)信息發(fā)送至鏈上NFT 鑄造合約(Intellectual Property NFT Casting Contract,IPNCC),智能合約直接映射了所制作的NFT 具有的基本屬性和流轉(zhuǎn)方式。NFT 鑄造流程的算法描述如下:
算法2知識產(chǎn)權(quán)NFT鑄造流程算法
如算法2,將給定的文件上傳到IPFS 網(wǎng)絡(luò)并獲取生成的IPFS 哈希值,保存在名為File_Ipfs 的變量中。使用了之前生成的IPFS 哈希值來輔助重構(gòu)產(chǎn)權(quán)信息。獲取一個新的產(chǎn)權(quán)ID,將其保存在名為TokenID_Pro的變量中。為指定的所有者鑄造一個代幣,該代幣與之前獲取的產(chǎn)權(quán)ID 相關(guān)聯(lián)。使用Mint 函數(shù)創(chuàng)建了一個NFT 編號,其中代幣ID 就是NFT 的惟一標(biāo)識符,并標(biāo)注地址擁有者和TokenID。將鑄造的代幣ID 添加到產(chǎn)權(quán)ID 列表中的第一個位置。根據(jù)所提供的參數(shù)生成一個NFT(非同質(zhì)化代幣),其中包括NFT ID、BTC 編號、代幣ID 和NFT 碼號。返回生成的NFT,也就是名為Pro_Nft 的變量,輸出到區(qū)塊鏈中作為默克爾樹(Merkle Tree)的根節(jié)點。
在將知識產(chǎn)權(quán)信息存儲到區(qū)塊鏈上時,會得到一個通證ID,通過這個ID 可以前往開發(fā)的智能合約中讀取知識產(chǎn)權(quán)NFT 信息數(shù)據(jù),此時生成一個哈希通證URL(Hash Token URL,HTURL),它就相當(dāng)于一把“密匙”,通過這個密匙可以借助瀏覽器或其他介質(zhì)應(yīng)用,還原儲存在IPFS 分布文式文件系統(tǒng)中鑄造的NFT作品內(nèi)容。
2.3.2 產(chǎn)權(quán)NFT轉(zhuǎn)讓
在原產(chǎn)權(quán)持有者需要進行產(chǎn)權(quán)轉(zhuǎn)讓時,可以登陸NFT 項目網(wǎng)站連接自己的錢包。網(wǎng)站上的JavaScript代碼基于知識產(chǎn)權(quán)項目的mint 價格,合約地址等生成raw transaction 數(shù)據(jù),網(wǎng)站代碼與用戶的Metamask 錢包進行交互。點擊確認(rèn)交易后,Metamask 會使用錢包私鑰進行簽名,以確保這個交易是原產(chǎn)權(quán)持有者本身授權(quán)的,后續(xù)以太坊網(wǎng)絡(luò)會進行校驗。交易TX 被Metamask 發(fā)送到Metamask 的以太坊node(默認(rèn)配置),node對TX進行校驗,確保交易不被仿冒。
如圖3所示,交易TX 被發(fā)送到以太坊網(wǎng)絡(luò)的相鄰節(jié)點,然后再相互廣播到相鄰接點。這時用戶交易就可以在以太坊官網(wǎng)etherscan.io 上查到,交易狀態(tài)為pending。礦工node 會將同步過來的TX 都存放到一個Txpool/Mempool 交易池當(dāng)中,礦工選取TX 后開始挖礦,在找到一個區(qū)塊的Solution 后廣播到以太坊網(wǎng)絡(luò)。在其他礦工節(jié)點驗證后,該區(qū)塊正式上鏈,此時該知識產(chǎn)權(quán)的持有權(quán)將聲明到新持有者身份上。
圖3 產(chǎn)權(quán)NFT轉(zhuǎn)讓模型
當(dāng)線下知識產(chǎn)權(quán)的所有權(quán)需要轉(zhuǎn)移時,原持有者可在區(qū)塊鏈上發(fā)布新的智能合約來覆蓋產(chǎn)權(quán)屬性,以保障線上交易后線下知識產(chǎn)權(quán)所有權(quán)的順利交接。完成知識產(chǎn)權(quán)轉(zhuǎn)讓后,現(xiàn)持有者可向知識產(chǎn)權(quán)管理機構(gòu)申請新的產(chǎn)權(quán)編號,同時申請新的哈希數(shù)字作為新的默克爾樹(Merkle Tree)的根節(jié)點,產(chǎn)權(quán)NFT 轉(zhuǎn)讓算法描述如下。
算法3 身份驗證流程算法
如算法3,原持有者將本人原持有信息Old_ID 寫入到NFT 編號中,并更改持有者信息NFT_issuer,將知識產(chǎn)權(quán)編號Pro_Num 授權(quán)到新持有者上,使用Auth函數(shù)對關(guān)鍵字段進行編碼,對新持有者New_ID 進行上鏈跟蹤,確保持有者信息一致。
基于上述模型設(shè)計,本章主要實現(xiàn)原型系統(tǒng)。通過知識產(chǎn)權(quán)管理機構(gòu)及NFT 發(fā)行平臺實現(xiàn)知識產(chǎn)權(quán)NFT鑄造和認(rèn)證。實驗過程中使用Ganache部署本地區(qū)塊鏈,使用Solidity語言編寫智能合約代碼。在Remix上編寫好智能合約代碼并調(diào)試通過后,通過Truffle 在本地編譯、部署智能合約,將合約部署至搭建的開發(fā)框架中。NFT發(fā)行平臺可通過調(diào)用交易合約進行產(chǎn)權(quán)NFT 的鑄造、認(rèn)證和轉(zhuǎn)讓。
圖4 為持有者在數(shù)字產(chǎn)權(quán)移動Web 端的操作界面,包括知識產(chǎn)權(quán)的基本信息,如知識產(chǎn)權(quán)類別、發(fā)布時間及發(fā)布地點等。其中知識產(chǎn)權(quán)類別主要包括發(fā)明專利(patent)、學(xué)術(shù)著作(Academic works)、軟件著作(Software Works)。持有者可在網(wǎng)頁上實時查看所持有的知識產(chǎn)權(quán)NFT,以及是否將產(chǎn)權(quán)進行轉(zhuǎn)讓操作。
圖4 數(shù)字產(chǎn)權(quán)移動Web端運行結(jié)果
圖5 為持有者完成知識產(chǎn)權(quán)轉(zhuǎn)讓的交易結(jié)果界面,包括用戶使用Metamask錢包進行以太幣交易和數(shù)字產(chǎn)權(quán)移動Web 端。當(dāng)A 用戶提出要購買B 用戶的知識產(chǎn)權(quán)時,A 用戶在圖5(b)界面進行Metamask 交易支付,NFT 交易中心會將交易哈希打包上傳到以太坊公鏈,并通知B 用戶其產(chǎn)權(quán)被購買,B 用戶的數(shù)字產(chǎn)權(quán)移動Web端圖5(a)會顯示已轉(zhuǎn)讓。
圖5 交易結(jié)果
持有者需要將知識產(chǎn)權(quán)的基本信息,如知識產(chǎn)權(quán)類別(type)、發(fā)布時間(issued time)及發(fā)布地點(location)等基本信息使用json格式寫入,如圖6所示。
圖6 知識產(chǎn)權(quán)基本信息
知識產(chǎn)權(quán)持有者輸知識產(chǎn)權(quán)信息后,調(diào)用ERC721接口進行產(chǎn)權(quán)NFT 鑄造。并使用baseURI 函數(shù)進行傳參,返回知識產(chǎn)權(quán)NFT 的tokenIdCounter。如圖7所示。
圖7 產(chǎn)權(quán)NFT鑄造
在知識產(chǎn)權(quán)持有者和轉(zhuǎn)讓者進行線上交易后,鏈上轉(zhuǎn)移產(chǎn)權(quán)NFT 至轉(zhuǎn)讓者地址。知識產(chǎn)權(quán)NFT 轉(zhuǎn)移的代碼,如圖8所示。
圖8 NFT版權(quán)轉(zhuǎn)讓
基于NFT的知識產(chǎn)權(quán)數(shù)字化上鏈管理方法是一種新型的知識產(chǎn)權(quán)管理方案,可以解決知識產(chǎn)權(quán)在確權(quán)和認(rèn)證方面的問題。在這種方法中,NFT 技術(shù)被廣泛應(yīng)用,因此安全性算法至關(guān)重要。
為了解決這些安全性問題,提出了一種基于NFT的知識產(chǎn)權(quán)數(shù)字化上鏈管理方法,其中保證安全性的算法如下:
⑴將知識產(chǎn)權(quán)信息進行數(shù)字化處理,并生成相應(yīng)的哈希值H;
⑵將該哈希值H 與作者公鑰K1 進行加密處理,得到數(shù)字簽名S1;
⑶將數(shù)字簽名S1 與初始NFT 序列號N1 進行合并,并使用時間戳T生成新的哈希值H’;
⑷對于每個新的哈希值H’,都會生成一個新的NFT序列號N2,并將其存儲到區(qū)塊鏈上;
⑸將N2 與S1、K1 分別進行加密處理,得到數(shù)字簽名S2、S3,并將其存儲到區(qū)塊鏈上。
以上算法中,哈希值和數(shù)字簽名的安全性由公鑰和私鑰控制,保證了數(shù)字化知識產(chǎn)權(quán)信息的安全性。同時,利用時間戳與NFT 序列號的生成,可以防止重復(fù)生成同一NFT,并保證每一個NFT都是惟一的。
具體而言,可以通過以下步驟來實現(xiàn)上述算法:
將知識產(chǎn)權(quán)信息轉(zhuǎn)換為二進制格式,并使用SHA-256等加密算法生成哈希值H。
H=Hash(IP)⑴
利用作者的私鑰SK1 進行數(shù)字簽名,得到數(shù)字簽名S1。這里采用RSA 加密算法,假設(shè)作者的私鑰為SK1,公鑰為PK1,則有:
S1=RSA(H,SK1)⑵
將數(shù)字簽名S1 與初始NFT 序列號N1 進行合并,并使用時間戳T 生成新的哈希值H’。這里假設(shè)當(dāng)前時間戳為T,有:
生成新的NFT 序列號N2,并將其存儲到區(qū)塊鏈上。這里采用Snowflake 算法,可以保證每個NFT 序列號都是惟一的。
最后,將新的NFT 序列號N2與數(shù)字簽名S1、作者公鑰K1 進行加密處理,得到數(shù)字簽名S2、S3,并將其存儲到區(qū)塊鏈上。同樣采用RSA 加密算法,假設(shè)作者的公鑰為K1,則有:
基于NFT 的知識產(chǎn)權(quán)數(shù)字化上鏈管理方法的安全性算法需要采用多種技術(shù)和算法,并遵循最佳實踐和審慎策略。哈希算法和加密算法在其中扮演著重要的角色,可以保證數(shù)字產(chǎn)權(quán)的惟一性、可靠性和安全性。
基于NFT 的知識產(chǎn)權(quán)數(shù)字化上鏈管理方法是一種全新的解決方案,可以有效地保護知識產(chǎn)權(quán)的認(rèn)證權(quán)益。通過將知識產(chǎn)權(quán)轉(zhuǎn)換為NFT 并將其上鏈,可以確保其惟一性和不可篡改性,同時增加了知識產(chǎn)權(quán)的透明度和可追溯性。這種管理方法還可以幫助加快知識產(chǎn)權(quán)版權(quán)轉(zhuǎn)讓的速度,降低交易成本。知識產(chǎn)權(quán)數(shù)字化上鏈管理方法是一個十分有發(fā)展前途的領(lǐng)域,在未來的發(fā)展中將會得到越來越廣泛的應(yīng)用。知識產(chǎn)權(quán)數(shù)字化管理是一個挑戰(zhàn),同時也為知識產(chǎn)權(quán)的保護、交易和流通帶來新的機遇和挑戰(zhàn),我們需要密切關(guān)注這個領(lǐng)域的發(fā)展,并不斷探索創(chuàng)新的應(yīng)用方式和解決方案。