一种基于ERC1155的跨链NFT转移和结算系统的制作方法

文档序号:28956405发布日期:2022-02-19 11:53阅读:214来源:国知局
一种基于ERC1155的跨链NFT转移和结算系统的制作方法
一种基于erc1155的跨链nft转移和结算系统
技术领域
1.本公开大体上涉及nft技术领域,且更明确地说涉及一种基于erc1155的跨链nft转移和结算系统。


背景技术:

2.nft指非同质化代币,用于表示数字资产的唯一加密货币令牌,可以买卖,目前大部分nft是在基于erc1155智能合约的区块链中证明其拥有者身份的,当nft在不同的区块链中转移时,过程比较繁杂,而且效率较低,现在需要一种能够高效处理nft转移的结算系统来加快nft的流通性。
3.现在已经开发出了很多nft转移系统,经过我们大量的检索与参考,发现现有的转移系统有如公开号为kr101733599b1,kr101837169b1、cn111639924b和kr101826372b1所公开的系统,方法包括:将货物实体转化为token信息;在智能合约中创建四种协议;所述四种协议包括创建拍卖协议、支付担保协议、竞标协议和发货保证协议;通过创建拍卖协议创建卖家的拍卖实例,将token信息保存在区块链中,并采用发货保证协议锁定区块链中的token信息;将竞标者的资产实体存储在支付担保协议中作为保证金;在区块链中启动拍卖实例,采用竞标协议完成竞拍流程,并保存出价记录,将出价记录复制到区块链中每个节点上;竞标流程完成后,利用创建拍卖协议对卖家的账户进行付款,通过所述发货保证协议执行发货流程。但该系统主要用于处理nft的拍卖,其本身设计的nft数量不大,效率较低,不适合用于处理大规模的nft转移。


技术实现要素:

4.本发明的目的在于,针对所存在的不足,提出了一种基于erc1155的跨链nft转移和结算系统,本发明采用如下技术方案:一种基于erc1155的跨链nft转移和结算系统,包括结算模块、接入模块、合约审核模块、nft信息存储模块和转移处理模块,所述接入模块用于对接用户及其所在的链,所述合约审核模块用于审核用户所在链是否基于erc1155合约,所述转移处理模块用于接收用户发送的nft转移数据包并对所述nft转移数据包进行处理,所述nft信息存储模块用于保存nft的存储信息地址,所述结算模块用于对完成的nft转移作最终的结算记录;所述转移处理模块对所述nft转移数据包中的所有nft信息进行验证,验证通过后向用户所在的链发送nft转移信息,用户所在链根据所述nft转移信息生成区块完成nft转移,用户所在链生成的区块地址被发送至所述结算模块,所述结算模块对区块地址进行记录;所述nft转移数据包包括包头和包内容,所述包头用于配对和资源分配,具有相同包头的nft转移数据包合成一个nft交易包,所述包内容用于记录nft信息;所述包头数据包括四个数据段,第一数据段表示此次nft转移涉及的用户数量,第
二数据段表示此次nft转移设计的nft数量,第三数据段表示时间期限要求,第四数据段表示nft转移双方的口令;所述转移处理模块计算出nft交易包的优先指数,所述优先指数y的计算公式为:;其中,n1表示包头的第一数据段的值,n2表示包头的第二数据段的值,n3表示包头的第三数据段的值,t
now
为当前时间对应的值,t0表示时间基数,k为调整系数;所述转移处理模块对nft信息进行验证需要的资源总数为nz,所述转移处理模块将资源总数依据优先指数进行分配,第i个交易包分配的资源数量ni为:;其中,yi表示第i个交易包的优先指数,n为现存的配对的交易包的数量,num(yj《yi)表示优先指数小于yi的交易包的数量;进一步的,所述nft转移数据包的包内容包括若干条nft信息条,每条nft信息条包括nft_id、nft拥有者信息、nft转移对象信息和nft存储信息地址;进一步的,所述转移处理模块包括信息条处理单元、nft存储验证单元、nft拥有者验证单元和nft转移输出单元,所述nft存储验证单元从所述信息条处理处理单元中获取nft存储信息地址并对对应的nft内容进行验证,所述nft拥有者验证单元从所述信息条处理单元中获取到以nft拥有者信息分类的用户验证包并对用户是否拥有对应的nft进行验证,所述转移处理模块的验证资源分配给所述nft存储验证单元和nft拥有者验证单元;进一步的,所述nft转移输出单元从所述信息条处理单元中获取到以nft转移对象信息分类的nft接收包,当所述nft存储验证单元和nft拥有者验证单元对一个交易包中的所有nft信息条验证完毕后,所述nft转移输出单元将所述nft接收包和用户验证包合并后发送至对应用户的区块链;进一步的,所述nft信息存储模块还用于存储nft的密钥,所述密钥用于访问nft的存储地址,所述nft信息存储模块在完成nft的交易后对nft的新拥有者开放权限,nft的新拥有者在所述nft信息存储模块中获取到nft的存储地址以及密钥。
5.本发明所取得的有益效果是:本系统不涉及对nft内容本身的处理和对交易本身的记录,能够大大地减少非必要操作,为提高nft的转移效率奠定基础,本系统主要是对nft转移的合法性进行验证,验证过程中根据nft的原拥有者进行分类,使nft能够批量进行验证,提高了验证的效率,本系统对nft的转移请求进行优先度计算,根据优先度计算结果对验证的资源进行合理分配,使用户在提交转移请求后的总等待时间最优化,提高用户的体验。
6.为使能更进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与附图,然而所提供的附图仅用于提供参考与说明,并非用来对本发明加以限制。
附图说明
7.图1为本发明整体结构框架示意图;图2为本发明nft转移结算流程示意图;图3为本发明转移处理模块结构框架示意图;图4为本发明用户验证包分类示意图;图5为本发明nft接收包分类示意图。
具体实施方式
8.以下是通过特定的具体实施例来说明本发明的实施方式,本领域技术人员可由本说明书所公开的内容了解本发明的优点与效果。本发明可通过其他不同的具体实施例加以施行或应用,本说明书中的各项细节也可基于不同观点与应用,在不悖离本发明的精神下进行各种修饰与变更。另外,本发明的附图仅为简单示意说明,并非依实际尺寸的描绘,事先声明。以下的实施方式将进一步详细说明本发明的相关技术内容,但所公开的内容并非用以限制本发明的保护范围。
9.实施例一。
10.本实施例提供了一种基于erc1155的跨链nft转移和结算系统,结合图1,包括结算模块、接入模块、合约审核模块、nft信息存储模块和转移处理模块,所述接入模块用于对接用户及其所在的链,所述合约审核模块用于审核用户所在链是否基于erc1155合约,所述转移处理模块用于接收用户发送的nft转移数据包并对所述nft转移数据包进行处理,所述nft信息存储模块用于保存nft的存储信息地址,所述结算模块用于对完成的nft转移作最终的结算记录;所述转移处理模块对所述nft转移数据包中的所有nft信息进行验证,验证通过后向用户所在的链发送nft转移信息,用户所在链根据所述nft转移信息生成区块完成nft转移,用户所在链生成的区块地址被发送至所述结算模块,所述结算模块对区块地址进行记录;所述nft转移数据包包括包头和包内容,所述包头用于配对和资源分配,具有相同包头的nft转移数据包合成一个nft交易包,所述包内容用于记录nft信息;所述包头数据包括四个数据段,第一数据段表示此次nft转移涉及的用户数量,第二数据段表示此次nft转移设计的nft数量,第三数据段表示时间期限要求,第四数据段表示nft转移双方的口令;所述转移处理模块计算出nft交易包的优先指数,所述优先指数y的计算公式为:;其中,n1表示包头的第一数据段的值,n2表示包头的第二数据段的值,n3表示包头
的第三数据段的值,t
now
为当前时间对应的值,t0表示时间基数,k为调整系数;所述转移处理模块对nft信息进行验证需要的资源总数为nz,所述转移处理模块将资源总数依据优先指数进行分配,第i个交易包分配的资源数量ni为:;其中,yi表示第i个交易包的优先指数,n为现存的配对的交易包的数量,num(yj《yi)表示优先指数小于yi的交易包的数量;所述nft转移数据包的包内容包括若干条nft信息条,每条nft信息条包括nft_id、nft拥有者信息、nft转移对象信息和nft存储信息地址;所述转移处理模块包括信息条处理单元、nft存储验证单元、nft拥有者验证单元和nft转移输出单元,所述nft存储验证单元从所述信息条处理处理单元中获取nft存储信息地址并对对应的nft内容进行验证,所述nft拥有者验证单元从所述信息条处理单元中获取到以nft拥有者信息分类的用户验证包并对用户是否拥有对应的nft进行验证,所述转移处理模块的验证资源分配给所述nft存储验证单元和nft拥有者验证单元;所述nft转移输出单元从所述信息条处理单元中获取到以nft转移对象信息分类的nft接收包,当所述nft存储验证单元和nft拥有者验证单元对一个交易包中的所有nft信息条验证完毕后,所述nft转移输出单元将所述nft接收包和用户验证包合并后发送至对应用户的区块链;所述nft信息存储模块还用于存储nft的密钥,所述密钥用于访问nft的存储地址,所述nft信息存储模块在完成nft的交易后对nft的新拥有者开放权限,nft的新拥有者在所述nft信息存储模块中获取到nft的存储地址以及密钥。
11.实施例二。
12.本实施例包含了实施例一的全部内容,提供了一种基于erc1155的跨链nft转移和结算系统,包括结算模块、接入模块、合约审核模块、nft信息存储模块和转移处理模块,所述接入模块用于完成nft转移双方所在链的对接,所述合约审核模块用于对接入链的合约进行审核,所述转移处理模块用于接收nft转移请求并进行处理,所述nft信息存储模块用于保存nft的存储信息地址,所述结算模块用于记录nft转移双方所在链上记录此次转移的区块的区块信息;结合图2,所述系统进行nft转移和结算的过程包括如下步骤:s1、nft转移双方所在链与所述接入模块进行对接;s2、nft转移双方向所述系统提交智能合约副本;s3、所述合约审核模块对所述智能合约副本进行校对,判断是否为erc1155合约,若符合,则返回审核通过信息,若不符合,则返回审核不通过信息,并通知所述接入模块与审核不通过的nft转移方断开连接;s4、合约通过审核后,所述nft转移双方向所述系统发送nft转移数据包;
s5、所述转移处理模块根据所述nft转移数据包的包头进行配对,配对的nft转移数据包合成一个nft交易包;s6、所述转移处理模块对nft交易包中的所有nft进行信息验证,当所有nft信息验证通过后,将nft的存储信息地址发送至所述nft信息存储模块进行保存,同时向nft转移双方所在链发送nft转移信息;s7、nft转移双方所在链根据接收到的nft转移信息生成区块进行记录,并将生成区块的区块地址发送至所述结算模块;s8、所述结算模块根据接收到的区块地址访问对应的区块,确认区块内容符合nft转移内容后,在所述结算模块上的结算链上生成结算区块,所述结算区块用于记录接收到的nft双方所在链生成的区块的区块地址信息;所述nft转移数据包包括包头和包内容,所述包内容包括若干条nft信息条,所述nft交易包由信息条构成,所述nft信息条中的内容包括nft_id、nft拥有者信息、nft转移对象信息和nft存储信息地址;所述nft转移数据包的包头为一串数据,该数据包括四个数据段,第一数据段表示此次nft转移涉及的用户数量,第二数据段表示此次nft转移设计的nft数量,第三数据段表示时间期限要求,第四数据段表示nft转移双方的口令,所述数据段之间用短线分隔连接;当系统要同时处理大量的nft转移时,所述转移处理模块根据包头的前三个数据段计算出对应的nft交易包的优先指数,所述转移处理模块依据优先指数分配相应的资源数量进行nft的转移处理;所述优先指数y的计算公式为:;其中,n1表示包头的第一数据段的值,n2表示包头的第二数据段的值,n3表示包头的第三数据段的值,t
now
为当前时间对应的值,t0表示时间基数,k为调整系数;需要注意的是,用于在设置包头的第三数据段时,n3会远大于当前时刻,若n3接近或小于当前时刻,所述转移处理模块会退回nft转移数据包;所述转移处理单元的资源数量总量为nz,配对后的现存第i个nft交易包的优先指数用yi表示,则第i个nft交易包分配得到的资源数量为:;其中,n为现存的配对的交易包的数量,num(yj《yi)表示优先指数小于yi的交易包的数量;需要注意的是,通过上述过程计算的所有交易包分配得到的资源数量之和小于
nz,缺少的部分资源数量用于应急处理;结合图3、图4和图5,所述转移处理模块包括信息条处理单元、nft存储验证单元、nft拥有者验证单元和nft转移输出单元,所述信息条处理单元从所述nft交易包中逐条获取nft信息条,进行三项处理,第一项处理为根据所述nft拥有者信息进行分类,得到若干个用户验证包,每个用户验证包中包括一个nft拥有者信息和若干个nft_id,所述用户验证包发送至所述nft拥有者验证单元,第二项处理为将nft存储信息地址发送至所述nft存储验证单元,所述nft存储验证单元实时地对每个nft的存储地址进行验证,第三项处理为根据所述nft转移对象信息进行分类,得到若干个nft接收包,每个nft接收包中包括一个nft转移对象信息和若干个nft_id,所述nft接收包发送至所述nft转移输出单元;所述nft存储验证单元访问接收到的每一个nft存储信息地址,确认每一个地址存有对应nft的内容后,向所述nft转移输出单元发送nft存储验证成功指令;所述nft拥有者验证单元根据用户验证包中的nft拥有者信息到对应的区块链中获取其所有的nft信息,并与所述用户验证包中的每个nft_id进行核对,确认其拥有所有的nft并且没有转出记录,当所述所述nft拥有者验证单元完成所有用户验证包的验证后,向所述nft转移输出单元发送nft拥有者验证成功指令以及所有的用户验证包;所述nft转移输出单元在接收到nft存储验证成功指令和nft拥有者验证成功指令后,将所述nft接收包和用户验证包进行合并与格式转换,合并指当nft接收包中的nft转移对象信息与用户验证包中的nft拥有者信息为同一用户时,将这两个包合并,格式转换指将包中的nft_id转换成具体的转入/转出信息描述,格式转换后的包称为nft转移输出包,所述nft转移输出单元根据所述nft转移输出包中的用户信息发送至对应的区块链;上述过程完成了nft的所有权的转移,下面对nft的访问权的转移进行说明;所述nft的实际内容保存在第三方的存储空间中,所述第三方的存储空间地址为nft存储信息地址,在完成nft的转移前,仅有nft的所有者拥有访问nft实际内容的密钥,在转移过程中,nft的拥有者会向所述nft存储验证单元发送一次性密钥,所述nft存储验证单元通过所述一次性密钥访问对应nft内容完成验证;在步骤s8中,当所述结算模块在完成对区块内容的确认后,以及生成结算区块前,所述结算模块向所有nft的原拥有者获取访问nft实际内容的密钥,对所有密钥进行更改后将新密钥保存在所述nft信息存储模块中,在所述nft信息存储模块,新密钥与nft的存储信息地址配对保存且设置有独立的访问权限,所述结算模块在生成结算区块后,对nft的新拥有者开放对应的nft信息存储模块访问权限,nft的新拥有者在所述nft信息存储模块中获取新密钥以及nft的存储信息地址。
13.以上所公开的内容仅为本发明的优选可行实施例,并非因此局限本发明的保护范围,所以凡是运用本发明说明书及附图内容所做的等效技术变化,均包含于本发明的保护范围内,此外,随着技术发展其中的元素可以更新的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1