区块链共识达成方法、装置制造方法及图纸

技术编号:17117674 阅读:15 留言:0更新日期:2018-01-25 00:25
本发明专利技术适用计算机技术领域,提供了一种区块链共识达成方法、装置、设备及存储介质,该方法包括:当接收到构建区块的请求时,从预设区块链所有节点中随机选择一个节点,将选择的节点设置为验证用节点,通过验证用节点接收可验证范围内节点发送的节点验证请求,并获取请求发送节点到验证用节点之间的距离,通过验证用节点获取请求发送节点中离验证用节点最近的节点,将获取的节点设置为区块构建节点,并检测区块构建节点是否在预设时间段内将构建的区块链接到区块链上,当检测到区块构建节点在预设时间段内将构建的区块链接到区块链上时,对构建区块的区块构建节点达成共识,从而对由谁来构建区块的问题达成共识,提高了区块链共识机制的共识效果。

Block chain consensus approach, device, equipment, and storage medium

The invention is applied to computer technology, provides a block chain consensus method, apparatus, equipment and storage medium, the method comprises: when receiving a request from the building blocks, all nodes preset block chain randomly chosen nodes, select the node set to verify the node, through verification the node receives the node node within the scope of the verification verification request, and request the sending node to verify the distance between the nodes, through the verification by the sending node from the node access request verification node recently, the node is set to block construction and building block block detection node, link to block chain node the construction for a preset period of time whether, when the detected block building block links to block chain nodes will be built in a preset period of time on the, A consensus is achieved for building blocks in blocks, so as to reach a consensus on who will build blocks and improve the consensus effect of block chain consensus mechanism.

【技术实现步骤摘要】
区块链共识达成方法、装置、设备及存储介质
本专利技术属于计算机
,尤其涉及一种区块链共识达成方法、装置、设备及存储介质。
技术介绍
区块链技术,也被称作分布式账本技术,是一种互联网数据库技术,是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,具有去中心化、公开透明、安全可信等优点。由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。因此区块链系统需要设计一种机制对在相近时间内发生的事务的先后顺序进行共识,以防止错误发生,例如比特币交易中的一笔双花问题,即同一个节点的同一笔比特币,由于网络的延迟等原因导致的被消耗两次的系统错误问题。这种对一个时间窗口内的事务的先后顺序达成共识的算法称为共识机制。区块链共识机制即区块链事务达成分布式共识的算法,通过区块链共识机制,系统选择一个独特的节点来产生一个区块,并使得交易总账不可逆。现有的常见共识机制有工作量证明(PoW)机制和权益证明(PoS)机制。工作量证明机制主要有两方面不足:一方面,由于每个节点都投入大量算力去尝试计算符合要求的散列值,最后只有一个或极少数节点能算出符合要求的散列值,大部分节点的运算都是白费的,所以维持整个机制需要消耗巨大的能量与算力,造成了资源的大量浪费;另一方面,风险和收益博弈必然导致联合挖矿,而大算力矿池可能会对系统的去中心化构成威胁。权益证明机制也有两方面的不足:一方面,拥有权益的参与者未必想构建区块(即参与记账),因为在权益证明机制中,权益激励的计算方式在不考虑手续费的前提下,持币者每隔几个月打开节点参与验证跟实时参与验证,理论上收益是一样的;另一方面,链条容易产生分叉。一旦发生分叉,不像工作量证明机制,拥有大算力分支可以把小算力分支消除,因为权益证明机制“挖矿”不需要成本,持币人能在新分支上获得收益,这会导致分叉容易出现。
技术实现思路
本专利技术的目的在于提供一种区块链共识达成方法、装置、设备及存储介质,旨在解决由于现有区块链共识机制计算过程复杂、去中心化效果不佳、链条容易产生分叉,导致现有区块链共识机制的共识效果不佳的问题。一方面,本专利技术提供了一种区块链共识达成方法,所述方法包括下述步骤:当接收到构建区块的请求时,从预设的区块链所有节点中随机选择一个节点,将所述选择的节点设置为验证用节点;通过所述验证用节点接收可验证范围内节点发送的节点验证请求,并获取发送所述节点验证请求的请求发送节点到所述验证用节点之间的距离;通过所述验证用节点获取所述请求发送节点中距离所述验证用节点最近的节点,将所述获取的节点设置为区块构建节点,并检测所述区块构建节点是否在预设时间段内将构建的区块链接到所述区块链上;当检测到所述区块构建节点在所述预设时间段内将所述构建的区块链接到所述区块链上时,对构建所述区块的所述区块构建节点达成共识。另一方面,本专利技术提供了一种区块链共识达成装置,所述装置包括:验证用节点设置单元,用于当接收到构建区块的请求时,从预设的区块链所有节点中随机选择一个节点,将所述选择的节点设置为验证用节点;距离获取单元,用于通过所述验证用节点接收可验证范围内节点发送的节点验证请求,并获取发送所述节点验证请求的请求发送节点到所述验证用节点之间的距离;区块检测单元,用于通过所述验证用节点获取所述发送节点验证请求的节点中距离所述验证用节点最近的节点,将所述获取的节点设置为区块构建节点,并检测所述区块构建节点是否在预设时间段内将构建的区块链接到所述区块链上;以及共识达成单元,用于当检测到所述区块构建节点在所述预设时间段内将所述构建的区块链接到所述区块链上时,对构建所述区块的所述区块构建节点达成共识。另一方面,本专利技术还提供了一种计算设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如所述区块链共识达成方法的步骤。另一方面,本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如所述区块链共识达成方法的步骤。本专利技术在接收到构建区块的请求时,从预设的区块链所有节点中随机选择一个节点,将选择的节点设置为验证用节点,通过验证用节点接收可验证范围内节点发送的节点验证请求,并获取发送节点验证请求的请求发送节点到验证用节点之间的距离,通过验证用节点获取请求发送节点中距离验证用节点最近的节点,将获取的节点设置为区块构建节点,并检测区块构建节点是否在预设时间段内将构建的区块链接到区块链上,当检测到区块构建节点在预设时间段内将构建的区块链接到区块链上时,对构建区块的区块构建节点达成共识,从而使得区块链所有节点对由谁来构建区块的问题达成共识,提高了区块链共识机制的共识效果。附图说明图1是本专利技术实施例一提供的区块链共识达成方法的实现流程图;图2是本专利技术实施例二提供的区块链共识达成方法的实现流程图;图3是本专利技术实施例三提供的区块链共识达成装置的结构示意图;图4是本专利技术实施例四提供的区块链共识达成装置的结构示意图;以及图5是本专利技术实施例五提供的计算设备的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。以下结合具体实施例对本专利技术的具体实现进行详细描述:实施例一:图1示出了本专利技术实施例一提供的区块链共识达成方法的实现流程,为了便于说明,仅示出了与本专利技术实施例相关的部分,详述如下:在步骤S101中,当接收到构建区块的请求时,从预设的区块链所有节点中随机选择一个节点,将选择的节点设置为验证用节点。本专利技术实施例适用于区块链系统,以用于在区域链中确定区块构建节点的问题上快速达成共识,实现区块的构建。其中,区块链是一种按照时间顺序将区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本,构建的区块用于存储区块链系统的事务数据。在本专利技术实施例中,当接收到构建区块的请求时,随机从预设区块链所有参与区块构建的节点中选取一个节点,并将选择的节点作为验证用节点,以用于在后续过程中对节点验证请求进行验证,从而实现区块链的去中心化,进而维护区块链的一致性。在步骤S102中,通过验证用节点接收可验证范围内节点发送的节点验证请求,并获取发送节点验证请求的请求发送节点到验证用节点之间的距离。在本专利技术实施例中,可验证范围是一个随着时间进行变化的范围。在验证用节点确定后,验证用节点周围可验证范围内节点向该验证用节点发送节点验证请求,以对请求发送节点是否可以作为区块构建节点进行验证,在验证用节点接收请求发送节点的节点验证请求之后,根据节点验证请求获取请求发送节点到验证用节点之间的距离。优选地,当请求发送节点向该验证用节点发送节点验证请求时,根据请求发送节点到验证用节点之间的距离远近,为验证用节点对请求发送节点的验证设置了不同的代价,从而使得验证请求节点选择“投资”一条验证更可能成功的区块链链条分支,从而提高了形成最长区块链链条的概率。这样区块链中较短的链条分支最终会被消除,避免区块链的链条分叉。优选地,在确定验证用节点之后,实时检测可验证范围的预设更新时本文档来自技高网
...
区块链共识达成方法、装置

【技术保护点】
一种区块链共识达成方法,其特征在于,所述方法包括下述步骤:当接收到构建区块的请求时,从预设的区块链所有节点中随机选择一个节点,将所述选择的节点设置为验证用节点;通过所述验证用节点接收可验证范围内节点发送的节点验证请求,并获取发送所述节点验证请求的请求发送节点到所述验证用节点之间的距离;通过所述验证用节点获取所述请求发送节点中距离所述验证用节点最近的节点,将所述获取的节点设置为区块构建节点,并检测所述区块构建节点是否在预设时间段内将构建的区块链接到所述区块链上;当检测到所述区块构建节点在所述预设时间段内将所述构建的区块链接到所述区块链上时,对构建所述区块的所述区块构建节点达成共识。

【技术特征摘要】
1.一种区块链共识达成方法,其特征在于,所述方法包括下述步骤:当接收到构建区块的请求时,从预设的区块链所有节点中随机选择一个节点,将所述选择的节点设置为验证用节点;通过所述验证用节点接收可验证范围内节点发送的节点验证请求,并获取发送所述节点验证请求的请求发送节点到所述验证用节点之间的距离;通过所述验证用节点获取所述请求发送节点中距离所述验证用节点最近的节点,将所述获取的节点设置为区块构建节点,并检测所述区块构建节点是否在预设时间段内将构建的区块链接到所述区块链上;当检测到所述区块构建节点在所述预设时间段内将所述构建的区块链接到所述区块链上时,对构建所述区块的所述区块构建节点达成共识。2.如权利要求1所述的方法,其特征在于,从预设的区块链所有节点中随机选择一个节点,将所述选择的节点设置为验证用节点的步骤,包括:从所述区块链所有节点中随机选择一个节点,向所述选择的节点发送担任节点验证角色的请求;当接收到所述选择的节点返回的担任确认信息时,将所述选择的节点设置为所述验证用节点。3.如权利要求1所述的方法,其特征在于,获取发送所述节点验证请求的请求发送节点到所述验证用节点之间的距离的步骤,包括:通过所述验证用节点向所述请求发送节点发送会话ID,并记录所述验证用节点向所述请求发送节点发送所述会话ID的第一时间点;通过所述验证用节点接收所述请求发送节点发送的节点ID,并记录所述验证用节点接收到所述节点ID的第二时间点;计算所述第一时间点和所述第二时间点之间的差值,根据所述差值获取所述请求发送节点到所述验证用节点之间的距离。4.如权利要求1所述的方法,其特征在于,所述方法还包括:当未检测到所述区块构建节点在所述预设时间段内将所述构建的区块链接到所述区块链上时,放弃所述区块构建节点,跳转至通过所述验证用节点接收可验证范围内节点发送的节点验证请求,并获取所述发送节点验证请求的请求发送节点到所述验证用节点之间的距离的步骤,直至检测到所述获取的节点在所述预设时间段内将所述构建的区块链接到所述区块链上。5.如权利要求1所述的方法,其特征在于,将所述选择的节点设置为验证用节点的步骤之后,对构建所述区块的所述区块构建节点达成共识的步骤之前,所述方法还包括:实时检测所述可验证范围的预设更新时间是否到达,当所述预设更新时间到达时,根据预设的更新方式更新所述可验证范围。6.如权利要求1-5任一项所述的方法,其特征在于,获取发送所述节点验证请求的请求发送节点到所述验证用节点之间的距离的步骤之后,通过所述验证用节点获取所述请求发送节点中距离所述验证用节点最近的节点的步骤之前,所述方法还包括:根据所述距离设置所述请求发送节点的验证代价,以控制所述请求发送节点的数量。7.一种区块链共识达成装置,其特征在于,所述装置包括:验证用节点设置单元,用于当接收到构建区块的请求时,从预...

【专利技术属性】
技术研发人员:罗捷桓张金波曲强
申请(专利权)人:深圳先进技术研究院
类型:发明
国别省市:广东,44

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

1