CN111371558B - 区块链数据处理方法、装置、电子设备及介质 - Google Patents
区块链数据处理方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN111371558B CN111371558B CN202010121164.5A CN202010121164A CN111371558B CN 111371558 B CN111371558 B CN 111371558B CN 202010121164 A CN202010121164 A CN 202010121164A CN 111371558 B CN111371558 B CN 111371558B
- Authority
- CN
- China
- Prior art keywords
- block
- node
- trusted
- data
- determining
- 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 48
- 238000012545 processing Methods 0.000 claims abstract description 46
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000012795 verification Methods 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 46
- 230000008901 benefit Effects 0.000 claims description 42
- 230000015654 memory Effects 0.000 claims description 21
- 239000002699 waste material Substances 0.000 abstract description 7
- 238000004364 calculation method Methods 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000002860 competitive 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
- 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
- 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
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
本申请公开了一种区块链数据处理方法、装置、电子设备及介质,涉及计算机技术领域,具体涉及区块链技术。具体实现方案为:由区块链网络中可信节点执行,所述方法包括:通过本地可信节点的可信执行区,采用权益证明机制,根据本地可信节点的权益占比值确定当前区块生成节点;基于所述当前区块生成节点执行区块处理操作。本申请实施例通过将权益证明机制运行在可信执行区,将权益证明机制的算力增长极限锁定在单机极限中,避免了不停的提高算力,导致资源浪费的问题。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及区块链技术,尤其涉及一种区块链数据处理方法、装置、电子设备及介质。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。其中,共识机制是区块链技术的重要组成部分,区块生成权是节点基于共识机制争取到的,例如,权益证明(Proof of Stake,POS)机制。
权益证明机制也称为股权证明,主要是根据每个用户所拥有的token来确定哪个用户拥有记账权。虽然,权益证明机制降低了工作量证明机制的难度,但是权益证明机制的运行还是需要工作量证明的,因此也存在不断提高算力,引起资源消耗的问题。
发明内容
本申请实施例公开一种区块链数据处理方法、装置、电子设备及介质,可以实现降低资源消耗,同时提高数据安全性的技术效果。
第一方面,本申请实施例公开了一种区块链数据处理方法,由区块链网络中可信节点执行,所述方法包括:
通过本地可信节点的可信执行区,采用权益证明机制,根据本地可信节点的权益占比值确定当前区块生成节点;
基于所述当前区块生成节点执行区块处理操作。
上述申请中的一个实施例具有如下优点或有益效果:通过将权益证明机制运行在可信执行环境中,解决了目前采用权益证明机制对区块数据处理时,由于不停提高算力,导致资源消耗不断增加,从而引起资源浪费的问题,实现了将权益证明机制的算力增长极限锁定在单机极限中,降低了资源消耗。
另外,根据本申请上述实施例的区块链数据处理方法,还可以具有如下附加的技术特征:
可选的,采用权益证明机制,根据本地可信节点的权益占比值确定当前区块生成节点,包括:
采用权益证明机制,根据区块链网络的基础出块时长值、本地可信节点的权益占比值和难度确定函数,确定本地可信节点的本地难度值;根据所述本地难度值和当前事务处理请求的当前事务数据,确定所述当前区块生成节点。
上述申请中的一个实施例具有如下优点或有益效果:基于区块链网络中的基础出块时长值、可信节点的权益占比和预先确定的难度函数,可以确定与本地可信节点对应的本地难度值,进而根据本地难度值,快速的确定当前区块生成节点。
可选的,所述方法还包括:
根据历史事务处理请求的历史难度值和历史出块时长值,通过曲线拟合得到难度辅助函数;根据基础出块时长参数、节点权益占比参数和节点出块时长参数之间关系,以及所述难度辅助函数,确定所述难度确定函数。
上述申请中的一个实施例具有如下优点或有益效果:基于历史数据确定难度确定函数,以便基于难度确定函数确定与各个区块生成节点对应的难度值,从而确定区块生成节点。
可选的,所述方法还包括:确定所述区块链网络的实际出块时长值;
将所述区块链网络的实际出块时长值与期望出块时长值进行比较;
根据比较结果调整所述基础出块时长值,以调整所述本地难度值。
上述申请中的一个实施例具有如下优点或有益效果:基于比较结果,合理调整基础出块时长值,以达到实现调整难度值的效果。
可选的,所述方法还包括:
在监测到可信证明事件时,确定待发送的第一数据;
采用所述本地可信节点的密钥存储区中第一区块链密钥,对所述第一数据进行签名,以得到第一数据签名;
向其他节点发送所述第一数据签名,以指示其他节点对所述第一数据签名进行验签以确定所述本地可信节点是否可信。
上述申请中的一个实施例具有如下优点或有益效果:基于第一区块链密钥对第一数据进行签名,可以确保第一数据不被泄露,提高了第一数据的安全性;进一步的,将第一数据签名发送至其他节点,可以基于对第一数据签名的验签结果,确定可信节点运行在可信执行环境中。
可选的,在需要向其他节点发送数据或接收到其他节点的访问请求时,生成所述可信证明事件。
上述申请中的一个实施例具有如下优点或有益效果:确定数据验签的触发条件,以便基于该触发条件,确定可信节点运行在可信执行环境中。
可选的,所述方法还包括:从其他节点接收待验证的第二数据签名;其中所述第二数据签名采用其他节点的密钥存储区中第二区块链密钥对第二数据进行签名得到;
基于第三区块链密钥,对所述第二数据签名进行验签,并根据验签结果确定其他节点是否可信;其中,所述第二区块链密钥和所述第三区块链密钥互为非对称密钥对。
上述申请中的一个实施例具有如下优点或有益效果:当接收到其他节点发送的数据签名时,确定其他节点是否在可信环境中运行,提高了数据传输的安全性。
第二方面,本申请实施例还公开了一种区块链数据处理装置,该装置由区块链网络中可信节点执行,所述装置包括:
区块生成节点确定模块,用于通过本地可信节点的可信执行区,采用权益证明机制,根据本地可信节点的权益占比值确定当前区块生成节点;
区块处理模块,用于基于所述当前区块生成节点执行区块处理操作。
第三方面,本申请实施例还公开了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本申请实施例任一所述的区块链数据处理方法。
第四方面,本申请实施例还公开了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如本申请实施例任一所述的区块链数据处理方法。
本申请实施例的技术方案,通过将权益证明机制运行在可信执行环境中,解决了目前采用权益证明机制对区块数据处理时,由于不停提高算力,导致资源消耗不断增加,从而引起资源浪费的问题,实现了将权益证明机制的算力增长极限锁定在单机极限中,降低了资源消耗。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例公开的一种区块链数据处理方法的流程示意图;
图2是根据本申请实施例公开的一种区块链数据处理方法的流程的示意图;
图3是根据本申请实施例公开的一种区块链数据处理方法的流程示意图;
图4是根据本申请实施例公开的一种区块链数据处理装置的结构示意图;
图5是可以实现本申请实施例的公开的一种电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请实施例公开的一种区块链数据处理方法的流程示意图,本实施例可适用于将区块链程序应用在可信执行环境中,采用权益证明机制对区块数据进行处理的情形,即在可信区块链网络中,采用权益证明机制对区块数据处理的情形,本实施例方法可以由区块链数据处理装置来执行,该装置可采用软件和/或硬件的方式实现,并可以配置于区块链网络中的可信节点。区块链网络中可信节点可以部署在对节点存在处理功能的电子设备中。
将运行在可信执行环境(Trusted Execution Environment,TEE)中的节点形成的区块链网络,作为可信区块链网络。可信区块链网络中区块生成节点可以为可信节点。其中,TEE是操作系统为应用程序提供可信安全的执行环境。TEE部署在中央处理器(CentralProcessing Unit,CPU)内部,具体可以包括Intel带SGX功能的CPU,Arm带TrustZone的CPU,保证内存的安全,以及独立隔离的计算区域。
在本实施例中,可信区块链网络中的各个节点包括可信执行区(通常位于内存中)和密钥存储区。其中,可信执行区只用于执行指定程序,例如若预先将A程序的签名注册到可信硬件中,则A程序为指定程序,具体的,A程序用于执行共识算法,可选的,POS算法,即权益证明机制;密钥存储区用于存储区块链网络的统一私钥,私钥的数量可以是一个,也可以是多个,充分考虑到区块数据的安全性,私钥的数量可以设置多个。
如图1所示,所述方法包括:
S110、通过本地可信节点的可信执行区,采用权益证明机制,根据本地可信节点的权益占比值确定当前区块生成节点。
在本实施例中,本地可信节点可以是可信区块链网络中任一节点。
其中,权益证明机制可以是基于各个节点的经济实力、硬件能力及稳定性等因素,从区块链系统包含的各个节点中选择具有竞争区块生成权的区块生成节点。将通过本地可信节点的可信执行区,采用权益证明机制确定的区块生成节点,作为当前区块生成节点。
在本申请实施例中,采用权益证明机制,根据本地可信节点的权益占比值确定当前区块生成节点,可以是:采用权益证明机制,根据区块链网络的基础出块时长值、本地可信节点的权益占比值和难度确定函数,确定本地可信节点的本地难度值;根据本地难度值和当前事务处理请求的当前事务数据,确定当前区块生成节点。
其中,基础出块时长值是根据预先设置的期望出块时长值和实际出块时长值确定的。基础出块时长值用于调整权益证明机制中的难度值。难度值决定了要经过多少次运算才能确定合法有效的块。难度确定函数为基于历史数据预先确定的,是确定各个节点难度值的计算方法。可信区块链网络中的任意节点可以与可信区块链网络中的可信节点进行通信,相应的,当其中某个节点存在事务处理需求,可选的,数据上链等,可生成事务处理请求,即当前事务处理请求。当前事务处理请求可以包括但不限于数据查询请求、数据更新请求和/或出块请求等。当前事务数据为与当前事务处理请求相对应的数据。
具体的,根据区块链网络中的基础出块时长值、本地可信节点的权益占比值和难度确定函数,可以计算得到本地可信节点的难度值。本地可信节点可以响应当前出块请求,对上一区块摘要、时间戳、当前区块数据和nonce进行签名计算,可以生成一个签名结果值。若签名结果值小于该节点的难度值,则可以将该节点作为区块生成节点,反之,不能将其作为区块生成节点。
在本实施例中,与本地可信节点相对应的难度值,需要根据难度确定函数来确定,因此需要先得到难度确定函数。可选的,根据历史事务处理请求的历史难度值和历史出块时长值,通过曲线拟合得到难度辅助函数;根据基础出块时长参数、节点权益占比参数和节点出块时长参数之间关系,以及难度辅助函数,确定难度确定函数。
事务处理请求可以是可信区块链网络中发起方根据自身需求生成的请求,进行响应处理生成的事务处理请求。历史事务处理请求为当前时刻之前发起方发出的事务处理请求。在获取历史事务处理请求时,可以确定每个历史事务处理请求的历史出块时长值和历史难度值,可以基于历史难度值和历史出块时长值,确定难度辅助函数,即出块时长值和难度值之间的函数关系。当然,考虑到难度确定函数是基于难度辅助函数来确定的,因此为了提高难度函数的准确性,可以尽可能多的获取多组历史事务请求,从而提高难度辅助函数的准确性。基础出块时长参数可以是根据经验设置的,节点出块时长参数为各节点的出块时长值。节点出块参数可以通过基础出块时长参数和节点权益占比参数来确定。难度确定函数可以由与难度辅助函数和节点出块参数来确定。
具体的,获取多组历史事务处理请求的历史难度值和历史出块时长值,通过对历史难度值和历史出块时长值曲线拟合,可以得到难度值和出块时长值之间的函数关系。根据基础出块时长值以及节点权益占比参数可以确定节点出块时长参数,基于节点出块时长参数,以及难度辅助函数,可以确定难度确定函数。基于难度确定函数可以确定各个区块生成节点的难度值。
例如,获取了100组历史事务处理请求,将每组历史事务处理请求的出块时长值记为t,难度值记为X,可以将出块时长值t和难度值X作为一组数对,得到了100组数对。通过对100组数对进行曲线拟合,可以得到出块时长值t与难度系数X的函数关系X(t),即难度辅助函数表示为X(t)。基础出块时长参数可以标记为Tbase,节点权益占比参数可以标记为a,节点出块时长参数可标记为t,节点出块时长参数等于基础出块时长参数与节点权益占比参数的比值,即t=Tbase/a。记与各个区块生成节点对应的难度确定函数为f(a),基于难度辅助函数X(t)以及节点出块时长参数t=Tbase/a,可以得到难度确定函数为f(a)=x(Tbase/a)。基于确定的难度确定函数可以计算得到与各个区块生成节点对应的难度系数值,即难度值。
上述技术方案的基础上,可以知道难度值与基础出块时长值存在一定的关系,为了保证实际出块时长值稳定,即难度值合理,可以通过调整基础出块时长参数来实现。可选的,确定区块链网络的实际出块时长值;将区块链网络的实际出块时长值与期望出块时长值进行比较;根据比较结果调整基础出块时长值,以调整本地难度值。
其中,实际出块时长值是指在实际运行过程中,从上一个区块生成完成时到生成当前区块所需要的时长值。期望出块时长值是根据计算机设备等预先设置的。
具体的,当接收到出块请求时,可以统计从上一区块生成完成时到生成当前区块所使用的时长值,并作为实际出块时长值。若实际出块时长值大于期望出块时长值,则说明产生一个区块所用的时长过长,即难度值较高,可以将基础出块时长调调小,以降低POS算法中的难度值;若实际出块时长值小于期望出块时长值,则说明产生一个区块所用的时间过短,即难度值较低,可以将基础出块时长值调大,以提高POS算法中的难度值;若实际出块时长值等于期望出块时长值,则说明设置的难度值是合理的,可以不用更改基础出块时长。
S120、基于当前区块生成节点执行区块处理操作。
其中,区块处理操作可以是创建新区块、验证区块是否正确、以及删除区块等操作。例如,在基于权益证明机制确定当前区块生成节点后,当前区块生成节点可以依据接收到的上一区块生成节点发送的上一区块的哈希值以及当前逻辑处理请求对对应的事务数据打包形成新的区块。
本申请实施例的技术方案,通过将权益证明机制运行在可信执行环境中,解决了目前采用权益证明机制对区块数据处理时,由于不停提高算力,导致资源消耗不断增加,从而引起资源浪费的问题,实现了将权益证明机制的算力增长极限锁定在单机极限中,降低了资源消耗。
在上述技术方案的基础上,若区块链节点需要向其他节点传输数据,或者区块链节点出块时,可选的,可信节点将自身信息和挖掘出的区块数据同步给其他节点,需要向其他节点证明区块链节点在可信执行区中运行,原因在于:可以确保区块数据传输的安全性以及可靠性。图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.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在监测到可信证明事件时,确定待发送的第一数据;
采用所述本地可信节点的密钥存储区中第一区块链密钥,对所述第一数据进行签名,以得到第一数据签名;
向其他节点发送所述第一数据签名,以指示其他节点对所述第一数据签名进行验签以确定所述本地可信节点是否可信。
5.根据权利要求4所述的方法,其特征在于,
在需要向其他节点发送数据或接收到其他节点的访问请求时,生成所述可信证明事件。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从其他节点接收待验证的第二数据签名;其中所述第二数据签名采用其他节点的密钥存储区中第二区块链密钥对第二数据进行签名得到;
基于第三区块链密钥,对所述第二数据签名进行验签,并根据验签结果确定其他节点是否可信;其中,所述第二区块链密钥和所述第三区块链密钥互为非对称密钥对。
7.一种区块链数据处理装置,其特征在于,由区块链网络中可信节点执行,所述装置包括:
区块生成节点确定模块,用于通过本地可信节点的可信执行区,采用权益证明机制,根据本地可信节点的权益占比值确定当前区块生成节点;
区块处理模块,用于基于所述当前区块生成节点执行区块处理操作;
所述区块生成节点确定模块还用于:采用权益证明机制,根据区块链网络的基础出块时长值、本地可信节点的权益占比值和难度确定函数,确定本地可信节点的本地难度值;根据所述本地难度值和当前事务处理请求的当前事务数据,确定所述当前区块生成节点;其中,根据预先设置的期望出块时长值和实际出块时长值确定所述基础出块时长值。
8.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
9.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010121164.5A CN111371558B (zh) | 2020-02-26 | 2020-02-26 | 区块链数据处理方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010121164.5A CN111371558B (zh) | 2020-02-26 | 2020-02-26 | 区块链数据处理方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111371558A CN111371558A (zh) | 2020-07-03 |
CN111371558B true CN111371558B (zh) | 2024-01-16 |
Family
ID=71211528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010121164.5A Active CN111371558B (zh) | 2020-02-26 | 2020-02-26 | 区块链数据处理方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111371558B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113225335B (zh) * | 2021-04-28 | 2022-11-15 | 平安科技(深圳)有限公司 | 区块链出块安全校验方法、装置、设备及存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107733651A (zh) * | 2017-09-11 | 2018-02-23 | 联动优势科技有限公司 | 一种区块链生成方法、节点及系统 |
CN108512939A (zh) * | 2018-04-17 | 2018-09-07 | 深圳市元征科技股份有限公司 | 一种区块链共识方法、装置及相关设备 |
CN108512650A (zh) * | 2018-02-28 | 2018-09-07 | 深圳沃链科技有限公司 | 面向区块链的动态哈希计算方法、装置、节点及存储介质 |
CN108665272A (zh) * | 2018-05-02 | 2018-10-16 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、设备和存储介质 |
CN108769150A (zh) * | 2018-05-14 | 2018-11-06 | 百度在线网络技术(北京)有限公司 | 区块链网络的数据处理方法、装置、集群节点和存储介质 |
CN109242299A (zh) * | 2018-08-31 | 2019-01-18 | 深圳付贝科技有限公司 | 分布式挖矿方法、挖矿机及区块链系统 |
CN109255057A (zh) * | 2018-09-18 | 2019-01-22 | 百度在线网络技术(北京)有限公司 | 区块生成方法、装置、设备及存储介质 |
CN109408595A (zh) * | 2018-10-26 | 2019-03-01 | 全链通有限公司 | 区块链记账方法、设备及计算机可读存储介质 |
CN109493221A (zh) * | 2018-10-26 | 2019-03-19 | 全链通有限公司 | 区块链中交易记录保密方法、设备、网络及存储介质 |
WO2019116249A1 (en) * | 2017-12-15 | 2019-06-20 | nChain Holdings Limited | Computer-implemented systems and methods for authorising blockchain transactions with low-entropy passwords |
CN110209384A (zh) * | 2018-02-28 | 2019-09-06 | 成都高新信息技术研究院 | 一种基于移动流量的区块链共识计算方法与系统 |
CN110233737A (zh) * | 2019-06-28 | 2019-09-13 | 北京艾摩瑞策科技有限公司 | 基于DPoS的共识方法、装置、计算机设备及存储介质 |
CN110546664A (zh) * | 2017-04-11 | 2019-12-06 | 区块链控股有限公司 | 区块链之间的安全转移 |
CN110602249A (zh) * | 2019-09-29 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种资源分配的方法以及相关装置 |
CN110674217A (zh) * | 2019-09-23 | 2020-01-10 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、设备和介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200059369A1 (en) * | 2017-05-16 | 2020-02-20 | Peking University Shenzhen Graduate School | Determining consensus by parallel proof of voting in consortium blockchain |
KR102384351B1 (ko) * | 2018-05-09 | 2022-04-06 | 삼성에스디에스 주식회사 | 블록체인 기반 시스템에서의 블록 생성 방법 |
-
2020
- 2020-02-26 CN CN202010121164.5A patent/CN111371558B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110546664A (zh) * | 2017-04-11 | 2019-12-06 | 区块链控股有限公司 | 区块链之间的安全转移 |
CN107733651A (zh) * | 2017-09-11 | 2018-02-23 | 联动优势科技有限公司 | 一种区块链生成方法、节点及系统 |
WO2019116249A1 (en) * | 2017-12-15 | 2019-06-20 | nChain Holdings Limited | Computer-implemented systems and methods for authorising blockchain transactions with low-entropy passwords |
CN108512650A (zh) * | 2018-02-28 | 2018-09-07 | 深圳沃链科技有限公司 | 面向区块链的动态哈希计算方法、装置、节点及存储介质 |
CN110209384A (zh) * | 2018-02-28 | 2019-09-06 | 成都高新信息技术研究院 | 一种基于移动流量的区块链共识计算方法与系统 |
CN108512939A (zh) * | 2018-04-17 | 2018-09-07 | 深圳市元征科技股份有限公司 | 一种区块链共识方法、装置及相关设备 |
CN108665272A (zh) * | 2018-05-02 | 2018-10-16 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、设备和存储介质 |
CN108769150A (zh) * | 2018-05-14 | 2018-11-06 | 百度在线网络技术(北京)有限公司 | 区块链网络的数据处理方法、装置、集群节点和存储介质 |
CN109242299A (zh) * | 2018-08-31 | 2019-01-18 | 深圳付贝科技有限公司 | 分布式挖矿方法、挖矿机及区块链系统 |
CN109255057A (zh) * | 2018-09-18 | 2019-01-22 | 百度在线网络技术(北京)有限公司 | 区块生成方法、装置、设备及存储介质 |
CN109408595A (zh) * | 2018-10-26 | 2019-03-01 | 全链通有限公司 | 区块链记账方法、设备及计算机可读存储介质 |
CN109493221A (zh) * | 2018-10-26 | 2019-03-19 | 全链通有限公司 | 区块链中交易记录保密方法、设备、网络及存储介质 |
CN110233737A (zh) * | 2019-06-28 | 2019-09-13 | 北京艾摩瑞策科技有限公司 | 基于DPoS的共识方法、装置、计算机设备及存储介质 |
CN110674217A (zh) * | 2019-09-23 | 2020-01-10 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、设备和介质 |
CN110602249A (zh) * | 2019-09-29 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种资源分配的方法以及相关装置 |
Non-Patent Citations (5)
Title |
---|
Comparative analysis of blockchain consensus algorithms;L. M. Bach et al.;2018 41st International Convention on Information and Communication Technology, Electronics and Microelectronics(MIPRO);全文 * |
PoW, PoS, & Hybrid protocols: A Matter of Complexity?;Renato P. dos Santos et al.;https://doi.org/10.48550/arXiv.1805.08674;全文 * |
区块链共识机制研究综述;刘懿中等;《密码学报》;第5卷(第5期);全文 * |
区块链共识算法研究与趋势分析;段希楠等;科研信息化技术与应用(第06期);全文 * |
区块链技术综述;张亮等;计算机工程(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111371558A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111683071B (zh) | 区块链的隐私数据处理方法、装置、设备以及存储介质 | |
CN111460429B (zh) | 基于可信执行环境的任务处理方法、装置、设备和介质 | |
CN111339569B (zh) | 区块链数据处理方法、装置、电子设备和介质 | |
US11750396B2 (en) | Private data processing method, device and medium | |
US11418320B2 (en) | Blockchain-based data processing methods, devices, and media | |
US20210312743A1 (en) | Block chain-based asset processing method, device, apparatus and storage medium | |
CN112989400B (zh) | 一种隐私事务处理方法、装置、电子设备和介质 | |
US20210272108A1 (en) | Method and apparatus of processing deposit, and storage medium | |
JP7317084B2 (ja) | トラステッド環境の遠隔検証方法、装置、機器、システムおよび媒体 | |
US20220100777A1 (en) | Transaction request construction method and apparatus, transaction request processing method and apparatus, device and storage medium | |
US20220217004A1 (en) | Systems and methods for non-parallelised mining on a proof-of-work blockchain network | |
CN111371558B (zh) | 区块链数据处理方法、装置、电子设备及介质 | |
WO2022143298A1 (zh) | 基于区块链的数据处理方法和装置 | |
WO2022142436A1 (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN111400743B (zh) | 基于区块链网络的事务处理方法、装置、电子设备和介质 | |
CN111459672B (zh) | 基于区块链网络的事务处理方法、装置、设备及介质 | |
CN111371557B (zh) | 区块链数据处理方法、装置、电子设备及介质 | |
CN111339571B (zh) | 一种区块链密钥管理方法、装置、设备和存储介质 | |
CN111475572B (zh) | 区块生成方法、装置、设备和介质 | |
CN111858089B (zh) | 以太坊节点的调用方法以及装置 | |
CN111339197A (zh) | 区块链数据处理方法、装置、电子设备及介质 | |
CN111342972B (zh) | 一种区块链的事务实现方法、装置、设备和介质 | |
Geng et al. | Blockchain-inspired Framework for Runtime Verification of IoT Ecosystem Task Fulfillment | |
Krishnaswamy et al. | DistC: Distributed Quantum-safe Consensus for Secure IoT Data Processing | |
CN112995205A (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 |