【技术实现步骤摘要】
基于DHT的区块链消息广播方法、电子设备及存储介质
本申请涉及区块链
,具体涉及一种基于DHT的区块链消息广播方法、电子设备及存储介质。
技术介绍
目前区块链技术以其匿名、可追溯、不可篡改、去中心化等特性在金融、农产品流通、智能电网和工业互联网等领域有着广泛的应用前景与实用价值。区块链网络的去中心化特性依赖于特定的协议。例如比特币使用的Gossip协议,比特币网络通过Gossip协议使节点产生的交易和挖矿产生的区块不用经过中性化的服务器而广播到全网。目前,区块链技术在一些场景中存在局限性,例如比特币采用的Gossip通信协议虽然具有实现简单、扩展性强的优点,但是当比特币网络节点达到一定的数量级后,Gossip协议的随机发送和重复发送的特性会不可避免地造成消息冗余和消息延迟的情况,进而可能会引发区块链分叉的产生,造成整个比特币网络计算资源的浪费,并且这种延迟会引起交易确认等待时间延长的问题,给比特币用户带来非常不好的体验,单位时间的交易处理量低的问题也是目前困扰众多区块链应用的主要问题之一。专利技 ...
【技术保护点】
1.一种基于DHT的区块链消息广播方法,其特征在于,应用于区块链系统,所述区块链系统中包括全节点网络和简单验证节点网络,所述全节点网络中包括多个全节点,所述多个全节点为基于DHT技术中的Kademlia协议构建的Kademlia协议树中的多个叶子节点,Kademlia协议树上的每个叶子节点具有预设数量个k桶,每个k桶包括记录不超过k个其他节点的节点信息的k桶列表,所述简单验证节点网络中包括多个简单验证节点,每个简单验证节点都设置有与之相连的全节点;所述基于DHT的区块链消息广播方法包括:/n在交易传播阶段,判断目标交易产生的消息源节点类型;/n若所述消息源节点类型为全节点, ...
【技术特征摘要】
1.一种基于DHT的区块链消息广播方法,其特征在于,应用于区块链系统,所述区块链系统中包括全节点网络和简单验证节点网络,所述全节点网络中包括多个全节点,所述多个全节点为基于DHT技术中的Kademlia协议构建的Kademlia协议树中的多个叶子节点,Kademlia协议树上的每个叶子节点具有预设数量个k桶,每个k桶包括记录不超过k个其他节点的节点信息的k桶列表,所述简单验证节点网络中包括多个简单验证节点,每个简单验证节点都设置有与之相连的全节点;所述基于DHT的区块链消息广播方法包括:
在交易传播阶段,判断目标交易产生的消息源节点类型;
若所述消息源节点类型为全节点,通过所述消息源节点向所述区块链系统中的其他所有的全节点传播所述目标交易的交易信息;
若所述消息源节点类型为简单验证节点,在所述多个全节点中随机选择一个与所述消息源节点相连的在线的全节点传播所述目标交易的交易信息。
2.根据权利要求1所述的基于DHT的区块链消息广播方法,其特征在于,所述若所述消息源节点类型为全节点,通过所述消息源节点向所述区块链系统中的其他所有的全节点传播所述目标交易的交易信息,包括:
遍历所述消息源节点的预设数量的k桶,分别以所述预设数量的k桶中的一个k桶为目标k桶;
确定所述目标k桶列表中网络诊断畅通的目标节点;
向所述目标节点发送所述目标交易的交易信息,所述交易信息中附带所述目标节点对于消息源节点的桶号n,以使得所述目标节点遍历它的前n-1个k桶,直至当n等于1时,传播结束,其中,n为正整数。
3.根据权利要求2所述的基于DHT的区块链消息广播方法,其特征在于,每个k桶记录的其他节点的节点信息按照更新时间顺序排序;
所述确定所述目标k桶列表中网络诊断畅通的目标节点,包括:
基于所述更新时间顺序,选择目标k桶列表中更新时间最新的节点;
向所述更新时间最新的节点发出网络诊断指令;
若网络诊断不通,将所述更新时间最新的节点挪到目标k桶列表中更新时间距离最久的位置;
选择所述目标k桶列表中第二个节点继续进行网络诊断,直至确定网络诊断畅通的目标节点。
4.根据权利要求1所述的基于DHT的区块链消息广播方法,其特征在于,每个全节点都设有对应唯一的节点标识,每个全节点的节点标识遵循Kademlia协议,每个全节点在Kademlia协议树上的位置是基于全节点的节点标识得到的。
5.根据权利要求1所述的基于DHT的区块链消息广播方法,其特征在于,所述方法还包括:
在新区块生成后的传播阶段,判断产生新区块的区块源节点类型;
若所述区块源节点类型为全节点,通过所述...
【专利技术属性】
技术研发人员:金键,谢家贵,李志平,高礼坤,聂凡杰,
申请(专利权)人:中国信息通信研究院,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。