CN112804233A - 一种面向区块链多通道的区块打包方法、装置及存储介质 - Google Patents

一种面向区块链多通道的区块打包方法、装置及存储介质 Download PDF

Info

Publication number
CN112804233A
CN112804233A CN202110055915.2A CN202110055915A CN112804233A CN 112804233 A CN112804233 A CN 112804233A CN 202110055915 A CN202110055915 A CN 202110055915A CN 112804233 A CN112804233 A CN 112804233A
Authority
CN
China
Prior art keywords
block
transaction
channel
packing
application channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110055915.2A
Other languages
English (en)
Other versions
CN112804233B (zh
Inventor
秦钢
杨英杰
金文海
顾永兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Ouye Shuzhi Aggregation Information Technology Co ltd
Original Assignee
Ouye Yunshang Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ouye Yunshang Co ltd filed Critical Ouye Yunshang Co ltd
Priority to CN202110055915.2A priority Critical patent/CN112804233B/zh
Publication of CN112804233A publication Critical patent/CN112804233A/zh
Application granted granted Critical
Publication of CN112804233B publication Critical patent/CN112804233B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种面向区块链多通道的区块打包方法、装置及存储介质,该方法包括如下步骤:S1、各个共识节点对达成共识的交易按通道进行分拣并存储,形成对应于各个共识节点的系统通道队列和应用通道队列,系统通道队列存储系统通道交易,应用通道队列存储共识节点参与的应用通道内的应用通道交易,共识节点参与的各个应用通道分别对应一个应用通道队列;S2、对于系统通道队列,每当队列中存在系统通道交易,立刻打包生成区块;S3、对于应用通道队列,根据对应的应用通道的交易频繁情况动态调整区块打包方法,基于确定的打包方法对应用通道交易打包生成区块。与现有技术相比,本发明实现了基于通道的数据隔离,提高了安全性和打包效率。

Description

一种面向区块链多通道的区块打包方法、装置及存储介质
技术领域
本发明涉及一种区块链区块打包方法、装置及存储介质,尤其是涉及一种面向区块链多通道的区块打包方法、装置及存储介质。
背景技术
区块链(blockchain)作为一种去中心化、不可篡改、可追溯、可信的、多方共同维护的分布式数据库,通过集成P2P协议、非对称加密、共识机制、块链结构等多种技术,无需任何第三方可信机构,在互不了解、互不信任的多方间实现了可信的数据共享。但当前大多数的区块链系统(例如Hyperledger Fabric)中,在不可信网络环境下,无法在提供多通道设计的同时提供数据保密性。实际上,相比于其他数据共享方式,在缺乏信任的参与者之间,区块链的隐私保护问题显得尤为重要。
一种直接的数据隐私保护方法是采用多通道的部署结构,一个节点根据应用需求,可以加入不同的通道中,加入到同一个通道中的节点共同维护相同的区块数据,不同通道之间彼此隔离,非通道内的节点无法访问该通道上的交易。这样既有效保护了隐私数据,又提高了数据的并行处理效率以及对数据存储空间的利用。
在区块链多通道架构下,区块链节点通过共识算法进行共识,共识算法一般采用PBFT(实用拜占庭容错算法),在系统中形成对交易排序的全局共识,然后按照共识后的顺序分通道对交易进行处理。只要能保证处理过程的确定性,同一通道的所有节点最后都能达到一致的状态,产生相同的本地数据。然而在区块链设计中,共识与交易打包耦合程度较高,共识的性能受到交易打包能力的影响。目前的区块链未能在多通道环境下提供确定性的区块打包方法来实现高效的数据上链,导致区块链在共识后的交易处理上性能较低。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种面向区块链多通道的区块打包方法、装置及存储介质,使得各个通道能够根据通道自身的特点来选择合适的打包方法,节点能够动态调整打包时间与区块大小,解决了在不可信环境下数据隔离与保密无法同时实现的区块链打包问题,并有效提高了区块链的共识交易处理性能。
本发明的目的可以通过以下技术方案来实现:
一种面向区块链多通道的区块打包方法,该方法包括如下步骤:
S1、各个共识节点对达成共识的交易按通道进行分拣并存储,形成对应于各个共识节点的系统通道队列和应用通道队列,所述的系统通道队列存储系统通道交易,所述的应用通道队列存储共识节点参与的应用通道内的应用通道交易,共识节点参与的各个应用通道分别对应一个应用通道队列;
S2、对于系统通道队列,每当队列中存在系统通道交易,立刻打包生成区块;
S3、对于应用通道队列,根据对应的应用通道的交易频繁情况动态调整区块打包方法,基于确定的打包方法对应用通道交易打包生成区块。
优选地,步骤S1具体为:
S11、依次识别达成共识的交易,若为系统通道交易则存入系统通道队列中,若为应用通道交易则执行步骤S12;
S12、获取应用通道交易的通道标识字段,将交易所在的应用通道与共识节点自身参与的应用通道进行对比,若为共识节点自身参与的应用通道,则将该应用通道交易存入该共识节点相应的应用通道队列。
优选地,步骤S3具体为:
S31、根据应用通道的配置文件设置各个应用通道在当前通道配置下初始的区块打包方法;
S32、检测各个应用通道配置是否修改,若修改则进行步骤S31;
S33、对于各个应用通道队列,共识节点根据设置的区块打包方法完成此次区块的打包并记录区块参数,同时根据记录的区块参数确定应用通道的交易频繁情况,最后根据应用通道的交易频繁情况调整下一次区块打包方法;
S34、循环执行步骤S32~S33。
优选地,步骤S3中参与动态调整的打包方法包括时间间隔打包法和交易数量打包法;
所述的时间间隔打包法为:当区块打包时长达到设定时间间隔,则将应用通道队列中的所有交易打包生成区块,所述的区块打包时长为应用通道队列中第一个交易进入时间与当前时刻的时间间隔;
所述的交易数量打包法为:当进入应用通道队列中的交易数量达到设定交易数量,则将应用通道队列中的所有交易打包生成区块。
优选地,在采用时间间隔打包法进行打包过程中,若打包时长未达到设定时间间隔,但应用通道队列中的所有交易的大小超过最大区块大小,则立即将应用通道队列中的所有交易打包生成区块。
优选地,采用时间间隔打包法进行打包的具体步骤为:
a1、在应用通道队列收到第一个交易开始,启动计时器以及计数器;
a2、应用通道队列每接收一个交易就检查该应用通道队列中所有交易的大小,若超过最大区块大小,则执行步骤a3,否则执行步骤a4;
a3、立即将应用通道队列中的所有交易打包生成区块,同时停止计时器以及计数器,根据对应的应用通道的交易频繁情况动态调整区块打包方法;
a4、判断计时器是否达到设定时间间隔,若是则将应用通道队列中的所有交易打包生成区块,同时停止计时器以及计数器,根据对应的应用通道的交易频繁情况动态调整区块打包方法,否则返回步骤a2。
优选地,在采用交易数量打包法进行打包过程中,若进入应用通道队列中的交易数量未达到设定交易数量,但一旦应用通道队列中的所有交易的大小超过最大区块大小或打包时长超过设定的最大打包时长,则立即将应用通道队列中的所有交易打包生成区块。
优选地,采用交易数量打包法进行打包的具体步骤为:
b1、在应用通道队列收到第一个交易开始,启动计时器以及计数器;
b2、应用通道队列每接收一个交易就检查该应用通道队列中所有交易的大小,若超过最大区块大小,则执行步骤b4,否则执行步骤b3;
b3、判断计时器是否超过设定的最大打包时长,若是则执行步骤b4,否则执行步骤b5;
b4、立即将应用通道队列中的所有交易打包生成区块,同时停止计时器以及计数器,根据对应的应用通道的交易频繁情况动态调整区块打包方法;
b5、判断进入应用通道队列中的交易数量是否达到设定交易数量,若是则将应用通道队列中的所有交易打包生成区块,同时停止计时器以及计数器,根据对应的应用通道的交易频繁情况动态调整区块打包方法,否则返回步骤b2。
优选地,步骤S33完成区块打包后记录的区块参数包括区块交易数量以及区块打包时长。
优选地,步骤S33调整下一次区块打包方法的具体方式为:
若当前区块打包方法为时间间隔打包法,则判断已打包区块的区块交易数量是否大于设定交易数量,若是则下一个区块的区块打包方法调整为交易数量打包法,否则下一个区块的区块打包方法仍采用时间间隔打包法;
若当前区块打包方法为交易数量打包法,则判断已打包区块的区块打包时长是否大于设定时间间隔,若是则下一个区块的区块打包方法调整为时间间隔打包法,否则下一个区块的区块打包方法仍采用交易数量打包法。
一种用于区块打包装置,包括存储器和处理器,所述存储器,用于存储计算机程序,所述处理器用于当执行所述的计算机程序时实现上述的面向区块链多通道的区块打包方法。
一种用于区块打包存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的面向区块链多通道的区块打包方法。
与现有技术相比,本发明具有如下优点:
(1)本发明将系统通道交易和应用通道交易分开处理,保证了通道配置信息更新的及时性,对于多个应用通道的交易,共识节点只打包自身参与的通道的交易,实现了基于通道的数据隔离,针对通道交易的频繁情况可以根据通道的交易状况动态切换,使得系统的交易处理时间更加稳定;
(2)本发明设计了两种打包方法,分别是时间间隔打包法和交易数量打包法,通过这两种打包方法保证了区块打包结果的确定性,能够有效地提高区块链的交易处理速度,提高了区块链系统出块的效率。
附图说明
图1为本发明一种面向区块链多通道的区块打包方法的流程图;
图2为本发明中对达成共识的交易分拣过程的示例图;
图3为本发明中对分拣完成的交易进行打包的示例图;
图4为本发明中考虑到最大区块大小和最大打包时长限制时进行区块打包的示例图;
图5为本发明区块链多通道环境的示例图;
图6为本发明交易在共识节点中所要进行的确定性打包示例图;
图7为本发明确定性打包方法在区块链多通道情况下的示例图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。注意,以下的实施方式的说明只是实质上的例示,本发明并不意在对其适用物或其用途进行限定,且本发明并不限定于以下的实施方式。
实施例1
如图1所示,本实施例提供了一种面向区块链多通道的区块打包方法,该方法包括如下步骤:
S1、各个共识节点对达成共识的交易按通道进行分拣并存储,形成对应于各个共识节点的系统通道队列和应用通道队列,系统通道队列存储系统通道交易,应用通道队列存储共识节点参与的应用通道内的应用通道交易,共识节点参与的各个应用通道分别对应一个应用通道队列。
此步骤是共识节点完成对达成共识的交易的分拣,因为达成共识的交易中存在系统通道交易和应用通道交易,而对这两种交易的处理是不同的,因此每个共识节点维护多个交易队列,包括系统通道队列和应用通道队列,用来存储被分拣的交易,并为之后的打包做准备,其中应用通道队列包括多个,分别对应于共识节点参与的应用通道,进而步骤S1具体为:
S11、依次识别达成共识的交易,若为系统通道交易则存入系统通道队列中,若为应用通道交易则执行步骤S12;
S12、获取应用通道交易的通道标识字段,将交易所在的应用通道与共识节点自身参与的应用通道进行对比,若为共识节点自身参与的应用通道,则将该应用通道交易存入该共识节点相应的应用通道队列。
图2描述了本发明中对达成共识的交易进行分拣的一个示例,此次达成共识的交易中有系统通道Sys_Channel、应用通道Channel_1、Channel_2、Channel_3的交易,共识节点加入了通道Channel_1和Channel_3。在分拣的过程中,共识节点对每一个交易进行识别,对于应用通道Channel_2的交易,节点不会对其进行打包并将其舍弃,对于系统通道Sys_Channel以及应用通道Channel_1和Channel_3的交易,共识节点将其放入相应的通道队列Sys_queue、App_channel1以及App_channel3中,以便打包出块。注意,每当有交易存入队列,打包方法都会检测是否进行打包出块,为方便理解此处假设三个队列原为空且皆未满足打包要求。
S2、对于系统通道队列,每当队列中存在系统通道交易,立刻打包生成区块。此步骤是为了让通道配置信息尽快生效,因为通道可以使用配置区块来更新配置,在账本中每新添加一个配置区块,通道就按照最新配置区块的定义来修改配置。
S3、对于应用通道队列,根据对应的应用通道的交易频繁情况动态调整区块打包方法,基于确定的打包方法对应用通道交易打包生成区块。不同的通道呈现出不同的特点,一些通道交易较为频繁,一些通道交易较为稀少,一些通道交易呈现出不均匀的分布。因此需要综合考虑不同通道的特点,采取不同的打包方法。除此之外,通道的交易情况是变化的,那么交易的打包方法也要随着交易情况进行改变,打包完成后共识节点将生成的区块上链。
上述步骤S3具体为:
S31、根据应用通道的配置文件设置各个应用通道在当前通道配置下初始的区块打包方法;
S32、检测各个应用通道配置是否修改,若修改则进行步骤S31;
S33、对于各个应用通道队列,共识节点根据设置的区块打包方法完成此次区块的打包并记录区块参数,同时根据记录的区块参数确定应用通道的交易频繁情况,最后根据应用通道的交易频繁情况调整下一次区块打包方法;
S34、循环执行步骤S32~S33。
步骤S3中参与动态调整的打包方法包括时间间隔打包法和交易数量打包法;
时间间隔打包法为:当区块打包时长达到设定时间间隔t,则将应用通道队列中的所有交易打包生成区块,区块打包时长为应用通道队列中第一个交易进入时间与当前时刻的时间间隔;
交易数量打包法为:当进入应用通道队列中的交易数量达到设定交易数量x,则将应用通道队列中的所有交易打包生成区块。
在采用时间间隔打包法进行打包过程中,若打包时长未达到设定时间间隔t,但应用通道队列中的所有交易的大小超过最大区块大小mb,则立即将应用通道队列中的所有交易打包生成区块。
采用时间间隔打包法进行打包的具体步骤为:
a1、在应用通道队列收到第一个交易开始,启动计时器Timer以及计数器Counter,计时器Timer进行计时,计数器Counter对进入应用通道队列的交易进行计数,若是在队列中没有交易的时候就启动计时器Timer会出现打包空块的情况,而从收到第一个交易才启动能够保证块中至少有一个交易;
a2、应用通道队列每接收一个交易就检查该应用通道队列中所有交易的大小,若超过最大区块大小mb,则执行步骤a3,否则执行步骤a4;
a3、立即将应用通道队列中的所有交易打包生成区块,同时停止计时器Timer以及计数器Counter,根据对应的应用通道的交易频繁情况动态调整区块打包方法;
a4、判断计时器是否达到设定时间间隔t,若是则将应用通道队列中的所有交易打包生成区块,同时停止计时器Timer以及计数器Counter,根据对应的应用通道的交易频繁情况动态调整区块打包方法,否则返回步骤a2。
在采用交易数量打包法进行打包过程中,若进入应用通道队列中的交易数量未达到设定交易数量x,但一旦应用通道队列中的所有交易的大小超过最大区块大小mb或打包时长超过设定的最大打包时长mt,则立即将应用通道队列中的所有交易打包生成区块。
采用交易数量打包法进行打包的具体步骤为:
b1、在应用通道队列收到第一个交易开始,启动计时器Timer以及计数器Counter,计时器Timer进行计时,计数器Counter对进入应用通道队列的交易进行计数,若是在队列中没有交易的时候就启动计时器Timer会出现打包空块的情况,而从收到第一个交易才启动能够保证块中至少有一个交易;
b2、应用通道队列每接收一个交易就检查该应用通道队列中所有交易的大小,若超过最大区块大小mb,则执行步骤b4,否则执行步骤b3;
b3、判断计时器是否超过设定的最大打包时长mt,若是则执行步骤b4,否则执行步骤b5;
b4、立即将应用通道队列中的所有交易打包生成区块,同时停止计时器Timer以及计数器Counter,根据对应的应用通道的交易频繁情况动态调整区块打包方法;
b5、判断进入应用通道队列中的交易数量是否达到设定交易数量x,若是则将应用通道队列中的所有交易打包生成区块,同时停止计时器Timer以及计数器Counter,根据对应的应用通道的交易频繁情况动态调整区块打包方法,否则返回步骤b2。
步骤S33完成区块打包后记录的区块参数包括区块交易数量xi以及区块打包时长ti,例如通道队列App_queue1的ti=100ms,xi=150则说明通道队列App_queue1刚刚打包了一个包含150个交易的区块,耗时100ms。
步骤S33调整下一次区块打包方法的具体方式为:
若当前区块打包方法为时间间隔打包法,则判断已打包区块的区块交易数量xi是否大于设定交易数量x,若是则下一个区块的区块打包方法调整为交易数量打包法,否则下一个区块的区块打包方法仍采用时间间隔打包法;
若当前区块打包方法为交易数量打包法,则判断已打包区块的区块打包时长ti是否大于设定时间间隔t,若是则下一个区块的区块打包方法调整为时间间隔打包法,否则下一个区块的区块打包方法仍采用交易数量打包法。
图3描述了本发明中对完成分拣的应用通道交易的打包过程。图中显示的是应用通道Channel_3从通道创建开始的区块打包过程,此处未考虑最大打包时长mt以及最大区块大小mb,这两者的例子参考图4的(a)和(b)。首先根据通道配置文件设置初始的打包方法为时间间隔法打包法,确定如下参数:设定时间间隔t为100ms,设定交易数量x为20。在第一次打包出的区块中,有30个交易,xi=30,xi>x,这说明现在通道内的交易十分频繁,继续采用时间间隔打包会导致成块较大且区块产生速度慢,因此下一次的打包方法换为交易数量打包法。第二次打包区块的时间间隔ti<t,打包方法不变。第三次打包区块的区块打包时长ti为200ms,ti>t,这说明现在通道内的交易较为稀少,采用交易数量法会导致区块产生速度慢,因此换为时间间隔法进行打包。第四次产生的区块中xi<x,打包方法不变。第五次产生的区块中xi>x,应当改变打包方法,但是这个时候检测到通道配置被修改了,因此需要根据通道配置文件重置打包方法以及相关参数,根据重置的内容来进行下一次打包出块。
图4描述了本发明对分拣完的交易进行打包过程中,遇到与最大打包时长mt以及最大区块大小mb相关问题的处理流程。图4中的(a)和(b)皆以应用通道Channel_3为例,最大打包时长mt为150ms,最大区块大小mb为1M。如图4中(a)所述,下一次区块的生成方法为时间间隔打包法,但是在计时器Timer未到t时,队列中的交易(1)和(2)大小超过1M,因此立刻打包出块,下一次区块打包方法不变。对于区块大小超出限制,在交易数量法下的情况基本一致。图4的(b)中,下一次区块的生成方法为交易数量打包法,但是在收到第一个交易计时器启动后,队列中未再收到其他交易,直到计时器Timer超过最大时间限制,立刻打包出块。此次区块打包时长ti大于参数t,因此下一次区块打包方法改为时间间隔法打包法。若在采用交易数量打包法进行打包过程中,区块打包时长ti未到达参数t时,队列中的交易大小超过最大区块大小,也立刻将队列中的交易打包出块。对于区块打包时长超出最大打包时长这种情况,时间间隔打包法不会产生此问题。
图5描述了本发明所使用的区块链多通道环境。在多通道的情况下,网络中的每一个节点都会维护系统通道的区块链,因为所有的节点都在系统通道Sys_Channel内,因此所有的节点都会打包系统通道的交易。除此之外,每一个节点都会维护其自身所在通道的区块链,图中有三个应用通道Channel_1、Channel_2、Channel_3,其中在通道Channel_1中的节点只打包属于Channel_1的交易,通道Channel_2中的节点只打包属于Channel_2的交易,通道Channel_3中的节点只打包属于Channel_3的交易。节点a同时属于通道Channel_1和Channel_2,所以对于对这两个应用通道的交易,节点a都会进行打包。
图6描述了本发明中交易在共识节点中进行确定性打包的过程。在区块链多通道的环境下,为了保证各个通道交易的隐私性,交易数据采用每个通道特有的加密方式进行加密,加密方式只有通道内的节点知道。交易首先要达成共识,然后由共识节点采用确定性打包方法对交易进行打包出块。若交易所在通道是共识节点参与的通道,那么共识节点会在本地打包交易时,对交易数据进行解密。
图7描述了本发明的确定性打包方法在多通道的区块链网络中的流程。可以看到,对于已经达成共识的交易,网络内的所有节点都会打包其中的系统通道交易,这能确保对系统通道交易的快速处理以及对配置信息达成一致。而对于应用通道,每个节点只打包自身参与的通道内的交易。如图中节点a只参与了应用通道Channel_1,它除了系统通道交易外只打包了Channel_1的交易。而节点b参与了应用通道Channel_1和Channel_2,它打包了应用通道Channel_1和Channel_2的交易。这说明一个通道的交易只能被该通道内的节点所获取,保证了交易的隐私性。从图中也可以看出,采用确定性打包方法,对于同一个通道,打包得到的区块是一致的。
本发明针对区块链多通道场景下打包方法的缺失而设计的一种面向区块链多通道的确定性打包方法,采用共识交易分拣和动态切换打包方法构成区块链多通道确定性打包的两个阶段,使得共识节点可以高效地完成对交易的区分和存储并且确保数据保密性。在综合考虑不同通道特点的情况下采用动态的打包方法,使得共识节点能够及时地打包出大小合适的区块。这在补足了区块链多通道场景下打包方法缺失之外,还优化了区块链的出块效率,尤其是采用动态地调整打包方法来生成区块,能够有效地提高区块链的交易处理速度,这大大提升了整个区块链系统的性能。
实施例2
本实施例提供一种用于区块打包装置,包括存储器和处理器,所述存储器,用于存储计算机程序,所述处理器用于当执行计算机程序时实现如实施例1中所述的面向区块链多通道的区块打包方法,
实施例3
本实施例提供一种用于区块打包存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如实施例1中所述的面向区块链多通道的区块打包方法。
上述实施方式仅为例举,不表示对本发明范围的限定。这些实施方式还能以其它各种方式来实施,且能在不脱离本发明技术思想的范围内作各种省略、置换、变更。

Claims (12)

1.一种面向区块链多通道的区块打包方法,其特征在于,该方法包括如下步骤:
S1、各个共识节点对达成共识的交易按通道进行分拣并存储,形成对应于各个共识节点的系统通道队列和应用通道队列,所述的系统通道队列存储系统通道交易,所述的应用通道队列存储共识节点参与的应用通道内的应用通道交易,共识节点参与的各个应用通道分别对应一个应用通道队列;
S2、对于系统通道队列,每当队列中存在系统通道交易,立刻打包生成区块;
S3、对于应用通道队列,根据对应的应用通道的交易频繁情况动态调整区块打包方法,基于确定的打包方法对应用通道交易打包生成区块。
2.根据权利要求1所述的一种面向区块链多通道的区块打包方法,其特征在于,步骤S1具体为:
S11、依次识别达成共识的交易,若为系统通道交易则存入系统通道队列中,若为应用通道交易则执行步骤S12;
S12、获取应用通道交易的通道标识字段,将交易所在的应用通道与共识节点自身参与的应用通道进行对比,若为共识节点自身参与的应用通道,则将该应用通道交易存入该共识节点相应的应用通道队列。
3.根据权利要求1所述的一种面向区块链多通道的区块打包方法,其特征在于,步骤S3具体为:
S31、根据应用通道的配置文件设置各个应用通道在当前通道配置下初始的区块打包方法;
S32、检测各个应用通道配置是否修改,若修改则进行步骤S31;
S33、对于各个应用通道队列,共识节点根据设置的区块打包方法完成此次区块的打包并记录区块参数,同时根据记录的区块参数确定应用通道的交易频繁情况,最后根据应用通道的交易频繁情况调整下一次区块打包方法;
S34、循环执行步骤S32~S33。
4.根据权利要求1所述的一种面向区块链多通道的区块打包方法,其特征在于,步骤S3中参与动态调整的打包方法包括时间间隔打包法和交易数量打包法;
所述的时间间隔打包法为:当区块打包时长达到设定时间间隔,则将应用通道队列中的所有交易打包生成区块,所述的区块打包时长为应用通道队列中第一个交易进入时间与当前时刻的时间间隔;
所述的交易数量打包法为:当进入应用通道队列中的交易数量达到设定交易数量,则将应用通道队列中的所有交易打包生成区块。
5.根据权利要求4所述的一种面向区块链多通道的区块打包方法,其特征在于,在采用时间间隔打包法进行打包过程中,若打包时长未达到设定时间间隔,但应用通道队列中的所有交易的大小超过最大区块大小,则立即将应用通道队列中的所有交易打包生成区块。
6.根据权利要求5所述的一种面向区块链多通道的区块打包方法,其特征在于,采用时间间隔打包法进行打包的具体步骤为:
a1、在应用通道队列收到第一个交易开始,启动计时器以及计数器;
a2、应用通道队列每接收一个交易就检查该应用通道队列中所有交易的大小,若超过最大区块大小,则执行步骤a3,否则执行步骤a4;
a3、立即将应用通道队列中的所有交易打包生成区块,同时停止计时器以及计数器,根据对应的应用通道的交易频繁情况动态调整区块打包方法;
a4、判断计时器是否达到设定时间间隔,若是则将应用通道队列中的所有交易打包生成区块,同时停止计时器以及计数器,根据对应的应用通道的交易频繁情况动态调整区块打包方法,否则返回步骤a2。
7.根据权利要求4所述的一种面向区块链多通道的区块打包方法,其特征在于,在采用交易数量打包法进行打包过程中,若进入应用通道队列中的交易数量未达到设定交易数量,但一旦应用通道队列中的所有交易的大小超过最大区块大小或打包时长超过设定的最大打包时长,则立即将应用通道队列中的所有交易打包生成区块。
8.根据权利要求7所述的一种面向区块链多通道的区块打包方法,其特征在于,采用交易数量打包法进行打包的具体步骤为:
b1、在应用通道队列收到第一个交易开始,启动计时器以及计数器;
b2、应用通道队列每接收一个交易就检查该应用通道队列中所有交易的大小,若超过最大区块大小,则执行步骤b4,否则执行步骤b3;
b3、判断计时器是否超过设定的最大打包时长,若是则执行步骤b4,否则执行步骤b5;
b4、立即将应用通道队列中的所有交易打包生成区块,同时停止计时器以及计数器,根据对应的应用通道的交易频繁情况动态调整区块打包方法;
b5、判断进入应用通道队列中的交易数量是否达到设定交易数量,若是则将应用通道队列中的所有交易打包生成区块,同时停止计时器以及计数器,根据对应的应用通道的交易频繁情况动态调整区块打包方法,否则返回步骤b2。
9.根据权利要求4所述的一种面向区块链多通道的区块打包方法,其特征在于,步骤S33完成区块打包后记录的区块参数包括区块交易数量以及区块打包时长。
10.根据权利要求9所述的一种面向区块链多通道的区块打包方法,其特征在于,步骤S33调整下一次区块打包方法的具体方式为:
若当前区块打包方法为时间间隔打包法,则判断已打包区块的区块交易数量是否大于设定交易数量,若是则下一个区块的区块打包方法调整为交易数量打包法,否则下一个区块的区块打包方法仍采用时间间隔打包法;
若当前区块打包方法为交易数量打包法,则判断已打包区块的区块打包时长是否大于设定时间间隔,若是则下一个区块的区块打包方法调整为时间间隔打包法,否则下一个区块的区块打包方法仍采用交易数量打包法。
11.一种用于区块打包的装置,其特征在于,包括存储器和处理器,所述存储器,用于存储计算机程序,所述处理器用于当执行所述的计算机程序时实现如权利要求1~10任一项所述的面向区块链多通道的区块打包方法。
12.一种用于区块打包的存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1~10任一项所述的面向区块链多通道的区块打包方法。
CN202110055915.2A 2021-01-15 2021-01-15 一种面向区块链多通道的区块打包方法、装置及存储介质 Active CN112804233B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110055915.2A CN112804233B (zh) 2021-01-15 2021-01-15 一种面向区块链多通道的区块打包方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110055915.2A CN112804233B (zh) 2021-01-15 2021-01-15 一种面向区块链多通道的区块打包方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN112804233A true CN112804233A (zh) 2021-05-14
CN112804233B CN112804233B (zh) 2023-05-02

Family

ID=75809718

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110055915.2A Active CN112804233B (zh) 2021-01-15 2021-01-15 一种面向区块链多通道的区块打包方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN112804233B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114826626A (zh) * 2022-07-01 2022-07-29 得分数字科技(珠海)有限公司 共识节点的选举方法、装置、存储介质及节点设备
CN115271746A (zh) * 2022-09-27 2022-11-01 江苏荣泽信息科技股份有限公司 一种带优先级的区块链交易排序算法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109858908A (zh) * 2019-01-09 2019-06-07 暨南大学 联盟链构建方法、交易方法及分布式供应链系统
CN109871669A (zh) * 2019-03-14 2019-06-11 哈尔滨工程大学 一种基于区块链技术的数据共享解决方法
CN110046896A (zh) * 2019-04-26 2019-07-23 腾讯科技(深圳)有限公司 一种区块处理方法和节点以及系统
CN110544095A (zh) * 2019-09-03 2019-12-06 腾讯科技(深圳)有限公司 区块链网络的交易处理方法及区块链网络
CN110619582A (zh) * 2019-09-18 2019-12-27 深圳前海微众银行股份有限公司 区块链交易方法、装置、设备及计算机存储介质
CN111177258A (zh) * 2019-12-13 2020-05-19 浙商银行股份有限公司 一种基于区块链平台的自适应配置交易打包方法
CN111191283A (zh) * 2019-12-27 2020-05-22 广西大学 基于联盟区块链的北斗定位信息安全加密方法及装置
CN111242620A (zh) * 2020-01-15 2020-06-05 阳光易购(湖南)科技有限公司 区块链交易系统的数据缓存及查询方法、终端及存储介质
US20200387503A1 (en) * 2018-06-30 2020-12-10 Huawei Technologies Co., Ltd. Blockchain Maintenance Method and Apparatus, Server, and Computer-Readable Storage Medium

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200387503A1 (en) * 2018-06-30 2020-12-10 Huawei Technologies Co., Ltd. Blockchain Maintenance Method and Apparatus, Server, and Computer-Readable Storage Medium
CN109858908A (zh) * 2019-01-09 2019-06-07 暨南大学 联盟链构建方法、交易方法及分布式供应链系统
CN109871669A (zh) * 2019-03-14 2019-06-11 哈尔滨工程大学 一种基于区块链技术的数据共享解决方法
CN110046896A (zh) * 2019-04-26 2019-07-23 腾讯科技(深圳)有限公司 一种区块处理方法和节点以及系统
CN110544095A (zh) * 2019-09-03 2019-12-06 腾讯科技(深圳)有限公司 区块链网络的交易处理方法及区块链网络
CN111047319A (zh) * 2019-09-03 2020-04-21 腾讯科技(深圳)有限公司 区块链网络的交易处理方法及区块链网络
CN110619582A (zh) * 2019-09-18 2019-12-27 深圳前海微众银行股份有限公司 区块链交易方法、装置、设备及计算机存储介质
CN111177258A (zh) * 2019-12-13 2020-05-19 浙商银行股份有限公司 一种基于区块链平台的自适应配置交易打包方法
CN111191283A (zh) * 2019-12-27 2020-05-22 广西大学 基于联盟区块链的北斗定位信息安全加密方法及装置
CN111242620A (zh) * 2020-01-15 2020-06-05 阳光易购(湖南)科技有限公司 区块链交易系统的数据缓存及查询方法、终端及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114826626A (zh) * 2022-07-01 2022-07-29 得分数字科技(珠海)有限公司 共识节点的选举方法、装置、存储介质及节点设备
CN114826626B (zh) * 2022-07-01 2022-09-02 得分数字科技(珠海)有限公司 共识节点的选举方法、装置、存储介质及节点设备
CN115271746A (zh) * 2022-09-27 2022-11-01 江苏荣泽信息科技股份有限公司 一种带优先级的区块链交易排序算法

Also Published As

Publication number Publication date
CN112804233B (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
CN111625593B (zh) 基于区块链的数据处理方法、装置、计算机设备
CN110661620B (zh) 一种基于虚拟量子链路的共享密钥协商方法
CN112804233A (zh) 一种面向区块链多通道的区块打包方法、装置及存储介质
CN106878194B (zh) 一种报文处理方法和装置
CN111614709B (zh) 基于区块链的分区交易方法及系统
CN111865567B (zh) 量子密钥的中继方法、装置、系统、设备及存储介质
CN107547391B (zh) 一种报文传输方法和装置
US20180159702A1 (en) Packet forwarding
CN110011930B (zh) 一种区块链中多联盟链的负载均衡方法及装置
US10599587B2 (en) High latency channel and low latency channel
US20210112126A1 (en) Wireless event correlation using anonymous data
Kang et al. An attack-resilient source authentication protocol in controller area network
CN106354795A (zh) 一种分布式数据交换系统
CN108650333B (zh) 区块链系统的分散节点负荷方法、介质、装置和区块链系统
US20170123859A1 (en) Systems and methods for distributed assignment of task identifiers
CN104704788A (zh) 确定针对分组检查设备处的数据单元的负载分配
WO2020133962A1 (zh) 基于区块链的数据存储方法、相关设备及存储介质
CN108829534B (zh) 数据问题修复方法、装置、计算机设备和存储介质
CN116647567A (zh) 隐私保护集合求交方法和装置
CN111953671B (zh) 一种基于区块链的动态蜜网数据处理方法及系统
CN115396443A (zh) 基于时间因子的联盟链共识方法、装置、设备及存储介质
CN114553727A (zh) 一种基于内容分发网络的数据处理方法及装置
CN113507528A (zh) 数据处理方法及电子设备
US20200076888A1 (en) System and method for leader election for distributed systems
WO2021072844A1 (zh) 云平台的主机节点监控方法、装置和计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20231220

Address after: Room A512, 5th Floor, No. 1, Lane 600 Mohe Road, Baoshan District, Shanghai, 2019

Patentee after: Shanghai Jinshang Network Technology Co.,Ltd.

Address before: Room a501-a507, 5th floor, Lane 600, Mohe Road, Baoshan District, Shanghai, 201999

Patentee before: Ouye Yunshang Co.,Ltd.

TR01 Transfer of patent right
CP03 Change of name, title or address

Address after: Room A512, 5th Floor, No. 1, Lane 600 Mohe Road, Baoshan District, Shanghai, 2019

Patentee after: Shanghai Ouye Shuzhi Aggregation Information Technology Co.,Ltd.

Country or region after: China

Address before: Room A512, 5th Floor, No. 1, Lane 600 Mohe Road, Baoshan District, Shanghai, 2019

Patentee before: Shanghai Jinshang Network Technology Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address