一种实现多区块链同时铸造发行和多链NFT应用的方法与流程

文档序号:33484770发布日期:2023-03-15 14:19阅读:48来源:国知局
一种实现多区块链同时铸造发行和多链NFT应用的方法与流程
一种实现多区块链同时铸造发行和多链nft应用的方法
技术领域
1.本发明涉及区块链技术领域,具体涉及一种实现多区块链同时铸造发行和多链nft应用的方法。


背景技术:

2.nft是non-fungibletoken的缩写,是计算机系统中一种非同质化的、不可互换性的令牌。在由同一个合约铸造的nft中,每一个nft都具有唯一性的tokenid,以进行区分,而在区块链上铸造nft,是生成并发行nft的第一步,由nft铸造的智能合约完成。这个过程完成了nft铸造产生,以及初始的nft归属和分布状态,是使用nft构建后续应用的基础。
3.区块链系统作为一种分布式、去中心化的计算机系统,区块链是其中的去中心化的计算平台,业务逻辑由编写并部署在该区块链上的智能合约实现。区块链系统的用户通过交易,触发区块链对智能合约的执行,从而完成相应业务逻辑的执行,为用户提供服务。这个过程具有以下特征:智能合约只能由所在的区块链系统执行,也就决定了智能合约只能向所在区块链上的用户提供服务;用户只能先成为该区块链系统的用户,通过在该区块链上触发目标智能合约,完成业务操作。这就决定了不能通过外部系统或其他的区块链,使用另一个区块链的功能。同样的,某个区块链上的智能合约也不能向所在区块链之外的用户提供服务。这反映到nft的应用上体现为:nft只能在nft铸造合约部署所在的区块链上铸造;只有所在区块链系统的用户能够向nft铸造合约发起铸造请求;nft只能由nft铸造合约部署所在的区块链上的用户持有;只能在该区块链上的用户之间执行和完成后续nft的业务逻辑。
4.在实际应用过程中,当一个nft应用试图触达不同区块链系统中的用户时,目前常见的方法是将相同的nft铸造合约在不同的区块链上进行部署。但是这样的方式,在不同区块链上部署的nft铸造生成的智能合约,本质上是运行在不同区块链上独立的应用。所生成的nft在不同的链上、不同智能合约之间不能够互认,不同区块链上用户参与的也是不同的nft应用。这就极大的制约了nft的应用范围,限制了nft在复杂业务逻辑的应用以及应用的可扩展性,特别是跨区块链、跨系统以及多区块链之间的nft应用构建。
5.因此,发明一种实现多区块链同时铸造发行和多链nft应用的方法来解决上述问题很有必要。


技术实现要素:

6.本发明的目的是提供一种实现多区块链同时铸造发行和多链nft应用的方法,本专利能够有效完成同时在多条区块链上铸造、发行和完成nft转账操作,并在过程中完全符合了nft非同质化、不可互换的属性,确保了分布在不同区块链上的同一个nft应用的nft的有效管理,以解决技术中的上述不足之处。
7.为了实现上述目的,本发明提供如下技术方案:一种实现多区块链同时铸造发行和多链nft应用的方法,包括如下步骤:
8.步骤一、nft的铸造发行;
9.步骤二、nft链内转账;
10.步骤三、nft跨链转账;
11.所述步骤一到所述步骤三采用一种具有通用性的多区块链同时铸造发行一个nft应用的装置配合完成,所述装置包括区块链1、区块链2和跨链消息组件,所述区块链1上设置有主nft铸造合约s1,所述区块链2上设置有子nft铸造合约s2,所述区块链1和区块链2间设置有跨链消息组件s3;
12.主nft铸造合约,所述主nft铸造合约用来接受并响应所在区块链铸造的请求,并铸造生成nft,发送给请求用户;所述主nft铸造合约用来生成、分发、管理和识别该应用的nft身份标识,并确保在不同链上nft身份标识的唯一性,该nft身份标识为在该nft铸造发行中具有唯一性的数字号码,以实现不同nft之间的区分;所述主nft铸造合约用来接受并响应通过跨链消息组件传递过来的其他区块链上用户向该应用发起的nft铸造申请;所述主nft铸造合约用来记录并管理应用中nft在不同区块链分布的状态;
13.子nft铸造合约,所述子nft铸造合约用来接受并响应所在区块链铸造请求,并通过调用跨链消息组件,向主合约所在的区块链传递请求;所述子nft铸造合约用来接受主合约通过跨链消息装置返回的nft id,采用该id铸造生成nft,分发给请求的用户;所述子nft铸造合约用来在该nft应用部署的,除主合约所在区块链之外的所有区块链上各部署一次;
14.跨链消息组件s3,所述跨链消息组件s3包括设置在nft应用部署的所有区块链上的接口合约s301和部署的所有区块链两两之间的链外信任机制s302,所述链外信任机制s302可以触发所述接口合约s301;所述接口合约s301提供了所在链用户调用和响应跨链消息组件的接口合约;所述链外信任机制s302完成对发起消息跨链的源链上的数据校验,并按照用户跨链调用的意愿,触发目标链上的接口合约,并执行后续的对实现业务逻辑智能合约的调用。
15.优选的,所述跨链消息组件可以按照业务应用的逻辑在不同区块链之间传递消息。
16.优选的,所述接口合约s301包括调用接口s3011和执行接口s3012。
17.优选的,所述调用接口s3011所在链作为源链,接受用户交易或所在链上其他接口合约s301的触发并发起对外跨链消息传递的接口。
18.优选的,所述执行接口s3012所在链作为目标链,接受来自外部源链的跨链消息,进而调用其他合约的接口。
19.优选的,所述接口合约s301分别设置在nft应用部署的所有区块链上,每条区块链设置一个。
20.优选的,所述链外信任机制s302的实现方式分为中心化的和去中心化的。
21.优选的,所述主nft铸造合约、子nft铸造合约与跨链消息组件的接口合约s301可以组成一个合约。
22.在上述技术方案中,本发明提供的技术效果和优点:
23.1、本专利能够有效完成同时在多条区块链上铸造、发行和完成同一区块链内和不同区块链之间的nft转账操作,并在过程中完全符合了nft非同质化、不可互换的属性,确保了对分布在不同区块链上的同一个nft应用的nft的有效管理,从而实现多链nft应用的部
署;
24.2、通过部署在多个区块链上的两种类型的nft铸造智能合约,以及区块链之间消息传递的组件,从而构建一种多个区块链同时参与一个nft应用的方法,包括其中涉及的全部核心功能:多链nft的铸造发行,nft链内转账和nft跨链转账的方式,从而构建一个完整的开发和部署多区块链nft应用的方法;
25.3、通过这个方法,不同区块链上的用户可以分别在各自所在的区块链上,向同一个nft项目发起nft铸造的请求,该应用能够接受来自不同链上nft铸造的请求,并在用户发起请求的区块链上铸造生成nft,发放给请求的用户。同时,这个方法将严格保证所有铸造生成的nft之间的唯一性,提供所铸造的nft在不同区块链上分布的全局纵览功能,以及在后续nft发生转账,即支持nft从一个区块链地址向另一个区块链地址转移的操作,情况下及时的状态更新功能,从而支持多链nft应用的开发和部署。
附图说明
26.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
27.图1为本发明的多区块链同时铸造发行一个nft应用的装置的组成示意图;
28.图2为本发明的对接口智能合约的调用流程示意图;
29.图3为本发明的主合约所在区块链上nft的铸造和发行过程示意图;
30.图4为本发明的子合约所在区块链上nft的铸造和发行过程示意图;
31.图5为本发明的主合约所在区块链上nft链内转账及状态同步过程示意图;
32.图6为本发明的子合约所在区块链上nft链内转账及状态同步过程示意图;
33.图7为本发明的主合约与子合约所在区块链之间nft跨链转账及状态同步过程示意图;
34.图8为本发明的子合约向主合约所在区块链进行nft转账请求流程图;
35.图9为本发明的子合约与子合约所在区块链之间nft跨区块链转账及状态同步过程示意图。
具体实施方式
36.为了使本领域的技术人员更好地理解本发明的技术方案,下面将结合附图对本发明作进一步的详细介绍。
37.本发明提供了如图1-9所示的一种实现多区块链同时铸造发行和多链nft应用的方法,1.包括如下步骤:
38.步骤一、nft的铸造发行;
39.步骤二、nft链内转账;
40.步骤三、nft跨链转账;
41.所述步骤一到所述步骤三采用一种具有通用性的多区块链同时铸造发行一个nft应用的装置配合完成,所述装置包括区块链1、区块链2和跨链消息组件,所述区块链1上设置有主nft铸造合约s1,所述区块链2上设置有子nft铸造合约s2,所述区块链1和区块链2间
设置有跨链消息组件s3;
42.主nft铸造合约,所述主nft铸造合约用来接受并响应所在区块链铸造的请求,并铸造生成nft,发送给请求用户;所述主nft铸造合约用来生成、分发、管理和识别该应用的nft身份标识,并确保在不同链上nft身份标识的唯一性,该nft身份标识为在该nft铸造发行中具有唯一性的数字号码,以实现不同nft之间的区分;所述主nft铸造合约用来接受并响应通过跨链消息组件传递过来的其他区块链上用户向该应用发起的nft铸造申请;所述主nft铸造合约用来记录并管理应用中nft在不同区块链分布的状态;
43.子nft铸造合约,所述子nft铸造合约用来接受并响应所在区块链铸造请求,并通过调用跨链消息组件,向主合约所在的区块链传递请求;所述子nft铸造合约用来接受主合约通过跨链消息装置返回的nft id,采用该id铸造生成nft,分发给请求的用户;所述子nft铸造合约用来在该nft应用部署的,除主合约所在区块链之外的所有区块链上各部署一次;
44.跨链消息组件s3,所述跨链消息组件s3包括设置在nft应用部署的所有区块链上的接口合约s301和部署的所有区块链两两之间的链外信任机制s302,所述链外信任机制s302可以触发所述接口合约s301;所述接口合约s301提供了所在链用户调用和响应跨链消息组件的接口合约;所述链外信任机制s302完成对发起消息跨链的源链上的数据校验,并按照用户跨链调用的意愿,触发目标链上的接口合约,并执行后续的对实现业务逻辑智能合约的调用。
45.进一步的,在上述技术方案中,所述跨链消息组件可以按照业务应用的逻辑在不同区块链之间传递消息,从而实现跨链交互。
46.进一步的,在上述技术方案中,所述接口合约s301包括调用接口s3011和执行接口s3012,所述调用接口s3011所在链作为源链,接受用户交易或所在链上其他接口合约s301的触发并发起对外跨链消息传递的接口,所述执行接口s3012所在链作为目标链,接受来自外部源链的跨链消息,进而调用其他合约的接口,通过该方法和装置,可以构建起一个部署在多个区块链上,并同时为所部署的区块链提供服务的nft应用,由此开发部署的nft应用可以实现多个区块链中的任意用户从所在区块链上参与该nft应用的铸造和发行过程,可以操作自己所有的nft在该应用支持的区块链内和区块链之间完成nft的转账和跨链操作。
47.进一步的,在上述技术方案中,所述接口合约s301分别设置在nft应用部署的所有区块链上,每条区块链设置一个。
48.进一步的,在上述技术方案中,所述链外信任机制s302的实现方式分为中心化的和去中心化的,前者通过构建一个中心化的系统来处理并完成不同区块链上数据的校验和对接口智能合约的调用,也可以采用多方安全计算、中继节点、零知识证明等技术,构建去中心化数据校验方式实现。
49.进一步的,在上述技术方案中,所述主nft铸造合约、子nft铸造合约与跨链消息组件的接口合约s301可以组成一个合约,从而形成一种定制化的实现方案。
50.本发明实施例一,如图3所示,主合约所在区块链上nft的铸造和发行过程:
51.1、用户在主合约所在区块链上,通过向主合约发起符合合约规范的交易,形成nft铸造请求;
52.2、区块连处理该交易时调用并执行主合约;
53.3、智能合约分配当前第一个未被使用的nft id用于铸造nft,同时在主合约中保
存铸造记录,包括nft id、所在区块链、地址。被记录的nft id将不可再使用;
54.4、用户地址获得铸造生成的nft,完成nft的铸造和发行过程。
55.用户在主合约所在链上发起nft铸造的过程与现有部署在单一区块链上的nft应用的铸造过程类似。这里为了满足对不同链上nft状态的全局总览,在主合约中增加了对于铸造生成的nft的状态的维护功能。
56.本发明实施例二,如图4和图5所示,子合约所在区块链上nft的铸造和发行过程:
57.1、子合约所在区块链上的用户,通过向子合约发起符合合约规范的交易,形成nft铸造请求;
58.2、子合约所在区块链处理该请求时,调用并执行链上的子合约。
59.3、子合约调用跨链消息组件向主合约所在的区块链发送用户的铸造请求,其中主合约所在的目标区块链信息是在子合约编写时定义的;
60.4、跨链消息组件的链外信任机制,按照定义触发主合约所在目标区块链上的接口合约。通过合约间调用,该接口合约调用主合约,并完成nft铸造请求的跨链传递;
61.5、主合约接收到该请求,分配当前第一个未被使用的nft id,通过跨链消息组件的回调功能向发起铸造的源区块链传递包含该nft id的消息。同时在主合约中保存铸造记录,包括nft id、所在区块链、地址。被记录的nft id将不可再使用;
62.6、跨链消息组件的链外信任机制,按照回调触发子合约所在源区块链上的接口合约。通过合约间调用,该接口合约调用子合约,并完成nft id的跨链传递;
63.7、子合约接收到nft id,使用该nft id铸造生成nft,并发送给发起请求的用户地址。
64.8、用户在所在区块链获得铸造生成的nft,完成nft的铸造和发行过程。
65.实例一和实例二构成了该方法的多个区块链同时参与一个nft应用铸造和发行的方法和实例,该过程简称为多链nft发行。
66.本发明实施例三,如图6所示,主合约所在区块链上nft链内转账及状态同步过程:
67.1、用户发起nft转账请求;
68.2、区块链处理该交易,调用并执行主合约;
69.3、主合约中变更nft所有者地址状态,完成nft转账。
70.用户在主合约所在链上发起nft转账的过程与现有部署在单一区块链上的nft应用的转账过程类似。这里为了满足对不同链上nft状态的全局总览,在主合约中增加了对于铸造生成的nft的状态的维护功能。
71.本发明实施例四,如图7所示,子合约所在区块链上nft链内转账及状态同步过程:
72.1、用户在子合约发起nft转账请求;
73.2、区块链处理该交易,调用并执行子合约;
74.3、子合约调用跨链消息组件,将变更后的状态发送到主合约;
75.4、主合约接收到信息,变更主合约中关于该于该nft所有者的地址状态;
76.5、主合约调用跨链消息组件,将变更成功的信息传递给源区块链;
77.6、源区块链上的子合约接收到主合约状态变更成功的信息,在子合约中变更nft所有者地址状态,完成nft转账请求。
78.本发明实施例五,如图8所示,主合约与子合约所在区块链之间nft跨链转账及状
态同步过程:
79.1、主合约所在区块链作为源链,向子合约所在区块链作为目标链的发起nft跨区块链转账情况的过程:
80.1)用户在主合约所在区块链发起跨区块链nft转账请求;
81.2)主合约锁定该nft;
82.3)主合约调用跨链消息组件将该转账请求,其中必须包括nft id、目标地址信息传递给目标区块链;
83.4)目标区块链上的子合约按照这些信息,使用该nft id在目标链上铸造生成nft,并分发给目标地址;
84.5)子合约调用跨链消息组件,向主合约所在的源链传递铸造发行成功的消息;
85.6)主合约在接收到相关消息之后,变更主合约中关于该nft的所在链和所有者地址信息,同时销毁锁定的原始nft。
86.这里当目标地址与原链发起地址一致时,则完成的是一次从主合约所在的区块链向子合约所在的区块链的nft跨链操作。
87.在过程中的某个环节出现差错,跨链消息组件将自动返回失败状态返回,此时将触发主合约和子合约的状态回滚到转账前的原始状态。
88.2、子合约所在区块链作为源链,向主合约所在区块链作为目标链的发起nft跨区块链转账情况的过程:
89.1)、用户在子合约所在的区块链发起nft转账请求:
90.2)、子合约锁定该nft;
91.3)、子合约调用跨链消息组件将该转账请求,其中必须包括nft id、目标地址信息传递给目标主合约所在区块链;
92.4)目标区块链上的主合约按照这些信息,使用该nft id在目标链上铸造生成nft,并分发给目标地址。同时变更主合约中关于该nft所在链和所有者地址信息的状态;
93.5)、主合约调用跨链消息组件,向子合约所在的源链传递铸造发行成功的消息;
94.6)、子合约在接收到相关消息之后,销毁锁定的原始nft。
95.这里当目标地址与原链发起地址一致时,则完成的是一次从子合约所在的区块链向主合约所在的区块链的nft跨链操作。同样的,在过程中的某个环节出现差错,跨链消息组件将自动返回失败状态返回,此时将触发主合约和子合约的状态回滚到转账前的原始状态。
96.实例三、实例四和实例五实现了在多链发行的nft应用中,对nft各类操作功能的支持,并在这个过程中保障了nft的特性。从而能够支持nft业务逻辑基于多个区块链之上的实现,也就是实现了构建多链、网络化的nft应用。
97.本发明实施例流六,如图9所示,子合约与子合约所在区块链之间nft跨区块链转账及状态同步过程:
98.1、用户在子合约所在的区块链a发起nft转账请求;
99.2、区块链a上的子合约锁定该nft;
100.3、区块链a上的子合约调用跨链消息组件将该转账请求,其中必须包括nft id、目标地址信息传递给主合约所在区块链;
101.4、主合约按照这些信息,变更主合约中关于该nft所在链和所有者地址信息的全局状态;
102.5、主合约调用跨链消息组件,向目标区块链b传递铸造的消息,其中必须包括nft id以及所有者地址;
103.6、区块链b上的子合约在接收到相关消息之后,使用该nft id在目标链上铸造生成nft,并分发给目标地址;
104.7、区块链b上的子合约调用跨链消息组件,向区块链a上的子合约传递铸造发行成功的消息;
105.8、区块链a上的子合约在接收到该消息后,销毁锁定的原始nft。
106.这里当目标地址与原链发起地址一致时,则完成的是一次从子合约所在的区块链向子合约所在的区块链的nft跨区块链操作。同样的,在过程中的某个环节出现差错,跨链消息组件将自动返回失败状态返回(fallback),此时将触发主合约和子合约的状态回滚到转账前的原始状态。
107.全网nft状态获取的过程,主合约中保存了该nft应用每一个nft的nftid、所在区块链和用户地址的信息。因此通过访问和解析主合约中的数据既可以查看当前应用中nft的全局状态。
108.本专利能够有效完成同时在多条区块链上铸造、发行和完成nft转账操作,并在过程中完全符合了nft非同质化、不可互换的属性,确保了分布在不同区块链上的同一个nft应用的nft的有效管理。具体体现在:
109.1、确保nft应用的有效性:
110.1)确保全网nft id的唯一性,不会在同一应用中任何一条区块链上出现相同id号的nft,从而确保nft的非同质化特征。
111.2)实现对全网nft状态的管理,主合约中可以查询不同id号的nft在不同区块链和所在链上地址的分布情况。
112.2、实现多链铸造发行的nft在不同地址间的转账交易和转账状态的同步。
113.3、实现多链铸造发行的nft在不同区块链之间的转账交易和转账状态的同步。
114.4、实现对应用分布在全网不同区块链上的nft进行有效的管理。
115.通过上述功能,该专利提供了一套通用的支持nft应用在多个区块链上同时铸造发行的方法和装置。
116.同时,确保了后续对于nft基本操作的有效性、准确性,以及使用过程中始终确保nft的唯一性、非同质化、不可替代的特征,确保使用该装置构建nft应用到业务逻辑的实现。
117.通过该方法和装置可以构建一个完整的、可用的在不同区块链上开发和部署nft应用的逻辑闭环。使得nft应用可以在多个区块链之间构建网络化的应用新形态,而不是原有在不同区块链上克隆的独立应用。这将极大地丰富了nft的应用场景,和对复杂业务应用问题的实现。
118.以上只通过说明的方式描述了本发明的某些示范性实施例,毋庸置疑,对于本领域的普通技术人员,在不偏离本发明的精神和范围的情况下,可以用各种不同的方式对所描述的实施例进行修正。因此,上述附图和描述在本质上是说明性的,不应理解为对本发明
权利要求保护范围的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1