区块链去中心化通讯方法、电子设备及系统与流程

文档序号:20947145发布日期:2020-06-02 19:56阅读:182来源:国知局
区块链去中心化通讯方法、电子设备及系统与流程

本发明涉及区块链技术领域,具体而言,涉及一种区块链去中心化通讯方法、电子设备及系统。



背景技术:

区块链是一个去中心化的数据库,是对分布式数据进行存储、点对点传输、共识机制、加密算法等计算机技术的应用。在区块链中,每个用户有一个唯一的标识,用以确认用户的身份,以完成用户与其他用户的数据交换,例如用地址作为用户的唯一身份的标识。

为了实现区块链用户与区块链服务端之间的有效通讯,传统做法是,需要用户以用户名加密码的方式注册账号,同时申请确认用户的唯一身份信息,例如地址,用户注册的用户名和密码存储在一个用户中心中。如果区块链用户与区块链服务端要进行数据交互,那么,都需要基于存储用户名和密码的用户中心来确认用户的唯一身份信息,然后基于唯一身份信息进行区块链用户与区块链服务端之间的通讯。然而,这种方式是需要进行中心化存储来实现的,即用户中心就是中心。而区块链是去中心化的结构,没有中心化存储,如果在区块链中使用用户名加密码的方式进行用户唯一身份信息的确认就需要中心化存储,那么会丧失区块链去中心化的特性。

因此,如何不使用中心化存储用户名以及密码的方式就能实现区块链用户与区块链服务端之间的通讯,即实现区块链服务端与区块链用户之间的有效通讯的同时保持区块链技术的去中心化的特点,是区块链技术领域的一个难题。



技术实现要素:

本发明的目的在于提供了一种区块链去中心化通讯方法、电子设备及系统,用以解决现有技术中存在的上述问题。

第一方面,本发明实施例提供了一种区块链去中心化通讯方法,应用于包括服务端和请求端的区块链去中心化通讯系统,所述服务端是区块链中的服务者,用于基于所述区块链给所述请求端提供服务,所述方法包括:

请求端向服务端发送通讯协商规则;其中,所述通讯协商规则约定所述请求端与所述服务端之间进行通讯时的身份界定规则;

在服务端在接收到所述通讯协商规则后,若服务端接受所述通讯协商规则,则向所述请求端发送确认规则信息,所述确认规则信息表示所述服务端接受所述通讯协商规则;

若所述请求端接收到所述确认规则信息,所述请求端基于请求端地址、原像、公钥、私钥和所述通讯协商规则生成通讯身份验证信息,并将所述通讯身份验证信息发送至所述服务端;所述通讯身份验证信息用于确认请求端的身份;

所述服务端按照所述通讯协商规则对所述通讯身份信息进行验证,若验证通过,确认建立隐私通道,并发送所述隐私通道至所述请求端;所述隐私通道是所述服务端与所述请求端之间的通讯链路。

可选的,所述通讯身份验证信息包括请求端地址、预主密钥和预主签名;所述请求端基于请求端地址、原像、公钥、私钥和所述通讯协商规则生成通讯身份验证信息,包括:

所述请求端生成所述原像;

所述请求端基于所述原像和公钥,根据所述通讯协商规则生成预主密钥;

所述请求端根据所述私钥对所述预主密钥进行签名,获得预主签名。

可选的,所述服务端按照所述通讯协商规则对所述通讯身份信息进行验证,包括:

所述服务端根据所述通讯协商规则对所述预主密钥进行解密,获得所述公钥;通过所述公钥和所述预主签名对所述预主密钥进行验签,若验签通过,基于所述公钥验证所述请求端是否是合法用户,若是,确认按照所述通讯协商规则对所述通讯身份信息进行验证通过。

可选的,基于所述公钥验证所述请求端是否是合法用户,包括:

基于所述公钥获得验证地址;

判断所述验证地址是否与所述请求端地址相同;

若相同,确认所述请求端时合法用户。

第二方面,本发明实施例提供了一种区块链去中心化通讯方法,应用于请求端,所述请求端是服务端的被服务者,所述方法包括:

向服务端发送通讯协商规则;其中,所述通讯协商规则约定所述请求端与所述服务端之间进行通讯时的身份界定规则;

若接收到所述服务端发送的确认规则信息,基于请求端地址、原像、公钥、私钥和所述通讯协商规则生成通讯身份验证信息,并将所述通讯身份验证信息发送至所述服务端,其中,所述确认规则信息表示所述服务端接受所述通讯协商规则;所述通讯身份验证信息用于确认请求端的身份。

可选的,所述通讯身份验证信息包括请求端地址、预主密钥和预主签名;所述基于请求端地址、原像、公钥、私钥和所述通讯协商规则生成通讯身份验证信息,包括:

生成所述原像;

基于所述原像和公钥,根据所述通讯协商规则生成预主密钥;

根据所述私钥对所述预主密钥进行签名,获得预主签名。

第三方方面,本发明实施例还提供了一种区块链去中心化通讯方法,应用于服务端,所述服务端是区块链中的服务者,用于基于所述区块链给请求端提供服务,所述方法包括:

接收所述请求端发送的通讯协商规则;所述通讯协商规则约定所述请求端与所述服务端之间进行通讯时的身份界定规则;

若服务端接受所述通讯协商规则,则向所述请求端发送确认规则信息,所述确认规则信息表示所述服务端接受所述通讯协商规则;

接收所述请求端发送的通讯身份验证信息;所述通讯身份验证信息用于确认请求端的身份;所述通讯身份验证信息是所述请求端基于请求端地址、原像、公钥、私钥和所述通讯协商规则生成的;

按照所述通讯协商规则对所述通讯身份信息进行验证,若验证通过,确认建立隐私通道,并发送所述隐私通道至所述请求端;所述隐私通道是所述服务端与所述请求端之间的通讯链路。

可选的,所述按照所述通讯协商规则对所述通讯身份信息进行验证,包括:

根据所述通讯协商规则对预主密钥进行解密,获得公钥;

通过所述公钥和预主签名对预主密钥进行验签;

若验签通过,基于所述公钥验证所述请求端是否是合法用户;

若是合法用户,确认按照所述通讯协商规则对所述通讯身份信息进行验证通过。

第四方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求第二方面、第三方面所述的任一项所述方法的步骤。

第五方面,一种区块链去中心化通讯系统,所述区块链去中心化通讯系统包括服务端和请求端,所述服务端是区块链中的服务者,用于基于所述区块链给所述请求端提供服务,

请求端用于,向服务端发送通讯协商规则;其中,所述通讯协商规则约定所述请求端与所述服务端之间进行通讯时的身份界定规则;

服务端用于,接收所述通讯协商规则,在服务端在接收到所述通讯协商规则后,若服务端接受所述通讯协商规则,则向所述请求端发送确认规则信息,所述确认规则信息表示所述服务端接受所述通讯协商规则;

所述请求端还用于,若所述请求端接收到所述确认规则信息,所述请求端基于请求端地址、原像、公钥、私钥和所述通讯协商规则生成通讯身份验证信息,并将所述通讯身份验证信息发送至所述服务端;所述通讯身份验证信息用于确认请求端的身份;

所述服务端还用于,按照所述通讯协商规则对所述通讯身份信息进行验证,若验证通过,确认建立隐私通道,并发送所述隐私通道至所述请求端;所述隐私通道是所述服务端与所述请求端之间的通讯链路。

相对现有技术,本发明具有以下有益效果:

本发明实施例提供了一种区块链去中心化通讯方法、电子设备及系统,所述方法应用于所述系统,所述系统包括服务端和请求端,所述服务端是区块链中的服务者,用于基于所述区块链给所述请求端提供服务,所述方法包括:请求端向服务端发送通讯协商规则;其中,所述通讯协商规则约定所述请求端与所述服务端之间进行通讯时的身份界定规则;在服务端在接收到所述通讯协商规则后,若服务端接受所述通讯协商规则,则向所述请求端发送确认规则信息,所述确认规则信息表示所述服务端接受所述通讯协商规则;若所述请求端接收到所述确认规则信息,所述请求端基于请求端地址、原像、公钥、私钥和所述通讯协商规则生成通讯身份验证信息,并将所述通讯身份验证信息发送至所述服务端;所述通讯身份验证信息用于确认请求端的身份;所述服务端按照所述通讯协商规则对所述通讯身份信息进行验证,若验证通过,确认建立隐私通道,并发送所述隐私通道至所述请求端;所述隐私通道是所述服务端与所述请求端之间的通讯链路。

通过请求端向服务端发送通讯协商规则,服务端在接收到所述通讯协商规则后,向所述请求端发送确认规则信息的通讯协商规则协商方式,以及若请求端接收到确认规则信息,将通讯身份验证信息发送至服务端,服务端按照所述通讯协商规则对所述通讯身份信息进行验证,若验证通过,确认建立用于服务端和请求端通讯的隐私通道,并发送隐私通道至请求端以告知请求端。隐私通道是经过请求端和服务端协商好通讯协商规则后建立的,且是二者都知晓的,请求端和服务端之间需要通讯时,只需通过其二者皆知晓的隐私通道直接进行通讯,隐私通道具备长链接的特性,请求端与服务端之间不再需要注册用户名和密码来实现持续的通讯,使得基于区块链的请求端和服务端之间实现了去中心化的通讯,同时保证了通讯的隐私性和安全性。

本发明实施例的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明实施例提供的一种区块链去中心化通讯方法流程图。

图2是本发明实施例提供的一种区块链去中心化通讯方法信令交互图。

图3是本发明实施例提供的一种电子设备的方框结构示意图。

图标:500-总线;501-接收器;502-处理器;503-发送器;504-存储器;505-总线接口。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

在阐述本发明的技术方案之前,需要说明的是,现有技术中,区块链服务端与被服务端(请求端)之间要进行通讯以完成数据交换,用户必须注册用户名和密码,只有请求端通过用户名和密码进行登录时,才能区块链服务端与请求端之间进行有效的数据交换。即现有技术中,需要通过用户名和密码进行登录,才能实现区块链服务端与请求端之间的长链接数据交互,没法仅仅通过地址就能保持区块链服务端与请求端之间的长链接通讯。正如前面背景技术所述的,如果在区块链中使用用户名加密码的方式进行用户唯一身份信息的确认就需要中心化存储,那么会丧失区块链去中心化的特性。

区块链中用户的唯一标识是地址,对所有的人是公开的,本发明期望找到一种方法让用户只使用区块链的方式做到用户信息的唯一定位,无需使用中心化的方式存储用户的用户名和密码。

因此,本发明实施例提供了一种区块链去中心化通讯方法及系统,用以解决现有技术中在区块链中因为依赖于用户名加密码的方式进行通讯而丧失区块链去中心化的特性所带来的问题,本发明实施例提供的一种区块链去中心化通讯方法即系统能够达到不需要注册用户名和密码,就能实现区块链服务端与服务使用者之间的数据交互安全、有效的技术效果,保持了区块链的去中心化的特点,使得区块链服务端与服务使用者之间的通讯保持了区块链去中心化的特点所带来的优势。

下面结合附图,通过下述的实施例对本发明的技术方案作详细的说明。

实施例

第一方面,本发明实施例提供了一种区块链去中心化通讯方法,应用于包括服务端和请求端的区块链去中心化通讯系统,其中,服务端是区块链中的服务者,服务端用于基于区块链给请求端提供服务,即请求端是区块链服务的使用者。请求端与服务端之间基于区块链进行通讯,以实现请求端与服务端之间数据交互的安全性。请参阅图1,所述区块链去中心化通讯方法包括:

s101:请求端向服务端发送通讯协商规则。

其中,所述通讯协商规则约定所述请求端与所述服务端之间进行通讯时的身份界定规则。

s102:服务端在接收到所述通讯协商规则后,向所述请求端发送确认规则信息。

其中,所述确认规则信息表示所述服务端接受所述通讯协商规则。

s103:若所述请求端接收到所述确认规则信息,所述请求端基于请求端地址、原像、公钥、私钥和所述通讯协商规则生成通讯身份验证信息,并将所述通讯身份验证信息发送至所述服务端。

s104:所述服务端按照所述通讯协商规则对所述通讯身份信息进行验证,若验证通过,确认建立隐私通道,并发送所述隐私通道至所述请求端;所述隐私通道是所述服务端与所述请求端之间的通讯链路。

可选的,上述s101、s102、s103和s104的执行顺序为s101->s102->s103->s104。

通过采用以上方案,通过请求端发送通讯协商规则至服务端,然后服务端发送确认规则信息请求端,使得在通讯过程中仅仅由知道了身份界定规则的请求端和服务端才能够接收来自于对方的信息,同时,实现了请求端与服务端之间的通讯链路的私密性。若请求端接收到所述确认规则信息,则确定了服务端接受和确认了需要协商的通讯协商规则,那么请求端基于按照通讯协商规则,基于请求端地址、原像、公钥和私钥生成的通讯身份验证信息也是被服务端所能识别、接受和验证的。服务端按照通讯协商规则对通讯身份信息进行验证,因为通讯协商规则是请求端和服务端预先协商好的,因此,按照通讯协商规则对通讯身份信息进行验证是合法的,同时也保证了验证的安全性和私密性。若验证通过,确认建立隐私通道,基于上述的步骤,即保证了隐私通道的安全性和私密性,即服务端与客户端之间通过隐私通道进行通讯时安全的,服务端与客户端之间通过隐私通道交互的数据对于二者来说是私密的,防止请求端与服务端之间进行通讯时,所交互的数据被劫持、篡改。在服务端确认了隐私通道后,服务端发送隐私通道至请求端,以保证请求端和服务端都知道彼此通讯的链路是隐私通道,隐私通道对于协商好通讯协商规则的用户之间是私有的,仅仅协商好通讯协商规则的用户之间才能通过该隐私通道进行通讯,保证了请求端和服务端之间通讯的有效性和安全性。

同时,通过请求端向服务端发送通讯协商规则,服务端在接收到所述通讯协商规则后,向所述请求端发送确认规则信息的通讯协商规则协商方式,以及若请求端接收到确认规则信息,将通讯身份验证信息发送至服务端,服务端按照所述通讯协商规则对所述通讯身份信息进行验证,若验证通过,确认建立用于服务端和请求端通讯的隐私通道,并发送隐私通道至请求端以告知请求端。基于整体的方案,隐私通道是经过请求端和服务端协商好通讯协商规则后建立的,且是二者都知晓的,请求端和服务端之间需要通讯时,只需通过其二者皆知晓的隐私通道直接进行通讯,隐私通道具备长链接的特性,请求端与服务端之间不再需要注册用户名和密码来实现持续的通讯,使得基于区块链的请求端和服务端之间实现了去中心化的通讯,同时保证了通讯的隐私性和安全性。

其中,通讯协商规则是用于请求端和服务端之间进行身份界定(识别)的协议(规则),其实际上是一个队身份信息进行加密、解密的协议,通讯协商规则可以用fencrypt(y)表示,可选的,通讯协商规则可以是高级加密标准256(advancedencryptionstandard256,aes256)算法、对称密码体制(dataencrytionstandard,des)算法等。

在本发明实施例中,请求端和服务端之间协商好的通讯协商规则仅仅有请求端和服务端知道,其他用户并不知晓,如此保证了请求端和服务端之间数据交互的安全性和隐私性。

因为请求端是区块链中服务端所提供服务的使用者,即服务端基于区块链给请求者提供服务,那么,一开始,请求端是知晓服务端的地址的,请求端只需按照服务端的地址发送其确认的通讯协商规则给服务端,服务端就可以接收到通讯协商规则。在服务端在接收到通讯协商规则后,如果服务端认可和接受该通讯协商规则,就会给请求端发送确认规则信息,以告知请求端服务端认可通讯协商规则,对于身份界定的规则协商完成,即通讯协商规则的协商完成。

如果服务端不认可和接受该通讯协商规则,则可以不返回信息至请求端,可选的,请求端在发送通讯协商规则时开始计时,若超过预设时间未收到服务端发送的确认规则信息,请求端重新发送该通讯协商规则,或者更换一个新的通讯协商规则发送至服务端。更换新的通讯协商规则与上一次发送的通讯协商规则不同,直到收到服务端发送的确认规则信息。如此,提高协商身份界定规则的效率,同时确保了身份界定规则的协商的可靠性和有效性。

在本发明实施例中,若请求端接收到确认规则信息,则说明请求端已知晓服务端认可和接受其发送的通讯协商规则,那么,其可以依照所发送的通讯协商规则给服务端发送地址、通讯信息等数据。为了增强请求端与服务端之间通讯的安全性,需要对发送的数据进行加密处理。可选的,请求端基于请求端地址、原像、公钥、私钥和通讯协商规则生成通讯身份验证信息,并将通讯身份验证信息发送至服务端。

作为一种可选的实施方式,在请求端基于请求端地址、原像、公钥、私钥和通讯协商规则生成通讯身份验证信息之前,所述方法还包括:

基于区块链生成请求端地址。请求端地址是基于区块链生成的,用于标识请求端的唯一身份。

在请求端基于请求端地址、原像、公钥、私钥和通讯协商规则生成通讯身份验证信息之前,所述方法还包括:请求端获得公钥和私钥。其中,公钥和私钥是生成请求端地址时的公钥和私钥。

可选的,通讯身份验证信息包括请求端地址、预主密钥和预主签名。则请求端基于请求端地址、原像、公钥、私钥和所述通讯规则生成通讯身份验证信息具体为:请求端生成原像(preimage);请求端基于原像和公钥,根据通讯规则生成预主密钥(premastersecret);请求端根据私钥对预主密钥进行签名,获得预主签名(premastersign)。

其中,确认规则信息可以包括通讯协商规则和一个nonce值,请求端生成原像的具体实施方式可以是:请求端根据nonce值,通过原像生成算法生成原像。由于在界定身份信息通讯的过程中,所交互的数据可能被劫持,为此,需要保证数据无法被重放、不可预估以防止被攻击,加强通讯的安全性,对于生成的原像需要做到一次性、时间范围有效性和随机性,即在生成原像时,原像生成算法中利用了算法编号、生成原像时间以及随机值混淆。可选的,其随机值可以采用所协商的nonce值。即请求端发送通讯协商规则给服务端时,也发送了nonce值。如此,生成的原像(preimage)就携带了随机数、时间戳,同时是一次性数字。如此,确保了所发送的通讯身份验证信息的安全性。

请求端基于所述原像和公钥,根据所述通讯协商规则生成预主密钥具体为:利用通讯协商规则基于原像和公钥进行加密,得到预主密钥。

如此,对于请求端,其保证了发送数据的安全性。

对于服务端,所述服务端按照所述通讯协商规则对所述通讯身份信息进行验证,具体为:所述服务端根据所述通讯协商规则对所述预主密钥进行解密,获得所述公钥;通过所述公钥和所述预主签名对所述预主密钥进行验签,若验签通过,基于所述公钥验证所述请求端是否是合法用户,若是合法用户,确认按照所述通讯协商规则对所述通讯身份信息进行验证通过。否则,确认按照所述通讯协商规则对所述通讯身份信息进行验证未通过。即若通过所述公钥和所述预主签名对所述预主密钥进行验签未通过,和\或,若所述请求端不是合法用户,确认按照所述通讯协商规则对所述通讯身份信息进行验证未通过。

作为一种可选的实施方式,在所述服务端根据所述通讯协商规则对所述预主密钥进行解密,获得所述公钥之前,服务端对通讯身份验证信息解析,得到请求端地址、预主密钥和预主签名。所述服务端根据所述通讯协商规则对所述预主密钥进行解密,获得所述公钥,具体为:对预主密钥进行解密,解析出公钥。

其中,基于所述公钥验证所述请求端是否是合法用户,包括:基于所述公钥获得验证地址;判断所述验证地址是否与所述请求端地址相同;若相同,确认所述请求端是合法用户。即如果所述验证地址与所述请求端地址相同,确认请求端是该地址的持有用户,确认请求端是合法用户,否则,确认请求端是该地址的持有用户,确认请求端是非合法用户。

可选的,基于所述公钥获得验证地址的具体实施方式为:通过公开的公钥算法,基于公钥计算出验证地址。

可选的,在服务端发送所述隐私通道至所述请求端之后,所述方法还包括,请求端接收隐私通道。

在本发明实施例中,中主要涉及到如下信息:私钥、公钥、请求端地址、原像(preimage)、preimage生成算法f(x)(x表示nonce值,preimage=f(x))、预主密钥(premastersecret)、premastersecret生成算法fencrypt(y),y表示fencrypt的输入,其可以是preimage+公钥,也可以是premastersecret。区块链中,请求端地址是由公钥生成,其盛成方法是一个单向生成方法,可以记为:地址=fhash(公钥),即基于公钥生成请求端地址。公钥可以对私钥签名的数据进行验签。fencrypt(y)是双向加解密算法,由请求端与服务端协商,在不同的场景下可选择不同的加解密算法,例如上述的高级加密标准256(advancedencryptionstandard256,aes256)算法、对称密码体制(dataencrytionstandard,des)算法等。作为一个实施例,本发明提供的区块链去中心化通讯方法如下:

请求端与服务端协商fencrypt(y)算法,协商完毕之后请求端使用f(x)生成preimage,利用fencrypt(y)对preimage+公钥生成premastersecret,私钥对premastersecret进行签名形成premastersign,在进行通信界定的时候请求方界定时携带界定三要素(通讯身份信息)(请求端地址,premastersecret,premastersign)请求服务端界定,服务端使用协商的fencrypt(y)算法对premastersecret进行解密,解析出公钥;利用公钥premastersign对premastersecret进行验签;验签通过之后,基于公钥使用公开的fhash(公钥)算法计算地址是否与界定三要素中的请求端地址相同,如果相同表示用户是这个地址的持有用户,隐私通道建立完毕。其具体的方式可以参阅图2中所述的区块链去中心化通讯方法的信令交互图,信令交互图中所述的区块链去中心化通讯方法的流程为:

1.请求方(请求端)发送协商fencrypt(通讯协商规则,协商fencrypt(y))算法给服务方(服务端)。

2.服务方接收到fencrypt后,若是接受fencrypt,返回协商算法(fencrypt(y))给请求方。

3.请求方接收到服务方返回的商算法后,基于原像生成算法f(x)生成preimage。

4.请求方利用fencrypt(x)对preimage+公钥生成premastersecret。

5.请求方基于私钥对premastersecret进行签名形成premastersign。

6.请求方将界定三要素发送给服务端,界定三要素包括3、4、5中的所述的premastersecret,premastersign以及请求方地址。

7.服务方利用协商的fencrypt(x)算法对premastersecret进行解密,解析出公钥,利用公钥premastersign对premastersecret进行验签,验签通过之后,使用公开的fhash(公钥)算法计算公钥是否与界定三要素中的地址相同,如果相同表示用户是这个地址的持有用户,隐私通道建立完毕,返回隐私通道给请求方。

综上,请求端向服务端发送通讯协商规则;服务端接收通讯协商规则,在服务端在接收到所述请求端发送的通讯协商规则后,若服务端接受所述通讯协商规则,则向所述请求端发送确认规则信息,若所述请求端接收到所述确认规则信息,所述请求端基于请求端地址、原像、公钥、私钥和所述通讯协商规则生成通讯身份验证信息,并将所述通讯身份验证信息发送至所述服务端;所述服务端按照所述通讯协商规则对所述通讯身份信息进行验证,若验证通过,确认建立隐私通道,并发送所述隐私通道至所述请求端;所述隐私通道是所述服务端与所述请求端之间的通讯链路。如此,请求端与服务端之间可以依照建立的隐私通道进行通讯,而不再需要通过注册用户名和密码的方式来实现通讯,保持了区块链中去中心化的特点,同时,服务端和请求端之间的通讯是安全的、隐私的、有效的。

第二方面,本发明实施例提供了一种区块链去中心化通讯方法,应用于上述的请求端,请求端是服务端的被服务者,所述方法包括:

向服务端发送通讯协商规则;其中,所述通讯协商规则约定所述请求端与所述服务端之间进行通讯时的身份界定规则;

若接收到所述服务端发送的确认规则信息,基于请求端地址、原像、公钥、私钥和所述通讯协商规则生成通讯身份验证信息,并将所述通讯身份验证信息发送至所述服务端,其中,所述确认规则信息表示所述服务端接受所述通讯协商规则;所述通讯身份验证信息用于确认请求端的身份。

接收所述服务端发送的隐私通道。

其中,第二方面所述的区块链去中心化通讯方法的具体实施方式如上第一方面所述的区块链去中心化通讯方法阐述的一致,具体的请参阅上述第一方面的区块链去中心化通讯方法,例如,所述通讯身份验证信息包括请求端地址、预主密钥和预主签名;所述基于请求端地址、原像、公钥、私钥和所述通讯协商规则生成通讯身份验证信息,包括:生成所述原像;基于所述原像和公钥,根据所述通讯协商规则生成预主密钥;根据所述私钥对所述预主密钥进行签名,获得预主签名。第二方面所述的区块链去中心化通讯方法的具体实施方式请参阅上第一方面所述的区块链去中心化通讯方法所阐述的内容,在此不再赘述。

另外,第三方面,本发明实施例还提供了一种区块链去中心化通讯方法,应用于服务端,所述服务端是区块链中的服务者,用于基于所述区块链给请求端提供服务,所述方法包括:

接收所述请求端发送的通讯协商规则;所述通讯协商规则约定所述请求端与所述服务端之间进行通讯时的身份界定规则;

若服务端接受所述通讯协商规则,则向所述请求端发送确认规则信息,所述确认规则信息表示所述服务端接受所述通讯协商规则;

接收所述请求端发送的通讯身份验证信息;所述通讯身份验证信息用于确认请求端的身份;

按照所述通讯协商规则对所述通讯身份信息进行验证,若验证通过,确认建立隐私通道,并发送所述隐私通道至所述请求端;所述隐私通道是所述服务端与所述请求端之间的通讯链路。

其中,第三方面所述的区块链去中心化通讯方法的具体实施方式如上第一方面所述的区块链去中心化通讯方法阐述的一致,具体的请参阅上述第一方面的区块链去中心化通讯方法,例如,所述按照所述通讯协商规则对所述通讯身份信息进行验证,包括:根据所述通讯协商规则对所述预主密钥进行解密,获得所述公钥;通过所述公钥和所述预主签名对所述预主密钥进行验签;若验签通过,基于所述公钥验证所述请求端是否是合法用户;若是合法用户,确认按照所述通讯协商规则对所述通讯身份信息进行验证通过。以及,

第三方面所述的区块链去中心化通讯方法的具体实施方式请参阅上第一方面所述的区块链去中心化通讯方法所阐述的内容,在此不再赘述。

第四方面,本发明实施例还提供了一种区块链去中心化通讯系统,用于执行上述的区块链去中心化通讯方法,所述区块链去中心化通讯系统包括服务端和请求端,所述服务端是区块链中的服务者,用于基于所述区块链给所述请求端提供服务。其中,

请求端用于,向服务端发送通讯协商规则;其中,所述通讯协商规则约定所述请求端与所述服务端之间进行通讯时的身份界定规则;

服务端用于,接收所述通讯协商规则,在服务端在接收到所述通讯协商规则后,若服务端接受所述通讯协商规则,则向所述请求端发送确认规则信息,所述确认规则信息表示所述服务端接受所述通讯协商规则;

所述请求端还用于,若所述请求端接收到所述确认规则信息,所述请求端基于请求端地址、原像、公钥、私钥和所述通讯协商规则生成通讯身份验证信息,并将所述通讯身份验证信息发送至所述服务端;所述通讯身份验证信息用于确认请求端的身份;

所述服务端还用于,按照所述通讯协商规则对所述通讯身份信息进行验证,若验证通过,确认建立隐私通道,并发送所述隐私通道至所述请求端;所述隐私通道是所述服务端与所述请求端之间的通讯链路。

关于上述实施例中的系统,其中各个节点(请求端和服务端)执行操作的具体方式已经在有第一方面、第二方面和第三方面中关区块链去中心化通讯方法的实施例中进行了详细描述,此处将不做详细阐述说明。

综上所述,本发明实施例利用区块链已有的特性,提供的区块链去中心化通讯方法、系统可以在不添加中心化用户名、密码存储的基础上实现用户(请求方)身份界定(验证、识别)。在本发明实施例中把用户的唯一定位属性设置为地址(请求方地址),服务端与用户的交互统一通过地址进行,通过一条隐私通道,完成用户界定之后就可以使用这条通道利用用户属性进行数据交换,而这条通道就是这个地址对应用户的专属,用户进行界定之后所有需要用户信息的统一使用地址替换。当用户通过区块链信息获取了一条地址关联的隐私通道,用户在这条隐私通道中的交互就携带了用户的界定信息,无需使用用户密码进行界定,实现了不使用中心化存储用户名密码方式可以使得服务端与用户之间进行双向通讯。

第五方面,本发明实施例还提供了一种电子设备,其中,所述的服务端和客户端可以是所述的电子设备。如图3所示,包括存储器504、处理器502及存储在存储器504上并可在处理器502上运行的计算机程序,所述处理器502执行所述程序时实现前文第二方面、第三方面所述区块链去中心化通讯方法的任一方法的步骤。

其中,在图3中,总线架构(用总线500来代表),总线500可以包括任意数量的互联的总线和桥,总线500将包括由处理器502代表的一个或多个处理器和存储器504代表的存储器的各种电路链接在一起。总线500还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口505在总线500和接收器501和发送器503之间提供接口。接收器501和发送器503可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器502负责管理总线500和通常的处理,而存储器504可以被用于存储处理器502在执行操作时所使用的数据。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述区块链去中心化通讯方法的任一方法的步骤。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

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