阙培斯,高 飞,曾一洪
(西藏大学信息科学技术学院,西藏 拉萨 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 并将其上链,可以确保其惟一性和不可篡改性,同时增加了知识产权的透明度和可追溯性。这种管理方法还可以帮助加快知识产权版权转让的速度,降低交易成本。知识产权数字化上链管理方法是一个十分有发展前途的领域,在未来的发展中将会得到越来越广泛的应用。知识产权数字化管理是一个挑战,同时也为知识产权的保护、交易和流通带来新的机遇和挑战,我们需要密切关注这个领域的发展,并不断探索创新的应用方式和解决方案。