CN108804706B - 一种区块链数据处理方法、装置、设备及存储介质 - Google Patents
一种区块链数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN108804706B CN108804706B CN201810637239.8A CN201810637239A CN108804706B CN 108804706 B CN108804706 B CN 108804706B CN 201810637239 A CN201810637239 A CN 201810637239A CN 108804706 B CN108804706 B CN 108804706B
- Authority
- CN
- China
- Prior art keywords
- block
- micro
- key
- node
- information
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种区块链数据处理方法、装置、设备及存储介质,所述方法包括:通过至少一个微区块生成节点,在两个相邻关键区块的生成间隙,根据第一历史时间内接收到的事务处理信息生成微区块,并将所述微区块发送至区块链网络中;通过关键区块生成节点,以当前区块链中的末位关键区块的生成时间为时间起点,根据所述时间起点后接收到的微区块的摘要信息生成新的关键区块发送至所述区块链网络中。本发明实施例的技术方案能够有效提升区块容量,增加区块的吞吐量;并提高事务处理信息的可验证性,加强区块链的不可篡改特性;同时提升区块链的总体难度和攻击难度,降低系统分叉的概率,进而保证区块链中数据的安全性和有效性。
Description
技术领域
本发明实施例涉及区块链技术领域,尤其涉及一种区块链数据处理方法、装置、设备及存储介质。
背景技术
作为一种新兴的分布式存储技术,区块链将点对点传输,分布式共识协议,密码学等多方面计算机知识进行结合,进而成为一种新型的应用模式。然而,受到共识机制以及系统架构设计等多方面的因素的制约,目前区块链的写入性能并不理想,即吞吐量TPS(Transaction Per Second)较低,进而造成区块链网络拥塞。其中,区块链网络中引起网络拥塞的因素具体包括区块容量、共识机制、交易手续费以及组播式传播等。区块链网络拥塞可能会导致交易写入速度慢,接收方无法当即确认,需等待多个区块的生成才能确认支付;交易无法被写入以及交易失效等一系列问题。这些不即时、不确定性问题将导致系统性能下降,降低实用性,严重阻碍了区块链的发展。
为了解决区块链网络拥塞的问题,现有技术主要对区块链网络进行扩容与提速的改进。目前,现有技术解决网络拥塞问题的方法主要分为两类:基于改变区块链数据结构以及基于改变区块链共识协议。其中,基于改变区块链数据结构的代表方案为Bitcoin-NG方案。Bitcoin-NG方案通过降低共识计算的难度,加速共识选举过程,以改善网络中的交易拥塞情况。基于改变共识机制的方案主要包括权益证明(Proof of Stake,POS)、委任权益证明(Delegated Proof of Stake,DPOS)以及实用拜占庭容错算法(Practical ByzantineFault Tolerance,PBFT)等。其中,POS不再需要算力共识来产出新的区块,通过持有的币的数量和时间(币龄)来进行虚拟共识从而确定区块由谁来产出。相比于传统区块链方案,将大幅提高出块速度。DPOS由每一个代币持有人进行投票选举代表,选举出的代表具有相同的权益,由代表进行共识对区块进行封装。如果代表中出现恶意节点,恶意代表将会被剥夺组装区块的权利,并由代币持有人重新选举一个新的代表补位。这种方案将去中心化的区块链网络变为了多中心,并由一小部分节点进行共识组装区块,同样提高了区块链的出块速度,减少区块链网络中的拥塞情况。PBFT能够避免分布式系统中的拜占庭节点造成数据库集群中的状态不一致问题。
发明人在实现本发明的过程中,发现现有技术存在如下缺陷:
基于改变区块链数据结构的方案由于共识难度降低,分叉风险大大提高,导致安全性能也大幅降低;
POS方案会面临无利益攻击,即当一方拥有超过当前总量过半的代币时,它在网络中组建区块链的优先级超过了其他所有人,会对整条链的安全造成威胁;
DPOS方案相比于传统区块链共识,去中心化的程度不足,被选举出的代表节点将获得更多的收益造成系统公平性不足;
PBFT共识的三阶段共识是针对交易的,而区块链中共识是针对区块;PBFT的视图切换是建立在主节点成为拜占庭节点的前提,而区块链每个区块产生后都会进行新的共识选举;PBFT算法的容错几率是f/3f+1,但随着节点数量的增加,PBFT共识的速度将会极具降低。因此,PBFT共识算法并不是完美的兼容区块链系统,仍需要进行适应性改进。
发明内容
本发明实施例提供一种区块链数据处理方法、装置、设备及存储介质,以有效提升区块容量,增加区块的吞吐量;并提高事务处理信息的可验证性,加强区块链的不可篡改特性;同时提升区块链的总体难度和攻击难度,降低系统分叉的概率,进而保证区块链中数据的安全性和有效性。
第一方面,本发明实施例提供了一种区块链数据处理方法,包括:
通过至少一个微区块生成节点,在两个相邻关键区块的生成间隙,根据第一历史时间内接收到的事务处理信息生成微区块,并将所述微区块发送至区块链网络中;
通过关键区块生成节点,以当前区块链中的末位关键区块的生成时间为时间起点,根据所述时间起点后接收到的微区块的摘要信息生成新的关键区块发送至所述区块链网络中。
第二方面,本发明实施例还提供了一种区块链数据处理装置,包括:
微区块生成模块,用于通过至少一个微区块生成节点,在两个相邻关键区块的生成间隙,根据第一历史时间内接收到的事务处理信息生成微区块,并将所述微区块发送至区块链网络中;
关键区块生成模块,用于通过关键区块生成节点,以当前区块链中的末位关键区块的生成时间为时间起点,根据所述时间起点后接收到的微区块的摘要信息生成新的关键区块发送至所述区块链网络中。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的区块链数据处理方法。
第四方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的区块链数据处理方法。
本发明实施例通过至少一个微区块生成节点在两个相邻关键区块的生成间隙,根据第一历史时间内接收到的事务处理信息生成微区块,并将微区块发送至区块链网络中;通过关键区块生成节点,以当前区块链中的末位关键区块的生成时间为时间起点,根据时间起点后接收到的微区块的摘要信息生成新的关键区块发送至区块链网络中,解决现有区块链技术存在的因区块吞吐量较低造成的网络拥塞问题,有效提升区块容量,增加区块的吞吐量;并提高事务处理信息的可验证性,加强区块链的不可篡改特性;同时提升区块链的总体难度和攻击难度,降低系统分叉的概率,进而保证区块链中数据的安全性和有效性。
附图说明
图1a是本发明实施例一提供的一种区块链数据处理方法的流程图;
图1b是本发明实施例一提供的一种Bitcoin-NG分叉图解的示意图;
图1c是本发明实施例一提供的一种区块分布结构示意图;
图2a是本发明实施例二提供的一种区块链数据处理方法的流程图;
图2b是本发明实施例二提供的一种区块生成节点进行共识计算的流程示意图;
图2c是本发明实施例二提供的一种微区块和关键区块的数据结构示意图;
图3是本发明实施例三提供的一种区块链数据处理装置的示意图;
图4为本发明实施例四提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1a是本发明实施例一提供的一种区块链数据处理方法的流程图,本实施例可适用于区块链节点生成区块的情况,该方法可以由区块链数据处理装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在计算机中,该计算机设备可以是承担区块链节点功能的设备。相应的,如图1a所示,该方法包括如下操作:
S110、通过至少一个微区块生成节点,在两个相邻关键区块的生成间隙,根据第一历史时间内接收到的事务处理信息生成微区块,并将所述微区块发送至区块链网络中。
其中,微区块生成节点可以是具有微区块处理权限的,用于生成微区块的节点。用于选举微区块生成节点的共识机制包括但不限于POW(Proof of Work,工作量证明)、POS、DPOS以及DBFT(delegated Byzantine Fault Tolerance,授权拜占庭容错)等。微区块可以用于存储事务处理信息,微区块的内部数据结构与现有的区块链系统中区块的数据结构相似。且两个相邻关键区块之间的微区块具有统一高度,当微区块具有统一高度时,可以处理同一时间区间内的事务处理信息。关键区块可以用于记录微区块的相关信息,主要包括微区块的头部信息,可以将微区块的头部信息以信息摘要的形式进行记录。第一历史时间可以根据关键区块难度进行适应性设定,如,第一历史时间可以是10分钟。事务处理信息可以是区块链网络中的一段时间内待处理的交易请求或其他待处理请求。
在本发明实施例中,现有区块链网络中的区块生成过程由至少一个微区块生成节点完成。微区块生成节点将上一个关键区块的生成时间点作为处理当前微区块的时间起点。即,微区块生成节点需要在两个相邻关键区块的生成间隙,根据区块链网络中第一历史时间内接收到的事务处理信息进行处理得到事务数据,并将事务处理信息和事务数据进行打包封装,以生成微区块。需要说明的是,当只有一个微区块生成节点时,则生成的区块链结构与现有的区块链结构相似,不存在分叉的微区块。优选的,在本发明实施例中,在两个相邻关键区块的生成间隙,可以采用至少两个微区块生成节点并行执行微区块的生成过程,且各微区块的生成过程互相独立,彼此之间不受影响。
图1b是本发明实施例一提供的一种Bitcoin-NG分叉图解的示意图。如图1b所示,分叉区块也即微区块,分叉区块需要在前一个微区块的基础上生成。在Bitcoin-NG方案中,存在分叉关系的两个微区块属于同一高度的微区块,两个关键区块之间的时间间隙大约在10分钟左右。在本发明实施例中,如果存在至少两个微区块生成节点,则各微区块的生成过程均为并行的,所以,本发明实施例中微区块的生成过程不需要考虑微区块的分叉问题。因此,本发明实施例的微区块在安全性能上优于Bitcoin-NG。
本发明实施例通过在两个相邻关键区块间添加多个相同高度的微区块,通过增加微区块的数量来适时解决因事务处理信息不能写入区块链网络而造成的网络拥塞问题。假设每个微区块的容量为1Mb,则关键区块中装载的最大事务处理信息的数量为N*1Mb,其中N为微区块数量,并且关键区块的大小远远小于N*1Mb。由此可见,本发明实施例所提供的区块链数据处理方法能够有有效增大区块吞吐量。
S120、通过关键区块生成节点,以当前区块链中的末位关键区块的生成时间为时间起点,根据所述时间起点后接收到的微区块的摘要信息生成新的关键区块发送至所述区块链网络中。
其中,关键区块生成节点可以是具有关键区块处理权限的,用于生成关键区块的节点。用于选举关键区块生成节点的共识机制包括但不限于POW(Proof of Work,工作量证明)、POS、DPOS、PBFT以及DBFT(delegated Byzantine Fault Tolerance,授权拜占庭容错)等。需要说明的是,用于选举微区块和关键区块生成节点的共识机制可以相同,也可以不同。但为了保证微区块能够并行生成,选举微区块的共识机制不能选择轮值的共识机制,如PBFT等。同时,区块链网络中的节点可以人为的选择任意的类型的区块生成节点并进行共识计算。也即,区块链网络中的一个节点既可以选择作为微区块生成节点,也可以选择作为关键区块生成节点。
在本发明实施例中,区块链网络中的用于生成关键区块的关键区块生成节点可以只有一个,且关键区块生成节点同样将上一个关键区块的生成时间点作为处理当前关键区块的时间起点。
图1c是本发明实施例一提供的一种区块分布结构示意图。如图1c所示,关键区块生成节点需要对前一高度的一组微区块信息进行聚合,以生成关键区块。例如,关键区块Block n+2需要对所有的微区块Block n+1进行聚合。关键区块生成节点需要依据前一组的微区块的头部信息进行打包封装,进而生成关键区块。需要说明的是,在区块链网络中,第一个关键区块不需要对微区块信息进行聚合。
需要说明的是,同一时间区间即同一高度的微区块中可能会存在冗余的事务处理信息,但微区块中将不进行去冗余操作,在验证事务处理信息有效性后直接对事务处理信息进行封装。因此,同一事务处理信息可能会存储在多个微区块之中,当关键区块封装后,冗余的相同事务处理信息都被记录。任意微区块中的事务处理信息均可提供有效性。因此,用户可多次验证事务处理信息的有效性,从而增强事务处理信息的可验证性,事务处理信息的不可篡改性更强且更具效力。
另外还需说明的是,在传统区块链中,当一方拥有超过50%的算力后,可选择任一起点对区块链发动51%攻击,将已经写入的数据或区块进行重写。本发明实施例中的区块链数据结构与传统区块链相比,在同一高度下,拥有更多的区块,51%攻击将需要更多的算力才能发动攻击,增大了51%攻击的计算难度。
同时,由于区块链在构建主链时,可以遵从难度最高原则。即主链的区块难度累加值一定高于分叉链。在本发明实施例中,由于同一高度的微区块的出现,使得同一时间内的微区块与关键区块的难度累加相对单个区块而言,难度值的离散程度更高,所以可以有效降低具有相同难度的分叉链出现的概率。
需要说明的是,图1a仅是一种实现方式的示意图,S110和S120之间并没有先后顺序关系,两者可以并行实施。
本发明实施例通过至少一个微区块生成节点在两个相邻关键区块的生成间隙,根据第一历史时间内接收到的事务处理信息生成微区块,并将微区块发送至区块链网络中;通过关键区块生成节点,以当前区块链中的末位关键区块的生成时间为时间起点,根据时间起点后接收到的微区块的摘要信息生成新的关键区块发送至区块链网络中,解决现有区块链技术存在的因区块吞吐量较低造成的网络拥塞问题,有效提升区块容量,增加区块的吞吐量;并提高事务处理信息的可验证性,加强区块链的不可篡改特性;同时提升区块链的总体难度和攻击难度,降低系统分叉的概率,进而保证区块链中数据的安全性和有效性。
实施例二
图2a是本发明实施例二提供的一种区块链数据处理方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,给出了区块链节点生成微区块和关键区块,以及对微区块和关键区块进行验证的具体方式。相应的,如图2a所示,本实施例的方法可以包括:
S210、通过至少一个微区块生成节点,在两个相邻关键区块的生成间隙,根据第一历史时间内接收到的事务处理信息生成微区块,并将所述微区块发送至区块链网络中。
具体的,通过至少一个微区块生成节点,可以执行下述操作:
S211、在接收到所述关键区块生成节点生成的关键区块时,根据第一历史时间内接收到的第一事务处理信息进行共识计算。
在本发明实施例中,同时存在两种不同类型的共识计算过程。第一种共识计算过程即为多个微区块生成节点的共识计算过程。微区块生成节点接收到关键区块生成节点生成的关键区块时可以开始进行共识计算。在微区块生成节点根据第一历史时间内接收到的第一事务处理信息进行微区块共识计算,即对微区块中的事务处理信息进行处理时,如果微区块生成节点接收到其他节点发送的已经计算出的微区块后,不会终止自身的共识计算。微区块生成节点只有在接收到下一个关键区块或自身完成当前微区块的共识计算时,才会停止当前的微区块的共识计算。
S212、如果在共识计算的过程中,未接收到新的关键区块,则根据所述第一事务处理信息生成微区块,并将所述微区块发送至所述区块链网络中。
相应的,如果微区块生成节点在进行共识计算时,没有接收到新的关键区块,即下一个关键区块,则对第一事务处理信息进行处理后,将获取的第一事务处理信息以及对应的事务数据进行打包封装以生成微区块,并将微区块发送至区块链网络中进行传输。可选的,微区块生成节点可以采用组播的方式将微区块发送至区块链网络中进行传输。
S213、如果在共识计算的过程中,接收到新的关键区块,则停止进行共识计算,并开始根据第二历史时间内接收到的事务处理信息进行新的共识计算。
其中,第二历史时间同样可以根据关键区块难度进行适应性设定,如,第二历史时间同样可以是10分钟。
相应的,如果微区块生成节点在进行共识计算时,接收到新的关键区块,即下一个关键区块,则立即停止当前进行的共识计算,开始新一轮的微区块共识计算。具体的,微区块生成节点可以根据第二历史时间内接收到的事务处理信息进行新的共识计算。
在本发明的一个可选实施例中,通过所述微区块生成节点根据所述第一事务处理信息生成微区块,并将所述微区块发送至所述区块链网络中,可以包括:通过所述微区块生成节点对所述第一事务处理信息进行处理,获得第一事务数据;通过所述微区块生成节点将所述第一事务处理信息和所述第一事务数据进行封装,以形成存储信息;通过所述微区块生成节点根据所述存储信息和所述微区块对应的头部信息生成所述微区块。
其中,第一事务数据可以是指微区块生成节点对第一事务处理信息进行诸如信息转换、格式调整、或代码运行等处理所得到的数据。
具体的,微区块生成节点在生成微区块的过程中,需要对第一事务处理信息进行处理,获得第一事务数据,然后将第一事务处理信息和第一事务数据进行封装,形成微区块对应的存储信息。最后,微区块生成节点根据微区块对应的头部信息和存储信息生成对应的微区块。其中,微区块的头部信息的生成过程与现有区块链网络中区块的头部信息生成过程相似。相应的,微区块生成节点在进行新一轮的共识计算时,同样需要对第二事务处理信息进行处理获得第二事务数据,然后将第二事务处理信息和第二事务数据进行封装形成微区块对应的存储信息。
S220、通过关键区块生成节点,以当前区块链中的末位关键区块的生成时间为时间起点,根据所述时间起点后接收到的微区块的摘要信息生成新的关键区块发送至所述区块链网络中。
相应的,S220具体可以包括以下操作:
S221、如果所述关键区块生成节点为工作量证明共识机制下的竞争区块生成节点,则通过竞争区块生成节点,根据所述末位关键区块进行共识计算。
其中,竞争区块生成节点可以是区块链网络中通过POW共识机制来竞争区块处理权限的节点。
在本发明实施例中,可选的,关键区块生成节点可以通过工作量证明POW共识机制产生。当采用POW共识机制时,当末位关键区块完成上链后,新一轮的关键区块生成节点在确定之前,各个决定选择关键区块共识的竞争区块生成节点都可以产生关键区块。
S222、通过所述竞争区块生成节点如果确定在共识计算的过程中未接收到新的关键区块,则以当前区块链中的末位关键区块的生成时间为时间起点,根据所述时间起点后接收到的微区块的摘要信息生成新的关键区块,并将所述新的关键区块发送至所述区块链网络中。
相应的,在各竞争区块生成节点进行共识计算的过程中,如果其他的竞争区块生成节点因运算、硬件性能或其他因素的影响,其计算能力较强,则可能生成关键区块的速度越高。因此,各竞争区块生成节点在共识计算过程中,有可能接收到其他竞争区块生成节点发送的新的关键区块。如果竞争区块生成节点没有接收到新的关键区块,则可以根据接收到的微区块的摘要信息继续进行共识计算,直到自身完成共识计算并生成新的关键区块,此时该竞争区块生成节点也同时成为关键区块生成节点,并将生成的新的关键区块发送至区块链网络中以使其他节点对其进行验证。
S223、通过所述关键区块生成节点如果确定在共识计算的过程中,接收到新的关键区块,则停止进行共识计算,并开始根据所述新的关键区块进行新的共识计算。
相应的,如果竞争区块生成节点接收到新的关键区块,说明其他的竞争区块生成节点已经生成当前关键区块,则该竞争区块生成节点对接收的新的区块验证成功后立即停止自身的共识计算。这里的验证过程指的是验证关键区块的头部信息是否正确。此时,该竞争区块生成节点在本轮区块处理权限的竞争中失败,并作为验证节点对接收到的新的关键区块进行验证(即现有技术中非区块生成节点对区块生成节点生成的区块进行的验证)。同时,在下一轮重新确定关键区块生成节点的过程中,该竞争区块生成节点重新进行新一轮的共识计算。
需要说明的是,如果关键区块生成节点不是通过工作量证明POW共识机制产生或其类似原理的共识机制(如POS)产生,由于只有一个关键区块生成节点可以生成关键区块,则关键区块生成节点在共识计算的过程中无法收到其他节点发送的新的关键区块。此时,关键区块生成节点在自身完成共识计算后,如果失去关键区块处理权限,则停止共识计算即可。
在本发明的一个可选实施例中,通过所述关键区块生成节点以当前区块链中的末位关键区块的生成时间为时间起点,根据所述时间起点后接收到的微区块的摘要信息生成新的关键区块,可以包括:通过所述关键区块生成节点将各所述微区块的头部信息进行封装形成存储信息;通过所述关键区块生成节点根据所述存储信息和所述关键区块对应的头部信息生成所述关键区块。
具体的,关键区块生成节点在生成关键区块的过程中,需要对接收到的各个微区块的头部信息进行封装形成对应的存储信息。然后,关键区块生成节点根据关键区块对应的头部信息和存储信息生成对应的关键区块。其中,关键区块的头部信息的生成过程与微区块的头部信息生成过程类似。
图2b是本发明实施例二提供的一种区块生成节点进行共识计算的流程示意图,在一个具体的例子中,如图2b所示,以关键区块Block n生成时刻t为例,对微区块和关键区块的共识计算(以POW共识机制为例)的开始和停止时的状态分别进行说明。
在关键区块Block n生成的t时刻,节点Node a选择了微区块共识并开始计算。Node a首先将会读取前一个关键区块中的难度,并将难度转换为计算目标后将开始进行POW共识计算。POW本质上是一个寻找Hash碰撞的过程。在关键区块Block n生成的t时刻,节点Node b选择了关键区块共识并开始计算。Node b开始共识计算的过程与Node a相同。在Node a进行共识计算的某一时刻t1,如果此时Node a仍未完成共识计算,则Node a接收到其他节点发送来的微区块Block n+1时不会停止计算。直到Node a在自己产出微区块Blockn+1后将停止共识计算并等待接收关键区块Block n+2。如果Node a在t1(t1>t)时刻接收到关键区块Block n+2,则将立即停止共识计算并开始新一轮计算。在某一时刻t2(t2>t),Node b仍未完成共识计算并接收到其他节点发送来的关键区块Block n+2时,Node b将立即停止当前共识计算并开始新一轮计算。
相应的,图2c是本发明实施例二提供的一种微区块和关键区块的数据结构示意图。如图2c所示,当节点Node a完成共识计算后,Node a将把接收到事务处理信息(如交易)封装入微区块,并利用每一条交易的Hash值生成梅克尔树根Merkle Root。同时,节点Nodea填充微区块头部信息,包括区块哈希BlockHash、前一个区块哈希、交易数量、区块高度、Merkle Root、时间戳、区块难度以及Nonce等。
如图2c所示,当节点Node b完成共识计算后,Node b将把接收到微区块的头部信息进行哈希运算,然后以key-value形式将微区块的头部信息进行组装。其中,key为微区块Hash,value为微区块的头部Hash(Header)。然后采用与微区块类似的区块头结构填充关键区块头部信息,其中交易数量为多个微区块中去重后的交易数量。同时,关键区块还需要添加区块数量字段,用于记录该关键区块中微区块的数量。
S230、通过区块验证节点对接收到的所述微区块和所述关键区块的区块信息进行验证;其中,所述区块信息包括所述微区块的头部信息和存储信息,以及所述关键区块的头部信息和存储信息。
其中,区块验证节点可以是对微区块和关键区块进行验证的节点。
在本发明实施例中,当微区块生成节点和关键区块生成节点完成一组区块后,可以将生成的微区块和关键区块在区块链网络中进行传输,如采用组播的方式传输。接收到微区块和关键区块的其他节点对微区块和关键区块的区块信息进行验证,即需要对微区块的头部信息和存储信息,以及关键区块的头部信息和存储信息分别进行验证。具体的,校验信息包括但不限于区块数据结构是否有效、区块Hash是否符合难度要求、区块时间戳、区块大小以及区块中事务处理信息是否有效。
S240、通过所述区块验证节点将所述微区块和所述关键区块的验证结果在区块链网络中进行传输,并将通过验证的微区块作为第一待添加区块,将通过验证的关键区块作为第二待添加区块。
其中,第一待添加区块可以是通过验证的微区块,用于根据各区块验证节点的验证结果确定是否加入至区块链中。第二待添加区块可以是通过验证的关键区块,用于根据各区块验证节点的验证结果确定是否加入至区块链中。
在本发明实施例中,如果采用POW共识机制生成微区块和关键区块,则各微区块生成节点和关键区块生成节点将生成的区块发送至区块链网络中后,非区块生成节点可以作为区块验证节点对接收到的区块进行验证。区块验证节点可以直接将自身在竞争区块处理权限时所生成的区块作为其中一个区块(包括微区块或关键区块)的验证依据,对接收的区块进行验证。对于其他的区块,区块验证节点需要重新对其存储信息进行计算以验证其有效性。需要说明的是,如果微区块中包括交易信息,则验证微区块时还需要验证交易,基本遵从验证交易中账户余额是否充足,其次还需要验证交易签名。区块验证节点将接收到的微区块或关键区块的验证结果在区块链网络中进行传输,其中,验证结果包括通过验证和未通过验证,以使微区块生成节点或关键区块生成节点根据统计的验证结果确定微区块或关键区块是否通过验证。区块生成节点可以根据接收的各区块验证节点反馈的验证结果确定微区块或关键区块是否通过验证。在验证过程中,各微区块生成节点和关键区块生成节点也可以参与验证。当微区块生成节点或关键区块生成节点根据统计的验证结果确定微区块或关键区块通过验证后,将通过验证的消息以组播的形式发送至区块链网络中的各节点。此时,接收到通过区块验证的消息的节点可以将通过验证的微区块作为第一待添加区块,将通过验证的关键区块作为第二待添加区块。
S250、当所述节点根据所述验证结果确定所述第一待添加区块通过验证时,将所述第一待添加区块添加至待处理区块群中。
其中,待处理区块群可以用于存储待添加的微区块,可以在本地中设置相应的存储空间作为待处理区块群。其中,存储空间包括但不限于数据库、文本文件或缓存等。
相应的,当区块链网络中的所有节点根据验证结果确定第一待添加区块通过验证时,由于第一待添加区块还未被对应的关键区块认证,因此第一待添加区块不会被立即添加至区块链中。此时,各节点可以将第一待添加区块放入待处理区块群中。
S260、当所述节点根据所述验证结果确定所述第二待添加区块通过验证时,根据所述第二待添加区块中的存储信息在所述待处理区块群中查找符合添加规则的第一待添加区块。
其中,符合添加规则的第一待添加区块可以是第二待添加区块中存储信息包括的所有微区块头部信息摘要对应的微区块。
相应的,当区块链网络中的所有节点根据验证结果确定第二待添加区块通过验证时,则各节点根据第二待添加区块中包括的微区块信息在待处理区块群中查找对应的微区块。具体的,可以通过第二待添加区块中包括的微区块的头部信息进行符合添加规则的第一待添加区块的查找。
S270、将所述符合添加规则的第一待添加区块添加至所述区块链中。
在本发明实施例中,当各节点查找到第二待添加区块对应的第一待添加区块后,可以将第一待添加区块添加至区块链中。
在本发明的一个可选实施例中,根据所述第二待添加区块中的存储信息在所述待处理区块群中查找符合添加规则的第一待添加区块,还可以包括:如果所述节点在所述待处理区块群中未查找到符合添加规则的第一待添加区块,则根据所述第二待添加区块中的存储信息在所述区块链网络中进行查找;将在所述区块链网络中查找到的所述第一待添加区块添加至所述区块链中。
需要说明的是,节点可能因为各种原因(如通信故障等)无法接受到所有的区块。如果节点在本地的待处理区块群中没有查找到所有的符合添加规则的微区块,则节点可以将未查找到符合添加规则的微区块的头部信息在区块链网络中进行同步查找,并将查找到的微区块添加至区块链中,需要说明的是,本发明实施例并不对同步的具体方式进行限定。
采用上述技术方案,通过微区块生成节点生成微区块,通过关键区块生成节点生成关键区块,并通过区块链网络节点对接收的微区块和关键区块进行验证,解决现有区块链技术存在的因区块吞吐量较低造成的网络拥塞问题,有效提升区块容量,增加区块的吞吐量;并提高事务处理信息的可验证性,加强区块链的不可篡改特性;同时提升区块链的总体难度和攻击难度,降低系统分叉的概率,进而保证区块链中数据的安全性和有效性。
实施例三
图3是本发明实施例三提供的一种区块链数据处理装置的示意图,如图3所示,所述装置包括:微区块生成模块310以及关键区块生成模块320,其中:
微区块生成模块310,用于通过至少一个微区块生成节点,在两个相邻关键区块的生成间隙,根据第一历史时间内接收到的事务处理信息生成微区块,并将所述微区块发送至区块链网络中;
关键区块生成模块320,用于通过关键区块生成节点,以当前区块链中的末位关键区块的生成时间为时间起点,根据所述时间起点后接收到的微区块的摘要信息生成新的关键区块发送至所述区块链网络中。
本发明实施例通过至少一个微区块生成节点在两个相邻关键区块的生成间隙,根据第一历史时间内接收到的事务处理信息生成微区块,并将微区块发送至区块链网络中;通过关键区块生成节点,以当前区块链中的末位关键区块的生成时间为时间起点,根据时间起点后接收到的微区块的摘要信息生成新的关键区块发送至区块链网络中,解决现有区块链技术存在的因区块吞吐量较低造成的网络拥塞问题,有效提升区块容量,增加区块的吞吐量;并提高事务处理信息的可验证性,加强区块链的不可篡改特性;同时提升区块链的总体难度和攻击难度,降低系统分叉的概率,进而保证区块链中数据的安全性和有效性。
可选的,微区块生成模块310,还用于通过至少一个微区块生成节点,执行下述操作:在接收到所述关键区块生成节点生成的关键区块时,根据第一历史时间内接收到的第一事务处理信息进行共识计算;如果在共识计算的过程中,未接收到新的关键区块,则根据所述第一事务处理信息生成微区块,并将所述微区块发送至所述区块链网络中;如果在共识计算的过程中,接收到新的关键区块,则停止进行共识计算,并开始根据第二历史时间内接收到的事务处理信息进行新的共识计算。
可选的,微区块生成模块310,应用于微区块生成节点,还用于通过所述微区块生成节点对所述第一事务处理信息进行处理,获得第一事务数据;通过所述微区块生成节点将所述第一事务处理信息和所述第一事务数据进行封装,以形成存储信息;通过所述微区块生成节点根据所述存储信息和所述微区块对应的头部信息生成所述微区块。
可选的,关键区块生成模块320,还用于如果所述关键区块生成节点为工作量证明共识机制下的竞争区块生成节点,则通过关键区块生成节点,根据所述末位关键区块进行共识计算;通过所述关键区块生成节点如果确定在共识计算的过程中,未接收到新的关键区块,则以当前区块链中的末位关键区块的生成时间为时间起点,根据所述时间起点后接收到的微区块的摘要信息生成新的关键区块,并将所述新的关键区块发送至所述区块链网络中;通过所述关键区块生成节点如果确定在共识计算的过程中,接收到新的关键区块,则停止进行共识计算,并开始根据所述新的关键区块进行新的共识计算。
可选的,关键区块生成模块320,还用于通过所述关键区块生成节点将各所述微区块的头部信息进行封装形成存储信息;通过所述关键区块生成节点根据所述存储信息和所述关键区块对应的头部信息生成所述关键区块。
可选的,所述装置还包括:区块验证模块,用于通过区块验证节点对接收到的所述微区块和所述关键区块的区块信息进行验证;其中,所述区块信息包括所述微区块的头部信息和存储信息,以及所述关键区块的头部信息和存储信息;通过所述区块验证节点将所述微区块和所述关键区块的验证结果在区块链网络中进行传输,并将通过验证的微区块作为第一待添加区块,将通过验证的关键区块作为第二待添加区块。
可选的,所述装置还包括:区块添加模块,用于当所述节点根据所述验证结果确定所述第一待添加区块通过验证时,将所述第一待添加区块添加至待处理区块群中;当所述节点根据所述验证结果确定所述第二待添加区块通过验证时,根据所述第二待添加区块中的存储信息在所述待处理区块群中查找符合添加规则的第一待添加区块;将所述符合添加规则的第一待添加区块添加至所述区块链中。
可选的,所述区块添加模块,还用于如果所述节点在所述待处理区块群中未查找到符合添加规则的第一待添加区块,则根据所述第二待添加区块中的存储信息在所述区块链网络中进行查找;将在所述区块链网络中查找到的所述第一待添加区块添加至所述区块链中。
上述区块链数据处理装置可执行本发明任意实施例所提供的区块链数据处理方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的区块链数据处理方法。
实施例四
图4为本发明实施例四提供的一种计算机设备的结构示意图。图4示出了适于用来实现本发明实施方式的计算机设备412的框图。图4显示的计算机设备412仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。计算机设备412典型的是承担区块链系统节点功能的计算设备。
如图4所示,计算机设备412以通用计算设备的形式表现。计算机设备412的组件可以包括但不限于:一个或者多个处理器416,存储装置428,连接不同系统组件(包括存储装置428和处理器416)的总线418。
总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
计算机设备412典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储装置428可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)430和/或高速缓存存储器432。计算机设备412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统434可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(Compact Disc-Read Only Memory,CD-ROM)、数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。存储装置428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块426的程序436,可以存储在例如存储装置428中,这样的程序模块426包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块426通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备412也可以与一个或多个外部设备414(例如键盘、指向设备、摄像头、显示器424等)通信,还可与一个或者多个使得用户能与该计算机设备412交互的设备通信,和/或与使得该计算机设备412能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,计算机设备412还可以通过网络适配器420与一个或者多个网络(例如局域网(Local AreaNetwork,LAN),广域网Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器420通过总线418与计算机设备412的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备412使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of IndependentDisks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器416通过运行存储在存储装置428中的程序,从而执行各种功能应用以及数据处理,例如实现本发明上述实施例所提供的区块链数据处理方法。
也即,所述处理单元执行所述程序时实现:通过至少一个微区块生成节点,在两个相邻关键区块的生成间隙,根据第一历史时间内接收到的事务处理信息生成微区块,并将所述微区块发送至区块链网络中;通过关键区块生成节点,以当前区块链中的末位关键区块的生成时间为时间起点,根据所述时间起点后接收到的微区块的摘要信息生成新的关键区块发送至所述区块链网络中。
通过所述计算机设备在两个相邻关键区块的生成间隙,根据第一历史时间内接收到的事务处理信息生成微区块,并将微区块发送至区块链网络中;以当前区块链中的末位关键区块的生成时间为时间起点,根据时间起点后接收到的微区块的摘要信息生成新的关键区块发送至区块链网络中,解决现有区块链技术存在的因区块吞吐量较低造成的网络拥塞问题,有效提升区块容量,增加区块的吞吐量;并提高事务处理信息的可验证性,加强区块链的不可篡改特性;同时提升区块链的总体难度和攻击难度,降低系统分叉的概率,进而保证区块链中数据的安全性和有效性。
实施例五
本发明实施例五还提供一种存储计算机程序的计算机存储介质,所述计算机程序在由计算机处理器执行时用于执行本发明上述实施例任一所述的区块链数据处理方法:通过至少一个微区块生成节点,在两个相邻关键区块的生成间隙,根据第一历史时间内接收到的事务处理信息生成微区块,并将所述微区块发送至区块链网络中;通过关键区块生成节点,以当前区块链中的末位关键区块的生成时间为时间起点,根据所述时间起点后接收到的微区块的摘要信息生成新的关键区块发送至所述区块链网络中。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器((Erasable Programmable ReadOnly Memory,EPROM)或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种区块链数据处理方法,其特征在于,包括:
通过至少一个微区块生成节点,在两个相邻关键区块的生成间隙,根据第一历史时间内接收到的事务处理信息生成微区块,并将所述微区块发送至区块链网络中;
通过关键区块生成节点,以当前区块链中的末位关键区块的生成时间为时间起点,根据所述时间起点后接收到的微区块的摘要信息生成新的关键区块发送至所述区块链网络中;
通过区块验证节点对接收到的所述微区块和所述关键区块的区块信息进行验证;其中,所述区块信息包括所述微区块的头部信息和存储信息,以及所述关键区块的头部信息和存储信息;
通过所述区块验证节点将所述微区块和所述关键区块的验证结果在区块链网络中进行传输,并将通过验证的微区块作为第一待添加区块,将通过验证的关键区块作为第二待添加区块。
2.根据权利要求1所述的方法,其特征在于,通过至少一个微区块生成节点,在两个相邻关键区块的生成间隙,根据第一历史时间内接收到的事务处理信息生成微区块,并将所述微区块发送至区块链网络中,包括:
通过至少一个微区块生成节点,执行下述操作:
在接收到所述关键区块生成节点生成的关键区块时,根据第一历史时间内接收到的第一事务处理信息进行共识计算;
如果在共识计算的过程中,未接收到新的关键区块,则根据所述第一事务处理信息生成微区块,并将所述微区块发送至所述区块链网络中;
如果在共识计算的过程中,接收到新的关键区块,则停止进行共识计算,并开始根据第二历史时间内接收到的事务处理信息进行新的共识计算。
3.根据权利要求2所述的方法,其特征在于,通过所述微区块生成节点根据所述第一事务处理信息生成微区块,并将所述微区块发送至所述区块链网络中,包括:
通过所述微区块生成节点对所述第一事务处理信息进行处理,获得第一事务数据;
通过所述微区块生成节点将所述第一事务处理信息和所述第一事务数据进行封装,以形成存储信息;
通过所述微区块生成节点根据所述存储信息和所述微区块对应的头部信息生成所述微区块。
4.根据权利要求1所述的方法,其特征在于,通过关键区块生成节点,以当前区块链中的末位关键区块的生成时间为时间起点,根据所述时间起点后接收到的微区块的摘要信息生成新的关键区块发送至所述区块链网络中,包括:
如果所述关键区块生成节点为工作量证明共识机制下的竞争区块生成节点,则通过所述竞争区块生成节点,根据所述末位关键区块进行共识计算;
通过所述竞争区块生成节点如果确定在共识计算的过程中,未接收到新的关键区块,则以当前区块链中的末位关键区块的生成时间为时间起点,根据所述时间起点后接收到的微区块的摘要信息生成新的关键区块,并将所述新的关键区块发送至所述区块链网络中;
通过所述竞争区块生成节点如果确定在共识计算的过程中,接收到新的关键区块,则停止进行共识计算,并开始根据所述新的关键区块进行新的共识计算。
5.根据权利要求4所述的方法,其特征在于,通过所述关键区块生成节点以当前区块链中的末位关键区块的生成时间为时间起点,根据所述时间起点后接收到的微区块的摘要信息生成新的关键区块,包括:通过所述关键区块生成节点将各所述微区块的头部信息进行封装形成存储信息;
通过所述关键区块生成节点根据所述存储信息和所述关键区块对应的头部信息生成所述关键区块。
6.根据权利要求1所述的方法,其特征在于,在将所述第一待添加区块和所述第二待添加区块的验证结果在区块链网络中进行传输之后,还包括:
当所述节点根据所述验证结果确定所述第一待添加区块通过验证时,将所述第一待添加区块添加至待处理区块群中;
当所述节点根据所述验证结果确定所述第二待添加区块通过验证时,根据所述第二待添加区块中的存储信息在所述待处理区块群中查找符合添加规则的第一待添加区块;
将所述符合添加规则的第一待添加区块添加至所述区块链中。
7.根据权利要求6所述的方法,其特征在于,根据所述第二待添加区块中的存储信息在所述待处理区块群中查找符合添加规则的第一待添加区块,包括:
如果所述节点在所述待处理区块群中未查找到符合添加规则的第一待添加区块,则根据所述第二待添加区块中的存储信息在所述区块链网络中进行查找;
将在所述区块链网络中查找到的所述第一待添加区块添加至所述区块链中。
8.一种区块链数据处理装置,其特征在于,包括:
微区块生成模块,用于通过至少一个微区块生成节点,在两个相邻关键区块的生成间隙,根据第一历史时间内接收到的事务处理信息生成微区块,并将所述微区块发送至区块链网络中;
关键区块生成模块,用于通过关键区块生成节点,以当前区块链中的末位关键区块的生成时间为时间起点,根据所述时间起点后接收到的微区块的摘要信息生成新的关键区块发送至所述区块链网络中;
区块验证模块,用于通过区块验证节点对接收到的所述微区块和所述关键区块的区块信息进行验证;其中,所述区块信息包括所述微区块的头部信息和存储信息,以及所述关键区块的头部信息和存储信息;通过所述区块验证节点将所述微区块和所述关键区块的验证结果在区块链网络中进行传输,并将通过验证的微区块作为第一待添加区块,将通过验证的关键区块作为第二待添加区块。
9.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的区块链数据处理方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的区块链数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810637239.8A CN108804706B (zh) | 2018-06-20 | 2018-06-20 | 一种区块链数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810637239.8A CN108804706B (zh) | 2018-06-20 | 2018-06-20 | 一种区块链数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108804706A CN108804706A (zh) | 2018-11-13 |
CN108804706B true CN108804706B (zh) | 2020-09-18 |
Family
ID=64083854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810637239.8A Active CN108804706B (zh) | 2018-06-20 | 2018-06-20 | 一种区块链数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108804706B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522456A (zh) * | 2018-11-14 | 2019-03-26 | 全链通有限公司 | 基于区块生成的节点有效性检测 |
CN111242776A (zh) * | 2018-11-29 | 2020-06-05 | 北京京东尚科信息技术有限公司 | 基于区块链的记账方法、装置、存储介质及电子设备 |
EP3668036A1 (de) * | 2018-12-14 | 2020-06-17 | Siemens Aktiengesellschaft | Erstellen einer blockchain mit blöcken umfassend eine anpassbare anzahl an transaktionsblöcken und mehrere zwischenblöcke |
CN109753792B (zh) * | 2018-12-29 | 2020-12-11 | 北京金山安全软件有限公司 | 一种攻击检测方法、装置及电子设备 |
CN109741064B (zh) * | 2019-01-10 | 2023-05-05 | 广东工业大学 | 一种审查攻击处理方法、系统及电子设备和存储介质 |
CN109951534B (zh) * | 2019-02-28 | 2021-09-07 | 北京柏链基石科技有限公司 | 一种共识方法、装置和系统 |
CN110099126A (zh) * | 2019-05-13 | 2019-08-06 | 广东工业大学 | 一种多控制器共识方法、装置及系统 |
CN110224840B (zh) * | 2019-06-17 | 2019-12-31 | 北京艾摩瑞策科技有限公司 | 基于区块链的打包方法及装置 |
CN110851445B (zh) * | 2019-11-07 | 2022-05-03 | 浪潮云信息技术股份公司 | 一种基于区块链技术的安全存储数据的方法 |
CN113450212A (zh) * | 2020-03-10 | 2021-09-28 | 本无链科技(深圳)有限公司 | 一种用于区块链的动态链上撮合方法及系统 |
CN111651118B (zh) * | 2020-04-27 | 2023-11-21 | 中国科学院微电子研究所 | 存储器系统、控制方法和控制装置 |
CN112182105B (zh) * | 2020-09-28 | 2022-06-17 | 湖北大学 | 一种基于Merkle树的区块链数据修改方法 |
CN112398956B (zh) * | 2021-01-20 | 2021-04-13 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN113159953A (zh) * | 2021-04-30 | 2021-07-23 | 中国工商银行股份有限公司 | 一种基于区块链的数据持久化和并行处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391649A (zh) * | 2017-07-14 | 2017-11-24 | 浙商银行股份有限公司 | 一种提升区块链查询效率的系统及方法 |
CN107403303A (zh) * | 2017-06-16 | 2017-11-28 | 兴业数字金融服务(上海)股份有限公司 | 一种基于区块链存证的电子合同系统的签署方法 |
CN107566124A (zh) * | 2017-08-24 | 2018-01-09 | 深圳市易成自动驾驶技术有限公司 | 基于抽签机制的共识建立方法、区块链系统及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9569771B2 (en) * | 2011-04-29 | 2017-02-14 | Stephen Lesavich | Method and system for storage and retrieval of blockchain blocks using galois fields |
-
2018
- 2018-06-20 CN CN201810637239.8A patent/CN108804706B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107403303A (zh) * | 2017-06-16 | 2017-11-28 | 兴业数字金融服务(上海)股份有限公司 | 一种基于区块链存证的电子合同系统的签署方法 |
CN107391649A (zh) * | 2017-07-14 | 2017-11-24 | 浙商银行股份有限公司 | 一种提升区块链查询效率的系统及方法 |
CN107566124A (zh) * | 2017-08-24 | 2018-01-09 | 深圳市易成自动驾驶技术有限公司 | 基于抽签机制的共识建立方法、区块链系统及存储介质 |
Non-Patent Citations (1)
Title |
---|
Service-Oriented Sharding with Aspen;Adem Efe Gencer 等;《arXiv:1611.06816v1 [cs.CR]》;20161121;第1、4-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108804706A (zh) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108804706B (zh) | 一种区块链数据处理方法、装置、设备及存储介质 | |
CN109508982B (zh) | 区块链主链加并行多子链的随机并行拜占庭容错共识方法 | |
CN111681003B (zh) | 资源跨链转移方法、装置、计算机设备以及存储介质 | |
Miller et al. | The honey badger of BFT protocols | |
CN108769150B (zh) | 区块链网络的数据处理方法、装置、集群节点和存储介质 | |
CN108648084B (zh) | 一种区块链网络的数据处理方法、装置、设备及存储介质 | |
CN111259078B (zh) | 区块链共识方法、装置、计算机设备和存储介质 | |
CN111131209B (zh) | 一种改进的高效共识方法、系统、计算机设备及存储介质 | |
US20220239496A1 (en) | Blockchain consensus method, device and system | |
CN110603559A (zh) | 用于并行验证区块链交易的系统和方法 | |
KR20210080550A (ko) | 블록체인에 데이터 블록을 기록하는 방법과, 리더 회계 노드 및 매체 | |
CN110838065A (zh) | 一种交易数据处理方法及装置 | |
EP4300323A1 (en) | Data processing method and apparatus for blockchain network, computer device, computer readable storage medium, and computer program product | |
CN113347164A (zh) | 基于区块链的分布式共识系统及方法、设备、存储介质 | |
CN110659905B (zh) | 交易验证方法、装置、终端设备以及存储介质 | |
CN110555079B (zh) | 数据处理方法、装置、设备以及存储介质 | |
WO2024040796A1 (zh) | 一种区块链电力交易系统、共识方法、设备和存储介质 | |
CN112767151B (zh) | 应用于区块链中验证节点的交易处理方法和装置 | |
CN112036878B (zh) | 数据处理方法及装置 | |
CN111062811A (zh) | 一种区块链共识方法、系统、存储介质 | |
CN117251889A (zh) | 区块链共识方法、相关装置和介质 | |
KR20220082074A (ko) | 합의 메커니즘이 있는 분산 네트워크 | |
CN115037472B (zh) | 基于双层dag共识机制的交易处理方法及系统、服务设备 | |
CN116132058A (zh) | 区块链共识方法、装置、设备及计算机可读存储介质 | |
CN111369246B (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 |