CN108512939A - 一种区块链共识方法、装置及相关设备 - Google Patents
一种区块链共识方法、装置及相关设备 Download PDFInfo
- Publication number
- CN108512939A CN108512939A CN201810344552.2A CN201810344552A CN108512939A CN 108512939 A CN108512939 A CN 108512939A CN 201810344552 A CN201810344552 A CN 201810344552A CN 108512939 A CN108512939 A CN 108512939A
- Authority
- CN
- China
- Prior art keywords
- block chain
- response time
- chain node
- node device
- block
- 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
Links
Classifications
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1051—Group master selection mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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
- 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/1097—Protocols 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]
Abstract
本申请实施例提供了一种区块链共识方法、装置及相关设备,用于解决现有的区块链共识算法耗时过长的问题。本申请实施例方法包括:在可信执行环境TEE中周期性的发出执行相同预置操作的操作指令;记录区块链节点设备执行所述预置操作的第一响应时间;根据其他区块链节点设备的响应时间及所述第一响应时间确定响应时间最小的区块链节点设备为记账节点。
Description
技术领域
本申请涉及信息处理领域,具体涉及一种区块链共识方法、装置及相关设备。
背景技术
在中心化的结构体系中,系统的共识由中心决定,各参与方只需要服从这个中心即可,因此共识的建立是极为高效的,而在去中心化的结构体系中,例如基于区块链的分布式数据库系统,由于系统的各个参与方地位平等,当出现分歧的时候如何达成共识就成了问题。
目前通常采用的区块链共识机制包括工作量证明、权益证明、实用拜占庭方法等方式,实现节点之间的共识,保证各个节点之间的权益。
随着区块链的发展,区块链中的节点数目急剧增加,而现有的区块链共识机制需要各个节点运行复杂的算法,复杂的共识算法既消耗系统计算资源,又浪费时间。
发明内容
本申请实施例提供了一种区块链共识方法、装置及相关设备,用于解决现有的区块链共识算法耗时过长的问题。
本申请实施例第一方面提供了一种区块链共识方法,其特征在于,包括:
在可信执行环境TEE中周期性的发出执行相同预置操作的操作指令;
记录所述区块链节点设备执行所述预置操作的第一响应时间;
根据其他区块链节点设备的响应时间及所述第一响应时间确定响应时间最小的区块链节点设备为记账节点。
可选的,作为一种可能的实施方式,本申请实施例中,所述根据其他区块链节点设备的响应时间及所述第一响应时间确定响应时间最小的区块链节点设备为记账节点,具体包括:
若没有接收到其他区块链节点设备广播的响应时间,或者,接收到其他区块链节点设备广播的响应时间大于所述第一响应时间,则向区块链网络中广播所述第一响应时间,并将所述区块链节点设备作为记账节点;
若接收到其他区块链节点设备广播的响应时间,或者,接收到其他区块链节点设备广播的响应时间小于所述第一响应时间,则停止向区块链网络中广播所述第一响应时间,以使响应时间最小的区块链节点设备确定为记账节点。
可选的,作为一种可能的实施方式,本申请实施例中,该方法还可以进一步包括:
接收待写入区块链的交易信息;
将所述交易信息向区块链网络中进行广播。
可选的,作为一种可能的实施方式,本申请实施例中,该方法还可以进一步包括:
当所述区块链节点设备为记账节点时,则所述区块链节点设备将所述交易信息封装进新区块并登记在区块链中进行全网广播,以使得区块链网络中的其他区块链节点设备同步更新节点数据;
当所述区块链节点设备不为记账节点时,在接收到作为记账节点的其他区块链节点设备将所述交易信息封装进新区块的消息时,停止将所述待交易信息封装进新区块。
本申请实施例第二方面提供了一种区块链共识装置,其特征在于,包括:
发送模块,用于在可信执行环境TEE中周期性的发出执行相同预置操作的操作指令;
记录模块,用于记录自身执行所述预置操作的第一响应时间;
确定模块,用于根据其他区块链节点设备的响应时间及所述第一响应时间确定响应时间最小的区块链节点设备为记账节点。
可选的,作为一种可能的实施方式,本申请实施例中,所述确定模块包括:
第一确定单元,若没有接收到其他区块链节点设备广播的响应时间,或者,接收到其他区块链节点设备广播的响应时间大于所述第一响应时间,则用于向区块链网络中广播所述第一响应时间,并将所述区块链节点设备作为记账节点;
第二确定单元,若接收到其他区块链节点设备广播的响应时间,或者,接收到其他区块链节点设备广播的响应时间小于所述第一响应时间,则停止向区块链网络中广播所述第一响应时间,以使响应时间最小的区块链节点设备确定为记账节点。
可选的,作为一种可能的实施方式,本申请实施例中,该装置还包括:
接收模块,当所述区块链节点设备为记账节点时,用于将所述交易信息封装进新区块并登记在区块链中进行全网广播,以使得区块链网络中的其他区块链节点设备同步更新节点数据;
识别模块,当所述区块链节点设备不为记账节点时,在接收到作为记账节点的其他区块链节点设备将所述交易信息封装进新区块的消息时,停止将所述待交易信息封装进新区块。
本申请实施例第三方面提供了一种计算机装置,其特征在于,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如第一方面及第一方面中任意一种可能的实施方式中的步骤。
本申请实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如第一方面及第一方面中任意一种可能的实施方式中的步骤。
本申请实施例第五方面提供了一种区块链系统,其特征在于,所述区块链系统包括多个节点,所述节点包括如第三方面所述的计算机装置。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,接入区块链的节点设备设备可以在TEE环境中周期性的发出执行预置操作的操作指令,并记录自身执行预置操作的响应时间,由于接入区块链的节点设备均运行于TEE环境中,保障了响应时间数据的可信性,只需要根据节点设备自身的响应时间及其他节点的响应时间,就可以确定响应时间最小的区块链节点设备为记账节点,完成了区块链节点设备之间的共识,算法简单,节约了系统运算资源,解决现有的区块链共识算法耗时过长的问题。
附图说明
图1为本申请实施例中一种区块链共识方法的一个系统架构例示意图;
图2为本申请实施例中一种区块链共识方法的一个实施例示意图;
图3为本申请实施例中一种区块链共识方法的另一个实施例示意图;
图4为本申请实施例中一种区块链共识装置的一个实施例示意图;
图5为本申请实施例中一种区块链共识装置的另一个实施例示意图;
图6为本申请计算机装置一个实施例示意图。
具体实施方式
本申请实施例提供了一种区块链共识方法、装置及相关设备,用于解决现有的区块链共识算法耗时过长的问题。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请涉及区块链技术,为了便于理解,下面将对在本申请实施例中的区块链(Block Chain)进行简单的介绍,区块链是对接入服务器的所有区块链节点设备公开的分布式存储的数据结构,包含着若干的区块(Block)。包含客户端的用户终端可以注册成为一个区块链节点设备,与接入区块链服务器的其他区块链节点设备组成P2P网络,区块链数据可以存放在P2P网络,P2P网络任何一个或多个区块链节点设备瘫痪,都不会导致区块链数据的丢失,这样区块链数据就具有很强的安全性,确保数据的永久保存和不可篡改。当一个区块持久化到区块链数据中时,接入服务器的区块链节点设备都可以添加该区块;区块是按照持久化时间顺序一个一个地添加到区块链数据中的,除了区块链数据中第一个区块外的每一个区块都要链接到其前一个区块,这样区块链数据就形成一个区块链接这一个区块了,就像一个链条一样,当一个区块被持久化到区块链数据后,该区块就无法被修改了。
目前应用于共识机制的类似公式算法是比特币的POW(Proof Of Work,工作量证明)挖矿共识,这种依靠算力的共识算法很难在车联网应用中得到普及。由于车联网中没有可凭算力争夺记账权的高性能的计算机处理设备,所以无法实现像POW类似的公式算法,在资源有限的设备中,实现区块链的共识比较适合采用本方案采用的共识算法。
下面将对本申请中的区块链共识方法的可能的运用环境进行简单说明。请参阅图1,本申请中的区块链共识方法可以运用于车联网中,在该车联网环境中运行有一个具有多个节点设备(车辆网中每一辆汽车均可认为是一个节点)的区块链网络,每个节点设备都安装有一套车载硬件,该车载硬件运行TEE环境。具体地,在该区块链网络中约定每隔一个时间长度(比如每隔10分钟),由区块链网络里中的所有节点进行一次共识,通过共识方法选出的记账节点打包一个新的区块并提交给区块链网络。
为了便于理解,下面对本申请实施例中的具体流程进行描述,请参阅图2,本申请实施例中一种区块链共识方法的一个实施例可包括:
201、在可信执行环境TEE中周期性的发出执行预置操作的操作指令。
本申请实施例中,接入区块链的节点设备需要通过硬件或软件实现并运行于TEE环境中,由于接入区块链的节点设备均运行于TEE环境中,各个节点生成的数据是可信性的,不可伪造的。
其中,TEE是Trusted Execution Environment的缩写简称,是可信执行环境的简称,TEE设备可以提供用户更高的安全和更友好的用户体验,并可以使实现简单的便捷的链接到数字网络上。现有的TEE已发展的比较成熟了,具体的TEE环境既可以用软件实现,例如Trustonic公司的t-base、Solacia公司的secure TEE、来自STMicroelectronics,BSD授权支持下的开源实现的OP-TEE,等,也可以用硬件实现,例如,AMD的PSP(Platform SecurityProcessor)处理器、ARM Trust Zone技术(支持Trust Zone的所有ARM处理器)、Intel x86-64指令集:SGX Software Guard Extensions等等,具体的TEE环境实现方式为现有技术,此处不做赘述。
接入区块链的节点设备均运行于TEE环境之后,各个区块链节点设备可以周期性的在相同时间点发出执行相同预置操作的操作指令,例如,各个区块链节点设备可以设置每10分钟都发出执行随机延时的操作指令,具体的周期及预置的操作指令的类型,可以根据实际运用中所有节点的硬件配置进行合理的设置,具体的此处不做限定。
202、记录自身执行预置操作的第一响应时间;
由于接入区块链的节点设备均运行于TEE环境中,各个区块链节点设备中生成的数据具有可信性,在执行相同的预置操作时,区块链节点设备的本地设备的第一响应时间可以反映出区块链节点设备的本地设备当前的状态,进而可以根据区块链节点设备的本地设备的状态选出,状态最好的节点作为区块链记账节点,以进行下一周期内的记账权限,负责下一周期内区块链中区块的生成与同步。
203、根据其他区块链节点设备的响应时间及自身的第一响应时间确定响应时间最小的区块链节点设备为记账节点。
实际运用中,当接入区块链的节点设备同时发出预置操作指令时,区块链节点设备的本地设备的响应时间越短,则对应的节点的本地设备的当前资源越充足,优选的,选择响应时间最小的区块链节点设备为记账节点,以进行下一周期内的记账权限,负责下一周期内区块链中区块的生成与同步。
本申请实施例中,接入区块链的节点设备可以在TEE环境中周期性的发出执行预置操作的操作指令,并记录自身执行预置操作的响应时间,由于接入区块链的节点设备均运行于TEE环境中,保障了响应时间数据的可信性,只需要根据节点自身的响应时间及其他节点的响应时间,就可以确定响应时间最小的区块链节点设备为记账节点,完成了区块链节点设备之间的共识,算法简单,节约了系统运算资源,解决现有的区块链共识算法耗时过长的问题。
上述实施例对本申请实施例中的区块链共识方法的流程进行了描述,下面将对结合具体的实施例对本申请实施例中的区块链共识方法进行描述,请参阅图3,本申请实施例中的区块链共识方法的另一个实施例可包括:
301在可信执行环境TEE中周期性的发出执行相同预置操作的操作指令。
302、记录自身执行预置操作的第一响应时间。
本实施例中的步骤301至302中所描述的内容与上述图2所示的实施例中的步骤201至202中所描述的内容类似,具体请参阅步骤201至202,此处不做赘述。
303、根据其他区块链节点设备的响应时间及自身的第一响应时间确定响应时间最小的区块链节点设备为记账节点。
接入区块链中的节点在记录自身的响应时间之后,若没有接收到其他区块链节点设备广播的响应时间,则可能该节点的响应时间最小,则该节点可以向区块链网络中广播自身的响应时间。或者,该节点接收到其他区块链节点设备广播的响应时间,但其他节点的响应时间大于自身的响应时间,则该节点向区块链网络中广播自身的响应时间,反之,若接收到其他区块链节点设备广播的响应时间,或者,接收到其他区块链节点设备广播的响应时间小于所述第一响应时间,则停止向区块链网络中广播所述第一响应时间,以使响应时间最小的区块链节点设备确定为记账节点。
特别的,当两个区块链节点设备的响应时间相同时,可以选择最先发出广播的区块链节点设备作为记账节点,另一节点设备在得知记账节点已产生的情况下,则放弃该同一高度的新区块的打包,然后开始等待下一个周期的共识过程。
304、接收待写入区块链的交易信息,并将交易信息向区块链网络中进行广播。
在生成新区块之前,记账节点需要获取待写入区块链的交易信息,区块链中可以设置任一节点均可以接收交易信息,也可以设置预置数量的节点接收交易信息,具体此处不做限定,接收到交易信息的节点可以向接入区块链中的其他节点广播交易信息,使得接入区块链中的其他节点以及记账节点可以获取到交易信息。
305、记账节点交易信息封装进新区块并登记在区块链中进行全网广播,以使得区块链网络中的其他区块链节点设备同步更新节点数据。
在确定某一周期的记账节点,并获取到该周期内的交易信息之后,记账节点将交易信息写入新区块并进行广播,以使得区块链网络中的其他区块链节点设备同步更新区块链。
具体的,当区块链节点设备为记账节点时,则区块链节点设备将交易信息封装进新区块并登记在区块链中进行全网广播,以使得区块链网络中的其他区块链节点设备同步更新节点数据;当区块链节点设备不为记账节点时,在接收到作为记账节点的其他区块链节点设备将交易信息封装进新区块的消息时,停止将待交易信息封装进新区块。
例如,在车联网环境中运行有一个具有多个节点(车辆网中每一辆汽车均可认为是一个节点)的区块链网络,每个节点都安装有一套车载硬件,因此可以说该区块链网络的共识基于上述车载硬件;具体地,在该区块链网络中约定每隔一个时间长度(比如每隔10分钟),并且由区块链网络里中的所有节点进行一次共识,通过共识算法选出的记账节点打包一个新的区块并提交给区块链网络。
本申请实施例中,接入区块链的节点设备可以在TEE环境中周期性的发出执行预置操作的操作指令,并记录自身执行预置操作的响应时间,由于接入区块链的节点设备均运行于TEE环境中,保障了响应时间数据的可信性,只需要根据节点自身的响应时间及其他节点的响应时间,就可以确定响应时间最小的区块链节点设备为记账节点,完成了区块链节点设备之间的共识,算法简单,节约了系统运算资源,解决现有的区块链共识算法耗时过长的问题。
可以理解的是,在本申请的各种实施例中,上述各步骤的序号的大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上述实施例对本申请实施例中的区块链共识方法进行了描述,下面将对本申请实施例中的区块链共识装置进行描述,请参阅图4,本申请实施例中一种区块链共识装置的一个实施例可包括:
发送模块401,用于在可信执行环境TEE中周期性的发出执行相同预置操作的操作指令;
记录模块402,用于记录自身执行预置操作的第一响应时间;
确定模块403,用于根据其他区块链节点设备的响应时间确定响应时间最小的区块链节点设备为记账节点。
可选的,作为一种可能的实施方式,本申请实施例中的确定模块403可以包括:
第一确定单元4031,若没有接收到其他区块链节点设备广播的响应时间,或者,接收到其他区块链节点设备广播的响应时间大于所述第一响应时间,则用于向区块链网络中广播所述第一响应时间,并将所述区块链节点设备作为记账节点;
第二确定单元4032,若接收到其他区块链节点设备广播的响应时间,或者,接收到其他区块链节点设备广播的响应时间小于所述第一响应时间,则停止向区块链网络中广播所述第一响应时间,以使响应时间最小的区块链节点设备确定为记账节点。
可选的,作为一种可能的实施方式,请参阅图5,本申请实施例中的区块链共识装置,还可以进一步包括:
第一接收模块404,用于接收待写入区块链的交易信息;
广播模块405,用于将交易信息向区块链网络中进行广播。
可选的,作为一种可能的实施方式,请参阅图4,本申请实施例中的区块链共识装置,还可以进一步包括:
第二接收模块406,当所述区块链节点设备为记账节点时,用于将所述交易信息封装进新区块并登记在区块链中进行全网广播,以使得区块链网络中的其他区块链节点设备同步更新节点数据;
识别模块407,当所述区块链节点设备不为记账节点时,在接收到作为记账节点的其他区块链节点设备将所述交易信息封装进新区块的消息时,停止将所述待交易信息封装进新区块。
本申请实施例中,接入区块链的节点设备可以在TEE环境中周期性的发出执行预置操作的操作指令,并记录自身执行预置操作的响应时间,由于接入区块链的节点设备均运行于TEE环境中,保障了响应时间数据的可信性,只需要根据节点自身的响应时间及其他节点的响应时间,就可以确定响应时间最小的区块链节点设备为记账节点,完成了区块链节点设备之间的共识,算法简单,节约了系统运算资源,解决现有的区块链共识算法耗时过长的问题。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上面从模块化功能实体的角度对本申请实施例中的用于区块链的车辆配件数据处理装置进行了描述,下面从硬件处理的角度对本申请实施例中的计算机装置进行描述:
本申请实施例还提供了一种计算机装置6,如图6所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该计算机装置6一般指服务器等处理能力较强的计算机设备。
参考图6,计算机装置6包括:电源610、存储器620、处理器630、有线或无线网络接口640以及存储在存储器中并可在处理器上运行的计算机程序。处理器执行计算机程序时实现上述各个车辆OBD接头管理方法实施例中的步骤,例如图2所示的步骤201至203。或者,处理器执行计算机程序时实现上述各装置实施例中各模块或单元的功能。
本申请的一些实施例中,处理器具体用于实现如下步骤:
在可信执行环境TEE中周期性的发出执行相同预置操作的操作指令;
记录所述区块链节点设备执行所述预置操作的第一响应时间;
根据其他区块链节点设备的响应时间及所述第一响应时间确定响应时间最小的区块链节点设备为记账节点。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
若没有接收到其他区块链节点设备广播的响应时间,或者,接收到其他区块链节点设备广播的响应时间大于所述第一响应时间,则向区块链网络中广播所述第一响应时间,并将所述区块链节点设备作为记账节点;
若接收到其他区块链节点设备广播的响应时间,或者,接收到其他区块链节点设备广播的响应时间小于所述第一响应时间,则停止向区块链网络中广播所述第一响应时间,以使响应时间最小的区块链节点设备确定为记账节点。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
接收待写入区块链的交易信息;
将交易信息向区块链网络中进行广播。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
当所述区块链节点设备为记账节点时,则所述区块链节点设备将所述交易信息封装进新区块并登记在区块链中进行全网广播,以使得区块链网络中的其他区块链节点设备同步更新节点数据;
当所述区块链节点设备不为记账节点时,在接收到作为记账节点的其他区块链节点设备将所述交易信息封装进新区块的消息时,停止将所述待交易信息封装进新区块。
计算机装置6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器中,并由处理器执行。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
本领域技术人员可以理解,图6中示出的结构并不构成对计算机装置6的限定,计算机装置6可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,例如计算机装置还可以包括输入输出设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本申请还提供了一种区块链系统,区块链系统包括多个节点,节点至少可以包括如上述说明的计算机装置。更多的细节,可以一并参照前述实施例中的描述。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,可以实现如下步骤:
在可信执行环境TEE中周期性的发出执行相同预置操作的操作指令;
在可信执行环境TEE中周期性的发出执行相同预置操作的操作指令;
记录所述区块链节点设备执行所述预置操作的第一响应时间;
根据其他区块链节点设备的响应时间及所述第一响应时间确定响应时间最小的区块链节点设备为记账节点。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
若没有接收到其他区块链节点设备广播的响应时间,或者,接收到其他区块链节点设备广播的响应时间大于所述第一响应时间,则向区块链网络中广播所述第一响应时间,并将所述区块链节点设备作为记账节点;
若接收到其他区块链节点设备广播的响应时间,或者,接收到其他区块链节点设备广播的响应时间小于所述第一响应时间,则停止向区块链网络中广播所述第一响应时间,以使响应时间最小的区块链节点设备确定为记账节点。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
接收待写入区块链的交易信息;
将交易信息向区块链网络中进行广播。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
当所述区块链节点设备为记账节点时,则所述区块链节点设备将所述交易信息封装进新区块并登记在区块链中进行全网广播,以使得区块链网络中的其他区块链节点设备同步更新节点数据;
当所述区块链节点设备不为记账节点时,在接收到作为记账节点的其他区块链节点设备将所述交易信息封装进新区块的消息时,停止将所述待交易信息封装进新区块。
计算机装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种区块链共识方法,其特征在于,应用于区块链节点设备,所述方法包括:
在可信执行环境TEE中周期性的发出执行相同预置操作的操作指令;
记录所述区块链节点设备执行所述预置操作的第一响应时间;
根据其他区块链节点设备的响应时间及所述第一响应时间确定响应时间最小的区块链节点设备为记账节点。
2.根据权利要求1所述的方法,其特征在于,所述根据其他区块链节点设备的响应时间及所述第一响应时间确定响应时间最小的区块链节点设备为记账节点,具体包括:
若没有接收到其他区块链节点设备广播的响应时间,或者,接收到其他区块链节点设备广播的响应时间大于所述第一响应时间,则向区块链网络中广播所述第一响应时间,并将所述区块链节点设备作为记账节点;
若接收到其他区块链节点设备广播的响应时间,或者,接收到其他区块链节点设备广播的响应时间小于所述第一响应时间,则停止向区块链网络中广播所述第一响应时间,以使响应时间最小的区块链节点设备确定为记账节点。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:接收待写入区块链的交易信息;将所述交易信息向区块链网络中进行广播。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述区块链节点设备为记账节点时,则所述区块链节点设备将所述交易信息封装进新区块并登记在区块链中进行全网广播,以使得区块链网络中的其他区块链节点设备同步更新节点数据;
当所述区块链节点设备不为记账节点时,在接收到作为记账节点的其他区块链节点设备将所述交易信息封装进新区块的消息时,停止将所述待交易信息封装进新区块。
5.一种区块链节点设备,其特征在于,包括:
发送模块,用于在可信执行环境TEE中周期性的发出执行相同预置操作的操作指令;
记录模块,用于记录自身执行所述预置操作的第一响应时间;
确定模块,用于根据其他区块链节点设备的响应时间及所述第一响应时间确定响应时间最小的区块链节点设备为记账节点。
6.根据权利要求5所述的装置,其特征在于,所述确定模块包括:
第一确定单元,若没有接收到其他区块链节点设备广播的响应时间,或者,接收到其他区块链节点设备广播的响应时间大于所述第一响应时间,则用于向区块链网络中广播所述第一响应时间,并将所述区块链节点设备作为记账节点;
第二确定单元,若接收到其他区块链节点设备广播的响应时间,或者,接收到其他区块链节点设备广播的响应时间小于所述第一响应时间,则停止向区块链网络中广播所述第一响应时间,以使响应时间最小的区块链节点设备确定为记账节点。
7.根据权利要求5或6所述的装置,其特征在于,还包括:
接收模块,当所述区块链节点设备为记账节点时,用于将所述交易信息封装进新区块并登记在区块链中进行全网广播,以使得区块链网络中的其他区块链节点设备同步更新节点数据;
识别模块,当所述区块链节点设备不为记账节点时,在接收到作为记账节点的其他区块链节点设备将所述交易信息封装进新区块的消息时,停止将所述待交易信息封装进新区块。
8.一种计算机装置,其特征在于,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至4中任意一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至4中任意一项所述方法的步骤。
10.一种区块链系统,其特征在于,所述区块链系统包括多个节点,所述节点包括如权利要求8所述的计算机装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810344552.2A CN108512939B (zh) | 2018-04-17 | 2018-04-17 | 一种区块链共识方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810344552.2A CN108512939B (zh) | 2018-04-17 | 2018-04-17 | 一种区块链共识方法、装置及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108512939A true CN108512939A (zh) | 2018-09-07 |
CN108512939B CN108512939B (zh) | 2020-09-11 |
Family
ID=63382463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810344552.2A Active CN108512939B (zh) | 2018-04-17 | 2018-04-17 | 一种区块链共识方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108512939B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109481936A (zh) * | 2018-10-26 | 2019-03-19 | 咪咕文化科技有限公司 | 一种区块链记账节点选择方法、装置及计算机可读存储介质 |
CN109726229A (zh) * | 2018-11-30 | 2019-05-07 | 深圳市元征科技股份有限公司 | 一种区块链数据存储方法及装置 |
CN110290021A (zh) * | 2019-06-19 | 2019-09-27 | 辽宁大学 | 基于动态规划算法的跨链共识时延优化方法 |
CN110915164A (zh) * | 2019-04-03 | 2020-03-24 | 阿里巴巴集团控股有限公司 | 基于可信执行环境中执行的智能合约操作处理区块链数据 |
CN111163148A (zh) * | 2019-12-24 | 2020-05-15 | 腾讯科技(深圳)有限公司 | 一种区块链系统的共识状态的同步方法及相关设备 |
CN111371558A (zh) * | 2020-02-26 | 2020-07-03 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、电子设备及介质 |
CN111371871A (zh) * | 2020-02-27 | 2020-07-03 | 苏州市星际云通区块链科技有限公司 | 一种区块链节点设备及区块链网络系统 |
CN112231414A (zh) * | 2020-12-14 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 区块链系统的数据同步方法、装置、可读介质及电子设备 |
CN112860786A (zh) * | 2019-11-27 | 2021-05-28 | 阿里健康信息技术有限公司 | 一种数据处理方法、装置、计算节点和存储介质 |
CN115134145A (zh) * | 2022-06-28 | 2022-09-30 | 蚂蚁区块链科技(上海)有限公司 | 区块链系统中的共识方法、装置和节点 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616064A (zh) * | 2008-06-24 | 2009-12-30 | 华为技术有限公司 | 数据管理方法、mesh网络系统及相关装置 |
CN106452886A (zh) * | 2016-10-31 | 2017-02-22 | 中国联合网络通信集团有限公司 | 一种超级节点选择方法及装置 |
CN106598824A (zh) * | 2016-11-25 | 2017-04-26 | 深圳前海微众银行股份有限公司 | 区块链的性能分析方法及装置 |
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
CN107172135A (zh) * | 2017-05-03 | 2017-09-15 | 施瑞琦 | 基于区块链的收视率统计方法及系统 |
CN107276765A (zh) * | 2017-07-04 | 2017-10-20 | 中国联合网络通信集团有限公司 | 区块链中共识的处理方法及装置 |
-
2018
- 2018-04-17 CN CN201810344552.2A patent/CN108512939B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616064A (zh) * | 2008-06-24 | 2009-12-30 | 华为技术有限公司 | 数据管理方法、mesh网络系统及相关装置 |
CN106452886A (zh) * | 2016-10-31 | 2017-02-22 | 中国联合网络通信集团有限公司 | 一种超级节点选择方法及装置 |
CN106598824A (zh) * | 2016-11-25 | 2017-04-26 | 深圳前海微众银行股份有限公司 | 区块链的性能分析方法及装置 |
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
CN107172135A (zh) * | 2017-05-03 | 2017-09-15 | 施瑞琦 | 基于区块链的收视率统计方法及系统 |
CN107276765A (zh) * | 2017-07-04 | 2017-10-20 | 中国联合网络通信集团有限公司 | 区块链中共识的处理方法及装置 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109481936B (zh) * | 2018-10-26 | 2022-04-29 | 咪咕文化科技有限公司 | 一种区块链记账节点选择方法、装置及计算机可读存储介质 |
CN109481936A (zh) * | 2018-10-26 | 2019-03-19 | 咪咕文化科技有限公司 | 一种区块链记账节点选择方法、装置及计算机可读存储介质 |
CN109726229A (zh) * | 2018-11-30 | 2019-05-07 | 深圳市元征科技股份有限公司 | 一种区块链数据存储方法及装置 |
CN109726229B (zh) * | 2018-11-30 | 2023-10-10 | 深圳市元征科技股份有限公司 | 一种区块链数据存储方法及装置 |
CN110915164A (zh) * | 2019-04-03 | 2020-03-24 | 阿里巴巴集团控股有限公司 | 基于可信执行环境中执行的智能合约操作处理区块链数据 |
CN110915164B (zh) * | 2019-04-03 | 2023-10-27 | 创新先进技术有限公司 | 基于可信执行环境中执行的智能合约操作处理区块链数据 |
CN110290021A (zh) * | 2019-06-19 | 2019-09-27 | 辽宁大学 | 基于动态规划算法的跨链共识时延优化方法 |
CN112860786A (zh) * | 2019-11-27 | 2021-05-28 | 阿里健康信息技术有限公司 | 一种数据处理方法、装置、计算节点和存储介质 |
CN111163148A (zh) * | 2019-12-24 | 2020-05-15 | 腾讯科技(深圳)有限公司 | 一种区块链系统的共识状态的同步方法及相关设备 |
CN111371558A (zh) * | 2020-02-26 | 2020-07-03 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、电子设备及介质 |
CN111371558B (zh) * | 2020-02-26 | 2024-01-16 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、电子设备及介质 |
CN111371871A (zh) * | 2020-02-27 | 2020-07-03 | 苏州市星际云通区块链科技有限公司 | 一种区块链节点设备及区块链网络系统 |
CN112231414A (zh) * | 2020-12-14 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 区块链系统的数据同步方法、装置、可读介质及电子设备 |
CN115134145A (zh) * | 2022-06-28 | 2022-09-30 | 蚂蚁区块链科技(上海)有限公司 | 区块链系统中的共识方法、装置和节点 |
CN115134145B (zh) * | 2022-06-28 | 2023-10-20 | 蚂蚁区块链科技(上海)有限公司 | 区块链系统中的共识方法、装置、计算设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108512939B (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108512939A (zh) | 一种区块链共识方法、装置及相关设备 | |
CN111355780A (zh) | 一种基于区块链的物联网监控管理方法及系统 | |
CN108347483B (zh) | 基于双层网络的去中心化计算系统 | |
CN110430235B (zh) | 跨链发送可认证消息的方法、装置、存储介质和计算设备 | |
CN104133765B (zh) | 网络活动的测试用例发送方法及测试用例服务器 | |
CN103019717A (zh) | 通过隐式应用模型来标识应用资源 | |
CN107682831A (zh) | 剩余流量的分享方法及装置、计算机装置及存储介质 | |
CN109522314A (zh) | 基于区块链的数据归档方法及终端设备 | |
CN110191105A (zh) | OpenStack加密链路实现方法及系统 | |
CN107092491A (zh) | 一种配置加载方法和系统 | |
CN107067559A (zh) | 一种实现充电桩互联充电的方法和装置 | |
CN112166445A (zh) | 基于区块链网络的联合学习方法和联合学习设备 | |
CN111597567A (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN111444090B (zh) | 区块链中的合约测试方法、装置、电子设备及存储介质 | |
CN107332700A (zh) | 一种用于配置无线路由设备的方法与设备 | |
CN112561510A (zh) | 缴费系统、方法、装置、设备及存储介质 | |
CN113011598A (zh) | 一种基于区块链的金融数据信息联邦迁移学习方法及装置 | |
Kirkman et al. | Using smart contracts and blockchains to support consumer trust across distributed clouds | |
CN108418814A (zh) | 基于dubbo框架的接口认证方法、装置及计算机可读存储介质 | |
CN109309671A (zh) | 一种基于区块链的通信设备数据管理方法和装置 | |
CN113014556B (zh) | 银企通讯系统、通讯方法以及电子终端 | |
CN114172895A (zh) | 一种路由方法、装置、计算机设备及存储介质 | |
KR102385702B1 (ko) | 데이터 분석 서비스 방법 및 이를 이용한 데이터 분석 시스템 | |
CN112910835A (zh) | 基于区块链的配置管理方法、装置、系统、设备和介质 | |
CN111767036A (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 |