一种基于区块链技术的即时通讯系统和方法与流程

文档序号:18406337发布日期:2019-08-10 00:25阅读:2189来源:国知局
一种基于区块链技术的即时通讯系统和方法与流程

本发明属于通信技术领域,涉及一种基于区块链技术的即时通讯系统和方法。



背景技术:

现有即时通讯软件多是基于tcp/ip和udp协议基础上的,每个登录的用户与服务器间需要建立一个稳定的tcp连接,所有从客户端发送给另一个客户端的消息和数据或信息都必须通过服务端,服务器则直接与后台数据或信息库交互。通讯数据或信息存储在服务端数据或信息库和客户端中,是一种中心化存储方式,没有第三方对通讯数据或信息做鉴证,这样导致消息数据或信息存在被篡改、被抵赖的风险,且无法追溯;同时服务器的安全和用户隐私也会受到影响,因为中心化的集中信息存储方式容易受到攻击;用户发送的文本、文件等无转换与采集技术,即时沟通消息不能直接作为格式化文本的数据或信息源。



技术实现要素:

本发明为克服先前技术存在的问题,提供一种基于区块链技术的即时通讯系统。以区块链智能合约和分布式账本实现即时通讯数据或信息的存储,实现真正的社群可信,实现去中心化的互助规则,并且保证通讯信息的安全和无法篡改。

为达到上述目的,本发明提供一种基于区块链技术的即时通讯系统,包括:

服务端,通过网络连接客户端或通过网络识别接入系统中的客户端,用于实现客户端之间的数据或信息交互及存储管理;

客户端,通过网络连接服务器,用于接收和发送通讯数据或信息;

分布式存储模块,通过区块链技术,用于将通讯数据或信息进行分布式存储;

加密模块,用于对通讯数据或信息进行加密;

触发模块,用于启动分布式存储模块和加密模块,在实施例中被称为进入举证通道。

在上述技术方案中,通过区块链技术,将通讯数据或信息进行分布式存储,分布式的网络节点之间共享、复制和同步通讯数据或信息,实现多中心化数据或信息存储,任何一个数据或信息的修改都必须经过半数以上的节点认可才可以,单方无法篡改和销毁数据或信息。

区块链技术的分布式存储数据或信息实现了把数据或信息共享到各个节点,但是因数据或信息块采用加密算法,保证了未经授权者能访问到的数据或信息,但无法解析,保证了数据或信息的隐私与安全。

进一步地,所述通讯数据或信息以智能合约的方式发布到区块链中,还通过网络发布到联盟链各节点,同时发送给第三方监管节点。该技术方式,利用了区块链技术的零知识证明,在无泄露数据或信息本身情况下证明通讯信息数据或信息的一种加密技术,允许两方(证明者和验证者)来证明某个信息是真实的,而且不泄露除了它是真实的之外的任何信息;同时联盟链引入第三方中介机构作为一个监管节点,增加监管机构的参与。

进一步地,所述加密算法为md5、sha-2、sm3和国密sm2数字签名算法中的一种或多种。可根据用户的通信信息保密级别需求,灵活采用。

进一步地,所述系统还包括非结构数据或信息转换模块,通过触发模块启动,用于对通讯数据或信息的添加属性信息,所述属性信息为时间戳、发送方id、发送发设备号、接收方id、接收方设备号中的一种或多种。通过增加作为通讯内容的附加属性进行记录和标记,即时通讯的通讯数据或信息可直接作为生成文本的数据或信息源。

对于在触发模块启动时产生的数据或信息,在完成结构化转换以后,通过会话保证数据或信息完整,再按照数据或信息的长度进行分拆,增加时间戳和唯一的密码签名,再根据联盟链中的各节点的共识原则来制约和协商对数据或信息链中的记录的更新。这使得数据或信息链成为网络中所有交易的可审计历史记录。

进一步地,所述系统还包括文本生成模块,所述系统还包括文本生成模块,所述文本生成模块预置有若干文本模板,用于将通讯过程中产生的数据或信息添加到文本模板中,生成有效文件。通过预制模板将通讯过程中产生的有关协议、文书,图章等关键信息、关键字或指定字符格式化到模板中,经过客户端确认后生成有效的文件,并对其进行电子签名。通过上述方式,若在沟通过程中产生了协议或者合同等法律文书、格式文书等关键信息,则会生成有效的文件,防止沟通内容被二次修改。

进一步地,当所述服务器监测到所述客户端临时掉线时,发起重建链接请求,客户端收到重连请求。当客户端还在运行时,所述服务器建立新的链接通道,消息队列中的消息排除重复后发送重建链接请求。当客户端不在运行时,所述服务器则将消息队列中的消息持久化,待客户端重新运行后发送重建链接请求。

本发明还公开了一种基于区块链的即时通讯方法,包括:

(1)当源客户端检测到触发条件时,向触发模块发送触发信息,触发模块接收触发信息后,启动分布式存储模块和/或加密模块;

(2)启动分布式存储模块后,当所述源客户端检测到通信数据或信息输入时,所述通讯数据或信息通过区块链技术,将通讯数据数据或信息进行分布式存储,并通过网络将所述通讯数据或信息发送至目标客户端,建立所述源客户端与所述目的客户端的即时通讯连接;

(3)启动加密模块后,加密模块对源客户端和目标客户端之间的通讯数据或信息进行进行加密处理。

进一步地,在步骤(2)中,所述通讯数据或信息以智能合约的方式发布到区块链中,还通过网络发布到联盟链各节点,同时发送给第三方监管节点。该技术方式,利用了区块链技术的零知识证明,在无泄露数据或信息本身情况下证明通讯信息数据或信息的一种加密技术,允许两方(证明者和验证者)来证明某个信息是真实的,而且不泄露除了它是真实的之外的任何信息;同时联盟链引入第三方中介机构作为一个监管节点,增加监管机构的参与。

进一步地,在所述步骤(1)中,触发模块接收触发信息后,启动非结构数据或信息转换模块,记录和标记通讯数据或信息的属性特征,所述属性特征为时间戳、发送方id、发送方设备号、接收方id、接收方设备号中的一种或多种。通过增加作为通讯内容的附加属性进行记录和标记,即时通讯的通讯数据或信息可直接作为生成文本的数据或信息源。

进一步地,所述方法还包括启动文本生成模块的步骤,文本生成模块启动后,源客户端和目标客户端之间的通讯数据和信息可通过所述文本生成模块预置的若干文本模板,生成有效文件。在其中一个实施例中,这些通讯数据和信息包括在通讯过程中产生的有关协议文书或者图章的关键信息、关键字或指定字符。用户客户端可根据所持密钥对所述有效文件进行电子签名。以上技术手段防止对修订文稿的篡改以及不认可合意的行为。

附图说明

图1为本发明实施例流程示意图;

图2为本发明第一种实施方式的架构设计图。

具体实施方式

为更容易理解本发明的优点、特征以及达到技术效果的技术方法将参照例示性实施例进行更详细地描述,且本发明可以不同形式来实现,故不应被理解为本发明仅限于此处所陈述的实施例,相反地,对本领域的技术人员,所提供的实施例将更加透彻与全面且完整地传达本发明的范畴,且本发明将以申请专利文件的权利要求确定保护范围。

如图1所示,本实施例在现有通讯引擎的基础上,包括:即时消息/单聊、群组/部门组、语音留言、实时语音视频等功能;增加对聊天内容的加密、分布式存储;同时提供非结构化数据与结构化数据的转换;提供对沟通过程中产生的协议或者合同等法律文书、格式文书等关键信息格式化;提供对格式化文本的电子签名。实施例平台基于ethereum构建联盟区块链,并应用solidity开发智能合约,以dapp的形式实现的自带信任和防止篡改的分布式记录的即时消息互助通讯系统。为企业用户、个人用户提供互联网环境下的即时通讯信息的分布式信息存储、数据结构化转换、格式化文本、鉴权加密、信息鉴证、电子签名等服务。

如图2所示,企业交易时可以利用本系统,交易方利用手机端、pc端的即时消息互助通讯系统进行商务谈判,其中产生的通讯数据或信息对双方最后达成的交易合意极为重要,这时用户可使用客户端举证通道功能(启动触发模块),多方通讯即刻进入举证通道,在此模式下用户只能使用文本做为沟通介质。

此时系统对通讯数据或信息的添加属性信息,所述属性信息为时间戳、发送方id、发送发设备号、接收方id、接收方设备号中。加密模块对这些通讯数据或信息进行加密,分布式存储没落以智能合约的方式发布到区块链中,存储致分布式账本中,并通过p2p网络发布到联盟链各节点,最终达成共识;同时向监管共识节点发布数据或信息交易,监管节点由不参与通讯交易的第三方参与,对通讯数据或信息交易智能合约的内容进行见证,达成共识;

交易方的通讯数据或信息,通过智能合约发布,区块链的各个节点根据共识算法达成共识,通讯数据或信息以数据或信息块的形式存储,当前数据块会记录上一数据块的哈希值,以此类推直到创世块。所以区块链能够验证数据或信息的出处和精确性,可以追溯数据或信息的变化过程,还原每个块产生的业务场景;通讯发起方提供加密后的通讯数据或信息,各节点进行智能合约协商,交易达成后退出举证通道(关闭触发模块);

在存储层中,数据或信息存储由普通文件和kv数据库组成。普通文件用于存储区块链数据,kv数据库用于存储区块链元数据。普通文件以bak00000.dat文件名格式组成,每个区块的数据都会序列成字节码的形式写入dat文件中。序列化的过程中,如果检测到当前写入文件尺寸加上区块尺寸大于128mbytes,则会重新生成一个dat文件。区块的元数据格式如<blockhash,xxxxx+npos>格式,其中xxxxx为dat文件序号,npos为区块写入dat文件的起始位置。上述所有元数据都将写入kv数据或信息库中,其中blockhash将作为后续查询具体数据或信息在dat件中的索引使用。

在交易双方在通讯互助中需要达成一致的口头协议或标准化合同时,系统设置了部分文本,图章,协议或者合同等法律文书、格式文书等模板,输入相应的信息,可生成有效的协议和合同(pdf格式),采用本客户端的私钥对文本进行数字签名,对签名以后的文本文件添加属性信息(文本名称,签署双方,类型,签署日期,保存路径等)。对于格式文本的属性信息也通过智能合约发布致区块链中,跟上述的通讯数据或信息一起产生数据块。

在获取链数据或信息的时候只需传入区哈希,就能定位到区块数据或信息,进而查询目标数据或信息。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1