CN112184439A - 基于节点排序的去中心化交易方法、装置及相关产品 - Google Patents
基于节点排序的去中心化交易方法、装置及相关产品 Download PDFInfo
- Publication number
- CN112184439A CN112184439A CN202011044017.9A CN202011044017A CN112184439A CN 112184439 A CN112184439 A CN 112184439A CN 202011044017 A CN202011044017 A CN 202011044017A CN 112184439 A CN112184439 A CN 112184439A
- Authority
- CN
- China
- Prior art keywords
- block
- block chain
- nodes
- node
- voting
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012163 sequencing technique Methods 0.000 title claims abstract description 20
- 230000007246 mechanism Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000012795 verification Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Technology Law (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Signal Processing (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于节点排序的去中心化交易方法、装置及相关产品,方法包括:根据多个共识节点的可信值,对多个共识节点进行排序获得排序列表;根据在历史时间段内各共识节点的出块情况,调整排序列表;根据排序列表对多个共识节点进行投票,确定在排序列表中位于前列的共识节点为出块节点;通过出块节点根据交易记录生成交易数据区块,并将交易数据区块存储到区块链上。通过本方案,根据历史时间段内的出块情况,维护一个动态的排名列表,可以使得排名列表中位于前列的共识节点不再集中,从而使得被确定为出块节点的共识节点不再过于集中,提高了区块链系统的去中心化程度。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及一种基于节点排序的去中心化交易方法、装置及相关产品。
背景技术
区块链系统本质上是分布式数据存储系统、点对点传输、共识机制、加密算法等技术的集成应用模式,能够在互联网上实现传统互联网无法实现的信任和价值传递。其基于密码学原理而非信用的特征,使得任何达成一致的双方能够直接交易,不需要第三方中介的参与。另一方面,区块链中几乎不存在单点故障,链上的数据存储在全球无数台机器节点上,使得数据“稳定”、“可信”且“不可篡改”,这重新赋予了网络上的数据一种可以被信任的价值。
但是,现有的区块链系统中,大多通过区块链节点的算力等确定出块节点,导致确定出的出块节点集中在算力较高的几个区块链节点上,不利于区块链系统的去中心化。
为此,如何提高区块链系统的去中心化程度,成为亟待解决的技术问题。
发明内容
基于上述问题,本申请实施例提供了一种基于节点排序的去中心化交易方法、装置及相关产品,以解决或缓解上述问题。
本申请实施例公开了如下技术方案:
1、一种基于节点排序的去中心化交易方法,其特征在于,包括:
根据多个区块链节点的可信值,对多个区块链节点进行排序获得排序列表;
根据在历史时间段内各所述区块链节点的出块情况,调整所述排序列表;
根据所述排序列表对多个所述区块链节点进行投票,确定共识节点;
通过所述共识节点根据交易记录生成交易数据区块,并将所述交易数据区块存储到区块链上。
2、根据权利要求1所述的方法,其特征在于,所述根据在历史时间段内各所述区块链节点的出块情况,调整所述排序列表,包括:确定在历史时间段内各区块链节点的出块数量,并将出块数量较多的区块链节点在排序列表中的排名后移。
3、根据权利要求1所述的方法,其特征在于,所述根据多个区块链节点的可信值,对多个区块链节点进行排序获得排序列表,包括:基于设置的可信计算机制,计算若干个区块链节点的可信值;根据所述可信值,对所述若干个区块链节点进行验证并投票,以从若干个区块链节点中确定出多个区块链节点;根据确定出的区块链节点对应的可信值,对多个区块链节点进行排序获得排序列表。
4、根据权利要求3所述的方法,其特征在于,所述基于设置的可信计算机制,计算若干个区块链节点的可信值,包括:在区块链节点在上电启动之后,且其操作系统启动之前,对所述操作系统的完整性数据进行散列运算得到操作系统散列摘要值;对所述区块链节点上的应用程序的完整性数据进行散列运算得到应用程序散列摘要值;根据所述操作系统散列摘要值以及所述应用程序散列摘要值计算区块链节点的可信度量,以确定所述区块链节点的可信值。
5、根据权利要求1所述的方法,其特征在于,所述根据所述排序列表对多个所述区块链节点进行投票,确定共识节点,包括:确定多个所述区块链节点的投票权重,按照在所述排序列表中排序从前到后的顺序,所述区块链节点的投票权重减小;各个区块链节点根据所述排序列表进行投票;基于多个所述区块链节点的投票权重,对多个所述区块链节点的投票结构进行统计,确定共识节点。
6、根据权利要求1所述的方法,其特征在于,所述根据所述排序列表对多个所述区块链节点进行投票,确定共识节点之前,所述方法还包括:根据各所述区块链节点的可用计算资源或者网络延迟参数,调整所述排序列表。
7、根据权利要求1所述的方法,其特征在于,所述根据所述排序列表对多个所述区块链节点进行投票,确定所述共识节点,包括:根据所述排序列表对多个所述区块链节点进行投票,确定多个时间片对应的多个出块节点;
所述通过所述共识节点根据交易记录生成交易数据区块,并将所述交易数据区块存储到区块链上,包括:
若当前时间片对应的出块节点生成交易数据区块失败,则按照时间先后顺序,通过下一时间片对应的出块节点生成交易数据区块,以将所述交易数据区块存储到区块链上。
8、根据权利要求1所述的方法,其特征在于,所述方法还包括:根据当前的出块节点更新所有所述区块链节点的节点状态。
9、一种大数据信任系统,其特征在于,包括:若干个区块链节点,若干个区块链节点中包括多个区块链节点;每个所述区块链节点上设置有调整模块,调整模块用于根据多个区块链节点的可信值,对多个区块链节点进行排序获得排序列表;根据在历史时间段内各所述区块链节点的出块情况,调整所述排序列表;根据所述排序列表对多个所述区块链节点进行投票,确定在所述共识节点;通过所述共识节点根据交易记录生成交易数据区块,并将所述交易数据区块存储到区块链上。
10、根据权利要求9所述的系统,其特征在于,所述调整模块进一步用于确定在历史时间段内各区块链节点的出块数量,并将出块数量较多的区块链节点在排序列表中的排名后移。
11、根据权利要求9所述的系统,其特征在于,每个所述区块链节点上设置有可信计算模块,用于基于设置的可信计算机制,计算区块链节点的可信值;根据所述可信值,对所述若干个区块链节点进行验证并投票,以从若干个区块链节点中确定出区块链节点;所述调整模块进一步用于根据确定出的区块链节点对应的可信值,对多个区块链节点进行排序获得排序列表。
12、根据权利要求11所述的系统,其特征在于,所述可信计算模块进一步用于在区块链节点在上电启动之后,且其操作系统启动之前,对所述操作系统的完整性数据进行散列运算得到操作系统散列摘要值;对所述区块链节点上的应用程序的完整性数据进行散列运算得到应用程序散列摘要值;根据所述操作系统散列摘要值以及所述应用程序散列摘要值计算区块链节点的可信度量,以确定所述区块链节点的可信值。
13、根据权利要求9所述的系统,其特征在于,所述调整模块进一步用于确定多个所述区块链节点的投票权重,按照在所述排序列表中排序从前到后的顺序,所述区块链节点的投票权重减小;各个区块链节点根据所述排序列表进行投票;基于多个所述区块链节点的投票权重,对多个所述区块链节点的投票结构进行统计,确定共识节点。
14、根据权利要求9所述的系统,其特征在于,所述调整模块进一步用于根据各所述区块链节点的可用计算资源或者网络延迟参数,调整所述排序列表。
15、根据权利要求9所述的系统,其特征在于,所述调整模块进一步用于根据所述排序列表对多个所述区块链节点进行投票,确定多个时间片对应的多个出块节点;若当前时间片对应的出块节点生成交易数据区块失败,则按照时间先后顺序,通过下一时间片对应的出块节点生成交易数据区块,以将所述交易数据区块存储到区块链上。
16、根据权利要求9所述的系统,其特征在于,每个所述区块链节点上设置有状态模块,用于根据当前的出块节点更新所有区块链节点的节点状态。
17、一种电子设备,其特征在于,包括:存储器以及处理器,所述存储器上存储有计算机可执行指令,所述处理器用于执行所述计算机可执行指令以执行如下步骤:
根据多个区块链节点的可信值,对多个区块链节点进行排序获得排序列表;
根据在历史时间段内各所述区块链节点的出块情况,调整所述排序列表;
根据所述排序列表对多个所述区块链节点进行投票,确定共识节点;
通过所述共识节点根据交易记录生成交易数据区块,并将所述交易数据区块存储到区块链上。
18、根据权利要求17所述的电子设备,其特征在于,所述根据在历史时间段内各所述区块链节点的出块情况,调整所述排序列表,包括:确定在历史时间段内各区块链节点的出块数量,并将出块数量较多的区块链节点在排序列表中的排名后移。
19、根据权利要求17所述的电子设备,其特征在于,所述根据多个区块链节点的可信值,对多个区块链节点进行排序获得排序列表,包括:基于设置的可信计算机制,计算若干个区块链节点的可信值;根据所述可信值,对所述若干个区块链节点进行验证并投票,以从若干个区块链节点中确定出多个区块链节点;根据确定出的区块链节点对应的可信值,对多个区块链节点进行排序获得排序列表。
20、根据权利要求19所述的电子设备,其特征在于,所述电子设备包括可信计算模块,用于在区块链节点在上电启动之后,且其操作系统启动之前,对所述操作系统的完整性数据进行散列运算得到操作系统散列摘要值;对所述区块链节点上的应用程序的完整性数据进行散列运算得到应用程序散列摘要值;根据所述操作系统散列摘要值以及所述应用程序散列摘要值计算区块链节点的可信度量,以确定所述区块链节点的可信值。
21、根据权利要求17所述的电子设备,其特征在于,所述根据所述排序列表对多个所述区块链节点进行投票,确定共识节点,包括:确定多个所述区块链节点的投票权重,按照在所述排序列表中排序从前到后的顺序,所述区块链节点的投票权重减小;各个区块链节点根据所述排序列表进行投票;基于多个所述区块链节点的投票权重,对多个所述区块链节点的投票结构进行统计,确定共识节点。
22、根据权利要求17所述的电子设备,其特征在于,所述根据所述排序列表对多个所述区块链节点进行投票,确定共识节点之前,所述电子设备还包括:根据各所述区块链节点的可用计算资源或者网络延迟参数,调整所述排序列表。
23、根据权利要求17所述的电子设备,其特征在于,所述根据所述排序列表对多个所述区块链节点进行投票,确定共识节点,包括:根据所述排序列表对多个所述区块链节点进行投票,确定多个时间片对应的多个出块节点;
所述通过所述共识节点根据交易记录生成交易数据区块,并将所述交易数据区块存储到区块链上,包括:
若当前时间片对应的出块节点生成交易数据区块失败,则按照时间先后顺序,通过下一时间片对应的出块节点生成交易数据区块,以将所述交易数据区块存储到区块链上。
24、根据权利要求17所述的电子设备,其特征在于,所述电子设备还包括:状态机,用于根据当前的出块节点更新所有区块链节点的节点状态。
25、一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机可执行指令,所述计算机可执行指令被执行时实施如下步骤:
根据多个区块链节点的可信值,对多个区块链节点进行排序获得排序列表;
根据在历史时间段内各所述区块链节点的出块情况,调整所述排序列表;
根据所述排序列表对多个所述区块链节点进行投票,确定共识节点;
通过所述共识节点根据交易记录生成交易数据区块,并将所述交易数据区块存储到区块链上。
本申请实施例的技术方案中,根据多个共识节点的可信值,对多个共识节点进行排序获得排序列表;根据在历史时间段内各所述共识节点的出块情况,调整所述排序列表;根据所述排序列表对多个所述共识节点进行投票,确定共识节点点;通过所述共识节点根据交易记录生成交易数据区块,并将所述交易数据区块存储到区块链上。通过本方案,根据历史时间段内的出块情况,维护一个动态的排名列表,可以使得排名列表中位于前列的共识节点不再集中,从而使得被确定为出块节点的共识节点不再过于集中,提高了区块链系统的去中心化程度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中区块链系统结构示意图;
图2为本申请实施例中基于节点排序的去中心化交易方法流程示意图;
图3为本申请实施例中另一基于节点排序的去中心化交易方法流程示意图;
图4为本申请实施例中电子设备的结构示意图;
图5为本申请实施例中电子设备的硬件结构示意图。
具体实施方式
实施本申请实施例的任一技术方案必不一定需要同时达到以上的所有优点。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本申请实施例中区块链系统结构示意图;如图1所示,所述区块链系统包括若干个区块链节点,所述若干个区块链节点可以作为共识节点或者普通节点,其中,共识节点可以视为出块节点的备选,普通节点可以用于同步数据,但不能用于出块。
本实施例中,在所述区块链系统中存储有海量的数据,该数据可以根据应用场景的要求来确定。比如,对于银行来说,该数据可以关联于银行运营的财务数据、用户数据等。
本实施例中,区块链节点可以为通过互联网相连的电脑或者服务器或者任意电子终端。
本实施例中,通过节点间信任关系使得区块链系统中的所有区块链节点之间建立信任机制,从而保证存储到区块链系统中数据的安全性。
在区块链系统中,每个区块链节点均可以实现高度自治,区块链节点之间可以自由连接,并通过多个区块链节点之间的通信等,共同维护整个区块链系统,从而实现去中心化。
但是,通常的区块链系统中,大多通过若干个区块链节点,根据各个区块链的算力等进行投票确定出块节点,导致确定出的出块节点集中在算力较高的几个区块链节点上,不利于区块链系统的去中心化。
为此,本申请实施例的技术方案中,通过根据多个区块链节点的可信值,对多个区块链节点进行排序获得排序列表;
根据在历史时间段内各所述区块链节点的出块情况,调整所述排序列表;
根据所述排序列表对多个所述区块链节点进行投票,确定共识节点;
通过所述共识节点根据交易记录生成交易数据区块,并将所述交易数据区块存储到区块链上。
由此,通过根据历史时间段内的出块情况,维护一个动态的排名列表,可以使得排名列表中位于前列的区块链节点不再集中,从而使得被确定为出块节点的区块链节点不再过于集中,提高了区块链系统的去中心化程度。
图2为本申请实施例中的一种基于节点排序的去中心化交易方法流程示意图;如图2所示,其包括:
S201、根据多个区块链节点的可信值,对多个区块链节点进行排序获得排序列表。
所述区块链系统包括若干个区块链节点,所述若干个区块链节点可以作为识节点或者普通节点,其中,共识节点可以视为出块节点的备选,普通节点可以用于同步数据,但不用于出块。
共识节点可以变更为普通节点,普通节点也可以变更为共识节点。
本实施例中,步骤S201包括:基于设置的可信计算机制,计算若干个区块链节点的可信值;根据所述可信值,对所述若干个区块链节点进行验证并投票,以从若干个区块链节点中确定出多个区块链节点;根据确定出的区块链节点对应的可信值,对多个区块链节点进行排序获得排序列表。
具体的,本实施例中,所述基于设置的可信计算机制,计算若干个区块链节点的可信值,包括:在区块链节点在上电启动之后,且其操作系统启动之前,对所述操作系统的完整性数据进行散列运算得到操作系统散列摘要值;对所述区块链节点上的应用程序的完整性数据进行散列运算得到应用程序散列摘要值;根据所述操作系统散列摘要值以及所述应用程序散列摘要值计算区块链节点的可信度量,以确定所述区块链节点的可信值。
示例的,每个区块链节点内部可以内置有可信计算模块,在操作系统启动时,可以通过可信计算模块计算自身的可信度量,以保证操作系统正常启动,不会发生错误,并可以通过可信计算模块生成可信度量,由当前的区块链节点的对端节点对可信度量进行验证,从而根据验证结果确定区块链节点的度量值。
在操作系统启动后,可以根据区块链节点的堆栈地址确定可信度量。
具体地,在执行函数前,可以将操作系统中的返回地址存储至堆栈时,同时将返回地址存储至可信计算模块中;当函数执行过程中或者执行完成后,需要根据返回地址回调其他函数时,先通过可信计算模块,将从堆栈内读取的返回地址与可信计算模块中存储的返回地址进行验证,根据验证验证结果确定可信度量。
若验证通过,则可以继续回调函数,若验证不通过,则可以通过日志对操作系统中调用的函数进行回滚。
确定多个区块链节点的可信值后,可以按照可信值由大到小的顺序进行排序,获得排序列表。
S202、根据在历史时间段内各所述区块链节点的出块情况,调整所述排序列表。
历史时间段可以由本领域的技术人员按照需求设置,例如24小时之内等,本实施例对此不进行限定。
本实施例中,步骤S202,包括:确定在历史时间段内各区块链节点的出块数量,并将出块数量较多的区块链节点在排序列表中的排名后移。
由于在后续步骤中,确定的出块节点为排序列表中位于前列的区块链节点,故,本步骤中,将出块数量较多的区块链节点的排序后移。
具体的,可以设置与历史时间段对应的时间窗口,时间窗口中包括该时间段内区块链系统的所有出块操作;计算每次出块操作对应的出块参数,出块参数用于表征该出块操作对区块链节点在排序列表中排名的影响程度,按照时间窗口由前到后的顺序,出块参数递增;以区块链节点为单位,对出块参数进行统计,获得各个区块链节点对应的出块统计参数;将出块统计参数较高的区块链节点在排序列表中的排名后移。
本实施例中,由于按照时间窗口由前到后的顺序,出块参数递增,因此使得时间窗口中距今越近的出块操作对出块统计参数的影响越大,从而减小相邻两个数据区块由同一个区块链节点生成的情况。
具体的,计算每个出块操作的出块参数时,可以根据出块操作的信息,例如出块完成时间、出块大小、投票情况等,计算出块操作对应的出块评分;将出块评分与衰减因子相乘,获得出块参数,其中,时间窗口被划分为多个时间片段,每个时间片段对应一衰减因子,按照时间窗口由前到后的顺序,各个时间片段对应的衰减因子递增。
多个时间片段可以相同,例如均为1小时,也可以不同,本实施例对此不进行限定。
S203、根据所述排序列表对多个所述区块链节点进行投票,确定共识节点。
本实施例中,步骤S203包括:确定多个所述区块链节点的投票权重,按照在所述排序列表中排序从前到后的顺序,所述区块链节点的投票权重减小;各个区块链节点根据所述排序列表进行投票;基于多个所述区块链节点的投票权重,对多个所述区块链节点的投票结构进行统计,确定共识节点。
由此,按照在所述排序列表中排序从前到后的顺序,所述区块链节点的投票权重减小,可以进一步弱化排序后移的区块链节点的影响力,进一步提高区块链的去中心化程度。
S204、通过所述共识节点根据交易记录生成交易数据区块,并将所述交易数据区块存储到区块链上。
具体生成交易数据区块以及上链的方案可参照相关技术,在此不再赘述。
本实施例提供的方案,通过根据历史时间段内的出块情况,维护一个动态的排名列表,可以使得排名列表中位于前列的区块链节点不再集中,从而使得被确定为出块节点的区块链节点不再过于集中,提高了区块链系统的去中心化程度。
图3为本申请实施例中的一种基于节点排序的去中心化交易方法流程示意图;在上述实施例的基础上,如图3所示,在步骤S203之前,所述方法还包括:
S205、根据各所述区块链节点的可用计算资源或者网络延迟参数,调整所述排序列表。
具体的,可以将计算资源较为充足或者网络延迟较低的区块链节点,在排序列表中的排名前移。
具体的,可以基于权重,将根据在历史时间段内各所述区块链节点的出块情况对应的参数值(上述出块统计参数)与计算资源或者网络延迟参数进行累加,确定排名调整参数,并根据排名调整参数调整区块链节点在排序列表中的排名。
本实施例中,步骤S203包括:
S2031、根据所述排序列表对多个所述区块链节点进行投票,确定多个时间片对应的多个出块节点;
示例的,确定本次出块的出块时间,例如30s,然后将该时间划分为多个时间片,例如每3s为一个时间片,共计10个时间片。
根据所述排序列表对多个所述区块链节点进行投票,确定多个时间片对应的多个出块节点时,可以确定10个出块节点。10个出块节点按照优先级进行排序,之后与10个时间片分别对应。
对应的,步骤S204包括:
S2041、若当前时间片对应的出块节点生成交易数据区块失败,则按照时间先后顺序,通过下一时间片对应的出块节点生成交易数据区块,以将所述交易数据区块存储到区块链上。
具体的,当包括10个时间片时,若第5个时间片对应的出块节点在3s内未完成出块,则确定出块节点生成交易数据区块失败,则,确定第6个时间片继续进行出块,直至某一个出块节点生成交易数据区块,完成交易数据的上链。
本实施例中,所述方法还包括:
S206、根据当前的出块节点更新多个所述区块链节点的节点状态。
节点状态可以包括:投票状态、共识状态、记账状态等,从区块链系统角度定义,所有区块链节点要有一致的状态。
本实施例中,在进行状态同步时,按照区块链节点中状态能最快速做到一致的原则进行状态同步。
本实施例中,区块链状态并非使得区块链节点在某一个时间点只具有一种特定的状态或者唯一的状态,实际上,状态的同步还以包括使得区块链节点在用一个时间点具有多种状态,且多个区块链节点在同一时间点都处于相同的多种状态。比如,验证、投票状态。
本实施例中,状态的同步可以通过广播状态同步请求的方式实现。
本实施例提供的方案,通过一次投票确定多个时间片分别对应的出块节点,在保证去中心化程度较高的基础上,节省了投票时间,提高了效率。
图4为本申请实施例电子设备的结构示意图;如图4所示,该电子设备作为区块链节点,若干个区块链节点中包括多个区块链节点;电子设备上设置有调整模块,调整模块用于根据多个区块链节点的可信值,对多个区块链节点进行排序获得排序列表;根据在历史时间段内各所述区块链节点的出块情况,调整所述排序列表;根据所述排序列表对多个所述区块链节点进行投票,确定共识节点;通过所述共识节点根据交易记录生成交易数据区块,并将所述交易数据区块存储到区块链上。
可选地,在一实施例中,所述调整模块进一步用于确定在历史时间段内各区块链节点的出块数量,并将出块数量较多的区块链节点在排序列表中的排名后移。
可选地,在一实施例中,每个所述区块链节点上设置有可信计算模块,用于基于设置的可信计算机制,计算区块链节点的可信值;根据所述可信值,对所述若干个区块链节点进行验证并投票,以从若干个区块链节点中确定出多个区块链节点;所述调整模块进一步用于根据确定出的区块链节点对应的可信值,对多个区块链节点进行排序获得排序列表。
可选地,在一实施例中,所述可信计算模块进一步用于在区块链节点在上电启动之后,且其操作系统启动之前,对所述操作系统的完整性数据进行散列运算得到操作系统散列摘要值;对所述区块链节点上的应用程序的完整性数据进行散列运算得到应用程序散列摘要值;根据所述操作系统散列摘要值以及所述应用程序散列摘要值计算区块链节点的可信度量,以确定所述区块链节点的可信值。
可选地,在一实施例中,所述调整模块进一步用于确定多个所述区块链节点的投票权重,按照在所述排序列表中排序从前到后的顺序,所述区块链节点的投票权重减小;各个区块链节点根据所述排序列表进行投票;基于多个所述区块链节点的投票权重,对多个所述区块链节点的投票结构进行统计,确定共识节点。
可选地,在一实施例中,所述调整模块进一步用于根据各所述区块链节点的可用计算资源或者网络延迟参数,调整所述排序列表。
可选地,在一实施例中,所述调整模块进一步用于根据所述排序列表对多个所述区块链节点进行投票,确定多个时间片对应的多个出块节点;若当前时间片对应的出块节点生成交易数据区块失败,则按照时间先后顺序,通过下一时间片对应的出块节点生成交易数据区块,以将所述交易数据区块存储到区块链上。
可选地,在一实施例中,每个所述区块链节点上设置有状态模块,用于根据当前的出块节点更新多个所述区块链节点的节点状态。
图5为本申请实施例中电子设备的硬件结构示意图;如图5所示,该电子设备的硬件结构可以包括:处理器501,通信接口502,计算机可读介质503和通信总线504;
其中,处理器501、通信接口502、计算机可读介质503通过通信总线504完成相互间的通信;
可选的,通信接口502可以为通信模块的接口,如GSM模块的接口;
其中,处理器501具体可以配置为运行存储器上存储的可执行程序,从而执行上述任一方法实施例的所有处理步骤或者其中部分处理步骤。
处理器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.根据权利要求1所述的方法,其特征在于,所述根据多个区块链节点的可信值,对多个区块链节点进行排序获得排序列表,包括:基于设置的可信计算机制,计算若干个区块链节点的可信值;根据所述可信值,对所述若干个区块链节点进行验证并投票,以从若干个区块链节点中确定出多个区块链节点;根据确定出的区块链节点对应的可信值,对多个区块链节点进行排序获得排序列表。
4.根据权利要求3所述的方法,其特征在于,所述基于设置的可信计算机制,计算若干个区块链节点的可信值,包括:在区块链节点在上电启动之后,且其操作系统启动之前,对所述操作系统的完整性数据进行散列运算得到操作系统散列摘要值;对所述区块链节点上的应用程序的完整性数据进行散列运算得到应用程序散列摘要值;根据所述操作系统散列摘要值以及所述应用程序散列摘要值计算区块链节点的可信度量,以确定所述区块链节点的可信值。
5.根据权利要求1所述的方法,其特征在于,所述根据所述排序列表对多个所述区块链节点进行投票,确定共识节点,包括:确定多个所述区块链节点的投票权重,按照在所述排序列表中排序从前到后的顺序,所述区块链节点的投票权重减小;各个区块链节点根据所述排序列表进行投票;基于多个所述区块链节点的投票权重,对多个所述区块链节点的投票结构进行统计,确定共识节点。
6.根据权利要求1所述的方法,其特征在于,所述根据所述排序列表对多个所述区块链节点进行投票,确定共识节点之前,所述方法还包括:根据各所述区块链节点的可用计算资源或者网络延迟参数,调整所述排序列表。
7.根据权利要求1所述的方法,其特征在于,所述根据所述排序列表对多个所述区块链节点进行投票,确定所述共识节点,包括:根据所述排序列表对多个所述区块链节点进行投票,确定多个时间片对应的多个出块节点;
所述通过所述共识节点根据交易记录生成交易数据区块,并将所述交易数据区块存储到区块链上,包括:
若当前时间片对应的出块节点生成交易数据区块失败,则按照时间先后顺序,通过下一时间片对应的出块节点生成交易数据区块,以将所述交易数据区块存储到区块链上。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据当前的出块节点更新所有所述区块链节点的节点状态。
9.一种大数据信任系统,其特征在于,包括:若干个区块链节点,若干个区块链节点中包括多个区块链节点;每个所述区块链节点上设置有调整模块,调整模块用于根据多个区块链节点的可信值,对多个区块链节点进行排序获得排序列表;根据在历史时间段内各所述区块链节点的出块情况,调整所述排序列表;根据所述排序列表对多个所述区块链节点进行投票,确定在所述共识节点;通过所述共识节点根据交易记录生成交易数据区块,并将所述交易数据区块存储到区块链上。
10.一种电子设备,其特征在于,包括:存储器以及处理器,所述存储器上存储有计算机可执行指令,所述处理器用于执行所述计算机可执行指令以执行如下步骤:
根据多个区块链节点的可信值,对多个区块链节点进行排序获得排序列表;
根据在历史时间段内各所述区块链节点的出块情况,调整所述排序列表;
根据所述排序列表对多个所述区块链节点进行投票,确定共识节点;
通过所述共识节点根据交易记录生成交易数据区块,并将所述交易数据区块存储到区块链上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011044017.9A CN112184439B (zh) | 2020-09-28 | 2020-09-28 | 基于节点排序的去中心化交易方法、装置及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011044017.9A CN112184439B (zh) | 2020-09-28 | 2020-09-28 | 基于节点排序的去中心化交易方法、装置及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112184439A true CN112184439A (zh) | 2021-01-05 |
CN112184439B CN112184439B (zh) | 2024-06-18 |
Family
ID=73945806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011044017.9A Active CN112184439B (zh) | 2020-09-28 | 2020-09-28 | 基于节点排序的去中心化交易方法、装置及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112184439B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113504991A (zh) * | 2021-07-15 | 2021-10-15 | 上海点融信息科技有限责任公司 | 选择区块链节点的方法、装置及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468978A (zh) * | 2015-11-16 | 2016-04-06 | 国网智能电网研究院 | 一种适用于电力系统通用计算平台的可信计算密码平台 |
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
CN109544332A (zh) * | 2018-10-17 | 2019-03-29 | 贵阳信息技术研究院(中科院软件所贵阳分部) | 一种基于用户等级的区块链交易出块的方法 |
CN109872152A (zh) * | 2019-01-11 | 2019-06-11 | 平安科技(深圳)有限公司 | 基于股份授权证明机制的区块链共识方法及相关设备 |
CN109951474A (zh) * | 2019-03-15 | 2019-06-28 | 杭州云象网络技术有限公司 | 一种实现区块链共识出块的方法 |
CN109981679A (zh) * | 2019-04-08 | 2019-07-05 | 上海点融信息科技有限责任公司 | 在区块链网络中执行事务的方法和装置 |
CN111240831A (zh) * | 2019-12-31 | 2020-06-05 | 陕西医链区块链集团有限公司 | 区块链中交易并行执行方法、装置、电子设备、存储介质 |
CN111327610A (zh) * | 2020-02-17 | 2020-06-23 | 湖南天河国云科技有限公司 | 基于信用评分的区块链系统注册方法、装置及存储介质 |
-
2020
- 2020-09-28 CN CN202011044017.9A patent/CN112184439B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468978A (zh) * | 2015-11-16 | 2016-04-06 | 国网智能电网研究院 | 一种适用于电力系统通用计算平台的可信计算密码平台 |
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
CN109544332A (zh) * | 2018-10-17 | 2019-03-29 | 贵阳信息技术研究院(中科院软件所贵阳分部) | 一种基于用户等级的区块链交易出块的方法 |
CN109872152A (zh) * | 2019-01-11 | 2019-06-11 | 平安科技(深圳)有限公司 | 基于股份授权证明机制的区块链共识方法及相关设备 |
CN109951474A (zh) * | 2019-03-15 | 2019-06-28 | 杭州云象网络技术有限公司 | 一种实现区块链共识出块的方法 |
CN109981679A (zh) * | 2019-04-08 | 2019-07-05 | 上海点融信息科技有限责任公司 | 在区块链网络中执行事务的方法和装置 |
CN111240831A (zh) * | 2019-12-31 | 2020-06-05 | 陕西医链区块链集团有限公司 | 区块链中交易并行执行方法、装置、电子设备、存储介质 |
CN111327610A (zh) * | 2020-02-17 | 2020-06-23 | 湖南天河国云科技有限公司 | 基于信用评分的区块链系统注册方法、装置及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113504991A (zh) * | 2021-07-15 | 2021-10-15 | 上海点融信息科技有限责任公司 | 选择区块链节点的方法、装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112184439B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11830001B2 (en) | Blockchain consensus method, accounting node and node | |
CN109981281B (zh) | 基于区块链提案随机共识确定候选元素的方法及装置 | |
CN106296184A (zh) | 电子货币管理方法及电子货币系统 | |
CN114281888B (zh) | 一种区块链共识方法、装置、设备及存储介质 | |
EP3545645B1 (en) | System architecture and method of processing data therein | |
CN110768799B (zh) | 数字签名方法、装置、设备及介质、系统 | |
CN113326516A (zh) | 区块链共识方法、区块链系统及计算机设备 | |
CN110570311B (zh) | 区块链的共识方法、装置及设备 | |
CN113850600B (zh) | 基于区块链的交易共识方法、装置、设备及存储介质 | |
CN112187475A (zh) | 基于可信计算进行多中心记账的方法、装置及相关产品 | |
CN110517029A (zh) | 区块链跨链交易验证的方法、装置、设备及区块链系统 | |
CN112202765B (zh) | 区块链共识出块方法、区块链系统、电子设备及存储介质 | |
CN109921897B (zh) | 工作量证明计算的触发方法、装置、计算设备及存储介质 | |
CN112134883A (zh) | 基于可信计算进行节点间信任关系快速认证的方法、装置及相关产品 | |
CN112184439A (zh) | 基于节点排序的去中心化交易方法、装置及相关产品 | |
CN113988831A (zh) | 一种基于联盟链的转账方法 | |
CN112202875B (zh) | 基于区块链节点权重进行安全检测的方法、装置及相关产品 | |
CN112187476A (zh) | 基于可信计算同步区块链状态的方法、装置及相关产品 | |
CN116455974A (zh) | 交易缓存及排序的方法、装置、电子设备和存储介质 | |
CN112162782A (zh) | 基于可信根动态度量确定应用程序可信状态的方法、装置及相关产品 | |
CN112131602B (zh) | 基于可信计算进行节点间信任关系快速扩展的方法、装置及相关产品 | |
WO2019117758A1 (ru) | Способ и устройство для вычисления хэш-функции | |
CN114666327A (zh) | 基于区块链交易的区块打包方法、装置及电子设备 | |
CN112671793B (zh) | 区块链中确定证实节点的方法、装置及相关产品 | |
CN112583798B (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 |