CN112202765A - 基于可信计算的区块链共识出块方法、装置及相关产品 - Google Patents
基于可信计算的区块链共识出块方法、装置及相关产品 Download PDFInfo
- Publication number
- CN112202765A CN112202765A CN202011043980.5A CN202011043980A CN112202765A CN 112202765 A CN112202765 A CN 112202765A CN 202011043980 A CN202011043980 A CN 202011043980A CN 112202765 A CN112202765 A CN 112202765A
- Authority
- CN
- China
- Prior art keywords
- nodes
- block
- node
- block chain
- credibility
- 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
Images
Classifications
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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]
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于可信计算的区块链共识出块方法、装置及相关产品,方法包括:对区块链系统中多个区块链节点进行可信计算,确定所述多个区块链节点对应的可信度;基于所述多个区块链节点的可信度,确定出多个共识节点,以及确定所述多个共识节点对应的可信排名列表;基于所述可信排名列表,确定可信排名位于前列的共识节点为出块节点。通过本实施例的方案,可降低区块链系统中的出块延迟,减小交易数据完成上链的时间。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及一种基于可信计算的区块链共识出块方法、装置及相关产品。
背景技术
区块链系统本质上是分布式数据存储系统、点对点传输、共识机制、加密算法等技术的集成应用模式,能够在互联网上实现传统互联网无法实现的信任和价值传递。其基于密码学原理而非信用的特征,使得任何达成一致的双方能够直接交易,不需要第三方中介的参与。另一方面,区块链中几乎不存在单点故障,链上的数据存储在全球无数台机器节点上,使得数据“稳定”、“可信”且“不可篡改”,这重新赋予了网络上的数据一种可以被信任的价值。
但是,如何降低区块链系统中出块延迟,以减小交易数据完成上链的时间,成为亟待解决的技术问题。
发明内容
基于上述问题,本申请实施例提供了一种基于可信计算的区块链共识出块方法、装置及相关产品。
本申请实施例公开了如下技术方案:
1、一种基于可信计算的区块链共识出块方法,其特征在于,包括:
对区块链系统中多个区块链节点进行可信计算,确定所述多个区块链节点对应的可信度;
基于所述多个区块链节点的可信度,确定出多个共识节点,以及确定所述多个共识节点对应的可信排名列表;
基于所述可信排名列表,确定可信排名位于前列的共识节点为出块节点。
2、根据权利要求1所述的方法,其特征在于,所述对区块链系统中多个区块链节点进行可信计算,确定所述多个区块链节点对应的可信度包括:
针对所述多个区块链节点中的任一所述区块链节点,通过当前区块链节点的多个对端节点计算当前区块链节点的可信度量参数;
多个所述对端节点对计算获得的可信度量参数进行广播,以根据多个可信度量参数确定当前区块链节点的可信度。
3、根据权利要求2所述的方法,其特征在于,所述针对所述多个区块链节点中的任一所述区块链节点,通过当前区块链节点的多个对端节点计算当前区块链节点的可信度量参数包括:
通过当前区块链计算其自身的可信度分值,并将所述可信度分值发送至所述多个对端节点请求对端节点对当前区块链节点进行可信度量并将可信度量值以投票方式存储到链上;
多个所述对端节点对接收到的所述可信度分值进行验证操作,生成可信度量参数。
4、根据权利要求1所述的方法,其特征在于,所述将该出块节点在所述可信排名列表中的排名后移包括:
从所述可信排名列表中将该出块节点删除。
5、根据权利要求1所述的方法,其特征在于,所述出块节点发生出块延迟的情况包括:所述出块节点在第一时间阈值内未完成出块。
6、根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述多个区块链节点各自所在的局域网;
若判定所述多个区块链节点处于同一局域网内,则确定所述第二时间阈值为t1;
若判定所述多个区块链节点处于同一局域网内,则确定所述第二时间阈值为t2,其中,t2小于t1。
7、一种区块链系统,其特征在于,包括:多个区块链节点,每个区块链节点上设置有可信计算模块,用于进行可信计算,确定所述多个区块链节点对应的可信度;基于所述多个区块链节点的可信度,确定出多个共识节点,以及确定所述多个共识节点对应的可信排名列表;基于所述可信排名列表,确定可信排名位于前列的共识节点为出块节点。
8、根据权利要求7所述的系统,其特征在于,针对所述多个区块链节点中的任一所述区块链节点,通过当前区块链节点的多个对端节点计算当前区块链节点的可信度量参数;多个所述对端节点对计算获得的可信度量参数进行广播,以根据多个可信度量参数确定当前区块链节点的可信度。
9、根据权利要求8所述的系统,其特征在于,每个区块链节点上还设置有发送模块,用于通过当前区块链计算其自身的可信度分值,并将所述可信度分值发送至所述多个对端节点请求对端节点对当前区块链节点进行可信度量并将可信度量值以投票方式存储到链上;参数生成模块,用于多个所述对端节点对接收到的所述可信度分值进行验证操作,生成可信度量参数。
10、根据权利要求7所述的系统,其特征在于,所述将该出块节点在所述可信排名列表中的排名后移包括:从所述可信排名列表中将该出块节点删除。
11、根据权利要求7所述的系统,其特征在于,所述出块节点发生出块延迟的情况包括:所述出块节点在第一时间阈值内未完成出块。
12、根据权利要求7所述的系统,其特征在于,所述系统还包括:确定所述多个区块链节点各自所在的局域网;若判定所述多个区块链节点处于同一局域网内,则确定所述第二时间阈值为t1;或者,若判定所述多个区块链节点处于同一局域网内,则确定所述第二时间阈值为t2,其中,t2小于t1。
13、一种电子设备,其特征在于,包括:存储器以及处理器,所述存储器上存储有计算机可执行指令,所述处理器用于执行所述计算机可执行指令以执行如下步骤:
对区块链系统中多个区块链节点进行可信计算,确定所述多个区块链节点对应的可信度;
基于所述多个区块链节点的可信度,确定出多个共识节点,以及确定所述多个共识节点对应的可信排名列表;
基于所述可信排名列表,确定可信排名位于前列的共识节点为出块节点。
14、根据权利要求13所述的电子设备,其特征在于,所述处理器具体用于对区块链系统中多个区块链节点进行可信计算,确定所述多个区块链节点对应的可信度,包括:
针对所述多个区块链节点中的任一所述区块链节点,通过当前区块链节点的多个对端节点计算当前区块链节点的可信度量参数;
多个所述对端节点对计算获得的可信度量参数进行广播,以根据多个可信度量参数确定当前区块链节点的可信度。
15、根据权利要求14所述的电子设备,其特征在于,所述处理器具体用于针对所述多个区块链节点中的任一所述区块链节点,通过当前区块链节点的多个对端节点计算当前区块链节点的可信度量参数,包括:
通过当前区块链计算其自身的可信度分值,并将所述可信度分值发送至所述多个对端节点请求对端节点对当前区块链节点进行可信度量并将可信度量值以投票方式存储到链上;
多个所述对端节点对接收到的所述可信度分值进行验证操作,生成可信度量参数。
16、根据权利要求13所述的电子设备,其特征在于,所述处理器具体从所述可信排名列表中将该出块节点删除。
17、根据权利要求13所述的电子设备,其特征在于,所述出块节点发生出块延迟的情况包括:所述出块节点在第一时间阈值内未完成出块。
18、根据权利要求13所述的电子设备,其特征在于,所述处理器还用于:
确定所述多个区块链节点各自所在的局域网;
若判定所述多个区块链节点处于同一局域网内,则确定所述第二时间阈值为t1;
若判定所述多个区块链节点处于同一局域网内,则确定所述第二时间阈值为t2,其中,t2小于t1。
19、一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机可执行指令,所述计算机可执行指令被执行时实施如下步骤:
对区块链系统中多个区块链节点进行可信计算,确定所述多个区块链节点对应的可信度;
基于所述多个区块链节点的可信度,确定出多个共识节点,以及确定所述多个共识节点对应的可信排名列表;
基于所述可信排名列表,确定可信排名位于前列的共识节点为出块节点。
本申请实施例的技术方案中,对区块链系统中多个区块链节点进行可信计算,确定所述多个区块链节点对应的可信度;基于所述多个区块链节点的可信度,确定出多个共识节点,以及确定所述多个共识节点对应的可信排名列表;基于所述可信排名列表,确定可信排名位于前列的共识节点为出块节点。由此,通过维护可信排名列表,降低区块链系统中的出块延迟,减小交易数据完成上链的时间。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中区块链系统结构示意图;
图2为本申请实施例中基于可信计算的区块链共识出块方法流程示意图;
图3为本申请实施例中基于可信计算的区块链共识出块方法流程示意图;
图4为本申请实施例中电子设备的结构示意图;
图5为本申请实施例中电子设备的硬件结构示意图。
具体实施方式
实施本申请实施例的任一技术方案必不一定需要同时达到以上的所有优点。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本申请实施例中区块链系统结构示意图;如图1所示,所述区块链系统包括若干个区块链节点,所述若干个区块链节点可以作为共识节点或者普通节点,其中,共识节点可以视为出块节点的备选,普通节点可以用于同步数据,但不能用于出块。
本实施例中,在所述区块链系统中存储有海量的数据,该数据可以根据应用场景的要求来确定。比如,对于银行来说,该数据可以关联于银行运营的财务数据、用户数据等。
本实施例中,区块链节点可以为通过互联网相连的电脑或者服务器或者任意电子终端。
本实施例中,通过节点间信任关系使得区块链系统中的所有区块链节点之间建立信任机制,从而保证存储到区块链系统中数据的安全性。
本申请实施例的技术方案中,通过对区块链系统中多个区块链节点进行可信计算,确定所述多个区块链节点对应的可信度;
基于所述多个区块链节点的可信度,确定出多个共识节点,以及确定所述多个共识节点对应的可信排名列表;
基于所述可信排名列表,确定可信排名位于前列的共识节点为出块节点。
由此,通过维护可信排名列表,可以可信度较低的区块链节点作为出块节点的概率,可信度较高时,区块链节点的反应速度也较高,从而可以降低区块链系统中的出块延迟,减小交易数据完成上链的时间。
另外,可选地,在另一实施例中,若所述出块节点发生出块延迟的情况,则将该出块节点在所述可信排名列表中的排名后移。
由此,通过维护可信排名列表,可以降低将发生出块延迟情况的区块链节点作为出块节点的概率,以降低区块链系统中的出块延迟,减小交易数据完成上链的时间。
图2为本申请实施例中基于可信计算的区块链共识出块方法流程示意图;如图2所示,其包括:
S201、对区块链系统中多个区块链节点进行可信计算,确定所述多个区块链节点对应的可信度。
本实施例中,步骤S201可以包括:
针对所述多个区块链节点中的任一所述区块链节点,通过当前区块链节点的多个对端节点计算当前区块链节点的可信度量参数;
多个所述对端节点对计算获得的可信度量参数进行广播,以根据多个可信度量参数确定当前区块链节点的可信度。
由此,可以由当前区块链节点的多个对端节点共同参与可信度的确定过程,并可以通过广播对各个区块链的可信度达成共识,以提高确定的可信度的可信程度。
本实施例中,当前区块链节点的多个对端节点为用于接收当前区块链节点的信息的其他区块链节点。
本实施例中,当多个对端节点中的三分之一以上的可信度量参数指示,当前区块节点不可信,则确定当前区块链节点的可信度不可信,则可以重复确定可信度的步骤,或者直接确定当前区块节点的可信度较低。
本实施例中,所述针对所述多个区块链节点中的任一所述区块链节点,通过当前区块链节点的多个对端节点计算当前区块链节点的可信度量参数包括:
通过当前区块链计算其自身的可信度分值,并将所述可信度分值发送至所述多个对端节点请求对端节点对当前区块链节点进行可信度量并将可信度量值以投票方式存储到链上。
多个所述对端节点对接收到的所述可信度分值进行验证操作,生成可信度量参数。
本实施例中,当前区块链节点所在的电子设备可以内置有可信计算模块。可信计算模块可以对当前区块链节点所在的电子设备的身份认证信息、和其他节点的交互行为等,对当前区块链节点的可信度进行度量,获得当前区块链节点自身的可信度分值。
本实施例中,当前区块链节点所在的电子设备中可以构建有信任根以及可信链,在电子设备运行时信任根通过可信链传递,以完成对电子设备中区块链节点的相关应用程序的完整性验证,生成对应的可信度分值。
具体的,当前区块链节点中的可信计算模块可以将当前区块节点中的预设时间段内的历史操作,基于可信根进行验证,生成当前区块链节点的可信度分值。
可信度分值可以实时更新,也可以定时更新,本实施例对此不进行限定。
本实施例中,多个所述对端节点对接收到的所述可信度分值进行验证操作,生成可信度量参数。由此,多个对端节点可以对可信度分值进行验证,之后对生成的可信度量参数进行广播,使得区块链系统中的多个节点可以对当前区块链节点的可信度达成共识,并将共识的可信度作为当前区块链节点的可信度。
S202、基于所述多个区块链节点的可信度,确定出多个共识节点,以及确定所述多个共识节点对应的可信排名列表。
本实施例中,可信排名列表中可以包括所有共识节点,也可以包括部分共识节点,当可信排名列表中包括部分共识节点时,部分可信度较低的共识节点不在可信排名列表中。
S203、基于所述可信排名列表,确定可信排名位于前列的共识节点为出块节点。
本实施例中,多个区块链节点可以基于可信排名列表进行计算,各自预测下一作为出块节点的共识节点,并进行广播,多个区块链节点对下一出块节点进行投票,以达成共识,从而基于可信排名列表,确定可信排名位于前列的共识节点为出块节点。
可选的,本实施例中,步骤S203之后,还可以包括:
S204、若所述出块节点发生出块延迟的情况,则将该出块节点在所述可信排名列表中的排名后移。
本实施例中,步骤S204之后,可以重新执行步骤S203,以确定新的出块节点。
本实施例中,在步骤204中,所述将该出块节点在所述可信排名列表中的排名后移包括:从所述可信排名列表中将该出块节点删除。
本实施例中,在步骤204中,所述出块节点发生出块延迟的情况包括:所述出块节点在第一时间阈值内未完成出块。
具体的,本实施例中,如图3所示,步骤S204可以包括:
S2041、通过当前的出块节点所在的电子设备内置的可信计算模块进行动态可信度验证,若确定发生出块延迟的情况,则降低可信度分值;
S2042、通过当前的出块节点的可信计算模块联合所述电子设备生成随机数,根据所述随机数生成电子签名;
S2043、将所述出块操作信息和降低后的所述可信度分值通过所述电子签名加密,并发送至当前的出块节点的多个对端节点。
S2044、通过多个对端节点中内置的可信计算模块,根据所述随机数对所述电子签名进行验证;
S2045、如电子签名验证通过,则对所述出块操作和降低后的所述可信度分值进行验证,并将验证结果进行广播,以根据多个对端节点的验证结果,确定是否将该出块节点在所述可信排名列表中的排名后移。
本实施例中,如超过三分之一的对端节点当前的出块节点的可信度分值验证结果为真,则确定对端节点达成共识,则将该出块节点在所述可信排名列表中的排名后移。
本实施例中,如确定将该出块节点在所述可信排名列表中的排名后移,则还可以根据多个出块操作验证结果,确定该出块节点后移的位数。
本实施例中,由于节点间的信息均通过非对称加密算法进行加密,故能够保证电子签名和加密后的出块操作和降低后的所述可信度分值的信息准确性;通过可信计算模块联合所述电子设备生成随机数进行电子签名,可以保证每次生成的电子签名均存在差异,以用于验证加密后的出块操作和降低后的所述可信度分值的真实性,由此,通过上述方案,可以保证了对端节点获得的加密后的出块操作和降低后的所述可信度分值真实有效,以保证将该出块节点在所述可信排名列表中的排名后移的操作的准确性。
示例的,本实施例的一种实现方式中,若当前的出块节点发生出块延迟的情况,即,出块节点的对端节点超过第一预设时间未收到出块节点生成的新区块,则对端节点可以进行广播,当多个对端节点达成共识后,可以将出块节点在可信排名列表中的排名后移。
本实施例中,步骤S204之后,还可以包括:
若所述出块节点发生出块延迟的情况,则将基于所述可信排名列表,更新所述出块节点。
或者,若所述出块节点完成出块,但所述多个区块链节点达成共识的时间大于第二时间阈值,则确定出块失败,并将基于所述可信排名列表,更新所述出块节点。
本实施例的方案,通过维护可信排名列表,降低区块链系统中的出块延迟,减小交易数据完成上链的时间。
本申请另一实施例中的区块链系统。区块链系统包括:多个区块链节点,每个区块链节点上设置有可信计算模块,用于进行可信计算,确定所述多个区块链节点对应的可信度;基于所述多个区块链节点的可信度,确定出多个共识节点,以及确定所述多个共识节点对应的可信排名列表;基于所述可信排名列表,确定可信排名位于前列的共识节点为出块节点;若所述出块节点发生出块延迟的情况,则将该出块节点在所述可信排名列表中的排名后移。
可选的,本申请任意实施例中,针对所述多个区块链节点中的任一所述区块链节点,通过当前区块链节点的多个对端节点计算当前区块链节点的可信度量参数;多个所述对端节点对计算获得的可信度量参数进行广播,以根据多个可信度量参数确定当前区块链节点的可信度。
可选的,本申请任意实施例中,每个区块链节点上还设置有发送模块,用于通过当前区块链计算其自身的可信度分值,并将所述可信度分值发送至所述多个对端节点请求对端节点对当前区块链节点进行可信度量并将可信度量值以投票方式存储到链上。参数生成模块,用于多个所述对端节点对接收到的所述可信度分值进行验证操作,生成可信度量参数。
可选的,本申请任意实施例中,所述将该出块节点在所述可信排名列表中的排名后移包括:从所述可信排名列表中将该出块节点删除。
可选的,本申请任意实施例中,所述出块节点发生出块延迟的情况包括:所述出块节点在第一时间阈值内未完成出块。
可选的,本申请任意实施例中,若所述出块节点发生出块延迟的情况,则将基于所述可信排名列表,更新所述出块节点。或者,若所述出块节点完成出块,但所述多个区块链节点达成共识的时间大于第二时间阈值,则确定出块失败,并将基于所述可信排名列表,更新所述出块节点。
可选的,本申请任意实施例中,确定所述多个区块链节点各自所在的局域网;若判定所述多个区块链节点处于同一局域网内,则确定所述第二时间阈值为t1;或者,若判定所述多个区块链节点处于同一局域网内,则确定所述第二时间阈值为t2,其中,t2小于t1。
图4为本申请实施例中电子设备的结构示意图;如图4所示,该电子设备作为区块链节点,电子设备包括可信计算模块。
所述可信计算模块用于基于设置的可信计算机制,计算对应区块链节点的可信值并广播。
接收到所述可信值的对端节点通过自身的可信计算模块,根据所述可信值,对所述可信值对应的区块链节点进行验证并投票,确定被投票的区块链节点对应的可信度。从而,基于所述多个区块链节点的可信度,确定出多个共识节点,以及确定所述多个共识节点对应的可信排名列表;基于所述可信排名列表,确定可信排名位于前列的共识节点为出块节点;若所述出块节点发生出块延迟的情况,则将该出块节点在所述可信排名列表中的排名后移。
可选的,本申请任意实施例中,针对所述多个区块链节点中的任一所述区块链节点,通过当前区块链节点的多个对端节点计算当前区块链节点的可信度量参数;多个所述对端节点对计算获得的可信度量参数进行广播,以根据多个可信度量参数确定当前区块链节点的可信度。
可选的,本申请任意实施例中,每个区块链节点上还设置有发送模块,用于通过当前区块链计算其自身的可信度分值,并将所述可信度分值发送至所述多个对端节点请求对端节点对当前区块链节点进行可信度量并将可信度量值以投票方式存储到链上。参数生成模块,用于多个所述对端节点对接收到的所述可信度分值进行验证操作,生成可信度量参数。
可选的,本申请任意实施例中,所述将该出块节点在所述可信排名列表中的排名后移包括:从所述可信排名列表中将该出块节点删除。
可选的,本申请任意实施例中,所述出块节点发生出块延迟的情况包括:所述出块节点在第一时间阈值内未完成出块。
可选的,本申请任意实施例中,若所述出块节点发生出块延迟的情况,则将基于所述可信排名列表,更新所述出块节点。或者,若所述出块节点完成出块,但所述多个区块链节点达成共识的时间大于第二时间阈值,则确定出块失败,并将基于所述可信排名列表,更新所述出块节点。
可选的,本申请任意实施例中,确定所述多个区块链节点各自所在的局域网;若判定所述多个区块链节点处于同一局域网内,则确定所述第二时间阈值为t1;或者,若判定所述多个区块链节点处于同一局域网内,则确定所述第二时间阈值为t2,其中,t2小于t1。
图5为本申请实施例中电子设备的硬件结构示意图;如图5所示,该电子设备的硬件结构可以包括:处理器501,通信接口502,计算机可读介质503和通信总线504;
其中,处理器501、通信接口502、计算机可读介质503通过通信总线504完成相互间的通信;
可选的,通信接口502可以为通信模块的接口,如GSM模块的接口;
所述存储器上存储有计算机可执行指令,所述处理器用于执行所述计算机可执行指令以执行如下步骤:
对区块链系统中多个区块链节点进行可信计算,确定所述多个区块链节点对应的可信度;
基于所述多个区块链节点的可信度,确定出多个共识节点,以及确定所述多个共识节点对应的可信排名列表;
基于所述可信排名列表,确定可信排名位于前列的共识节点为出块节点。
若所述出块节点发生出块延迟的情况,则将该出块节点在所述可信排名列表中的排名后移。
可选的,本申请任意实施例中,所述处理器具体用于对区块链系统中多个区块链节点进行可信计算,确定所述多个区块链节点对应的可信度,包括:
针对所述多个区块链节点中的任一所述区块链节点,通过当前区块链节点的多个对端节点计算当前区块链节点的可信度量参数;
多个所述对端节点对计算获得的可信度量参数进行广播,以根据多个可信度量参数确定当前区块链节点的可信度。
可选的,本申请任意实施例中,所述处理器具体用于针对所述多个区块链节点中的任一所述区块链节点,通过当前区块链节点的多个对端节点计算当前区块链节点的可信度量参数,包括:
通过当前区块链计算其自身的可信度分值,并将所述可信度分值发送至所述多个对端节点请求对端节点对当前区块链节点进行可信度量并将可信度量值以投票方式存储到链上。
多个所述对端节点对接收到的所述可信度分值进行验证操作,生成可信度量参数。
可选的,本申请任意实施例中,所述处理器具体从所述可信排名列表中将该出块节点删除。
可选的,本申请任意实施例中,所述出块节点发生出块延迟的情况包括:所述出块节点在第一时间阈值内未完成出块。
可选的,本申请任意实施例中,所述处理器还用于:
若所述出块节点发生出块延迟的情况,则将基于所述可信排名列表,更新所述出块节点。
或者,若所述出块节点完成出块,但所述多个区块链节点达成共识的时间大于第二时间阈值,则确定出块失败,并将基于所述可信排名列表,更新所述出块节点。
可选的,本申请任意实施例中,所述处理器还用于:
确定所述多个区块链节点各自所在的局域网;
若判定所述多个区块链节点处于同一局域网内,则确定所述第二时间阈值为t1;
若判定所述多个区块链节点处于同一局域网内,则确定所述第二时间阈值为t2,其中,t2小于t1。
处理器801可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器710、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块提示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种基于可信计算的区块链共识出块方法,其特征在于,包括:
对区块链系统中多个区块链节点进行可信计算,确定所述多个区块链节点对应的可信度;
基于所述多个区块链节点的可信度,确定出多个共识节点,以及确定所述多个共识节点对应的可信排名列表;
基于所述可信排名列表,确定可信排名位于前列的共识节点为出块节点。
2.根据权利要求1所述的方法,其特征在于,所述对区块链系统中多个区块链节点进行可信计算,确定所述多个区块链节点对应的可信度包括:
针对所述多个区块链节点中的任一所述区块链节点,通过当前区块链节点的多个对端节点计算当前区块链节点的可信度量参数;
多个所述对端节点对计算获得的可信度量参数进行广播,以根据多个可信度量参数确定当前区块链节点的可信度。
3.根据权利要求2所述的方法,其特征在于,所述针对所述多个区块链节点中的任一所述区块链节点,通过当前区块链节点的多个对端节点计算当前区块链节点的可信度量参数包括:
通过当前区块链计算其自身的可信度分值,并将所述可信度分值发送至所述多个对端节点请求对端节点对当前区块链节点进行可信度量并将可信度量值以投票方式存储到链上;
多个所述对端节点对接收到的所述可信度分值进行验证操作,生成可信度量参数。
4.根据权利要求1所述的方法,其特征在于,所述将该出块节点在所述可信排名列表中的排名后移包括:
从所述可信排名列表中将该出块节点删除。
5.根据权利要求1所述的方法,其特征在于,所述出块节点发生出块延迟的情况包括:所述出块节点在第一时间阈值内未完成出块。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述多个区块链节点各自所在的局域网;
若判定所述多个区块链节点处于同一局域网内,则确定所述第二时间阈值为t1;
若判定所述多个区块链节点处于同一局域网内,则确定所述第二时间阈值为t2,其中,t2小于t1。
7.一种区块链系统,其特征在于,包括:多个区块链节点,每个区块链节点上设置有可信计算模块,用于进行可信计算,确定所述多个区块链节点对应的可信度;基于所述多个区块链节点的可信度,确定出多个共识节点,以及确定所述多个共识节点对应的可信排名列表;基于所述可信排名列表,确定可信排名位于前列的共识节点为出块节点。
8.根据权利要求7所述的系统,其特征在于,针对所述多个区块链节点中的任一所述区块链节点,通过当前区块链节点的多个对端节点计算当前区块链节点的可信度量参数;多个所述对端节点对计算获得的可信度量参数进行广播,以根据多个可信度量参数确定当前区块链节点的可信度。
9.一种电子设备,其特征在于,包括:存储器以及处理器,所述存储器上存储有计算机可执行指令,所述处理器用于执行所述计算机可执行指令以执行如下步骤:
对区块链系统中多个区块链节点进行可信计算,确定所述多个区块链节点对应的可信度;
基于所述多个区块链节点的可信度,确定出多个共识节点,以及确定所述多个共识节点对应的可信排名列表;
基于所述可信排名列表,确定可信排名位于前列的共识节点为出块节点。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机可执行指令,所述计算机可执行指令被执行时实施如下步骤:
对区块链系统中多个区块链节点进行可信计算,确定所述多个区块链节点对应的可信度;
基于所述多个区块链节点的可信度,确定出多个共识节点,以及确定所述多个共识节点对应的可信排名列表;
基于所述可信排名列表,确定可信排名位于前列的共识节点为出块节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011043980.5A CN112202765B (zh) | 2020-09-28 | 2020-09-28 | 区块链共识出块方法、区块链系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011043980.5A CN112202765B (zh) | 2020-09-28 | 2020-09-28 | 区块链共识出块方法、区块链系统、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112202765A true CN112202765A (zh) | 2021-01-08 |
CN112202765B CN112202765B (zh) | 2023-03-28 |
Family
ID=74008412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011043980.5A Active CN112202765B (zh) | 2020-09-28 | 2020-09-28 | 区块链共识出块方法、区块链系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112202765B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113225335A (zh) * | 2021-04-28 | 2021-08-06 | 平安科技(深圳)有限公司 | 区块链出块安全校验方法、装置、设备及存储介质 |
CN114697344A (zh) * | 2022-03-30 | 2022-07-01 | 蚂蚁区块链科技(上海)有限公司 | 区块链共识节点的确定方法、区块链和区块链节点 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109325746A (zh) * | 2018-08-29 | 2019-02-12 | 华中科技大学 | 一种基于存储的区块链激励方法、区块链网络及存储网络 |
CN109743173A (zh) * | 2018-12-20 | 2019-05-10 | 弗洛格(武汉)信息科技有限公司 | 区块链中出块节点确定方法、区块验证方法及区块链系统 |
CN110034959A (zh) * | 2019-04-04 | 2019-07-19 | 郑州师范学院 | 一种区块链投票场景中可信节点度量方法 |
WO2020061822A1 (en) * | 2018-09-26 | 2020-04-02 | Beijing Didi Infinity Technology And Development Co., Ltd. | Method and system for arbitrating authenticity of data in a blockchain |
-
2020
- 2020-09-28 CN CN202011043980.5A patent/CN112202765B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109325746A (zh) * | 2018-08-29 | 2019-02-12 | 华中科技大学 | 一种基于存储的区块链激励方法、区块链网络及存储网络 |
WO2020061822A1 (en) * | 2018-09-26 | 2020-04-02 | Beijing Didi Infinity Technology And Development Co., Ltd. | Method and system for arbitrating authenticity of data in a blockchain |
CN109743173A (zh) * | 2018-12-20 | 2019-05-10 | 弗洛格(武汉)信息科技有限公司 | 区块链中出块节点确定方法、区块验证方法及区块链系统 |
CN110034959A (zh) * | 2019-04-04 | 2019-07-19 | 郑州师范学院 | 一种区块链投票场景中可信节点度量方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113225335A (zh) * | 2021-04-28 | 2021-08-06 | 平安科技(深圳)有限公司 | 区块链出块安全校验方法、装置、设备及存储介质 |
CN113225335B (zh) * | 2021-04-28 | 2022-11-15 | 平安科技(深圳)有限公司 | 区块链出块安全校验方法、装置、设备及存储介质 |
CN114697344A (zh) * | 2022-03-30 | 2022-07-01 | 蚂蚁区块链科技(上海)有限公司 | 区块链共识节点的确定方法、区块链和区块链节点 |
CN114697344B (zh) * | 2022-03-30 | 2023-12-19 | 蚂蚁区块链科技(上海)有限公司 | 区块链系统中共识节点的确定方法、区块链系统、节点、存储介质及计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112202765B (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11232478B2 (en) | Methods and system for collecting statistics against distributed private data | |
CN109981281B (zh) | 基于区块链提案随机共识确定候选元素的方法及装置 | |
CN110570196B (zh) | 交易数据处理方法、装置、终端设备以及存储介质 | |
CN113326516A (zh) | 区块链共识方法、区块链系统及计算机设备 | |
CN112202765B (zh) | 区块链共识出块方法、区块链系统、电子设备及存储介质 | |
CN112134883B (zh) | 基于可信计算进行节点间信任关系快速认证的方法、装置及相关产品 | |
Qi et al. | Scalable decentralized privacy-preserving usage-based insurance for vehicles | |
CN112187475A (zh) | 基于可信计算进行多中心记账的方法、装置及相关产品 | |
CN112613050A (zh) | 基于大数据系统中数据访问方法、装置及相关产品 | |
CN111669268A (zh) | 基于区块链的电子数据处理方法、装置及相关产品 | |
CN112184439B (zh) | 基于节点排序的去中心化交易方法、装置及相关产品 | |
CN113094735B (zh) | 隐私模型训练的方法 | |
CN112202875B (zh) | 基于区块链节点权重进行安全检测的方法、装置及相关产品 | |
CN112131602B (zh) | 基于可信计算进行节点间信任关系快速扩展的方法、装置及相关产品 | |
CN112788121B (zh) | 互联网节点中全局信誉值计算方法、系统及相关产品 | |
CN112671793B (zh) | 区块链中确定证实节点的方法、装置及相关产品 | |
CN112583798B (zh) | 从区块链系统中筛选共识节点的方法、装置及相关产品 | |
CN112214760A (zh) | 基于可信根度量进行应用程序的管理方法、装置及相关产品 | |
CN111600704A (zh) | 基于sm2的秘钥交换方法、系统、电子设备及存储介质 | |
CN113301118B (zh) | 区块链共识节点的确定方法、共识方法、系统及设备 | |
CN112165399B (zh) | 基于可信根度量进行区块链节点故障的处理方法、装置及相关产品 | |
CN112804305B (zh) | 互联网节点的可信组网方法、系统及相关产品 | |
CN112804088B (zh) | 基于邻居可信度进行互联网节点认证的方法、系统及相关产品 | |
CN112688960B (zh) | 互联网节点认证中计算连接强度的方法、系统及相关产品 | |
CN115622712A (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 |