CN111371557B - 区块链数据处理方法、装置、电子设备及介质 - Google Patents
区块链数据处理方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN111371557B CN111371557B CN202010120523.5A CN202010120523A CN111371557B CN 111371557 B CN111371557 B CN 111371557B CN 202010120523 A CN202010120523 A CN 202010120523A CN 111371557 B CN111371557 B CN 111371557B
- Authority
- CN
- China
- Prior art keywords
- block
- blockchain
- blocks
- node
- trusted
- 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
- 238000003672 processing method Methods 0.000 title abstract description 20
- 230000007246 mechanism Effects 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000013475 authorization Methods 0.000 claims abstract description 33
- 239000013589 supplement Substances 0.000 claims abstract description 12
- 238000012545 processing Methods 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 21
- 238000012795 verification Methods 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000008901 benefit Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000007599 discharging Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了一种区块链数据处理方法、装置、电子设备及介质,涉及计算机技术领域,具体涉及区块链技术。具体实现方案为:通过本地可信节点的可信执行区,采用股份授权证明机制确定当前区块生成节点;基于所述当前区块生成节点,若检测到区块链中缺失区块,则在所述区块链中添加无效区块以补充缺失区块,且对当前事务处理请求进行处理以得到新区块。本申请实施例通过将股份授权证明机制运行在可信执行环境中,避免了恶意跳过某个区块节点,导致出块数量不一致的问题,进一步,若检测到区块链中缺失区块时,通过引入无效区块,使每轮出块数量一致,便于后续出块,既避免了引入额外同步算法的问题,也降低了股份授权证明机制的复杂度。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及区块链技术,尤其涉及一种区块链数据处理方法、装置、电子设备及介质。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。其中,共识机制是区块链技术的重要组成部分,区块生成权是节点基于共识机制争取到的,例如,股份授权证明(Delegated Proof of Stake,DPOS)机制。
股份授权证明机制,也称为代理人投票机制,持有token的用户进行投票,选举出一定数量的区块生成节点,并按照一定的顺序进行排序,以按照排序轮流出块。在出块时,可能存在恶意跳块,导致出块的数量与区块生成节点的数量不一致的问题。
在检测到少块时,代理人需要根据同步算法确定是否出块,即需要引入额外的同步算法确定代理人的有效性,增加了股份授权证明机制的复杂度。
发明内容
本申请实施例公开一种区块链数据处理方法、装置、电子设备和介质,可以实现降低股份授权证明机制复杂度的技术效果。
第一方面,本申请实施例公开了一种区块链数据处理方法,由区块链网络中可信节点执行,所述方法包括:
通过本地可信节点的可信执行区,采用股份授权证明机制确定当前区块生成节点;
基于所述当前区块生成节点,若检测到区块链中缺失区块,则在所述区块链中添加无效区块以补充缺失区块,且对当前事务处理请求进行处理以得到新区块。
上述申请中的一个实施例具有如下优点或有益效果:在可信执行环境中采用股份授权证明机制,使股份授权证明机制不可恶意篡改,避免了恶意跳过某个区块生成节点的问题;进一步的,若检测到区块链中缺失区块,通过引入无效区块,使每轮块数一致便于后续出块,既避免了引入额外同步算法的问题,又降低了DPOS算法的复杂度。
另外,根据本申请上述实施例的区块链数据处理方法,还可以具有如下附加的技术特征:
可选的,所述方法还包括:
基于所述当前区块生成节点,在检测到出块事件后,若确定区块链中已有区块高度小于期望区块高度,则确定区块链中缺失区块;
其中,所述期望区块高度根据区块链网络中区块生成节点数量确定。
上述申请中的一个实施例具有如下优点或有益效果:确定引入无效区块的触发条件,以在检测到满足该触发条件时,在区块链中添加无效区块,使每轮出块数量一致便于后续出块。
可选的,在所述区块链中添加无效区块以补充缺失区块,包括:根据区块链的缺失区块数量,在区块链尾部添加无效区块。
上述申请中的一个实施例具有如下优点或有益效果:根据缺失的区块数量,确定引入无效区块的数量,并将无效区块添加到区块链的尾部,使每轮区块数量一致,避免引入额外的不同算法,降低了股票权益证明机制的复杂度。
可选的,所述方法还包括:
在监测到可信证明事件时,确定待发送的第一数据;
采用所述本地可信节点的密钥存储区中第一区块链密钥,对所述第一数据进行签名,以得到第一数据签名;
向其他节点发送所述第一数据签名,以指示其他节点对所述第一数据签名进行验签以确定所述本地可信节点是否可信。
上述申请中的一个实施例具有如下优点或有益效果:基于第一区块链密钥对第一数据进行签名,可以确保第一数据不被泄露,提高了第一数据的安全性;进一步的,将第一数据签名发送至其他节点,可以基于对第一数据签名的验签结果,确定可信节点运行在可信执行环境中。
可选的,所述方法还包括:在需要向其他节点发送数据或接收到其他节点的访问请求时,生成所述可信证明事件。
上述申请中的一个实施例具有如下优点或有益效果:确定数据验签的触发条件,以便基于该触发条件,确定可信节点运行在可信执行环境中。
可选的,所述方法还包括:
从其他节点接收待验证的第二数据签名;其中所述第二数据签名采用其他节点的密钥存储区中第二区块链密钥对第二数据进行签名得到;
基于第三区块链密钥,对所述第二数据签名进行验签,并根据验签结果确定其他节点是否可信;其中,所述第二区块链密钥和所述第三区块链密钥互为非对称密钥对。
上述申请中的一个实施例具有如下优点或有益效果:当接收到其他节点发送的数据签名时,确定其他节点是否在可信环境中运行,提高了数据传输的安全性。
第二方面,本申请实施例还提供了一种区块链数据处理装置,由区块链网络中可信节点执行,所述装置包括:
区块生成节点确定模块,用于通过本地可信节点的可信执行区,采用股份授权证明机制确定当前区块生成节点;
区块添加模块,用于基于所述当前区块生成节点,若检测到区块链中缺失区块,则在所述区块链中添加无效区块以补充缺失区块,且对当前事务处理请求进行处理以得到新区块。
第三方面,本申请实施例还公开了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本申请实施例任一所述的区块链数据处理方法。
第四方面,本申请实施例还公开了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如本申请实施例任一所述的区块链数据处理方法。
根据本申请实施例的技术方案,通过将股份授权证明机制运行在可信执行环境中,避免了恶意跳过某个区块节点,导致出块数量不一致的问题,进一步,若检测到区块链中缺失区块时,通过引入无效区块,使每轮出块数量一致,便于后续出块,既避免了引入额外同步算法的问题,也降低了股份授权证明机制的复杂度。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例公开的一种区块链数据处理方法的流程示意图;
图2是根据本申请实施例公开的一种区块链数据处理方法的流程的示意图;
图3是根据本申请实施例公开的一种区块链数据处理方法的流程示意图;
图4是根据本申请实施例公开的一种区块链数据处理装置的结构示意图;
图5是可以实现本申请实施例的公开的一种电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请实施例公开的一种区块链数据处理方法的流程示意图,本实施例可适用于将区块链程序应用在可信执行环境中,采用股份授权证明机制对区块数据进行处理的情形,即在可信区块链网络中,采用股份授权证明机制对区块数据处理的情形,本实施例方法可以由区块链数据处理装置来执行,该装置可采用软件和/或硬件的方式实现,并可以配置于区块链网络中的可信节点。区块链网络中可信节点可以部署在对节点存在处理功能的电子设备中。
将运行在可信执行环境(Trusted Execution Environment,TEE)中的节点形成的区块链网络,作为可信区块链网络。可信区块链网络中区块生成节点可以为可信节点。其中,TEE是操作系统为应用程序提供可信安全的执行环境。TEE部署在中央处理器(CentralProcessing Unit,CPU)内部,具体可以包括Intel带SGX功能的CPU,Arm带TrustZone的CPU,保证内存的安全,以及独立隔离的计算区域。
本申请实施例中,可信区块链网络中的各个节点包括可信执行区(通常位于内存中)和密钥存储区。其中,可信执行区只用于执行指定程序,例如若预先将A程序的签名注册到可信硬件中,则A程序为指定程序,具体的,A程序用于执行共识算法,可选的,DPOS算法,即股份授权证明机制;密钥存储区用于存储区块链网络的统一私钥,私钥的数量可以是一个,也可以是多个,考虑到区块数据的安全性,私钥的数量可以设置多个。
如图1所示,所述方法包括:
S110、通过本地可信节点的可信执行区,采用股份授权证明机制确定当前区块生成节点。
在本实施例中,本地可信节点可以是可信区块链网络中的任一节点。
其中,股份授权证明机制也称为受托人机制,其原理可以理解为让每一个持有比特股的人进行投票,选出一定数量的节点代理投票用户进行验证和记账,即选出一定数量的区块生成节点负责生产区块。在选举出区块生成节点后,可以按照一定的顺序对区块生成节点进行排序,并依据排序结果顺序出块。在按照顺序出块时,可以根据时间确定是否轮到自己出块,若依据时间确定已轮到出块时,将当前负责生成区块的区块生成节点作为当前区块生成节点。
具体的,在可信执行环境中,采用股份授权证明机制确定一定数量的区块生成节点轮流出块,将当前执行出块的节点作为当前区块生成节点。
示例性的,在本地可信节点的可信执行区中,采用股份授权证明机制,选举出N个区块节点,可以分别记为n[i],i=(1、2、3...N)。将选举出的N个区块节点按照一定的规则进行排序,以根据排好序的区块节点依次出块。若检测到当前时间轮到区块生成节点n[5]出块时,可以将标记为n[5]的区块生成节点作为当前区块生成节点。
S120、基于当前区块生成节点,若检测到区块链中缺失区块,则在区块链中添加无效区块以补充缺失区块,且对当前事务处理请求进行处理以得到新区块。
需要说明的是,在基于当前区块生成节点生成区块时,可以先检测区块链中是否缺失区块,好处在于:避免生成的区块数量与区块生成节点的数量不一致,导致无法准确的确定区块生成节点是否有权利出块。在本实施例中,确定区块链中是否缺失区块的具体实施方式可以是:基于当前区块生成节点,在检测到出块事件后,若确定区块链中已有区块高度小于期望区块高度,则确定区块链中缺失区块。
其中,期望区块高度可以根据区块链网络中区块生成节点的数量来确定。示例性的,若当前由第五个区块生成节点生成区块,即当前区块生成节点的标记为n[5],那么在该区块生成节点出块之前,理论上已经生成了4个区块,此时期望区块高度可以是4个区块。已有区块高度可以理解为基于区块生成节点生成的区块数量。
具体的,在检测到基于当前区块生成节点生成区块时,可以基于当前区块生成节点确定期望出块高度,同时获取区块链中已有区块高度。当已有区块的高度小于期望区块高度时,说明在当前区块生成节点之前存在区块生成节点未成功生成区块,即未出块的情形。
为了降低股份授权证明机制的复杂度,在检测到区块链中缺失区块时,则可以在区块链中添加无效区块以补充缺失区块。可选的,根据区块链中缺失的区块数量,在区块链尾部添加无效区块。
其中,无效区块也就是没有实际意义的区块。缺失的区块数量由期望区块高度与已有区块高度来确定,可选的,若已有区块的数量为3,即已有区块高度为3,期望区块高度为4,此时缺失的区块数量为1。
具体的,在基于当前区块生成节点生成区块时,可以根据已有区块高度和期望区块高度,确定缺失的区块数量。获取与缺失区块数量相同的无效块,并将无效块添加到区块链尾部。
需要说明的是,在基于每个区块生成节点生成区块时,均需要检测区块链中是否缺失区块,若缺失区块,则可以在当前区块链的尾部添加无效区块,以确保区块的数量与区块生成节点的数量一致,从而便于后续出块,既避免了引入额外同步算法,也降低了股票权益证明机制的复杂度。
具体的,在本地可信节点的可信执行区,基于当前区块生成节点生成区块时,检测到已有区块高度低于期望区块高度,则可以基于当前区块高度与已有区块高度,确定缺失的区块数量,并获取与缺失区块数量相同的无效区块。将一定数量的无效区块添加到区块链的尾部。基于本地可信节点的可信执行区,对当前事务处理请求进行处理,可以生成与当前区块生成节点相对应的区块。
根据本申请实施例的技术方案,通过将股份授权证明机制运行在可信执行环境中,避免了恶意跳过某个区块节点,导致出块数量不一致的问题,进一步,若检测到区块链中缺失区块时,通过引入无效区块,使每轮出块数量一致,便于后续出块,既避免了引入额外同步算法的问题,也降低了股份授权证明机制的复杂度。
在上述技术方案的基础上,若区块链节点需要向其他节点传输数据,或者区块链节点出块时,可选的,可信节点将自身信息和挖掘出的区块数据同步给其他节点,需要向其他节点证明区块链节点在可信执行区中运行,原因在于:可以确保区块数据传输的安全性以及可靠性。图2是本申请公开的一种区块链数据处理方法另一流程示意图。如图2所示,方法包括:
S210、通过本地可信节点的可信执行区,采用股份授权证明机制确定当前区块生成节点。
S220、基于当前区块生成节点,若检测到区块链中缺失区块,则在区块链中添加无效区块以补充缺失区块,且对当前事务处理请求进行处理以得到新区块。
S230、在监测到可信证明事件时,确定待发送的第一数据。
需要说明的是,在可信执行环境中,本地可信节点不论是向其他节点传输数据,还是接收其他节点的访问请求,均需要证明本地可信节点的公信力,即本地可信节点运行在可信执行区中。将证明本地可信节点运行在可信执行区的事件,作为可信证明事件。第一数据为本地可信节点挖出的区块数据。例如,A节点访问B节点的数据,B节点也需要证明其运行在可信执行环境中,将证明B节点运行在可信执行环境中的事件作为可信事件。
具体的,当检测到需要向其他节点发生数据,或者接收到其他节点的访问请求时,确定本地可信节点待发送的区块数据,即第一数据。
S240、采用本地可信节点的密钥存储区中第一区块链密钥,对第一数据进行签名,以得到第一数据签名。
本地可信节点的密钥存储区用于保护存储的数据不被泄露,具体是存储第一区块链密钥,以保证第一区块链密钥的安全性。第一区块链密钥用于对第一数据进行签名处理,以保证在数据传输的过程中,第一数据不被泄露,从而提高数据传输的安全性。
具体的,基于指定程序获取本地可信节点的密钥存储区中第一区块链密钥,对第一数据进行签名加密处理后,得到第一数据签名。
S250、向其他节点发送第一数据签名,以指示其他节点对第一数据签名进行验签以确定本地可信节点是否可信。
基于指定程序,其他区块链节点可以获取区块链网络中的统一公钥,以基于该统一公钥对接收到的第一数据签名进行验签,若验签通过,说明第一数据签名运行在可信执行环境中,也就是说,本地可信节点是可信的,反之,则说明本地可信节点是不可信的。
本申请实施例的技术方案,基于区块链密钥对待发送的数据进行签名处理,提高了区块数据传输的安全性,通过其他节点的对数据签名进行验签,进一步确定本地可信节点运行在可信执行环境中,避免了恶意跳过某个区块生成节点,导致每轮出块数量不一致的问题。。
在上述技术方案的基础上,若接收到其他节点发送的待验证数据签名时,可以对数据签名进行验证,以确定其他节点是否可信。其具体的处理方式如图3所示:
S310、通过本地可信节点的可信执行区,采用股份授权证明机制确定当前区块生成节点。
S320、基于当前区块生成节点,若检测到区块链中缺失区块,则在区块链中添加无效区块以补充缺失区块,且对当前事务处理请求进行处理以得到新区块。
S330、从其他节点接收待验证的第二数据签名。
若其他节点向本地可信节点传输数据时,其他节点需要对传输的数据进行签名处理,以得到数据签名。第二数据签名为采用其他节点密钥存储区中第二区块密钥对第二数据进行签名得到。第二区块链密钥与第一区块链密钥可以相同,也可以不同,用户可以根据实际需求进行设置。若第一区块链密钥和第二区块链密钥不同,区块链网络中所有节点的密钥存储区中既包括第一区块链密钥,也有第二区块链密钥。
示例性的,其他节点为A节点,本地可信节点为B节点,基于指定程序获取A节点密钥存储区中的第二区块链密钥,对A节点传输的区块数据进行签名,得到第二数据签名。B节点接收A节点传输的第二数据签名,并需要对第二数据签名进行验证,以确保在A节点在可信执行环境中进行数据传输,以提高数据传输的安全性。
S340、基于第三区块链密钥,对第二数据签名进行验签,并根据验签结果确定其他节点是否可信。
其中,第三区块链密钥也是存储在本地密钥存储区,用于对第二数据进行验签处理。第三区块链密钥和第二区块链密钥互为密钥对,包括对称密钥对或非对称密钥对。示例性的,第二区块链密钥和第三区块链密钥为非对称密钥对,第二区块链密钥为私钥,第三区块链密钥为公钥。
具体的,基于第三区块链中存储的密钥,可选的,存储的公钥,对第二数据签名进行验签,当验签成功时,则说明其他节点运行在可信执行环境中。
本申请实施例技术方案,通过对其他节点发送的数据进行验签处理,可以确定其他节点运行在可信执行环境中,不仅可以提高数据传输的安全性,也避免了由于恶意跳过某个区块生成节点,导致每轮出块数量不一致的问题。
图4根据本申请实施例公开的一种区块链数据处理装置的结构示意图,本实施例可以适用于将区块链程序应用在可信执行环境中,采用股份授权证明机制对区块数据进行处理的情形,即在可信区块链网络中,采用股份授权证明机制对区块数据进行处理的情形。本实施例该装置可采用软件和/或硬件的方式实现,并可配置于可信区块链网络中本地可信节点。
如图4所示,本申请实施例公开的一种区块链数据处理装置400包括:区块生成节点确定模块401以及区块添加模块402,其中:
区块生成节点确定模块401,用于通过本地可信节点的可信执行区,采用股份授权证明机制确定当前区块生成节点;区块添加模块402,用于基于所述当前区块生成节点,若检测到区块链中缺失区块,则在所述区块链中添加无效区块以补充缺失区块,且对当前事务处理请求进行处理以得到新区块。
可选的,本实施例装置还包括:缺失区块确定模块,用于基于所述当前区块生成节点,在检测到出块事件后,若确定区块链中已有区块高度小于期望区块高度,则确定区块链中缺失区块;其中,所述期望区块高度根据区块链网络中区块生成节点数量确定。
可选的,区块添加模块,还用于:根据区块链的缺失区块数量,在区块链尾部添加无效区块。
可选的,本实施例装置还包括:第一数据签名模块包括:第一数据确定单元,用于在监测到可信证明事件时,确定待发送的第一数据;第一数据签名单元,用于采用所述本地可信节点的密钥存储区中第一区块链密钥,对所述第一数据进行签名,以得到第一数据签名;可信节点确定单元,用于向其他节点发送所述第一数据签名,以指示其他节点对所述第一数据签名进行验签以确定所述本地可信节点是否可信。
可选的,本实施例装置还包括:在需要向其他节点发送数据或接收到其他节点的访问请求时,生成所述可信证明事件。
可选的,本实施例装置还包括:第二数据签名模块,用于从其他节点接收待验证的第二数据签名;其中所述第二数据签名采用其他节点的密钥存储区中第二区块链密钥对第二数据进行签名得到;第二判断模块,用于基于第三区块链密钥,对所述第二数据签名进行验签,并根据验签结果确定其他节点是否可信;其中,所述第二区块链密钥和所述第三区块链密钥互为非对称密钥对。
根据本申请实施例的技术方案,通过将股份授权证明机制运行在可信执行环境中,避免了恶意跳过某个区块节点,导致出块数量不一致的问题,进一步,若检测到区块链中缺失区块时,通过引入无效区块,使每轮出块数量一致,便于后续出块,既避免了引入额外同步算法的问题,也降低了股份授权证明机制的复杂度。
本申请实施例所公开的可配置于可信区块链网络中可信节点的、区块链数据处理装置400可执行本申请实施例所公开的任意应用于可信区块链网络中可信节点的、区块链数据处理方法,具备执行方法相应的功能模块和有益效果。本实施例中未详尽描述的内容可以参考本申请任意方法实施例中的描述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。该电子设备用于对区块链网络中可信节点所依赖的硬件设备进行示例性说明。
如图5所示,是根据本申请实施例的区块链数据处理的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其他适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其他类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图5所示,该电子设备包括:一个或多个处理器501、存储器502,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其他方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其他实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器501为例。
存储器502即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的区块链数据处理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的区块链数据处理方法。
存储器502作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的区块链数据处理方法对应的程序指令/模块(例如,附图4所示的区块生成节点确定模块401和区块添加模块402)。处理器501通过运行存储在存储器502中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的区块链数据处理方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据区块链数据处理电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至区块链数据处理电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
区块链数据处理方法的电子设备还可以包括:输入装置503和输出装置504。处理器501、存储器502、输入装置503和输出装置504可以通过总线或者其他方式连接,图5中以通过总线连接为例。
输入装置503可接收输入的数字或字符信息,以及产生与区块链数据处理电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置504可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其他种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过将股份授权证明机制运行在可信执行环境中,避免了恶意跳过某个区块节点,导致出块数量不一致的问题,进一步,若检测到区块链中缺失区块时,通过引入无效区块,使每轮出块数量一致,便于后续出块,既避免了引入额外同步算法的问题,也降低了股份授权证明机制的复杂度。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (9)
1.一种区块链数据处理方法,其特征在于,由区块链网络中可信节点执行,所述方法包括:
通过本地可信节点的可信执行区,采用股份授权证明机制确定当前区块生成节点;
基于所述当前区块生成节点生成区块时,若检测到已有区块高度小于期望区块高度,则基于当前区块高度,确定缺失区块和缺失区块数量,并获取与所述缺失区块数量相同的无效区块;其中,所述期望区块高度根据区块链网络中区块生成节点数量确定;
在所述区块链中添加所述无效区块以补充缺失区块,且对当前事务处理请求进行处理以得到新区块。
2.根据权利要求1所述的方法,其特征在于,在所述区块链中添加无效区块以补充缺失区块,包括:
根据区块链的缺失区块数量,在区块链尾部添加无效区块。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在监测到可信证明事件时,确定待发送的第一数据;
采用所述本地可信节点的密钥存储区中第一区块链密钥,对所述第一数据进行签名,以得到第一数据签名;
向其他节点发送所述第一数据签名,以指示其他节点对所述第一数据签名进行验签以确定所述本地可信节点是否可信。
4.根据权利要求3所述的方法,其特征在于,
在需要向其他节点发送数据或接收到其他节点的访问请求时,生成所述可信证明事件。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从其他节点接收待验证的第二数据签名;其中所述第二数据签名采用其他节点的密钥存储区中第二区块链密钥对第二数据进行签名得到;
基于第三区块链密钥,对所述第二数据签名进行验签,并根据验签结果确定其他节点是否可信;其中,所述第二区块链密钥和所述第三区块链密钥互为非对称密钥对。
6.一种区块链数据处理装置,其特征在于,由区块链网络中可信节点执行,所述装置包括:
区块生成节点确定模块,用于通过本地可信节点的可信执行区,采用股份授权证明机制确定当前区块生成节点;
区块添加模块,用于基于所述当前区块生成节点生成区块时,若检测到已有区块高度小于期望区块高度,则基于当前区块高度,确定缺失区块和缺失区块数量,并获取与所述缺失区块数量相同的无效区块;其中,所述期望区块高度根据区块链网络中区块生成节点数量确定;在所述区块链中添加所述无效区块以补充缺失区块,且对当前事务处理请求进行处理以得到新区块。
7.根据权利要求6所述的装置,其特征在于,所述区块添加模块,还用于:
根据区块链的缺失区块数量,在区块链尾部添加无效区块。
8.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
9.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010120523.5A CN111371557B (zh) | 2020-02-26 | 2020-02-26 | 区块链数据处理方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010120523.5A CN111371557B (zh) | 2020-02-26 | 2020-02-26 | 区块链数据处理方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111371557A CN111371557A (zh) | 2020-07-03 |
CN111371557B true CN111371557B (zh) | 2024-01-23 |
Family
ID=71211182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010120523.5A Active CN111371557B (zh) | 2020-02-26 | 2020-02-26 | 区块链数据处理方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111371557B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112150146B (zh) * | 2020-09-22 | 2023-11-03 | 京东科技控股股份有限公司 | 区块链的区块处理方法、装置、设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107332876A (zh) * | 2017-05-31 | 2017-11-07 | 深圳前海微众银行股份有限公司 | 区块链状态的同步方法及装置 |
CN109146499A (zh) * | 2018-09-05 | 2019-01-04 | 深圳正品创想科技有限公司 | 基于区块链的用户信用调整方法及其装置、区块链节点 |
CN109347803A (zh) * | 2018-09-18 | 2019-02-15 | 百度在线网络技术(北京)有限公司 | 一种区块链的数据处理方法、装置、设备及介质 |
CN109361734A (zh) * | 2018-09-18 | 2019-02-19 | 百度在线网络技术(北京)有限公司 | 一种区块链的数据处理方法、装置、设备及介质 |
CN109361740A (zh) * | 2018-09-27 | 2019-02-19 | 百度在线网络技术(北京)有限公司 | 一种区块链的区块生成方法、装置、设备和介质 |
CN109637637A (zh) * | 2017-10-20 | 2019-04-16 | 北京航空航天大学 | 基于区块链的医疗管理系统 |
CN109872152A (zh) * | 2019-01-11 | 2019-06-11 | 平安科技(深圳)有限公司 | 基于股份授权证明机制的区块链共识方法及相关设备 |
CN109921909A (zh) * | 2019-02-15 | 2019-06-21 | 北京工业大学 | 基于贡献证明的区块链共识方法及装置 |
WO2019137564A2 (en) * | 2019-04-26 | 2019-07-18 | Alibaba Group Holding Limited | Securely executing smart contract operations in a trusted execution environment |
CN110569305A (zh) * | 2019-08-27 | 2019-12-13 | 网易(杭州)网络有限公司 | 区块同步方法、装置、介质和计算设备 |
CN110674217A (zh) * | 2019-09-23 | 2020-01-10 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、设备和介质 |
WO2020035090A2 (en) * | 2019-11-08 | 2020-02-20 | Alipay (Hangzhou) Information Technology Co., Ltd. | Lightweight decentralized application platform |
-
2020
- 2020-02-26 CN CN202010120523.5A patent/CN111371557B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107332876A (zh) * | 2017-05-31 | 2017-11-07 | 深圳前海微众银行股份有限公司 | 区块链状态的同步方法及装置 |
CN109637637A (zh) * | 2017-10-20 | 2019-04-16 | 北京航空航天大学 | 基于区块链的医疗管理系统 |
CN109146499A (zh) * | 2018-09-05 | 2019-01-04 | 深圳正品创想科技有限公司 | 基于区块链的用户信用调整方法及其装置、区块链节点 |
CN109347803A (zh) * | 2018-09-18 | 2019-02-15 | 百度在线网络技术(北京)有限公司 | 一种区块链的数据处理方法、装置、设备及介质 |
CN109361734A (zh) * | 2018-09-18 | 2019-02-19 | 百度在线网络技术(北京)有限公司 | 一种区块链的数据处理方法、装置、设备及介质 |
CN109361740A (zh) * | 2018-09-27 | 2019-02-19 | 百度在线网络技术(北京)有限公司 | 一种区块链的区块生成方法、装置、设备和介质 |
CN109872152A (zh) * | 2019-01-11 | 2019-06-11 | 平安科技(深圳)有限公司 | 基于股份授权证明机制的区块链共识方法及相关设备 |
CN109921909A (zh) * | 2019-02-15 | 2019-06-21 | 北京工业大学 | 基于贡献证明的区块链共识方法及装置 |
WO2019137564A2 (en) * | 2019-04-26 | 2019-07-18 | Alibaba Group Holding Limited | Securely executing smart contract operations in a trusted execution environment |
CN110569305A (zh) * | 2019-08-27 | 2019-12-13 | 网易(杭州)网络有限公司 | 区块同步方法、装置、介质和计算设备 |
CN110674217A (zh) * | 2019-09-23 | 2020-01-10 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、设备和介质 |
WO2020035090A2 (en) * | 2019-11-08 | 2020-02-20 | Alipay (Hangzhou) Information Technology Co., Ltd. | Lightweight decentralized application platform |
Non-Patent Citations (3)
Title |
---|
Improvement of the DPoS Consensus Mechanism in Blockchain Based on Vague Sets;Guangxia Xu et al.;IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS;第16卷(第6期);全文 * |
区块链技术:架构及进展;邵奇峰等;计算机学报(第05期);全文 * |
基于信用模型的工作量证明算法;王缵等;通信学报(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111371557A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11909886B2 (en) | Method, apparatus for blockchain-based multi-party computation, device and medium | |
US11750396B2 (en) | Private data processing method, device and medium | |
US10176344B2 (en) | Data verification using enclave attestation | |
CN111683071B (zh) | 区块链的隐私数据处理方法、装置、设备以及存储介质 | |
CN111143890B (zh) | 一种基于区块链的计算处理方法、装置、设备和介质 | |
CN111769958B (zh) | 区块链跨链处理方法、装置、设备和存储介质 | |
CN111339569B (zh) | 区块链数据处理方法、装置、电子设备和介质 | |
CN111460429A (zh) | 基于可信执行环境的任务处理方法、装置、设备和介质 | |
US11418320B2 (en) | Blockchain-based data processing methods, devices, and media | |
CN111737366A (zh) | 区块链的隐私数据处理方法、装置、设备以及存储介质 | |
CN112567709B (zh) | 使用异常检测增强安全性 | |
CN111464297B (zh) | 基于区块链的事务处理方法、装置、电子设备和介质 | |
JP7317084B2 (ja) | トラステッド環境の遠隔検証方法、装置、機器、システムおよび媒体 | |
US11789929B2 (en) | Method, apparatus, device and medium for performing review based on blockchain | |
US11349638B2 (en) | Privacy transaction processing method, electronic device and storage medium | |
CN111565204B (zh) | 区块链运行方法、装置、设备及存储介质 | |
US20210234862A1 (en) | Device interaction method, method for managing permission, interactive device and user terminal | |
CN112511505A (zh) | 一种鉴权系统、方法、装置、设备和介质 | |
KR20210074247A (ko) | 제스처 암호에 기반한 잠금 해제 방법 및 장치 | |
CN111371557B (zh) | 区块链数据处理方法、装置、电子设备及介质 | |
CN111400743B (zh) | 基于区块链网络的事务处理方法、装置、电子设备和介质 | |
EP3869377A1 (en) | Method and apparatus for data processing based on smart contract, device and storage medium | |
CN111371558B (zh) | 区块链数据处理方法、装置、电子设备及介质 | |
US20230163960A1 (en) | Secure distribution of entropy | |
CN111858089B (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 |