CN109361661B - 一种依附相关链算力的区块链的共识装置 - Google Patents
一种依附相关链算力的区块链的共识装置 Download PDFInfo
- Publication number
- CN109361661B CN109361661B CN201811165471.2A CN201811165471A CN109361661B CN 109361661 B CN109361661 B CN 109361661B CN 201811165471 A CN201811165471 A CN 201811165471A CN 109361661 B CN109361661 B CN 109361661B
- Authority
- CN
- China
- Prior art keywords
- transaction
- block
- chain
- hash value
- service
- 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
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/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Power Engineering (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种依附相关链算力的区块链的共识装置,涉及区块链领域,包括:业务哈希获取模块,用于对业务数据进行哈希求解获得第一业务哈希值;主链交易生成与记录模块,用于根据所述第一业务哈希值,在第一相关区块链上生成第一交易;主链交易监控模块,用于定时检测第一交易是否被确认;第二区块记录模块,用于响应于所述第一交易被确认,将交易记录信息记录于本区块链网络的第二区块上,将所述第一业务哈希值标记为已共识哈希值并写入所述第二区块上。在本发明中,本区块链网络依托于相关区块链的算力,只需要相关区块链的防御算力攻击能力较高,则本区块链的防御算力攻击能力也得到提升,提高本区块链的防御算力攻击的能力。
Description
技术领域
本发明涉及区块链领域,特别涉及一种依附相关链算力的区块链的共识装置。
背景技术
非算力的区块链网络,仅仅对包含上一区块的哈希值的本区块头进行哈希求解获得本区块的哈希值,并将该哈希值作为下一区块头的组成部分,并形成链式账本结构,每个区块仅执行一次哈希值求解,若整体区块数为100万个,则攻破该非算力区块链网络算力1GH/s的矿机只需一秒即可攻破。
据BTC.com数据显示,今年八月底的比特币全网算力为50.13EH/s,全网难度约为6.73T,未确认交易数为1500,即每秒可执行哈希算法数为5×1016次。即便拥有区块链网络的1‰的算力,也能够轻易攻破非算力的区块链网络。
而随着区块链技术的发展,越来越多的区块链项目出现,并且每个区块链项目都具有负责挖矿的旷工和矿机。然后,主要的较大的区块链网络(如比特币、以太坊)等已经产生,其已经聚集了较多的算力资源。与对于大型区块链网络的算力相比而言,一方面,小型的新兴区块链项目的算力对其毫无防御能力,在收到大型区块链网络的攻击时,小型区块链网络瞬间瓦解;另一方面,若越来越多的小型区块链网络发展为大型区块链网络,则会进一步损耗社会算力资源,造成电力资源、水力资源的浪费。
发明内容
有鉴于现有技术的一部分缺陷,本发明所要解决的技术问题是在现有技术中,发起一个稳定的区块链网络需要耗费较大的算力资源,并且存在被大算力区块链网络的攻击可能,存在算力攻击风险。本发明旨在提供一种依附相关链算力的区块链的共识装置,基于该装置形成的区块链网络无需较高的算力基础设施即可减少被算力攻击攻破的可能,提高本区块链网络数据的防止被算力攻击篡改的能力。
为实现上述目的,本发明提供一种依附相关链算力的区块链的共识装置,所述装置包括:
业务哈希获取模块,用于接收本区块链网络的一个第一时间周期内的至少一组业务数据,经哈希运算求解获得与所述业务数据相匹配的第一业务哈希值;
主链交易生成与记录模块,用于根据所述第一业务哈希值,在本区块链网络外的第一相关区块链上生成并公告与所述第一业务哈希值相匹配的第一交易;将所述第一业务哈希值标记为未共识哈希值写入本区块链网络的第一区块;
主链交易监控模块,用于根据所述第一业务哈希值,定时检测所述第一相关区块链上的所述第一交易是否被确认;
第二区块记录模块,用于响应于所述第一交易被确认,采集所述第一交易的交易记录信息,将所述交易记录信息记录于本区块链网络的第二区块上,将所述第一业务哈希值标记为已共识哈希值并写入所述第二区块上;所述交易记录信息包括所述第一交易在所述第一相关链上的区块号。
在一具体实施方式中,所述业务哈希获取模块,还包括:
子业务接收单元,用于获取在第一时间周期内接收到的本区块链网络的各个业务单元;所述至少一组业务数据由所述业务单元组成;
子哈希值求解单元,用于求解各个业务单元的单元哈希值;
业务哈希求解单元,用于根据各个所述单元哈希值及默克尔树算法,生成默克尔树顶部哈希值,并将所述默克尔树顶部哈希值作为所述第一业务哈希值。
在一具体实施方式中,所述装置还包括:第一区块记录模块,用于将所述业务单元或所述业务数据记录于所述第一区块。
在一具体实施方式中,所述主链交易监控模块,还包括:
多节点交易确认单元,用于与所述第一相关链上的至少三个不同网络的主链节点进行通讯,定时检测至少三个不同网络的所述主链节点的所述第一交易是否被确认;其中,所述主链节点数为奇数个;
多节点交易共识单元,用于在所有的所述主链节点中,若所述第一交易被半数以上的所述主链节点所确认,则认为所述第一交易被确认。
在一具体实施方式中,所述装置还包括:
交易记录采集模块,用于在所述第一交易确认后,采集所述第一交易的所述交易记录信息;
第一交易记录变更模块,用于响应于所述第一交易的所述交易记录信息发生变更,变更本区块链网络的第二区块上的所述交易记录信息为变更后的所述第一交易的所述交易记录信息。
在一具体实施方式中,所述装置还包括:
交易记录采集模块,用于在所述第一交易确认后,采集所述第一交易的所述交易记录信息;
第二交易记录变更模块,用于响应于所述第一交易的所述交易记录信息发生变更,向本区块链网络的链内节点发送链数据变更请求;其中,所述链内节点接收所述链数据变更请求后,向与所述链内节点相对应的所述第一相关链的主链节点请求所述第一交易的第二交易记录信息,并响应于所述第二交易记录信息与原先的所述交易记录信息不匹配,变更所述交易记录信息。
在一具体实施方式中,所述本区块链网络的若干个节点在连接本区块链网络的同时,也连接所述第一相关链的网络。
在一具体实施方式中,所述装置还包括:
区块数据修改模块,用于响应于所述第一交易的所述交易记录信息发生变更,重新求解所述第二区块的第二区块哈希值,并将所述第二区块哈希值替换至所述第二区块之后的区块里,并相应的求解后续的区块哈希值。
在一具体实施方式中,所述装置还包括:
第一哈希列表管理模块,用于将所述第一业务哈希值写入第一哈希列表中;所述第一哈希列表用于存放本区块链网络的与所有未共识的业务数据相匹配的业务哈希值。
在一具体实施方式中,所述装置还包括:
第二哈希列表管理模块,用于将所有已共识的业务数据相匹配的所述第一业务哈希值写入第二哈希列表中。
本发明的有益效果是:本区块链网络是依附于另一相关区块链网络,将本区块的业务数据的哈希值以交易的形式记录于相关区块链上,并在该交易被确认之后,本区块链网络的节点接收到该交易被确认的信息后,将该业务的交易信息写入本区块链,使得该业务数据得到确认,实现共识;本区块链网络依托于相关区块链的算力,只需要相关区块链的防御算力攻击能力较高,则本区块链的防御算力攻击能力也得到提升,提高本区块链的防御算力攻击的能力。此外,本发明提供的区块链技术无需自身网络建设算力基础,节约社会成本。
附图说明
图1是本发明一具体实施方式中的一种依附相关链算力的区块链的共识方法的流程示意图;
图2是本发明一具体实施方式中的一种依附相关链算力的区块链的共识方法的数据传输示意图;
图3是本发明一具体实施方式中的一种依附相关链算力的区块链的共识方法的基于默克尔树生成业务哈希值的示意图;
图4是本发明一具体实施方式中的第一相关链网络与本区块链网络的关联结构图;
图5是本发明一具体实施方式中的一种依附相关链算力的区块链的共识方法的区块数据变更时的数据传输示意图。
图6是本发明一具体实施方式中的一种依附相关链算力的区块链的共识装置的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
如图1-5所示,在本发明第一实施例中,提供一种依附相关链算力的区块链的共识方法,所述方法包括:
步骤S1、接收本区块链网络的一个第一时间周期内的至少一组业务数据,经哈希运算求解获得与所述业务数据相匹配的第一业务哈希值;
值得一提的是,第一业务哈希值的生成可以是对一组或多组业务数据整体进行哈希运算;第一业务哈希值的生成也可以是采用默克尔树的形式对每个业务数据进行哈希运算后,再两两生成上级哈希值,并直至求解出默克尔树顶部哈希值,该默克尔树顶部哈希值即为所述第一业务哈希值;
在本实施例中,并不限定本区块链网络的第一时间周期的长短,可选的,第一时间周期就是本区块链网络的区块生成周期;可选的,第一时间周期与本区块链网络的区块生成周期无关。
步骤S2、根据所述第一业务哈希值,在本区块链网络外的第一相关区块链上生成并公告与所述第一业务哈希值相匹配的第一交易;将所述第一业务哈希值标记为未共识哈希值写入本区块链网络的第一区块;
在本实施例中是将第一时间周期内的若干或所有业务数据作为整体打包为哈希值,并在第一相关链上以交易的形式发布;值得一提的是,第一时间周期与第一相关链的区块生成周期并无关系,在本实施例中,只需将第一交易发布于第一相关链,而交易的确认时间与第一相关链本身设置有关,本区块链网络只需要等待该交易的确认即可。例如,在比特币网络中,发起一笔比特币交易,在等待一定时长后,该交易能够被比特币网络的旷工进行记账和确认,并写入区块链中。
步骤S3、根据所述第一业务哈希值,定时检测所述第一相关区块链上的所述第一交易是否被确认;
可选的,本区块链网络的若干个节点会对第一相关链进行数据监控,以便获得第一交易的是否被确认的信息;可选的,本区块链网络的若干个节点在连接本区块链网络的同时,也连接第一相关链网络;
由于第一交易的第一发起者接收第一交易的确认信息相对而言,较为及时。可选的,接收所述第一交易的第一发起者关于所述第一交易被确认的第一确认信息;所述第一发起者与本区块网络连接,所述第一发起者与第一相关链网络连接;
步骤S4、响应于所述第一交易被确认,采集所述第一交易的交易记录信息,将所述交易记录信息记录于本区块链网络的第二区块上,将所述第一业务哈希值标记为已共识哈希值并写入所述第二区块上;所述交易记录信息包括所述第一交易在所述第一相关链上的区块号。
本实例提供的是一种区块链共识技术,当相关业务数据的哈希值被确认于第一相关链上,则认为相关业务数据能够不容易被篡改,而被共识。同时,在第一交易被确认后,可以将相关交易信息,如业务数据的第一业务哈希值被确认于区块链的哪一区块中。
在实际应用中,根据本区块链业务数据的数量、交易手续费以及第一相关链网络的吞吐能力,对一次打包的业务数据的数量设定;值得一提的是,当设置较高的单次业务数据打包数量时,可以减低在第一相关区块链上发布第一交易的手续费,并且降低第一相关区块链的负载,而另一方面单次业务数据打包数量较少时,可以有效提高交易的确认速度。
在本实施例中,所述接收本区块链网络的一个第一时间周期内的至少一组业务数据,经哈希运算求解获得与所述业务数据相匹配的第一业务哈希值,还包括:
获取在第一时间周期内接收到的本区块链网络的各个业务单元;所述至少一组业务数据由所述业务单元组成;
求解各个业务单元的单元哈希值;
根据各个所述单元哈希值及默克尔树算法,生成默克尔树顶部哈希值,并将所述默克尔树顶部哈希值作为所述第一业务哈希值。
值得一提的是,当默克尔树的某一层的哈希值为奇数个时,不能两两配对的单个哈希值可以对其自身求解哈希,以便获得上一层哈希值。
在本实施例中,可选的,所述方法还包括:将所述业务单元或所述业务数据记录于所述第一区块。
可选的,可以将业务单元或者业务数据写入本区块链网络的区块中。
在本实施例中,所述根据所述第一业务哈希值,定时检测所述第一相关区块链上的所述第一交易是否被确认,还包括:
与所述第一相关链上的至少三个不同网络的主链节点进行通讯,定时检测至少三个不同网络的所述主链节点的所述第一交易是否被确认;其中,所述主链节点数为奇数个;
在所有的所述主链节点中,若所述第一交易被半数以上的所述主链节点所确认,则认为所述第一交易被确认。
通过设置不同的主链节点,避免与单一主链节点连接,本区块链网络的第一交易确认纯粹由该主链节点决定,当该节点被攻破而造成本区块链数据不可信。同时,通过可是多个主链节点,能够及时对比不同主链节点的数据并选择较多节点确认的交易结果,避免单一主链节点造成主链分叉不能较早发现,减少本区块链网络受第一相关链分叉的影响。
在实际应用场景中,可以在不同的矿场设置第一相关链的主链节点。由于同一个矿场一般集体挖矿,并且通络延时少,矿场内数据相对一致,故而可以选择不同矿场的不同主链节点以便获得第一交易的交易记录信息。
在本实施例中,可选的,所述方法还包括:
在所述第一交易确认后,采集所述第一交易的所述交易记录信息;
响应于所述第一交易的所述交易记录信息发生变更,变更本区块链网络的第二区块上的所述交易记录信息为变更后的所述第一交易的所述交易记录信息。
不可避免地,第一相关链分叉可能造成本区块链网络数据需要回溯变更,此时,对第一交易的相关交易记录信息进行变更。必要的,若本区块链网络采用链式连接区块,需要对变更的区块之后的所有区块的进行哈希运算,重新确定各个区块的数据。
在本实施例中,可选的,所述方法还包括:
在所述第一交易确认后,采集所述第一交易的所述交易记录信息;
响应于所述第一交易的所述交易记录信息发生变更,向本区块链网络的链内节点发送链数据变更请求;其中,所述链内节点接收所述链数据变更请求后,向与所述链内节点相对应的所述第一相关链的主链节点请求所述第一交易的第二交易记录信息,并响应于所述第二交易记录信息与原先的所述交易记录信息不匹配,变更所述交易记录信息。
值得一提的是,在基于算力共识的区块链技术中,如比特币区块,是依靠矿工们不断进行数学运算而产生的,每一个区块都必须引用其上一个区块,因此最长的链也是最难以推翻和篡改的,所以节点永远认为最长链才是有效的区块链,只有在最长链上挖矿的矿工才能够获得奖励,这就是我们常说的比特币最长链原则。当二个或多个节点几乎同时记账,则出现分叉,此时,暂时保留两个份记账方式,并最终由较长链的区块链作为最终的记账账本。
在可选案例中,当第一相关链出现分叉且本区块链网络的节点根据第一交易是否被确认而记账时,会遵循分叉之一,而后若因第一相关链选择另一分叉造成本区块链网络的第一交易的交易记录信息发生变动,此时,可以对其修改,并相应的修改之后的区块链。
值得一提的是,当本区块链的区块之间采用链式连接,即将前一区块的哈希值存储与后一区块之中时,则应第一交易记录信息发生变动,则需要重新求解区块哈希值,并同时修改之后的哈希值,值得一提的是,例如比特币网络需要6次确认以保证区块链数据的不被篡改,故而,仅需要修改第一相关链6个区块周期内的本区块链网络的区块之间的链式连接,其算力要求并不高。
在本实施例中,可选的,所述本区块链网络的若干个节点在连接本区块链网络的同时,也连接所述第一相关链的网络。
基于此,能够为本区块链网络迅速提供第一交易相关的数据信息。
在典型的区块链实例中,本网络区块链的前一区块哈希值作为后一区块哈希值求解的输入参数,以便求解后一区块哈希值。
在本实施例中,可选的,本网络区块链的前一区块哈希值作为后一区块哈希值求解的输入参数,所述方法还包括:
响应于所述第一交易的所述交易记录信息发生变更,重新求解所述第二区块的第二区块哈希值,并将所述第二区块哈希值替换至所述第二区块之后的区块里,并相应的求解后续的区块哈希值。
在本实施例中,可选的,在所述将所述第一业务哈希值标记为未共识哈希值写入本区块链网络的第一区块之前,还包括:
将所述第一业务哈希值写入第一哈希列表中;所述第一哈希列表用于存放本区块链网络的与所有未共识的业务数据相匹配的业务哈希值。
通过设置第一哈希列表,便于查阅未共识的业务哈希值。
在本实施例中,可选的,所述方法还包括:
将所有已共识的业务数据相匹配的所述第一业务哈希值写入第二哈希列表中。
通过设置第二哈希列表,便于查阅已共识的业务哈希值。
值得一提的是,如图2所示,在第一相关链网络200的区块XGL1000完成之后,在一个时间周期内,收集本区块链网络100的客户端发起的业务数据,并生成业务哈希值1,并在第一相关链网络200上生成第一交易1;并进一步在第一相关链网络200上发起第一交易2、第一交易3;并且,第一交易1和第二交易2在第一相关链网络200的区块XGL1001上得到确认,并监控该区块获得交易记录2,并报第一交易1、第一交易2的交易记录信息记录在本区块链网络100的区块BQKL1001-1上,即,完成了业务哈希值1、业务哈希值2的共识。
如图3中,业务数据1-7两两配对生成上一级业务哈希值,并最终形成第一业务哈希值。
如图4中,本区块链网络100和第一相关链网络200存在两个共同节点。
如图5中,图中的第一相关链存在分叉,本区块链网络第一次记录业务数据时采用上半图的记账结果,后由于第一相关链分叉并重新共识,而变更为下图的记账结果。首先,第一相关链的区块XGL1001发生变动,并且,原第一交易3的确认由区块XGL1001内发生,而变成区块XGL1002内发生。相应的,原本的本区块链网络中的交易记录信息2以及区块BQKL1001-1、区块BQKL1001-2,也因此而发生修改,此时,本区块链网络的节点会对这些信息进行修改。值得一提的是,其它后续的区块未修改是因为原本的区块并未记录这些信息,后续的记录为新增数据。
如图6所示,在本发明第二实施例中,提供一种依附相关链算力的区块链的共识装置,所述装置包括:
业务哈希获取模块101,用于接收本区块链网络的一个第一时间周期内的至少一组业务数据,经哈希运算求解获得与所述业务数据相匹配的第一业务哈希值;
值得一提的是,第一业务哈希值的生成可以是对一组或多组业务数据整体进行哈希运算;第一业务哈希值的生成也可以是采用默克尔树的形式对每个业务数据进行哈希运算后,再两两生成上级哈希值,并直至求解出默克尔树顶部哈希值,该默克尔树顶部哈希值即为所述第一业务哈希值;
在本实施例中,并不限定本区块链网络的第一时间周期的长短,可选的,第一时间周期就是本区块链网络的区块生成周期;可选的,第一时间周期与本区块链网络的区块生成周期无关。
主链交易生成与记录模块102,用于根据所述第一业务哈希值,在本区块链网络外的第一相关区块链上生成并公告与所述第一业务哈希值相匹配的第一交易;将所述第一业务哈希值标记为未共识哈希值写入本区块链网络的第一区块;
在本实施例中是将第一时间周期内的若干或所有业务数据作为整体打包为哈希值,并在第一相关链上以交易的形式发布;值得一提的是,第一时间周期与第一相关链的区块生成周期并无关系,在本实施例中,只需将第一交易发布于第一相关链,而交易的确认时间与第一相关链本身设置有关,本区块链网络只需要等待该交易的确认即可。例如,在比特币网络中,发起一笔比特币交易,在等待一定时长后,该交易能够被比特币网络的旷工进行记账和确认,并写入区块链中。
主链交易监控模块103,用于根据所述第一业务哈希值,定时检测所述第一相关区块链上的所述第一交易是否被确认;
可选的,本区块链网络的若干个节点会对第一相关链进行数据监控,以便获得第一交易的是否被确认的信息;可选的,本区块链网络的若干个节点在连接本区块链网络的同时,也连接第一相关链网络;
由于第一交易的第一发起者接收第一交易的确认信息相对而言,较为及时。可选的,接收所述第一交易的第一发起者关于所述第一交易被确认的第一确认信息;所述第一发起者与本区块网络连接,所述第一发起者与第一相关链网络连接;
第二区块记录模块104,用于响应于所述第一交易被确认,采集所述第一交易的交易记录信息,将所述交易记录信息记录于本区块链网络的第二区块上,将所述第一业务哈希值标记为已共识哈希值并写入所述第二区块上;所述交易记录信息包括所述第一交易在所述第一相关链上的区块号。
本实例提供的是一种区块链共识技术,当相关业务数据的哈希值被确认于第一相关链上,则认为相关业务数据能够不容易被篡改,而被共识。同时,在第一交易被确认后,可以将相关交易信息,如业务数据的第一业务哈希值被确认于区块链的哪一区块中。
在实际应用中,根据本区块链业务数据的数量、交易手续费以及第一相关链网络的吞吐能力,对一次打包的业务数据的数量设定;值得一提的是,当设置较高的单次业务数据打包数量时,可以减低在第一相关区块链上发布第一交易的手续费,并且降低第一相关区块链的负载,而另一方面单次业务数据打包数量较少时,可以有效提高交易的确认速度。
在本实施例中,可选的,所述业务哈希获取模块101,还包括:
子业务接收单元,用于获取在第一时间周期内接收到的本区块链网络的各个业务单元;所述至少一组业务数据由所述业务单元组成;
子哈希值求解单元,用于求解各个业务单元的单元哈希值;
业务哈希求解单元,用于根据各个所述单元哈希值及默克尔树算法,生成默克尔树顶部哈希值,并将所述默克尔树顶部哈希值作为所述第一业务哈希值。
值得一提的是,当默克尔树的某一层的哈希值为奇数个时,不能两两配对的单个哈希值可以对其自身求解哈希,以便获得上一层哈希值。
可选的,可以将业务单元或者业务数据写入本区块链网络的区块中。
在本实施例中,可选的,所述装置还包括:第一区块记录模块105,用于将所述业务单元或所述业务数据记录于所述第一区块。
可选的,本区块链网络对第一相对链的一个主链节点进行监控,以便获得第一交易的确认信息或者交易记录信息变更。
在本实施例中,可选的,所述主链交易监控模块103,还包括:
多节点交易确认单元,用于与所述第一相关链上的至少三个不同网络的主链节点进行通讯,定时检测至少三个不同网络的所述主链节点的所述第一交易是否被确认;其中,所述主链节点数为奇数个;
多节点交易共识单元,用于在所有的所述主链节点中,若所述第一交易被半数以上的所述主链节点所确认,则认为所述第一交易被确认。
通过设置不同的主链节点,避免与单一主链节点连接,本区块链网络的第一交易确认纯粹由该主链节点决定,当该节点被攻破而造成本区块链数据不可信。同时,通过可是多个主链节点,能够及时对比不同主链节点的数据并选择较多节点确认的交易结果,避免单一主链节点造成主链分叉不能较早发现,减少本区块链网络受第一相关链分叉的影响。
在实际应用场景中,可以在不同的矿场设置第一相关链的主链节点。由于同一个矿场一般集体挖矿,并且通络延时少,矿场内数据相对一致,故而可以选择不同矿场的不同主链节点以便获得第一交易的交易记录信息。
在本实施例中,可选的,所述装置还包括:
交易记录采集模块109,用于在所述第一交易确认后,采集所述第一交易的所述交易记录信息;
第一交易记录变更模块110,用于响应于所述第一交易的所述交易记录信息发生变更,变更本区块链网络的第二区块上的所述交易记录信息为变更后的所述第一交易的所述交易记录信息。
不可避免地,第一相关链分叉可能造成本区块链网络数据需要回溯变更,此时,对第一交易的相关交易记录信息进行变更。必要的,若本区块链网络采用链式连接区块,需要对变更的区块之后的所有区块的进行哈希运算,重新确定各个区块的数据。
在本实施例中,可选的,所述装置还包括:
交易记录采集模块109,用于在所述第一交易确认后,采集所述第一交易的所述交易记录信息;
第二交易记录变更模块111,用于响应于所述第一交易的所述交易记录信息发生变更,向本区块链网络的链内节点发送链数据变更请求;其中,所述链内节点接收所述链数据变更请求后,向与所述链内节点相对应的所述第一相关链的主链节点请求所述第一交易的第二交易记录信息,并响应于所述第二交易记录信息与原先的所述交易记录信息不匹配,变更所述交易记录信息。
值得一提的是,在基于算力共识的区块链技术中,如比特币区块,是依靠矿工们不断进行数学运算而产生的,每一个区块都必须引用其上一个区块,因此最长的链也是最难以推翻和篡改的,所以节点永远认为最长链才是有效的区块链,只有在最长链上挖矿的矿工才能够获得奖励,这就是我们常说的比特币最长链原则。当二个或多个节点几乎同时记账,则出现分叉,此时,暂时保留两个份记账方式,并最终由较长链的区块链作为最终的记账账本。
在可选案例中,当第一相关链出现分叉且本区块链网络的节点根据第一交易是否被确认而记账时,会遵循分叉之一,而后若因第一相关链选择另一分叉造成本区块链网络的第一交易的交易记录信息发生变动,此时,可以对其修改,并相应的修改之后的区块链。
值得一提的是,当本区块链的区块之间采用链式连接,即将前一区块的哈希值存储与后一区块之中时,则应第一交易记录信息发生变动,则需要重新求解区块哈希值,并同时修改之后的哈希值,值得一提的是,例如比特币网络需要6次确认以保证区块链数据的不被篡改,故而,仅需要修改第一相关链6个区块周期内的本区块链网络的区块之间的链式连接,其算力要求并不高。
在本实施例中,可选的,所述本区块链网络的若干个节点在连接本区块链网络的同时,也连接所述第一相关链的网络。
基于此,能够为本区块链网络迅速提供第一交易相关的数据信息。
在典型的区块链实例中,本网络区块链的前一区块哈希值作为后一区块哈希值求解的输入参数,以便求解后一区块哈希值。
在本实施例中,可选的,所述装置还包括:区块数据修改模块106,用于响应于所述第一交易的所述交易记录信息发生变更,重新求解所述第二区块的第二区块哈希值,并将所述第二区块哈希值替换至所述第二区块之后的区块里,并相应的求解后续的区块哈希值。
在本实施例中,可选的,所述装置还包括:
第一哈希列表管理模块107,用于将所述第一业务哈希值写入第一哈希列表中;所述第一哈希列表用于存放本区块链网络的与所有未共识的业务数据相匹配的业务哈希值。
通过设置第一哈希列表,便于查阅未共识的业务哈希值。
在本实施例中,可选的,所述装置还包括:
第二哈希列表管理模块108,用于将所有已共识的业务数据相匹配的所述第一业务哈希值写入第二哈希列表中。
通过设置第二哈希列表,便于查阅已共识的业务哈希值。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (10)
1.一种依附相关链算力的区块链的共识装置,其特征在于,所述装置包括:
业务哈希获取模块,用于接收本区块链网络的一个第一时间周期内的至少一组业务数据,经哈希运算求解获得与所述业务数据相匹配的第一业务哈希值;
主链交易生成与记录模块,用于根据所述第一业务哈希值,在本区块链网络外的第一相关区块链上生成并公告与所述第一业务哈希值相匹配的第一交易;将所述第一业务哈希值标记为未共识哈希值写入本区块链网络的第一区块;
主链交易监控模块,用于根据所述第一业务哈希值,定时检测所述第一相关区块链上的所述第一交易是否被确认;
第二区块记录模块,用于响应于所述第一交易被确认,采集所述第一交易的交易记录信息,将所述交易记录信息记录于本区块链网络的第二区块上,将所述第一业务哈希值标记为已共识哈希值并写入所述第二区块上;所述交易记录信息包括所述第一交易在所述第一相关区块链上的区块号。
2.如权利要求1所述的一种依附相关链算力的区块链的共识装置,其特征在于,所述业务哈希获取模块,还包括:
子业务接收单元,用于获取在第一时间周期内接收到的本区块链网络的各个业务单元;所述至少一组业务数据由所述业务单元组成;
子哈希值求解单元,用于求解各个业务单元的单元哈希值;
业务哈希求解单元,用于根据各个所述单元哈希值及默克尔树算法,生成默克尔树顶部哈希值,并将所述默克尔树顶部哈希值作为所述第一业务哈希值。
3.如权利要求2所述的一种依附相关链算力的区块链的共识装置,其特征在于,所述装置还包括:第一区块记录模块,用于将所述业务单元或所述业务数据记录于所述第一区块。
4.如权利要求1所述的一种依附相关链算力的区块链的共识装置,其特征在于,所述主链交易监控模块,还包括:
多节点交易确认单元,用于与所述第一相关区块链上的至少三个不同网络的主链节点进行通讯,定时检测至少三个不同网络的所述主链节点的所述第一交易是否被确认;其中,所述主链节点数为奇数个;
多节点交易共识单元,用于在所有的所述主链节点中,若所述第一交易被半数以上的所述主链节点所确认,则认为所述第一交易被确认。
5.如权利要求1所述的一种依附相关链算力的区块链的共识装置,其特征在于,所述装置还包括:
交易记录采集模块,用于在所述第一交易确认后,采集所述第一交易的所述交易记录信息;
第一交易记录变更模块,用于响应于所述第一交易的所述交易记录信息发生变更,变更本区块链网络的第二区块上的所述交易记录信息为变更后的所述第一交易的所述交易记录信息。
6.如权利要求1所述的一种依附相关链算力的区块链的共识装置,其特征在于,所述装置还包括:
交易记录采集模块,用于在所述第一交易确认后,采集所述第一交易的所述交易记录信息;
第二交易记录变更模块,用于响应于所述第一交易的所述交易记录信息发生变更,向本区块链网络的链内节点发送链数据变更请求;其中,所述链内节点接收所述链数据变更请求后,向与所述链内节点相对应的所述第一相关区块链的主链节点请求所述第一交易的第二交易记录信息,并响应于所述第二交易记录信息与原先的所述交易记录信息不匹配,变更所述交易记录信息。
7.如权利要求1所述的一种依附相关链算力的区块链的共识装置,其特征在于,所述本区块链网络的若干个节点在连接本区块链网络的同时,也连接所述第一相关区块链的网络。
8.如权利要求6或7所述的一种依附相关链算力的区块链的共识装置,其特征在于,所述装置还包括:
区块数据修改模块,用于响应于所述第一交易的所述交易记录信息发生变更,重新求解所述第二区块的第二区块哈希值,并将所述第二区块哈希值替换至所述第二区块之后的区块里,并相应的求解后续的区块哈希值。
9.如权利要求1所述的一种依附相关链算力的区块链的共识装置,其特征在于,所述装置还包括:
第一哈希列表管理模块,用于将所述第一业务哈希值写入第一哈希列表中;所述第一哈希列表用于存放本区块链网络的与所有未共识的业务数据相匹配的业务哈希值。
10.如权利要求9所述的一种依附相关链算力的区块链的共识装置,其特征在于,所述装置还包括:
第二哈希列表管理模块,用于将所有已共识的业务数据相匹配的所述第一业务哈希值写入第二哈希列表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811165471.2A CN109361661B (zh) | 2018-10-08 | 2018-10-08 | 一种依附相关链算力的区块链的共识装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811165471.2A CN109361661B (zh) | 2018-10-08 | 2018-10-08 | 一种依附相关链算力的区块链的共识装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109361661A CN109361661A (zh) | 2019-02-19 |
CN109361661B true CN109361661B (zh) | 2020-07-10 |
Family
ID=65348473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811165471.2A Active CN109361661B (zh) | 2018-10-08 | 2018-10-08 | 一种依附相关链算力的区块链的共识装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109361661B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110046166B (zh) * | 2019-04-22 | 2021-06-18 | 网易(杭州)网络有限公司 | 基于区块链的定时任务调度方法及装置 |
US11949691B2 (en) * | 2019-05-24 | 2024-04-02 | International Business Machines Corporation | Malicious peer identification |
CN110222095B (zh) * | 2019-06-18 | 2021-06-22 | 北京瑞策科技有限公司 | 一种应用于区块链的电商数据查询方法和用户设备 |
CN110661867B (zh) * | 2019-09-25 | 2021-07-23 | 东北大学 | 一种基于改进工作量证明与权益证明的区块链共识方法 |
CN111444270B (zh) * | 2020-02-25 | 2023-09-08 | 吴燕琼 | 基于区块链的控制有害信息的方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9749297B2 (en) * | 2014-11-12 | 2017-08-29 | Yaron Gvili | Manicoding for communication verification |
US20170236123A1 (en) * | 2016-02-16 | 2017-08-17 | Blockstack Inc. | Decentralized processing of global naming systems |
CN106157142A (zh) * | 2016-06-30 | 2016-11-23 | 惠众商务顾问(北京)有限公司 | 一种区块链共识及同步方法、系统和装置 |
US10158479B2 (en) * | 2017-02-06 | 2018-12-18 | Northern Trust Corporation | Systems and methods for generating, uploading and executing code blocks within distributed network nodes |
US10225078B2 (en) * | 2017-02-09 | 2019-03-05 | International Business Machines Corporation | Managing a database management system using a blockchain database |
CN107040582B (zh) * | 2017-02-17 | 2020-08-14 | 创新先进技术有限公司 | 一种数据处理方法及装置 |
CN107801059B (zh) * | 2017-09-26 | 2018-09-04 | 武汉斗鱼网络科技有限公司 | 一种鉴权方法及服务器 |
CN108133420B (zh) * | 2018-01-10 | 2020-09-11 | 杭州复杂美科技有限公司 | 一种区块链的委托共识方法 |
-
2018
- 2018-10-08 CN CN201811165471.2A patent/CN109361661B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109361661A (zh) | 2019-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109389502B (zh) | 一种依附相关链算力的区块链的共识方法 | |
CN109361661B (zh) | 一种依附相关链算力的区块链的共识装置 | |
CN109214817B (zh) | 一种基于算力寄生的区块链共识装置 | |
CN108829350A (zh) | 基于区块链的数据迁移方法和装置 | |
Sukhwani et al. | Performance modeling of PBFT consensus process for permissioned blockchain network (hyperledger fabric) | |
Wang et al. | An intelligent edge-computing-based method to counter coupling problems in cyber-physical systems | |
CN110442652B (zh) | 一种基于区块链的跨链数据处理方法及装置 | |
CN110597907B (zh) | 跨区块链的数据信息同步方法、装置、设备及介质 | |
CN107171810A (zh) | 区块链的验证方法及装置 | |
CN103413094B (zh) | 一种适用于航天器ctu的遥测加密系统 | |
WO2021023304A1 (zh) | 分叉处理方法以及区块链节点 | |
CN107579814A (zh) | 工作量证明的计算方法的装置、计算芯片、挖矿机 | |
CN113132392B (zh) | 工控网络流量异常检测方法、装置及系统 | |
CN104063293A (zh) | 一种数据备份方法及流计算系统 | |
CN111597567B (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN112039926B (zh) | 一种区块链的双层链式架构实现方法 | |
CN109543459A (zh) | 一种数据存证方法及设备 | |
CN110457337A (zh) | 链路聚合方法、系统和设备 | |
WO2019105331A1 (en) | Computational system and corresponding electronic apparatus | |
CN110363663A (zh) | 基于区块链的数据批量处理方法、装置、设备及存储介质 | |
CN108665272A (zh) | 区块链数据处理方法、装置、设备和存储介质 | |
CN109410055B (zh) | 一种基于算力寄生的区块链共识方法 | |
CN113360321B (zh) | 微服务重试调用方法、装置、电子设备及存储介质 | |
Liu et al. | Using blockchain technology in IoT manufacture environment for intelligence prediction | |
CN112288566B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210317 Address after: No.12, Gaoxin 2nd Road, Zhangba Street office, Gaoxin District, Xi'an City, Shaanxi Province, 710065 Patentee after: XI'AN ZHIGUI INTERNET TECHNOLOGY Co.,Ltd. Address before: 351139 Hualin Industrial Park, Xiagao village, Huating Town, Chengxiang District, Putian City, Fujian Province Patentee before: PUTIAN ZHUHUO INFORMATION TECHNOLOGY Co.,Ltd. |