区块链共识方法、区块链共识系统和计算机可读存储介质技术方案

技术编号:22102813 阅读:29 留言:0更新日期:2019-09-14 03:38
本申请公开了区块链共识方法、区块链共识系统和计算机可读存储介质。区块链包括多个节点,区块链共识方法包括:每个节点获取全部节点关于当前交易的评分信息;每个节点根据评分信息从全部节点中确定记账者和验证者;记账者将当前交易打包为区块并将区块发送给验证者;验证者在接收到区块后对区块进行验证以得到验证结果;验证者根据验证结果处理区块。如此,通过评分信息来确定记账者和验证者,并利用验证者来验证记账者打包的区块,在保证区块链中的节点维护同一账本以确保交易的完整性、正确性的同时,能够节约节点间竞争记账权消耗的大量算力、提高吞吐量、优化性能和降低能耗。

Block Chain Consensus Method, Block Chain Consensus System and Computer Readable Storage Media

【技术实现步骤摘要】
区块链共识方法、区块链共识系统和计算机可读存储介质
本申请涉及区块链
,具体涉及一种区块链共识方法、区块链共识系统和计算机可读存储介质。
技术介绍
相关技术一般使用工作量证明(ProofofWork,POW)共识算法来竞争记账权。POW共识算法的核心思想是各个节点通过证明自己的算力来竞争记账权。POW共识算法能够保证账本的一致性,在恶意节点的算力小于50%的情况下,能够保证账本的账本的正确性,防止双重支付等问题。然而,在实际应用中,POW共识算法会产生算力竞争导致集中化矿池的产生、能源消耗、吞吐量低等问题。
技术实现思路
本申请提供了一种区块链共识方法、区块链共识系统和计算机可读存储介质。本申请实施方式提供一种区块链共识方法。所述区块链包括多个节点,所述区块链共识方法包括:每个所述节点获取全部所述节点关于当前交易的评分信息;每个所述节点根据所述评分信息从全部所述节点中确定记账者和验证者;所述记账者将所述当前交易打包为区块并将所述区块发送给所述验证者;所述验证者在接收到所述区块后对所述区块进行验证以得到验证结果;所述验证者根据所述验证结果处理所述区块。本申请实施方式提供一种区块链共识系统。所述区块链包括多个节点,所述区块链共识系统包括处理器和与所述处理器连接的存储器,所述存储器存储有区块链共识程序,所述区块链共识程序被所述处理器执行时实现上述的区块链共识方法。本申请实施方式提供一种计算机可读存储介质。所述计算机可读存储介质上存储有区块链共识程序,所述区块链共识程序被处理器执行时实现上述的区块链共识方法。本申请实施方式的区块链共识方法、区块链共识系统和计算机可读存储介质,通过评分信息来确定记账者和验证者,并利用验证者来验证记账者打包的区块,在保证区块链中的节点维护同一账本以确保交易的完整性、正确性的同时,能够节约节点间竞争记账权消耗的大量算力、提高吞吐量、优化性能和降低能耗。本申请的实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实施方式的实践了解到。附图说明本申请的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:图1是本申请实施方式的区块链共识方法的流程示意图;图2是本申请另一实施方式的区块链共识方法的流程示意图;图3是本申请又一实施方式的区块链共识方法的流程示意图;图4是本申请再一实施方式的区块链共识方法的流程示意图;图5是本申请另一实施方式的区块链共识方法的流程示意图;图6是本申请又一实施方式的区块链共识方法的流程示意图;图7是本申请再一实施方式的区块链共识方法的流程示意图。主要元件符号说明:区块链共识系统100、处理器101,存储器102。具体实施方式下面详细描述本申请的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。在本申请的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通信;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。下文的公开提供了许多不同的实施方式或例子用来实现本申请的不同结构。为了简化本申请的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本申请。此外,本申请可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本申请提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。请参阅图1,本申请实施方式提供一种区块链共识方法。区块链包括多个节点,区块链共识方法包括:步骤S12:每个节点获取全部节点关于当前交易的评分信息;步骤S14:每个节点根据评分信息从全部节点中确定记账者和验证者;步骤S16:记账者将当前交易打包为区块并将区块发送给验证者;步骤S18:验证者在接收到区块后对区块进行验证以得到验证结果;步骤S19:验证者根据验证结果处理区块。本申请实施方式的区块链共识方法,通过评分信息来确定记账者和验证者,并利用验证者来验证记账者打包的区块,在保证区块链中的节点维护同一账本以确保交易的完整性、正确性的同时,能够节约节点间竞争记账权消耗的大量算力、提高吞吐量、优化性能和降低能耗。在申请本实施方式中,区块链为联盟链。可以理解,在其他的实施方式中,区块链可以为公有链、私有链或其他类型的区块链。在此不对区块链的具体形式进行限定。具体地,自从中本聪(Nakamoto)提出比特币的概念以来,以“区块”和“链”记录交易的方式便进入人们的视野。区块链的本质是将一个网络中点对点的交易记录通过特定的算法生成一个“区块”,再通过密码学技术,将这些“区块”链接起来,使得前后生成的区块环环相扣,因此被形象的称之为区块链。但Nakamoto并没有明确提出区块链的定义,比特币在当时也只是一种点对点的电子现金系统。2013年,维塔利克·布特林(VitalikButerin)提出一种下一代加密货币与去中心化应用平台——以太坊(Ethereum),宣布基于区块链技术的智能合约时代到来。“区块链”的概念开始被越来越多的提及,应用也越来越广泛。在区块链技术中,最关键的问题是如何保证成千上万的节点存储的区块链是相同的,即所有节点都维持一个共同的账本,对同一笔交易保持相同态度。解决这个问题的算法就叫做共识算法。目前在比特币以及以太坊网络中,使用工作量证明(ProofofWork,POW)共识算法,其核心思想是各个节点通过证明自己的算力来竞争记账权。具体来讲分为以下几个步骤:(1)系统产生一个难以计算但容易验证其正确性的问题,即找到一个字符串,使其哈希值的前缀具有指定长度的0;(2)参与竞争记账权的节点把Merkle根哈希及其他相关字段组装成区块头,将区块头的80字节的被使用一次的非重复的随机数值(Numberusedonce,nonce)字段作为工作量证明的输入;(3)不停的变换nonce的数值,并对每次变更后的区块头做双重SHA256运算,将结果值与当前网络目标值作对比,如果小于目标值,则工作量证明完成。POW共识算法能够保证账本的一致性,在恶意节点的算力小于50%的情况下,能够保证账本的账本的正确性,防止双重支付等问题。然而,在实际应用中,POW共识算法具有如下缺陷:(1)算力竞争导致集中化矿池的产生。虽然POW是为了保证区块链系统的去中心化,但比特币系统运行到现在已经形成本文档来自技高网...

【技术保护点】
1.一种区块链共识方法,其特征在于,所述区块链包括多个节点,所述区块链共识方法包括:每个所述节点获取全部所述节点关于当前交易的评分信息;每个所述节点根据所述评分信息从全部所述节点中确定记账者和验证者;所述记账者将所述当前交易打包为区块并将所述区块发送给所述验证者;所述验证者在接收到所述区块后对所述区块进行验证以得到验证结果;所述验证者根据所述验证结果处理所述区块。

【技术特征摘要】
1.一种区块链共识方法,其特征在于,所述区块链包括多个节点,所述区块链共识方法包括:每个所述节点获取全部所述节点关于当前交易的评分信息;每个所述节点根据所述评分信息从全部所述节点中确定记账者和验证者;所述记账者将所述当前交易打包为区块并将所述区块发送给所述验证者;所述验证者在接收到所述区块后对所述区块进行验证以得到验证结果;所述验证者根据所述验证结果处理所述区块。2.如权利要求1所述的区块链共识方法,其特征在于,所述区块链的交易池包括多个待打包交易,每个所述节点获取全部所述节点关于当前交易的评分信息,包括:每个所述节点过滤所述待打包交易以得到所述当前交易和所述评分信息。3.如权利要求2所述的区块链共识方法,其特征在于,每个所述节点过滤所述待打包交易以得到所述当前交易和所述评分信息,包括:确定所述待打包交易的发起节点的身份状态;根据所述身份状态过滤所述待打包交易。4.如权利要求2所述的区块链共识方法,其特征在于,每个所述节点过滤所述待打包交易以得到所述当前交易和所述评分信息,包括:确定所述待打包交易的评分的重复状态;根据所述重复状态处理所述待打包交易的评分。5.如权利要求2所述的区块链共识方法,其特征在于,每个所述节点过滤所述待打包交易以得到所述当前交易和所述评分信息,包括:确定所述当前交易的数量状态;根据所述数量状态过滤所述待打包交易。6.如权利要求1所述的区块链共识方法,其特征在于,每个所述节点根据所述评分信息从全部所述节点中确定记账者和验证者...

【专利技术属性】
技术研发人员:陈月华袁小黎
申请(专利权)人:湖南道业信息科技有限公司深圳市引方科技有限公司
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1