掌桥专利:专业的专利平台
掌桥专利
首页

基于区块链的通讯方法及存储介质

文献发布时间:2023-06-19 11:27:38


基于区块链的通讯方法及存储介质

技术领域

本申请涉及区块链技术领域,具体涉及一种基于区块链的通讯方法及存储介质。

背景技术

随着互联网技术的不断发展,各种各样的通讯软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。目前大部分的通讯系统都是通过设置一个中心化的服务或服务集群为所有的通讯客户端提供服务,主要的功能包括用户数据统一管理、控制用户登录以及通讯消息的安全转发等。

这种基于中心化服务的通讯系统架构,存在以下几个方面的问题:

1.服务商为了保证通讯服务运行良好,会设立多个冗余节点和多个备份,并且投入大量的人力物力对设备进行维护和监控,消耗了大量的隐性成本,并且仍然无法完全杜绝服务中断的发生。

2.不同中心化的通讯服务商会使用独立的服务器,并且各个服务商之间的服务器并不会有信息共享,导致服务商建立了许多本可复用的基础设施,而这些基础设施的价格最终需要用户买单。而对于一部分无足够资源建设独立的通讯系统的企业,则必须向一些通讯服务商购买不稳定,隐私性不好,价格较为昂贵的通讯服务,或投入大量物力重新建立一套重复的系统。

3.中心化的服务商一般会要求用户实名注册且账号与用户身份信息严格绑定并宣称会安全地保管用户的数据。但是服务商因此也付出了相当大的成本去维护数据库安全,此外由于用户信息都是集中存放,当遭受黑客攻击拖库时将会产生大量用户信息泄露。并且当账号与用户严格绑定时发生盗号则会严重损伤用户的利益。

4.中心化的服务商会在多个传输节点进行信息校验,保证信息不被拦截和篡改。但是通过此方式增加了传输信息的转发次数,无形中增加了运营成本。

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性和生成下一个区块。区块链技术的去中心化特征,一直被称为区块链技术最典型的一个特点,其使用分布式储存与算力,使得整个网络节点的权利与义务相同,系统中数据本质为全网节点共同维护,从而区块链不再依靠于中央处理节点,实现数据的分布式存储、记录与更新。而每个区块链都遵循统一规则,该规则基于密码算法而不是信用证书,且数据更新过程都需用户批准,由此奠定区块链不需要中介与信任机构背书。去中心化的优点包括:(1)容错力:中心化一旦中心出现问题,其他节点就容易全线崩溃。而中心化的系统不太可能出现意外,因为它是依赖其他节点,而其他节点不可能一起出问题。(2)抗攻击力:去中心化的系统会让,被攻击成本更高,因为它缺少敏感的中心点,而中心点则更容易被低的成本攻击攻击中心就可能完全崩溃,这也是越来越多投资者希望去中心化技术变得更加成熟。(3)防勾结串通:去中心化系统中的参与者难以牺牲其他参与者为代价,而密谋使自己获利。

因此,如何基于区块链网络的优点开发实现新型通讯系统,是目前业界亟需解决的一个技术问题。

发明内容

本发明的目的之一在于克服以上缺点,提供一种基于区块链的通讯方法,通过去中心化的方式,避免了用户依赖单一某个通讯系统服务商而当其遭受攻击/程序漏洞无法提供服务时导致的信息大面积延迟发送/接收,同时复用区块链基础设施降低使用成本,还能够更好保护用户的隐私,显著降低信息传输被拦截/修改的可能性。

为了解决上述技术问题,本发明提供了一种基于区块链的通讯方法,包括以下步骤:

选取多个区块链网络节点作为信息转发服务节点;

通讯客户端与所述信息转发服务节点进行连接;所述通讯客户端包括消息发送客户端、消息接收客户端;

所述通讯客户端与连接的所述信息转发服务节点确认支付关系;所述支付关系指的是所述通讯客户端地址与信息转发服务节点地址的对应关系;

所述信息转发服务节点获取所述通讯客户端与信息转发服务节点的支付关系保存至本地路由表中;

所述消息发送客户端将消息内容以及消息接收客户端的地址发送给连接的所述信息转发服务节点;

所述信息转发服务节点查找与所述消息接收客户端建立支付关系的所述信息转发服务节点,与之进行连接并建立支付通道,并将消息内容发送给与消息接收客户端建立支付关系的信息转发服务节点;

与消息接收客户端建立支付关系的信息转发服务节点将消息内容发送给所述消息接收客户端。

进一步地,所述通讯客户端与连接的信息转发服务节点确认支付关系,具体方式为:所述通讯客户端与所述信息转发服务节点建立支付通道,发起一笔表示信任的转账。

进一步地,所述通讯客户端与连接的信息转发服务节点确认支付关系,具体方式为:所述通讯客户端向所述信息转发服务节点发送一个可查询验证的字段信息。

进一步地,所述通讯客户端与连接的信息转发服务节点确认支付关系,具体方式为:所述通讯客户端通过电子邮件、http协议或端口到端口连接方式向所述信息转发服务节点发送支付关系确认信息。

进一步地,所述信息转发服务节点获取所述通讯客户端与信息转发服务节点的支付关系保存至本地路由表中,具体为:

所述信息转发服务节点从连接的所述通讯客户端发送的未上链的交易事务信息中解析得到支付关系保存至本地路由表中;和/或

所述信息转发服务节点从区块链上的交易事务信息中解析出网络中所有通讯客户端与信息转发服务节点的支付关系保存至本地路由表中;和/或

所述信息转发服务节点从周围连接的信息转发服务节点获取路由表合并保存至本地路由表中。

进一步地,所述信息转发服务节点查找与所述消息接收客户端建立支付关系的所述信息转发服务节点,具体为:

所述信息转发服务节点根据所述本地路由表判断是否存在与所述消息接收客户端建立支付关系的所述信息转发服务节点;

若存在,返回与所述消息接收客户端建立支付关系的所述信息转发服务节点的地址;

若不存在,则向周围的其他信息转发服务节点广播查询信息,直至其他信息转发服务节点返回与所述消息接收客户端建立支付关系的所述信息转发服务节点的地址。

进一步地,所述的基于区块链的通讯方法,还包括以下步骤:

所述通讯客户端将私密信息发送给连接的信息转发服务节点进行缓存;所述私密信息包括通讯客户端的公钥、IP地址以及端口信息;

所述信息转发服务节点查找与所述消息接收客户端建立支付关系的所述信息转发服务节点,并返回所述消息接收客户端的私密信息;

所述消息发送客户端与所述消息接收客户端直接点对点连接并发送消息。

进一步地,所述消息发送客户端还向连接的所述信息转发服务节点支付费用。

进一步地,与所述消息发送客户端建立支付关系的所述信息转发服务节点,还向与消息接收客户端建立支付关系的信息转发服务节点支付费用。

相应地,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现上述任一项所述的步骤。

区别于现有技术,本发明技术方案的有益效果有:

1.通过设置多个信息转发服务节点将服务节点去中心化,通讯客户端不限定连接的服务商,甚至可以一个通讯客户端对接多个信息转发服务节点,消息发送客户端和消息接收客户端之间可以建立多条不同的通讯通路,有效避免了信息被拦截。

2.支持信息转发服务节点通过解析未上链的交易事务信息获取支付关系缓存在本地路由表,可以避免将敏感消息内容发送到区块链上,同时也支持通过解析区块链上的交易事务信息获取全网的支付关系,快速定位与接收客户端连接的信息转发服务节点,还可以从周边的节点上获取路由表合并更新至本地路由表信息,保持路由表的最新状态。

3.通过通讯客户端给信息转发服务节点支付费用、以及在信息转发服务节点之间转发消息时候支付费用的方式,可以为信息转发服务节点产生利润,激励更多的节点加入提供更稳定的服务。

4.基于区块链网络实现的通讯系统,通过去中心化和竞争的节点系统增加了通信系统的鲁棒性,降低了系统的运营费用,实现了基础设施的重复利用,从而形成一个覆盖全球的基础设施,使用多条通信通路有效避免了息被拦截,数字签名则可以避免信息被篡改篡改,用户可以依靠加密和假名身份系统来保护隐私。

附图说明

图1是本发明一种基于区块链的通讯方法的步骤流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,是本发明一种基于区块链的通讯方法的步骤流程图,包括以下步骤:

选取多个区块链网络节点作为信息转发服务节点;在区块链网络中选取多个节点作为初始的通讯信息转发服务节点,即信息传递服务网络的中间节点,也可以称为服务商,这里的中间节点,可以是矿工,也可以不是矿工。刚开始时网络上可能只有少数几个节点运行信息转发传输的功能,随着众节点发现运行信息传输的协议可以带来利润,则区块链网络中运行此功能的节点数会逐渐增加。

通讯客户端与所述信息转发服务节点进行连接;所述通讯客户端包括消息发送客户端、消息接收客户端;这里的客户端指的是安装完整的可以生成私钥、公钥以及地址的区块链客户端,具体的来说可以是区块链钱包应用。根据通讯的的发送流程可以将所述通讯客户端包括消息发送客户端、消息接收客户端,每个客户端既可以是消息发送客户端、也可以是消息接收客户端。通讯客户端与所述信息转发服务节点进行连接方式可以包括多种方法,例如,所述信息转发服务节点设置有唯一的标识编号(Miner ID)作为服务提供商的标志,客户端通过已知的标识编号与信息转发服务节点进行连接。又如,在所述信息转发服务节点上设置消息转发服务,所述通讯客户端通过服务发现机制与所述信息转发服务节点进行连接。优选地,一个通讯客户端与可以与多个的所述信息转发服务节点进行连接。

所述通讯客户端与连接的所述信息转发服务节点确认支付关系;为确保通讯客户端与信息转发服务节点直接能够建立可信任的关系,使得其他的通讯客户端可以放心地通过该信息转发服务节点转发私密的消息,所述通讯客户端与连接的所述信息转发服务节点要确认两者之间的支付关系。通讯客户端与连接的信息转发服务节点确认支付关系的方式也可以有多种选择,例如,通讯客户端与连接的信息转发服务节点确认支付关系,具体方式为:所述通讯客户端与所述信息转发服务节点建立支付通道,发起一笔表示信任的转账,在区块链网络中,指的是通过区块链进行一笔转账。支付通道是一个逻辑的概念,指通过某种方式可以进行信息的传输,获取,并在信息传输的过程中伴随支付行为,完成信息的价值转移。所以支付通道功能可以分为支付和通道两个部分,支付是指支付货币,通道指消息传输通道,即在传输消息的同时可以支付货币。又如,所述通讯客户端与连接的信息转发服务节点确认支付关系,具体方式为:所述通讯客户端向所述信息转发服务节点发送一个可查询可验证的字段信息。当其他客户端需要确认该通讯客户端与该信息转发服务节点的支付关系时,只需去区块链上或网络中爬取字段信息,如果能查询到该通讯客户端的确与节点存在可验证的字段,则表示可以信任。又比如,所述通讯客户端通过电子邮件、http协议或端口到端口连接方式向所述信息转发服务节点发送支付关系确认信息。

所述信息转发服务节点获取所述通讯客户端与信息转发服务节点的支付关系保存至本地路由表中;这里的支付关系指的是所述通讯客户端地址与信息转发服务节点地址的对应关系。针对通讯客户端直接通过电子邮件、http协议或端口到端口连接方式向所述信息转发服务节点发送支付关系确认信息的方式,信息转发服务节点可以直接将支付关系保存至本地路由表。针对通过区块链发送转账交易事务确认支付关系的方式,信息转发服务节点获取所述通讯客户端与信息转发服务节点的支付关系保存至本地路由表中,可以根据交易事务是否上链分为两种情况:第一种情况:所述信息转发服务节点从连接的所述通讯客户端发送的未上链的交易事务信息中解析得到支付关系保存至本地路由表中,具体地,通讯客户端可以朝信息转发服务节点发出一笔交易事务(TX),并在交易事务里携带需要传输的信息。在技术上,采用一定的技术手段使得该笔交易事务为无效事务,这样该事务就不会被发布到区块链网络上,我们需要保证这笔交易事务通过网络直接发送给接受者,在这里交易事务只是作为信息传输的载体,并无支付交易的功能。所述信息转发服务节点从接收到的通讯客户端的无效交易事务中按照预先约定好的格式解析出通讯客户端地址与自己地址的对应关系,存放到本地路由表中。该方式中路由表只保存与本节点连接的通讯客户端的支付关系,路由表占用空间小,可应用于简单网络通讯场景,可以避免将敏感消息内容发送到区块链上,保证信息的安全。第二种情况:所述信息转发服务节点从区块链上的交易事务信息中解析出网络中所有通讯客户端与信息转发服务节点的支付关系保存至本地路由表中。具体地,区别与第一种方式,通讯客户端朝信息转发服务节点发出一笔交易事务(TX),并在交易事务里携带需要传输的信息,同时这笔交易事务是合法的事务,由于区块链本身的机制就是保存每一笔交易事务信息,因此该记录就会被打包到数据块中,并同步到全网络的每个节点上。网络中的所有信息转发服务节点可以对区块链的数据,按照预先约定好的格式解析,获取到网络中所有通讯客户端与信息转发服务节点的支付关系,把这个关系缓存在自己本地,这个支付关系缓存随着区块链的数据更新也不断更新,相当于路由表的刷新过程。该方式,路由表存储全网的通讯客户端与信息转发服务节点的支付关系,需要占用一定空间,但是该方式查找消息接收客户端效率更高,连接更加快速。

除此之外,所述信息转发服务节点还可以向周围连接的其他信息转发服务节点获取路由表再合并更新到本地路由表当中,尽可能获得足够多的支付关系。通过这种方式不断更新本地路由表,保证每个节点都会将整个区块链网络上所有的支付关系储存本节点的路由表当中,提高查找的准确性。在具体的实施例中,可以采用任意一种方式或同时采用多种方式获取所述通讯客户端与信息转发服务节点的支付关系。

所述消息发送客户端将消息内容以及消息接收客户端的地址发送给连接的所述信息转发服务节点;通常,消息发送客户端会使用加密协议加密需要发送的信息,防止信息在传输过程中被监听或破解。优选地,所述消息发送客户端在向连接的所述信息转发服务节点发送消息内容的时候,还向连接的所述信息转发服务节点支付费用。具体地,可以在每次发送携带消息内容的交易事务的时候,同时支付一笔费用,这笔费用就会上区块链全网保存;也可以在每次发送携带消息内容的交易事务的时候只进行累计费用而不进行支付,只在结束通讯时候支付费用并上链保存。

所述信息转发服务节点查找与所述消息接收客户端建立支付关系的所述信息转发服务节点,与之进行连接并建立支付通道,并将消息内容发送给与消息接收客户端建立支付关系的信息转发服务节点。

在一具体的实施例中,所述信息转发服务节点查找与所述消息接收客户端建立支付关系的所述信息转发服务节点,具体为:

所述信息转发服务节点根据所述本地路由表判断是否存在与所述消息接收客户端建立支付关系的所述信息转发服务节点;

若存在,返回与所述消息接收客户端建立支付关系的所述信息转发服务节点的地址;例如,如果信息转发服务节点是采用第二种方式获取的支付关系,则可以在本地路由表中查询到与所述消息接收客户端建立支付关系的所述信息转发服务节点的地址。

若不存在,则向周围的其他信息转发服务节点广播查询信息,直至其他信息转发服务节点返回与所述消息接收客户端建立支付关系的所述信息转发服务节点的地址。例如,如果信息转发服务节点是采用第一种方式获取的支付关系,本地路由表中若没有消息接收客户端的地址,就只能向周围的其他信息转发服务节点广播查询信息,其他信息转发服务节点进行同样的查询操作或再问询其他节点,直至返回与所述消息接收客户端建立支付关系的所述信息转发服务节点的地址。

优选地,与所述消息发送客户端建立支付关系的所述信息转发服务节点,还向与消息接收客户端建立支付关系的信息转发服务节点支付费用作为激励。通过通讯客户端给信息转发服务节点支付费用、以及在信息转发服务节点之间转发消息时候支付费用的方式,可以为信息转发服务节点产生利润,激励更多的节点加入提供更稳定的服务。

与消息接收客户端建立支付关系的信息转发服务节点将消息内容发送给所述消息接收客户端。这样就完成了消息内容从发送端到接收端的一次传送过程,同理,接收端可按照同样的方式发送消息给发送端,进行信息的交互通讯。

本申请中,由于一个通讯客户端与可以与多个的所述信息转发服务节点进行连接,所以消息发送客户端在与消息接收客户端通信时可以建立一个到多个的通信通道,而通信通道可以是节点已具备的支付通道以节省成本,也可以是新建立的通信协议。传输的信息不需要广播全网,只需经过几个节点转发直接发送到接收者,而不同的通信通道则可能会选择不同的节点,保护用户隐私,增强通信稳定性。所有传输的信息可选择不上链,只会暂存在节点,也可对部分信息实现上链,让其永久保存。

在一优选的实施例中,本申请的基于区块链的通讯方法,还包括以下步骤:

所述通讯客户端将私密信息发送给连接的信息转发服务节点进行缓存;所述私密信息包括通讯客户端的公钥、IP地址以及端口信息;所述信息转发服务节点查找与所述消息接收客户端建立支付关系的所述信息转发服务节点,并返回所述消息接收客户端的私密信息;所述消息发送客户端与所述消息接收客户端直接点对点连接并发送消息。该方式下,通讯客户端直接可以通过获取的公钥、IP地址以及端口信息信息进行点对点直接连接,进行后续的消息发送,而不再通过信息转发服务节点进行消息的转发,可应用于对时效性要求更高的应用场景。

本申请的技术方案,通过设置多个信息转发服务节点将服务节点去中心化,通讯客户端不限定连接的服务商,甚至可以一个通讯客户端对接多个信息转发服务节点,消息发送客户端和消息接收客户端之间可以建立多条不同的通讯通路,有效避免了信息被拦截。同时,基于区块链网络实现的通讯系统,通过去中心化和竞争的节点系统增加了通信系统的鲁棒性,降低了系统的运营费用,实现了基础设施的重复利用,从而形成一个覆盖全球的基础设施,使用多条通信通路有效避免了息被拦截,数字签名则可以避免信息被篡改,用户可以依靠加密和假名身份系统来保护隐私。

在一优选的实施例中,本申请的技术方案还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如上述任一项所述基于区块链的通讯方法的步骤。

上述具体实施方式只是对本发明的技术方案进行详细解释,本发明并不只仅仅局限于上述实施例,凡是依据本发明原理的任何改进或替换,均应在本发明的保护范围之内。

相关技术
  • 基于区块链的通讯方法及存储介质
  • 基于区块链的数据通讯桥接方法、存储介质
技术分类

06120112935251