一种区块链交易广播方法和系统、设备及存储介质技术方案

技术编号:22310722 阅读:73 留言:0更新日期:2019-10-16 10:33
本发明专利技术公开了一种区块链交易广播方法和系统、设备及存储介质,属于区块链技术领域。当第二区块链节点产生第一交易,设置轮次i为零后,广播第一交易及轮次i到与第二区块链节点相连接的区块链节点上;当第二区块链节点收到第一区块链节点发来的第二交易及轮次i后,判断i<Turn是否为真;若是,则i=i+1,广播第二交易及轮次i到与第二区块链节点相连接的区块链节点上;若否,广播第二交易哈希值,或广播第二交易哈希值的部分字节到与第二区块链节点相连接的区块链节点上。针对现有技术中交易一个节点多次收到同一笔完整的交易内容,占用网络带宽的技术问题。该方案在广播一定轮次后,可以减小广播交易的文件大小,使得区块链网络稳定工作,降低区块链网络带宽占用。

A blockchain transaction broadcast method, system, equipment and storage medium

【技术实现步骤摘要】
一种区块链交易广播方法和系统、设备及存储介质
本专利技术涉及区块链
,尤其涉及一种区块链交易广播方法和系统、设备及存储介质。
技术介绍
区块链底层P2P网络信息随着整个网络节点数量的增多,交易会在网络重复传输多次,这些重复传输的冗余交易信息会占用大量的CPU以及带宽资源。现有的区块链网络中,共识节点接收到用户发来的交易后,为使交易不在本地长时间缓存,共识节点会立即将收到的交易向区块链网络的全节点进行广播;若同一时间,有较多的共识节点将收到的交易向区块链网络的全节点进行广播,且交易信息较大,则会造成带宽占用大、网络拥堵等问题。现有方案的缺陷是交易被重复广播,且广播的是交易的整个内容,一个节点多次收到同一笔完整的交易,占用不必要的网络带宽。中国专利技术专利申请,公开号:CN109586934A,公开日:2019.04.05,公开了一种区块链底层网络交易同步优化方法,涉及区块链底层P2P网络数据传输
,用户通过客户端发送交易给交易池中的区块链节点1。该区块链底层网络交易同步优化方法,能够通过将交易缓冲池进行存储接收到但还还未广播的交易,通过历史缓冲池能够存储已经广播的交易信息以及批量的哈希值,通过接收到的历史交易哈希值能够记录已经同步完成的批量交易哈希值,能够将批量交易通过默克尔树计算哈希值,交易进行二次广播时仅仅发送一条哈希值消息,大大减少了底层P2P网络的带宽占用,并通过在区块链每个节点上都建立一个缓冲池,并通过默克尔树对交易池进行哈希值计算,从而达到去除冗余交易信息的效果。该方案的不足之处在于:1)该方案是通过一个定时器来定时广播交易的,交易不能及时被广播,存在时差;2)该方案先广播一个交易默克尔hash值,然后通过接收节点是否有这些交易哈希值来重新请求交易内容的;但实际的应用场景中交易在前几轮广播时,其他节点中都是不存在此交易的。所以只广播交易hash的话,增加了节点之间的通信。中国专利技术专利申请,公开号:CN108984662A,公开日:2018.12.11,公开了一种区块链数据同步方法,通过接收若干用户端发送的若干交易信息,将各交易信息的哈希值映射至第一位图中,向区块链网络的所有节点广播第一位图,并接收区块链网络中所有节点广播的位图,比对第一位图和接收的各位图,判断是否缺失交易信息:是,则向持有所缺失交易信息的节点获取所缺失的交易信息,并根据获取结果更新第一位图;以及,循环当前步骤,直至判断结果为否的方法,有效减小了区块链网络中广播数据的大小和各节点之间广播的次数,降低了带宽占用。该方案再实际的应用场景中交易在前几轮广播时,此交易在其他节点上都是不存在的,所以只广播hash映射的位图的话,增加了节点之间通信的次数。
技术实现思路
1.专利技术要解决的技术问题为了克服上述技术问题,本专利技术提供了一种区块链交易广播方法和系统、设备及存储介质。可以减小广播交易的文件大小,使得区块链网络稳定工作,降低区块链网络带宽占用。2.技术方案为解决上述问题,本专利技术提供的技术方案为:第一方面,本专利技术提供了一种区块链交易广播方法,适用于区块链节点,包括:当第二区块链节点产生第一交易,设置轮次i为零后,广播第一交易及轮次i到与第二区块链节点相连接的区块链节点上;或,当第二区块链节点收到第一区块链节点发来的第二交易及轮次i后,判断i<Turn是否为真;若是,则i=i+1,广播第二交易及轮次i到与第二区块链节点相连接的区块链节点上;若否,广播足以唯一识别第二交易的标识到与第二区块链节点相连接的区块链节点上;其中,第一交易或第二交易至少被广播的轮次数Turn由公式∑QTurn=Number确定,轮次i为大于等于零的整数,Number为区块链网络中的区块链节点总数;Q为在区块链网络中,任一区块链节点连接的区块链节点个数。进一步地,所述广播第一交易包括广播第一交易原始信息及其哈希值,所述广播第二交易包括广播第二交易原始信息及其哈希值。进一步地,所述当第二区块链节点产生第一交易后包括:验证第一交易;若验证通过,则广播第一交易及轮次i到与第二区块链节点相连接的区块链节点上;若验证不通过,则不作处理。进一步地,所述若验证通过还包括:第二区块链节点存储第一交易。进一步地,所述当第二区块链节点收到第一区块链节点发来的第二交易及轮次i后,在判断i<Turn是否为真之前,还包括,验证第二交易;若验证通过,则判断i<Turn是否为真;若验证不通过,则不作处理。进一步地,所述若验证通过还包括:第二区块链节点存储第二交易。进一步地,所述当第二区块链节点收到第一区块链节点发来的第二交易及轮次i后,在验证第二交易之前还包括:记录足以唯一识别第二交易的标识、轮次i和第一区块链节点。进一步地,所述记录足以唯一识别第二交易的标识、轮次i和第一区块链节点后,在验证第二交易之前,还包括:判断第二区块链节点是否存在第二交易;若存在,则不验证第二交易,则判断i<Turn是否为真;若是,则i=i+1,广播第二交易及轮次i到除第一区块链节点以外,与第二区块链节点相连接的其他区块链节点上;若否,广播足以唯一识别第二交易的标识到除第一区块链节点以外,与第二区块链节点相连接的其他区块链节点上;若不存在,则验证第二交易。进一步地,若第二区块链节点不存在第二交易,则验证第二交易;若验证不通过,则不作处理;若验证通过,则判断i<Turn是否为真;若是,则i=i+1,广播第二交易及轮次i到除第一区块链节点以外,与第二区块链节点相连接的其他区块链节点上;若否,广播足以唯一识别第二交易的标识到除第一区块链节点以外,与第二区块链节点相连接的其他区块链节点上。进一步地,所述足以唯一识别第二交易的标识到与第二区块链节点相连接的其他区块链节点上,若接收到第二区块链节点发来的足以唯一识别第二交易的标识的区块链节点上不存在第二交易原始信息,则向第二区块链节点请求获取第二交易原始信息,第二区块链节点接收到所述请求后,将第二交易原始信息发送给对应的区块链节点,并设置轮次i=i+1。进一步地,所述对应的区块链节点接收并保存第二交易原始信息,则验证第二交易是否通过?若验证不通过,则不作处理;若验证通过,则广播足以唯一识别第二交易的标识到除第二区块链节点以外,与对应的区块链节点相连接的其他区块链节点上。进一步地,所述足以唯一识别第二交易的标识为交易哈希值,或交易哈希值部分字节或交易ID号,或交易名称。第二方面,本专利技术提供了一种区块链交易广播系统,适用于区块链节点,包括:广播轮次模块,用于当第二区块链节点产生第一交易,设置轮次i为零;或用于判断i<Turn是否为真;若是,还用于设置i=i+1;交易广播模块,用于轮次设置模板设置轮次i为零后,广播第一交易及轮次i到与第二区块链节点相连接的其他区块链节点上;或,当第二区块链节点收到第一区块链节点发来的第二交易及轮次i后,广播轮次模块判断i<Turn是否为真;若是,轮次设置模板设置i=i+1,交易广播模块用于广播第二交易及轮次i到与第二区块链节点相连接的其他区块链节点上;若否,交易广播模块用于广播足以唯一识别第二交易的标识到与第二区块链节点相连接的其他区块链节点上。进一步地,所述交易广播模块用于广播第二交易包括广播第二交易原始信息及其哈希值。进一步地,还包括验证本文档来自技高网
...

【技术保护点】
1.一种区块链交易广播方法,其特征在于,包括:当第二区块链节点产生第一交易,设置轮次i为零后,广播第一交易及轮次i到与第二区块链节点相连接的区块链节点上;或,当第二区块链节点收到第一区块链节点发来的第二交易及轮次i后,判断i<Turn是否为真;若是,则i=i+1,广播第二交易及轮次i到与第二区块链节点相连接的区块链节点上;若否,则广播足以唯一识别第二交易的标识到与第二区块链节点相连接的区块链节点上;其中,第一交易或第二交易至少被广播的轮次数Turn由公式∑Q

【技术特征摘要】
1.一种区块链交易广播方法,其特征在于,包括:当第二区块链节点产生第一交易,设置轮次i为零后,广播第一交易及轮次i到与第二区块链节点相连接的区块链节点上;或,当第二区块链节点收到第一区块链节点发来的第二交易及轮次i后,判断i<Turn是否为真;若是,则i=i+1,广播第二交易及轮次i到与第二区块链节点相连接的区块链节点上;若否,则广播足以唯一识别第二交易的标识到与第二区块链节点相连接的区块链节点上;其中,第一交易或第二交易至少被广播的轮次数Turn由公式∑QTurn=Number确定,轮次i为大于等于零的整数,Number为区块链网络中的区块链节点总数;Q为在区块链网络中,任一区块链节点连接的区块链节点个数。2.根据权利要求1所述的方法,其特征在于,所述广播第一交易包括广播第一交易原始信息及其哈希值,所述广播第二交易包括广播第二交易原始信息及其哈希值。3.根据权利要求1所述的方法,其特征在于,所述当第二区块链节点产生第一交易后包括:验证第一交易;若验证通过,则广播第一交易及轮次i到与第二区块链节点相连接的区块链节点上;若验证不通过,则不作处理。4.根据权利要求3所述的方法,其特征在于,所述若验证通过还包括:第二区块链节点存储第一交易。5.根据权利要求1所述的方法,其特征在于,所述当第二区块链节点收到第一区块链节点发来的第二交易及轮次i后,在判断i<Turn是否为真之前,还包括,验证第二交易;若验证通过,则判断i<Turn是否为真;若验证不通过,则不作处理。6.根据权利要求5所述的方法,其特征在于,所述若验证通过还包括:第二区块链节点存储第二交易。7.根据权利要求5所述的方法,其特征在于,所述当第二区块链节点收到第一区块链节点发来的第二交易及轮次i后,在验证第二交易之前还包括:记录足以唯一识别第二交易的标识、轮次i和第一区块链节点。8.根据权利要求7所述的方法,其特征在于,所述记录足以唯一识别第二交易的标识、轮次i和第一区块链节点后,在验证第二交易之前,还包括:判断第二区块链节点是否存在第二交易;若存在,则不验证第二交易,则判断i<Turn是否为真;若是,则i=i+1,广播第二交易及轮次i到除第一区块链节点以外,与第二区块链节点相连接的其他区块链节点上;若否,则广播足以唯一识别第二交易的标识到除第一区块链节点以外,与第二区块链节点相连接的其他区块链节点上;若不存在,则验证第二交易。9.根据权利要求8所述的方法,其特征在于,若第二区块链节点不存在第二交易,则验证第二交易;若验证不通过,则不作处理;若验证通过,则判断i<Turn是否为真;若是,则i=i+1,广播第二交易及轮次i到除第一区块链节点以外,与第二区块链节点相连接的其他区块链节点上;若否,则广播足以唯一识别第二交易的标识到除第一区块链节点以外,与第二区块链节点相连接的其他区块链节点上。10.根据权利要求1或7所述的方法,其特征在于,所述广播足以唯一识别第二交易的标识到与第二区块链节点相连接的其他...

【专利技术属性】
技术研发人员:何玉斌王志文吴思进
申请(专利权)人:杭州复杂美科技有限公司
类型:发明
国别省市:浙江,33

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

1