本公开属于区块链,尤其涉及一种基于话题频道的区块链共享方法、系统、设备和介质。
背景技术:
1、区块链自诞生以来,先后发展出了公链、私链、联盟链,虽然出现了多账本、账本多分支等技术,但对于某一具体账本或分支的共享仍是全量的,并未有实质性改变。
2、在现实的业务场景中,比如民航领域的电子票据系统,其存在一个现实意义上的全量账本,每年数据是海量的,并有其业务保存意义。这些账本数据又需要按航司或大客户进行细分并采用区块链技术进行数据共享。如采用统一共享账本模式,由于大客户数量是百万级的,而联盟链技术中组织承载理论极限不过一百左右,没有落地实施的可能性,且未考虑大客户完全无法负荷海量的全量账本数据,也未考虑数据隔离安全性。如考虑数据隔离安全性,则不得不在全量账本之外,和大客户1对1建立对等子账本以进行数据共享,由于大客户数量是百万级的,这意味着中航信要建立数百万区块链节点,这远远超出了云计算环境的节点承载极限,其管理复杂度也是难以承担的;且由于细分层级的不同,同一数据可以归属多个分享目标,每份数据将保持2集群起步,共享数据又是海量的,对中航信而言,这种重复性会造成极大资源浪费,综合多种因素,也没有规模化落地的可能性。因此迫切需要一种创新型的区块链结构,即可以保持一个全量账本,又可以按照业务话题频道对区块进行标记,对目标客户按话题频道共享。在保障全量账本的连续性可验证的前提下,也要保障频道共享的隔离性,并保障频道上的区块间,仍然具备连续性的可验证性。
3、再者,在数据票据类业务中,票据的生产者和背书效力主体是单一的或极少数的,并不需要订阅者生产数据,也不需要订阅者参与到数据生产和组织管理中。传统的联盟链模式设计中,联盟间过于强调完全对等性,组织进出过程复杂,且多组织间的管理交集太大,和传统业务中,特别是票据类1:n、少:多只读型分享模型契合度低。采用传统联盟链技术反而将简单问题复杂化,且潜在的安全风险很高。
4、当前并没有一种区块链技术可以完美解决上述问题,因此,有必要提供一种新的基于话题频道的区块链共享方法、系统、设备和介质解决上述技术问题。
技术实现思路
1、本公开的目的就在于为了解决上述问题而提供一种基于话题频道的区块链共享方法、系统、设备和介质。
2、本公开通过以下技术方案来实现上述目的:
3、一种基于话题频道的区块链共享方法,包括以下步骤:
4、对数据块按归属的话题subject进行标记,每个话题subject对应一个话题频道;
5、将话题频道上的逻辑相邻的数据块间采用presubjecthash前指;
6、构建订阅配置块对话题频道进行订阅管理。
7、作为本公开的进一步优化方案,对数据块按归属话题subject进行了标记包括:
8、准备交易数据及归属话题subject,并生成交易提案发送至记账节点;
9、通过记账节点背书并发送至用户,用户收到记账节点背书回执后对结果再次背书;
10、将第二次的背书结果发送到排序节点,通过排序节点收集交易;
11、将交易按话题subject分块,标记数据块的subejct、prehash、presubjecthash并出块;
12、将标记后的数据块按话题subject在账本频道、话题频道上广播;
13、组织记账节点接收到账本频道上的数据块,并持久化到本地;
14、通过订阅者的记账节点接收话题频道上的数据块,并持久化到本地。
15、作为本公开的进一步优化方案,所述订阅配置块的更新包括:
16、通过账本主体组织线下接受订阅者信息;
17、加载最新配置块信息,并解压缩;
18、更新配置块信息,并压缩;
19、对压缩后的配置信息,进行签名;
20、保存签名后的订阅配置块,完成订阅配置块的更新。
21、作为本公开的进一步优化方案,构建订阅配置块对话题频道进行订阅管理包括:
22、构建订阅配置块;
23、通过账本主体组织将订阅者信息更新到订阅配置块;
24、通过订阅者记账节点发起订阅请求;
25、通过共识节点收到订阅请求;
26、通过订阅配置块验证订阅请求身份及订阅的话题subject;
27、验证成功后将订阅者添加到话题频道;
28、获取订阅者订阅起点;
29、从订阅起点拉取数据块,向订阅者推送其归属的话题数据块;
30、订阅者收听到数据块信息,持久化数据块到本地,并同步世界状态数据库;
31、同步完成后,进入监听状态,等待该话题subject下新数据块的产生和推送。
32、一种基于话题频道的区块链共享系统,包括:
33、标记模块,用于对数据块按归属的话题subject进行标记,每个话题subject对应一个话题频道;
34、链条模块,用于将话题频道上的逻辑相邻的数据块间采用presubjecthash前指;
35、配置模块,用于构建订阅配置块对话题频道进行订阅管理。
36、作为本公开的进一步优化方案,所述标记模块对数据块按归属话题subject进行了标记包括:
37、准备交易数据及归属话题subject,并生成交易提案发送至记账节点;
38、通过记账节点背书并发送至用户,用户收到记账节点背书回执后对结果再次背书;
39、将第二次的背书结果发送到排序节点,通过排序节点收集交易;
40、将交易按话题subject分块,标记数据块的subejct、prehash、presubjecthash并出块;
41、将标记后的数据块按话题subject在账本频道、话题频道上广播;
42、组织记账节点接收到账本频道上的数据块,并持久化到本地;
43、通过订阅者的记账节点接收话题频道上的数据块,并持久化到本地。
44、作为本公开的进一步优化方案,所述订阅配置块的更新包括:
45、通过账本主体组织线下接受订阅者信息;
46、加载最新配置块信息,并解压缩;
47、更新配置块信息,并压缩;
48、对压缩后的配置信息,进行签名;
49、保存签名后的订阅配置块,完成订阅配置块的更新。
50、作为本公开的进一步优化方案,所述配置模块构建订阅配置块对话题频道进行订阅管理包括:
51、构建订阅配置块;
52、通过账本主体组织将订阅者信息更新到订阅配置块;
53、通过订阅者记账节点发起订阅请求;
54、通过共识节点收到订阅请求;
55、通过订阅配置块验证订阅请求身份及订阅的话题subject;
56、验证成功后将订阅者添加到话题频道;
57、获取订阅者订阅起点;
58、从订阅起点拉取数据块,向订阅者推送其归属的话题数据块;
59、订阅者收听到数据块信息,持久化数据块到本地,并同步世界状态数据库;
60、同步完成后,进入监听状态,等待该话题subject下新数据块的产生和推送。
61、一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
62、存储器,用于储存计算机程序;
63、处理器,用于执行存储器所储存的程序时,实现所述的基于话题频道的区块链共享方法。
64、一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于话题频道的区块链共享方法。
65、本公开的有益效果在于:
66、本公开采用subject标记数据区块,使数据区块具备了订阅维度;
67、采用presubjecthash标记前一话题区块,使话题频道下的区块具备连续性的可验证性;
68、采用订阅配置块管理频道订阅,订阅管理更为简便,订阅者不参与组织相关的管理,职责更单一,性能高且安全;
69、可基于频道订阅,订阅者仅仅获取频道下的数据,安全隔离且节省空间;
70、账本官方,共享数据不再需要1对1单独建账,大大节省算力存储资源;
71、突破传统区块链组织共享模式的瓶颈,可单链服务百万级目标客户的共享。