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.如权利要求1所述的方法,其特征在于,从预设的区块链所有节点中随机选择一个节点,将所述选择的节点设置为验证用节点的步骤,包括:从所述区块链所有节点中随机选择一个节点,向所述选择的节点发送担任节点验证角色的请求;当接收到所述选择的节点返回的担任确认信息时,将所述选择的节点设置为所述验证用节点。3.如权利要求1所述的方法,其特征在于,获取发送所述节点验证请求的请求发送节点到所述验证用节点之间的距离的步骤,包括:通过所述验证用节点向所述请求发送节点发送会话ID,并记录所述验证用节点向所述请求发送节点发送所述会话ID的第一时间点;通过所述验证用节点接收所述请求发送节点发送的节点ID,并记录所述验证用节点接收到所述节点ID的第二时间点;计算所述第一时间点和所述第二时间点之间的差值,根据所述差值获取所述请求发送节点到所述验证用节点之间的距离。4.如权利要求1所述的方法,其特征在于,所述方法还包括:当未检测到所述区块构建节点在所述预设时间段内将所述构建的区块链接到所述区块链上时,放弃所述区块构建节点,跳转至通过所述验证用节点接收可验证范围内节点发送的节点验证请求,并获取所述发送节点验证请求的请求发送节点到所述验证用节点之间的距离的步骤,直至检测到所述获取的节点在所述预设时间段内将所述构建的区块链接到所述区块链上。5.如权利要求1所述的方法,其特征在于,将所述选择的节点设置为验证用节点的步骤之后,对构建所述区块的所述区块构建节点达成共识的步骤之前,所述方法还包括:实时检测所述可验证范围的预设更新时间是否到达,当所述预设更新时间到达时,根据预设的更新方式更新所述可验证范围。6.如权利要求1-5任一项所述的方法,其特征在于,获取发送所述节点验证请求的请求发送节点到所述验证用节点之间的距离的步骤之后,通过所述验证用节点获取所述请求发送节点中距离所述验证用节点最近的节点的步骤之前,所述方法还包括:根据所述距离设置所述请求发送节点的验证代价,以控制所述请求发送节点的数量。7.一种区块链共识达成装置,其特征在于,所述装置包括:验证用节点设置单元,用于当接收到构建区块的请求时,从预...
【专利技术属性】
技术研发人员:罗捷桓,张金波,曲强,
申请(专利权)人:深圳先进技术研究院,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。