一种基于分组的区块链网络节点通信方法与流程

文档序号:17726938发布日期:2019-05-22 02:34阅读:491来源:国知局

本发明提出一种区块链网络节点通信间方法,其将所有节点按照逻辑关系分为n个组,在组内节点进行p2p网络通信,只有发起交易或者生产区块的节点可以和组外的节点通信,提高了区块链的处理速度和网络通信速度。



背景技术:

区块链是借由密码学串接并保护内容的串连交易记录(又称区块)。每一个区块包含了前一个区块的加密散列、相应时间戳记以及交易数据(通常用默克尔树算法计算的散列值表示),这样的设计使得区块内容具有难以窜改的特性。用区块链所串接的分布式账本能让两方有效纪录交易,且可永久查验此交易。

区块链利用p2p网络传输数据,当一个节点发起交易或者生成区块时,会向全网广播此交易或区块,产生o(n2)的时间复杂度,随着节点个数的增加,通信的负担越来越重,交易或区块的传输受到严重影响。

当交易或区块产生后,现有的技术直接向p2p网络中的所有节点发送交易或区块,网络中的节点未做区分。

因为网络中的节点未做区分,当一个新的交易或区块生成后,需要向所有节点发送交易或区块,导致通信效率低,网络响应慢。



技术实现要素:

本发明的目的在于解决通信效率低,网络响应慢的问题。

本发明所采用的技术手段如下所述。

本发明一种基于分组的区块链网络节点通信方法,所有节点按照逻辑关系分为n个组,每个节点在本地保存邻居节点时,需要保存本组的尽可能多的节点和其它组的任意一个节点,发起交易或生成区块的节点向本地保存的节点发送交易或区块,收到交易或区块的节点向本地保存的所有节点发送交易或者区块,这样依次循环,直到所有节点发送交易或区块。

本发明的有益效果是:在p2p网络环境中,彼此连接的多台计算机之间都处于对等的地位,各台计算机有相同的功能,本发明的实质是将p2p网络中的节点分组后,对各个节点区别对待,每个节点只和特定的节点通信,这样就减轻了节点的负担,提高网络传输效率。

具体实施方式

本发明一种基于分组的区块链网络节点通信方法,首先所有节点部署时,会生成一个全球唯一的节点id。将所有节点按照逻辑关系分为n个组,每个节点在本地保存邻居节点时,需要保存本组的尽可能多的节点和其它组的任意一个节点,发起交易或生成区块的节点向本地保存的节点发送交易或区块。同样的,收到交易或区块的节点向本地保存的所有节点发送交易或者区块,这样依次循环,直到所有节点发送交易或区块。

例如将每一个节点的节点id对5求余,所有求余值相同的节点被认为分为一组。假设本地节点对5求余后值为0,那么邻居节点向本地节点请求连接时,先计算邻居节点的id,如果邻居节点的id对5求余后值为0,则接收连接,并就将邻居节点保留在本地,如果求余后值为1,就看本地是否已经保存求余后值为的节点,如果没有,就接受请求,并保存节点,如果已经保存,就拒绝请求,并舍弃这个邻居节点,求余后值为2,3,4的也如此处理。

本地保存的节点中只有1个是非本组的节点,跨组传输时,使用该唯一跨组节点,该跨组节点收到交易或区块的节点向本地保存的所有节点发送交易或者区块,这样依次循环,直到所有节点发送交易或区块。

将网络中的节点分组后,每个节点只和同组内的全部节点通信,并和外组的一个节点通信,通信效率提高,响应速度提高,处理速度提高。

举例而言,此种分组方式,可以实现同一部门一组,同一公司一组,同一城市为一组,同一地域为一组,或者同一国家为一组。

在p2p网络环境中,彼此连接的多台计算机之间都处于对等的地位,各台计算机有相同的功能,本发明的实质是将p2p网络中的节点分组后,对各个节点区别对待,每个节点只和特定的节点通信,这样就减轻了节点的负担,提高网络传输效率。



技术特征:

技术总结
本发明一种基于分组的区块链网络节点通信方法,所有节点按照逻辑关系分为N个组,每个节点在本地保存邻居节点时,需要保存本组的尽可能多的节点和其它组的任意一个节点,发起交易或生成区块的节点向本地保存的节点发送交易或区块,收到交易或区块的节点向本地保存的所有节点发送交易或者区块,这样依次循环,直到所有节点发送交易或区块,本发明的实质是将P2P网络中的节点分组后,对各个节点区别对待,每个节点只和特定的节点通信,这样就减轻了节点的负担,提高网络传输效率。

技术研发人员:夏冰;霍晓栋;马俊昌;王虹妍;孙玉俐;刘迎宾
受保护的技术使用者:贵州蓝石科技有限公司
技术研发日:2018.12.28
技术公布日:2019.05.21
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1