一种NFT流通数据的权限控制方法及装置制造方法及图纸

技术编号:35839953 阅读:18 留言:0更新日期:2022-12-03 14:11
本申请公开了一种NFT流通数据的权限控制方法及装置,接收指令并判断类型,若是NFT资源授权指令并验证合法,则调用智能合约NFT资源授权接口并判断被授权地址是否为目标地址,若否,则向智能合约中增加第一数据结构完成NFT资源授权;若是授权回收指令并验证合法,则对授权回收指令进行广播并根据预存的智能合约地址查询智能合约执行码,利用预存的目标地址的公钥验证授权回收指令中的授权回收事务签名正确、判断目标地址拥有的NFT资源量充足且被授权地址不为目标地址时,按第一预设方式对第一数据结构进行修改完成授权回收。采用上述方法,用户能够回收已授权权限,实现了资源授权后的权限管理,避免了安全隐患。避免了安全隐患。避免了安全隐患。

【技术实现步骤摘要】
一种NFT流通数据的权限控制方法及装置


[0001]本申请涉及区块链
,尤其涉及一种NFT流通数据的权限控制方法及装置。

技术介绍

[0002]NFT(Non

Fungible Token,非同质化代币)是一种基于区块链技术的契约的数字化凭证。
[0003]目前,NFT是以太坊(Ethereum)用以代表独特物品所有权的介质,NFT可以把诸如艺术品、收藏品、甚至房地产等物品资源化。当前以太坊上多数NFT市场将合约下的NFT资源授权给NFT市场指定的地址后,缺少授权后的权限管理机制,存在非常严重的安全隐患。

技术实现思路

[0004]本申请实施例提供了一种NFT流通数据的权限控制方法及装置。所述技术方案如下:第一方面,本申请实施例提供了一种NFT流通数据的权限控制方法,所述方法包括:步骤S1:服务器接收客户端发起的指令;步骤S2:所述服务器判断指令类型,若是NFT资源授权指令,执行步骤S3,若是授权回收指令,执行步骤S5;步骤S3:所述服务器对所述NFT资源授权指令进行合法性验证,若验证通过,则调用智能合约NFT资源授权接口并执行步骤S4,否则,返回错误信息并执行步骤S1;步骤S4:所述服务器判断从所述NFT资源授权指令中获得的被授权地址是否为目标地址,若否,则向智能合约中增加第一数据结构,完成NFT资源授权并记录授权日志,执行步骤S10,若是,记录错误日志并执行步骤S1;步骤S5:所述服务器对所述授权回收指令进行合法性验证,若验证通过,则对所述授权回收指令进行广播,并根据预先存储的智能合约地址查询智能合约执行码,执行步骤S6,否则,返回错误信息并执行步骤S1;步骤S6:所述服务器利用预先存储的目标地址的公钥对所述授权回收指令中的授权回收事务进行签名验证,若验证通过,执行步骤S7,否则,返回错误信息并执行步骤S1;步骤S7:所述服务器从所述授权回收指令中获取附加资源量以及所述目标地址拥有的NFT资源量,根据所述附加资源量校验所述目标地址拥有的NFT资源量是否充足,若充足,则执行步骤S8,否则返回错误信息并执行步骤S1;步骤S8:所述服务器判断从所述授权回收指令中获得的被授权地址是否为所述目标地址,若否,则按第一预设方式对所述第一数据结构进行修改,完成授权回收并记录授权回收日志,执行步骤S9,若是,记录错误日志并执行步骤S1;步骤S9:所述服务器按所述附加资源量对所述目标地址拥有的NFT资源量进行扣减,生成对应的授权事件并记录授权回收日志,执行步骤S10;
步骤S10:所述服务器将处理指令时生成的信息同步给同一区块链上的其他服务器,执行步骤S1。
[0005]第二方面,本申请实施例提供了一种NFT流通数据的权限控制装置,所述装置包括:指令接收模块,用于接收客户端发起的指令;指令判断模块,用于判断指令类型,若是NFT资源授权指令,触发第一验证模块,若是授权回收指令,触发第二验证模块;所述第一验证模块,用于对所述NFT资源授权指令进行合法性验证,若验证通过,则调用智能合约NFT资源授权接口并触发资源授权模块,否则,返回错误信息并触发所述指令接收模块;所述资源授权模块,用于判断从所述NFT资源授权指令中获得的被授权地址是否为目标地址,若否,则向智能合约中增加第一数据结构,完成NFT资源授权并记录授权日志,触发指令信息同步模块,若是,记录错误日志并触发所述指令接收模块;所述第二验证模块,用于对所述授权回收指令进行合法性验证,若验证通过,则对所述授权回收指令进行广播,并根据预先存储的智能合约地址查询智能合约执行码,触发验签模块,否则,返回错误信息并触发所述指令接收模块;所述验签模块,用于利用预先存储的目标地址的公钥对所述授权回收指令中的授权回收事务进行签名验证,若验证通过,触发资源判断模块,否则,返回错误信息并触发所述指令接收模块;所述资源判断模块,用于从所述授权回收指令中获取附加资源量以及所述目标地址拥有的NFT资源量,根据所述附加资源量校验所述目标地址拥有的NFT资源量是否充足,若充足,则触发授权回收模块,否则返回错误信息并触发所述指令接收模块;所述授权回收模块,用于判断从所述授权回收指令中获得的被授权地址是否为所述目标地址,若否,则按第一预设方式对所述第一数据结构进行修改,完成授权回收并记录授权回收日志,触发资源量扣减模块,若是,记录错误日志并触发所述指令接收模块;所述资源量扣减模块,用于按所述附加资源量对所述目标地址拥有的NFT资源量进行扣减,生成对应的授权事件并记录授权回收日志,触发所述指令信息同步模块;所述指令信息同步模块,用于将处理指令时生成的信息同步给同一区块链上的其他服务器,触发所述指令接收模块。
[0006]第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项方法的步骤。
[0007]第四方面,本申请实施例提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项方法的步骤。
[0008]本申请一些实施例提供的技术方案带来的有益效果至少包括:采用本申请提供的NFT流通数据的权限控制方法,用户能够回收已授权权限,实现了资源授权后的权限管理,避免了安全隐患。
附图说明
[0009]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0010]图1至图3是本申请实施例提供的一种NFT流通数据的权限控制方法的流程示意图。
具体实施方式
[0011]为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
[0012]下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0013]在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0014]下面将结合附图1

附图3,对本申请实施例提供的NFT流通数据的权限控制方法进行详细介绍。
[0015]请参见图1至图3,为本申请实施例提供的一种NFT流通数据的权限控制方法的流程示意图。
[001本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种NFT流通数据的权限控制方法,其特征在于,所述方法包括:步骤S1:服务器接收客户端发起的指令;步骤S2:所述服务器判断指令类型,若是NFT资源授权指令,执行步骤S3,若是授权回收指令,执行步骤S5;步骤S3:所述服务器对所述NFT资源授权指令进行合法性验证,若验证通过,则调用智能合约NFT资源授权接口并执行步骤S4,否则,返回错误信息并执行步骤S1;步骤S4:所述服务器判断从所述NFT资源授权指令中获得的被授权地址是否为目标地址,若否,则向智能合约中增加第一数据结构,完成NFT资源授权并记录授权日志,执行步骤S10,若是,记录错误日志并执行步骤S1;步骤S5:所述服务器对所述授权回收指令进行合法性验证,若验证通过,则对所述授权回收指令进行广播,并根据预先存储的智能合约地址查询智能合约执行码,执行步骤S6,否则,返回错误信息并执行步骤S1;步骤S6:所述服务器利用预先存储的目标地址的公钥对所述授权回收指令中的授权回收事务进行签名验证,若验证通过,执行步骤S7,否则,返回错误信息并执行步骤S1;步骤S7:所述服务器从所述授权回收指令中获取附加资源量以及所述目标地址拥有的NFT资源量,根据所述附加资源量校验所述目标地址拥有的NFT资源量是否充足,若充足,则执行步骤S8,否则返回错误信息并执行步骤S1;步骤S8:所述服务器判断从所述授权回收指令中获得的被授权地址是否为所述目标地址,若否,则按第一预设方式对所述第一数据结构进行修改,完成授权回收并记录授权回收日志,执行步骤S9,若是,记录错误日志并执行步骤S1;步骤S9:所述服务器按所述附加资源量对所述目标地址拥有的NFT资源量进行扣减,生成对应的授权事件并记录授权回收日志,执行步骤S10;步骤S10:所述服务器将处理指令时生成的信息同步给同一区块链上的其他服务器,执行步骤S1。2.根据权利要求1所述的方法,其特征在于,所述步骤S2还包括:若是历史数据流通次数获取指令,执行步骤S11,若是附加资源量获取指令,执行步骤S12,若是历史授权数据获取指令,执行步骤S13,若是NFT资源量获取指令,执行步骤S15;步骤S11:所述服务器从本服务器上运行的当前节点的状态数据中获取所述目标地址的历史数据流通次数,并将所述历史数据流通次数下发给所述客户端,执行步骤S1;步骤S12:所述服务器从所述当前节点的状态数据中获取附加资源量,并将所述附加资源量下发给所述客户端,执行步骤S1;步骤S13:所述服务器对所述历史授权数据获取指令进行合法性验证,若验证通过,执行步骤S14,否则,返回错误信息并执行步骤S1;步骤S14:所述服务器从所述当前节点的状态数据中获取所述目标地址的历史授权事件,遍历所述历史授权事件获取历史授权数据,将所述历史授权数据下发给所述客户端,执行步骤S1;步骤S15:所述服务器对所述NFT资源量获取指令进行合法性验证,若验证通过,执行步骤S16,否则,返回错误信息并执行步骤S1;步骤S16:所述服务器从所述当前节点的状态数据中获取所述目标地址的历史NFT资源
流通事件,遍历所述历史NFT资源流通事件确定所述目标地址拥有的NFT资源量,将所述NFT资源量下发给所述客户端,执行步骤S1。3.根据权利要求2所述的方法,其特征在于,所述遍历所述历史授权事件获取历史授权数据,将所述历史授权数据下发给所述客户端,包括:解析所述历史授权事件并对解析后的所述历史授权事件进行去重处理,获得去重后的历史授权事件;从所述去重后的历史授权事件中提取单个授权事件,并判断所述单个授权事件的智能合约地址以及被授权地址是否已保存为历史授权数据,若未保存,则校验所述被授权地址的当前状态,若是授权状态,则将所述智能合约地址以及所述被授权地址对应保存为历史授权数据,若是未授权状态,则继续从所述去重后的历史授权事件中提取下一单个授权事件进行判断;以及若已保存,则继续从所述去重后的历史授权事件中提取下一单个授权事件进行判断;当遍历完所述去重后的历史授权事件时,将保存的全部历史授权数据下发给所述客户端。4.根据权利要求2所述的方法,其特征在于,所述遍历所述历史NFT资源流通事件确定所述目标地址拥有的NFT资源量,将所述NFT资源量下发给所述客户端,包括:根据预先存储的智能合约地址查询智能合约执行码;基于所述智能合约执行码确定智能合约类型,若是第一合约,则解析所述历史NFT资源流通事件并对解析后的所述历史NFT资源流通事件进行事件去重处理以及资源编码去重处理,获得第一去重结果;从所述第一去重结果中提取单个NFT资源流通事件,并判断所述单个NFT资源流通事件对应的拥有者是否为所述目标地址,若是,则判断所述单个NFT资源流通事件的资源流通量是否已保存为历史资源流通数据,若未保存,则将所述资源流通量保存为历史资源流通数据,若已保存,则继续从所述第一去重结果中提取下一单个NFT资源流通事件进行判断;以及若否,则继续从所述第一去重结果中提取下一单个NFT资源流通事件进行判断;当遍历完所述第一去重结果时,基于保存的全部历史资源流通数据计算获取所述目标地址拥有的NFT资源量,将所述NFT资源量下发给所述客户端。5.根据权利要求2所述的方法,其特征在于,所述遍历所述历史NFT资源流通事件确定所述目标地址拥有的NFT资源量,将所述NFT资源量下发给所述客户端,包括:根据预先存储的智能合约地址查询智能合约执行码;基于所述智能合约执行码确定智能合约类型,若是第二合约,则从所述历史NFT资源流通事件中获取目标类型的NFT资源流通事件并解析,对解析后的所述目标类型的NFT资源流通事件进行事件去重处理以及资源编码去重处理,获得第二去重结果;从所述第二去重结果中提取单个NFT资源流通事件,并获取所述单个NFT资源流通事件对应的合约中的剩余资源量,判断所述剩余资源量是否大于零,若是,则将所述剩余资源量作为所述目标地址拥有的NFT资源量下发给所述客户端并结束遍历,若否,则继续从所述第二去重结果中提取下一单个NFT资源流通事件获取剩余资源量进行判断,直至遍历完所述第二去重结果中的全部NFT资源流通事件;以及
当所述第二去重结果中各NFT资源流通事件对应的合约中的剩余资源量均等于零时,向所述客户端返回所述目标地址不存在NFT资源响应。6.根据权利要求2所述的方法,其特征在于,所述步骤S13包括:所述服务器通过所述历史授权数据获取指令中的签名数据计算触发所述历史授权数据获取指令的拥有者公钥,利用所述拥有者公钥对所述历史授权数据获取指令进行签名验证,若验证通过,执行步骤S14,否则,返回错误信息并执行步骤S1。7.根据权利要求1所述的方法,其特征在于,所述步骤S2还包括:若是NFT资源铸造指令,执行步骤S2
’‑
1,若是NFT资源流通指令,执行步骤S2
’‑
4;步骤S2
’‑
1:所述服务器对所述NFT资源铸造指令进行合法性验证,若验证通过,则调用智能合约NFT资源铸造接口并执行步骤S2
’‑
2,否则,返回错误信息并执行步骤S1;步骤S2
’‑
2:所述服务器解析所述NFT资源铸造指令获得待铸造资源,判断所述待铸造资源是否已铸造,若否,则向所述智能合约中增加第二数据结构,完成NFT资源铸造并记录铸造日志,执行步骤S2
’‑
3,若是,记录错误日志并执行步骤S1;步骤S2
’‑
3:所述服务器将步骤S2
’‑
1至步骤S2
’‑
2生成的信息同步给同一区块链上的其他服务器,执行步骤S1;步骤S2
’‑
4:所述服务器对所述NFT资源流通指令进行合法性验证,若验证通过,则调用智能合约NFT资源流通接口并执行步骤S2
’‑
5,否则,返回错误信息并执行步骤S1;步骤S2
’‑
5:所述服务器解析所...

【专利技术属性】
技术研发人员:麻宝华陆舟
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1