一种低交易延迟的区块链共识方法技术

技术编号:32798588 阅读:17 留言:0更新日期:2022-03-23 20:02
本发明专利技术涉及信息技术领域,具体涉及一种低交易延迟的区块链共识方法,包括:设置出块周期,划分广播阶段、出块阶段和确认阶段;在出块阶段区块链矿工生成区块体,提取出块哈希值,签名出块哈希值;将区块体关联出块哈希值、钱包地址和出块哈希值签名后广播;多个区块体将在区块链网络中广播;若区块体包含其他区块体未记录的交易,则签名出块哈希值并广播,若区块体记录的交易被其他区块体记录,则签名出块时间戳较早的区块体的出块哈希值并广播;集齐预设数量签名的区块体被纳入最终区块体;分摊出块奖励,生成奖励交易;最终区块体添加区块头形成区块。本发明专利技术的实质性效果是:避免了区块链矿工之间竞争,有效降低上链延迟。有效降低上链延迟。有效降低上链延迟。

【技术实现步骤摘要】
一种低交易延迟的区块链共识方法


[0001]本专利技术涉及信息
,具体涉及一种低交易延迟的区块链共识方法。

技术介绍

[0002]区块链是一个分布式共享账本,具有去中心化、可追溯、不可篡改、数据透明、集体维护的特点。在区块链系统中,节点与节点之间是平等的关系,区块链节点通过共识机制达成记账的统一。共识机制即是区块链系统为维护账本的统一,区块链节点执行的一系列操作和遵循的规则。参与维护区块链系统及生成区块的区块链节点又称为区块链矿工。目前主流的区块链共识机制有工作量证明机制POW、股权证明机制POS、委托权益证明DPOS和拜占庭容错共识机制PBFT。其中工作量证明机制POW因消耗大量算力和资源被业界所诟病,且工作量证明机制POW的交易上链延迟较高,但工作量证明机制POW具有最好的安全性和去中心化特性。POS和DPOS具有较低的交易上链延迟,但具有一定的中心化,安全性有所降低。拜占庭容错共识机制PBFT具有较高的安全性,但算法效率低,不适合具有大量节点的区块链系统。因而需要研究新的区块链共识机制。
[0003]如中国专利CN111539726A,公开日2020年8月14日,公开了一种区块链共识系统及方法,系统包含共识节点和代理节点;共识节点接收的交易请求,将交易请求广播至所处子共识网络中其他共识节点和代理节点进行验证处理;接收其他共识节点广播的交易请求或代理节点提供的交易请求,将交易结果与代理节点反馈的共识结果比较验证,根据验证结果将交易结果或共识结果入链;代理节点根据所处子共识网络广播的交易请求,通过拜占庭算法将交易请求共识至主网络中其他代理节点,或,获得主网络中其他代理节点共识的交易请求,将交易请求提供至所处子共识网络供共识节点处理;获得交易请求在主网络的共识结果,将共识结果提供至所处子共识网络供共识节点比较。其技术方案规定了共识节点和代理节点,具有一定的中心化问题,同时需要借助拜占庭算法完成共识,执行效率较低,不能有效降低交易上链延迟。

技术实现思路

[0004]本专利技术要解决的技术问题是:目前缺乏兼顾安全性和低交易上链延迟的区块链共识机制的技术问题。提出了一种低交易延迟的区块链共识方法,能够提供更低交易上链延迟的区块链共识方法。
[0005]为解决上述技术问题,本专利技术所采取的技术方案为:一种低交易延迟的区块链共识方法,包括:设置出块周期,将出块周期划分为广播阶段、出块阶段和确认阶段;广播阶段时区块链矿工广播交易,使交易池尽可能同步;在出块阶段区块链矿工从交易池中选择若干个交易打包进区块体,在区块体内添加时间戳,提取区块体的哈希值作为出块哈希值,签名出块哈希值;将区块体关联出块哈希值、钱包地址和出块哈希值签名后广播;多个区块体将在区块链网络中广播,区块链矿工检查区块体内包含的交易是否被其他区块体包含;若区块体包含其他区块体未记录的交易,则签名出块哈希值并广播,若区块体记录的交易被
其他区块体记录,则签名出块时间戳较早的区块体的出块哈希值并广播;出块阶段结束后进入确认阶段,在确认阶段区块链矿工不再接收新产生的区块体,仅签名和广播已产生的区块体;确认阶段结束时,将有若干个区块体集齐预设数量的签名;集齐预设数量签名的区块体被纳入最终区块体,将区块体按照时间戳升序排序;按照区块体包含的不被排序在前的区块体记录的交易数量作为权重比例,分摊出块奖励,生成奖励交易;将奖励交易加入最终区块体,提取最终区块体的哈希值作为根哈希值;最终区块体添加区块头形成区块,所述区块头包括区块高度、根哈希值、上一个区块的区块哈希值、时间戳和区块哈希值,所述区块哈希值为当前区块的根哈希值与上一个区块的区块哈希值和当前区块高度一起提取获得的哈希值。
[0006]作为优选,交易池中的交易均分配有交易ID,区块链矿工周期性精简最终区块体,精简最终区块体的方法为:判断交易是否在最终区块体中被重复记录,若被重复记录,则删除在后的交易记录;最终区块体经过精简后形成查询区块,全部查询区块形成查询链,区块链执行交易检索时,使用所述查询链。
[0007]作为优选,区块链矿工广播区块体时,检查当前广播的区块体是否在已广播的区块体内记录,若存在交易被已广播的区块体记录,则将当前区块体内对应交易使用交易ID替换,将完成替换后的区块体广播。
[0008]作为优选,区块链矿工广播区块体时,若区块体记录的交易被其他区块体记录,则计算区块体得分,选定确认阶段起始时间戳作为参考时间戳,计算参考时间戳与区块体关联的时间戳差值,差值与区块体内包含的交易数量的乘积作为区块体得分,区块链矿工签名并广播得分高的区块体。
[0009]作为优选,广播阶段区块链矿工接收用户提交的交易或其他区块链矿工广播的交易;判断交易是否已被打包进区块,若已被打包进区块,则丢弃交易;区块链矿工判断当前内存中交易池包含的交易占用空间是否与预设区块体大小相当,若相当,则在本广播阶段内停止参与交易的广播。
[0010]作为优选,设置出块周期调整间隔和调整公式,当到达出块周期调整间隔时,区块链矿工根据调整公式调整出块周期,所述出块阶段和确认阶段占用时长固定,所述调整公式为出块周期对最小出块周期、最大出块周期、交易池平均交易数量和最终区块体平均大小的函数。
[0011]作为优选,设置交易池交易参考数量和区块体参考大小,区块链矿工计算出块周期调整间隔内的交易池交易数量平均值和最终区块体平均大小,若交易池交易数量平均值大于交易池交易参考数量或者最终区块体平均大小大于区块体参考大小,则按步长缩短出块周期,若出块周期小于最小出块周期,则出块周期设置为所述最小出块周期。
[0012]作为优选,广播阶段若干个区块链矿工生成若干个公私秘钥对,公开公钥;部分用户提交交易时,选择一个公钥将交易时间戳加密;区块链矿工广播交易时,选择若干个交易,将交易时间戳使用若干个公钥中的一个加密;进入确认阶段时,若干个区块链矿工公开私钥;区块链矿工使用私钥解密相应的交易,获得交易时间戳;若存在区块体的时间戳早于交易时间戳,则判定区块体作弊,丢弃对应的区块体;发起针对出块区块链矿工的投诉,投诉经预设比例的区块链矿工确认后,被投诉的区块链矿工被加入黑名单。
[0013]作为替代,广播阶段若干个区块链矿工生成若干个公私秘钥对,公开公钥;若干个
区块链矿工生成若干个验证时间戳,选择一个公钥将验证时间戳加密;区块链矿工广播交易时,同时广播加密后的验证时间戳;出块阶段区块链矿工随机选择若干个加密后的验证时间戳,加入到区块体末尾;进入确认阶段时,若干个区块链矿工公开私钥;区块链矿工使用私钥解密获得验证时间戳;若存在区块体的时间戳早于包含的验证时间戳,则判定区块体作弊,丢弃对应的区块体;发起针对出块区块链矿工的投诉,投诉经预设比例的区块链矿工确认后,被投诉的区块链矿工被加入黑名单。
[0014]本专利技术的实质性效果是:区块链矿工均有权生成区块,具有较高的去中心化特性,保证了区块链系统的安全,采用区块体共识和最终区块确认的改进方案,避免了区块链矿工之间的竞争,能够有效降低交易上链延迟;采用共本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种低交易延迟的区块链共识方法,其特征在于,包括:设置出块周期,将出块周期划分为广播阶段、出块阶段和确认阶段;广播阶段时区块链矿工广播交易;在出块阶段区块链矿工从交易池中选择若干个交易打包进区块体,在区块体内添加时间戳,提取区块体的哈希值作为出块哈希值,签名出块哈希值;将区块体关联出块哈希值、钱包地址和出块哈希值签名后广播;多个区块体将在区块链网络中广播,区块链矿工检查区块体内包含的交易是否被其他区块体包含;若区块体包含其他区块体未记录的交易,则签名出块哈希值并广播,若区块体记录的交易被其他区块体记录,则签名出块时间戳较早的区块体的出块哈希值并广播;出块阶段结束后进入确认阶段,在确认阶段区块链矿工不再接收新产生的区块体,仅签名和广播已产生的区块体;确认阶段结束时,将有若干个区块体集齐预设数量的签名;集齐预设数量签名的区块体被纳入最终区块体,将区块体按照时间戳升序排序;按照区块体包含的不被排序在前的区块体记录的交易数量作为权重比例,分摊出块奖励,生成奖励交易;将奖励交易加入最终区块体,提取最终区块体的哈希值作为根哈希值;最终区块体添加区块头形成区块,所述区块头包括区块高度、根哈希值、上一个区块的区块哈希值、时间戳和区块哈希值,所述区块哈希值为当前区块的根哈希值与上一个区块的区块哈希值和当前区块高度一起提取获得的哈希值。2.根据权利要求1所述的一种低交易延迟的区块链共识方法,其特征在于,交易池中的交易均分配有交易ID,区块链矿工周期性精简最终区块体,精简最终区块体的方法为:判断交易是否在最终区块体中被重复记录,若被重复记录,则删除在后的交易记录;最终区块体经过精简后形成查询区块,全部查询区块形成查询链,区块链执行交易检索时,使用所述查询链。3.根据权利要求2所述的一种低交易延迟的区块链共识方法,其特征在于,区块链矿工广播区块体时,检查当前广播的区块体是否在已广播的区块体内记录,若存在交易被已广播的区块体记录,则将当前区块体内对应交易使用交易ID替换,将完成替换后的区块体广播。4.根据权利要求1至3任一项所述的一种低交易延迟的区块链共识方法,其特征在于,区块链矿工广播区块体时,若区块体记录的交易被其他区块体记录,则计算区块体得分,选定确认阶段起始时间戳作为参考时间戳,计算参考时间戳与区块体关联的时间戳差值,差值与区块体内包含的交易数量的乘积作为区块体得分,区块链矿工签名并广播得分高的区块体。5.根据权利要求1至3任一项所述的一种低...

【专利技术属性】
技术研发人员:张金琳高航
申请(专利权)人:浙江数秦科技有限公司
类型:发明
国别省市:

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

1