一种基于区块链网络的信息共享方法、装置和相关设备与流程

文档序号:21453993发布日期:2020-07-10 17:48阅读:128来源:国知局
一种基于区块链网络的信息共享方法、装置和相关设备与流程
本发明涉及区块链
技术领域
,尤其涉及一种基于区块链网络的信息共享方法、装置和相关设备。
背景技术
:区块链技术是一种基于p2p(peertopeer,点对点)的互联网技术,具有去中心化、集体维护和高度透明等特点。目前在区块链中的信息大多是以明文形式进行存储的,当用户将自己的信息上传至区块链网络中的某一节点,并通过该节点进行上链后,该区块链网络中其他节点就可以获取到该信息并进行存储,同时其他用户可以通过该区块链网络直接获取该信息,从而无法保证用户的信息隐私安全。通过密钥加密技术对想要保护的信息进行加密,是保护信息隐私的一种较为常见的方法,但是现有的密钥协商技术生成的密钥仅仅是两方之间的临时会话密钥,协商完成后,该临时会话密钥便会失效。于是,当通过该密钥对信息进行加密,并上传该加密后的信息至区块链网络后,其他用户无法再通过该密钥进行解密,也就无法获得该信息,从而无法在多方之间实现信息的私密共享。技术实现要素:本发明实施例提供了一种基于区块链网络的信息共享方法、装置和相关设备,可以实现待共享信息在多方之间的私密共享,保障用户的信息隐私安全。第一方面,本发明实施例提供了一种基于区块链网络的信息共享方法,该方法包括:通过加密密钥对待共享信息进行加密,生成所述待共享信息对应的加密信息;所述加密密钥为通过第一客户端和第二客户端之间的密钥协商申请生成并分别通过所述第一客户端的公钥和所述第二客户端的公钥保存于所述第一客户端和所述第二客户端的密钥;分别向至少一个第三客户端发送所述加密密钥;所述待共享信息为所述第一客户端、所述第二客户端和所述至少一个第三客户端之间的共享信息;上传所述加密信息至区块链网络,所述区块链网络用于所述第一客户端、所述第二客户端和所述至少一个第三客户端分别通过所述区块链网络获取所述加密信息,并通过所述加密密钥解密所述加密信息,得到所述待共享信息。其中,所述分别向至少一个第三客户端发送所述加密密钥,包括:通过所述至少一个第三客户端各自的公钥分别对所述加密密钥进行加密,得到经所述至少一个第三客户端各自的公钥加密后的所述加密密钥;分别向所述至少一个第三客户端发送经所述至少一个第三客户端各自的公钥加密后的所述加密密钥。其中,所述分别向至少一个第三客户端发送所述加密密钥之前,所述方法还包括:对所述至少一个第三客户端各自对应的用户身份进行验证;若所述至少一个第三客户端各自对应的用户身份验证通过,则执行所述分别向至少一个第三客户端发送所述加密密钥的步骤。其中,所述分别向所述至少一个第三客户端发送经所述至少一个第三客户端各自的公钥加密后的所述加密密钥之后,所述方法还包括:通过所述至少一个第三客户端分别保存经所述至少一个第三客户端各自的公钥加密后的所述加密密钥;通过所述至少一个第三客户端各自的私钥分别解密经所述至少一个第三客户端各自的公钥加密后的所述加密密钥,得到所述加密密钥,所述加密密钥用于解密所述至少一个第三客户端分别从所述区块链网络中获取的所述加密信息,得到所述待共享信息。其中,所述方法还包括:通过所述第二客户端的公钥对所述加密密钥进行加密,得到经所述第二客户端的公钥加密后的所述加密密钥,并保存经所述第二客户端的公钥加密后的所述加密密钥;通过所述第二客户端的私钥对经所述第二客户端的公钥加密后的所述加密密钥进行解密,得到所述加密密钥,所述加密密钥用于解密所述第二客户端从所述区块链网络中获取的所述加密信息,得到所述待共享信息。其中,所述方法还包括:通过所述第一客户端的公钥对所述加密密钥进行加密,得到经所述第一客户端的公钥加密后的所述加密密钥,并保存经所述第一客户端的公钥加密后的所述加密密钥;通过所述第一客户端的私钥对经所述第一客户端的公钥加密后的所述加密密钥进行解密,得到所述加密密钥,所述加密密钥用于解密所述第一客户端从所述区块链网络中获取的所述加密信息,得到所述待共享信息。第二方面,本发明实施例提供了一种基于区块链网络的信息共享装置,包括:第一加密模块,用于通过加密密钥对待共享信息进行加密,生成所述待共享信息对应的加密信息;所述加密密钥为通过第一客户端和第二客户端之间的密钥协商申请生成并分别通过所述第一客户端的公钥和所述第二客户端的公钥保存于所述第一客户端和所述第二客户端的密钥;发送模块,用于分别向至少一个第三客户端发送所述加密密钥;所述待共享信息为所述第一客户端、所述第二客户端和所述至少一个第三客户端之间的共享信息;上传模块,用于上传所述加密信息至区块链网络,所述区块链网络用于所述第一客户端、所述第二客户端和所述至少一个第三客户端分别通过所述区块链网络获取所述加密信息,并通过所述加密密钥解密所述加密信息,得到所述待共享信息。其中,所述发送模块,包括:加密单元,用于通过所述至少一个第三客户端各自的公钥分别对所述加密密钥进行加密,得到经所述至少一个第三客户端各自的公钥加密后的所述加密密钥;发送单元,用于分别向所述至少一个第三客户端发送经所述至少一个第三客户端各自的公钥加密后的所述加密密钥。其中,所述分别向至少一个第三客户端发送所述加密密钥之前,所述装置还包括:验证模块,用于对所述至少一个第三客户端各自对应的用户身份进行验证;执行模块,用于若所述至少一个第三客户端各自对应的用户身份验证通过,则执行所述分别向至少一个第三客户端发送所述加密密钥的步骤。其中,所述分别向所述至少一个第三客户端发送经所述至少一个第三客户端各自的公钥加密后的所述加密密钥之后,所述装置还包括:保存模块,用于通过所述至少一个第三客户端分别保存经所述至少一个第三客户端各自的公钥加密后的所述加密密钥;第一解密模块,用于通过所述至少一个第三客户端各自的私钥分别解密经所述至少一个第三客户端各自的公钥加密后的所述加密密钥,得到所述加密密钥,所述加密密钥用于解密所述至少一个第三客户端分别从所述区块链网络中获取的所述加密信息,得到所述待共享信息。其中,所述装置还包括:第二加密模块,用于通过所述第二客户端的公钥对所述加密密钥进行加密,得到经所述第二客户端的公钥加密后的所述加密密钥,并保存经所述第二客户端的公钥加密后的所述加密密钥;第二解密模块,用于通过所述第二客户端的私钥对经所述第二客户端的公钥加密后的所述加密密钥进行解密,得到所述加密密钥,所述加密密钥用于解密所述第二客户端从所述区块链网络中获取的所述加密信息,得到所述待共享信息。其中,所述装置还包括:第三加密模块,用于通过所述第一客户端的公钥对所述加密密钥进行加密,得到经所述第一客户端的公钥加密后的所述加密密钥,并保存经所述第一客户端的公钥加密后的所述加密密钥;第三解密模块,用于通过所述第一客户端的私钥对经所述第一客户端的公钥加密后的所述加密密钥进行解密,得到所述加密密钥,所述加密密钥用于解密所述第一客户端从所述区块链网络中获取的所述加密信息,得到所述待共享信息。第三方面,本发明实施例提供了一种计算设备,包括处理器和存储器,所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行上述第一方面中的任意实施例所述的方法。第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面中的任意实施例所述的方法。本发明实施例提供了一种基于区块链网络的信息共享方法,通过两个客户端(也即两个用户)之间的密钥协商申请,各自生成一个加密密钥(或者称之为对称密钥)并通过两个客户端各自的公钥保存该加密密钥(例如通过两个客户端各自的公钥对该加密密钥分别进行加密,分别得到并保存加密后的加密密钥至本地,只有客户端自己的私钥可以解密还原得到该加密密钥);然后将该加密密钥发送给其他至少一个客户端(也即其他至少一个用户);然后可以用该加密密钥对待共享信息进行加密,得到该待共享信息对应的加密信息,并将该加密信息上传至区块链网络。从而使得拥有该加密密钥的多方之间可以从该区块链网络中获取该加密信息并通过该加密密钥分别进行解密,得到该待共享信息,从而实现了信息在持有该密钥的多方之间的私密共享。由此,对比现有技术中,区块链中的信息都是以明文形式进行存储,用户之间可以直接获取对方上传至区块链的信息,而无法通过共有的密钥对私密信息进行加解密而言,现有技术无法保障用户的信息隐私安全。本发明实施例可以基于两个用户之间的密钥协商申请生成一个加密密钥,并通过各自的公钥保存该加密密钥,实现该加密密钥的持久有效,并将该加密密钥扩散给参与信息共享的其他用户,使得持有该加密密钥的多个用户均可以用该加密密钥对自己想要上传至区块链网络的共享信息进行加密。而只有持有该加密密钥的用户才能进行解密,得到该共享信息,进而实现了信息在多个用户之间的私密共享,保障了用户的信息隐私。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的一种基于区块链网络的信息共享方法的系统架构示意图;图2是本发明实施例提供的一种区块链的结构示意图;图3是本发明实施例提供的一种产生新区块的过程示意图;图4是本发明实施例提供的一种密钥交换的过程示意图;图5是本发明实施例提供的另一种密钥交换的过程示意图;图6是本发明实施例提供的一种基于区块链网络的信息共享方法的流程示意图;图7是本发明实施例提供的另一种基于区块链网络的信息共享方法的流程示意图;图8a是本发明实施例提供的一种信息共享的过程示意图;图8b是本发明实施例提供的另一种信息共享的过程示意图;图9是本发明实施例提供的一种基于区块链网络的信息共享装置的结构示意图;图10是本发明实施例提供的一种客户端的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请参见图1,是本发明实施例提供的一种基于区块链网络的信息共享方法的系统架构示意图,本发明实施例的技术方案可以在图1举例所示的系统架构或类似的系统架构中具体实施。该系统架构可以包括区块链网络和多个客户端,如图1所示,具体可以包括客户端200a、200b、200c和200d等等。该区块链网络(或者称之为区块链系统或数据共享系统等)是指用于进行节点与节点之间数据共享的系统,该区块链网络可以包括如图1所示的多个节点100,该多个节点100例如可以为接入网络中的任何形式的计算设备(比如服务器和智能手机、智能可穿戴设备、平板电脑、笔记本电脑、台式电脑等终端设备等等,本发明实施例对此次不作具体限定),可选的,该多个节点100也可以是指该区块链网络中的各个客户端,等等,本发明实施例对此不作具体限定。每个节点100在进行正常工作时可以接收到输入信息,并基于接收到的输入信息维护该区块链网络内的共享数据(也即区块链)。为了保证该区块链网络内的信息互通,该区块链网络中的每个节点100之间可以存在信息连接,并通过该信息连接进行信息传输。其中,任意两个节点100之间可以实现点对点(peertopeer,p2p)通信,具体可以通过有线通信链路或无线通信链路进行p2p通信。例如,当该区块链网络中的任意节点100接收到输入信息时,该区块链网络中的其他节点100便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得该区块链网络中的全部节点100上存储的数据均一致。其中,客户端200a、200b、200c和200d等可以接入该区块链网络,并可以与该区块链网络中的节点100进行通信。例如,用户a可以通过客户端200a完成在该区块链网络上的注册,与该区块链网络中的其中一个节点100建立连接,并拥有自己的区块链地址。又例如,用户b、用户c和用户d都分别可以通过客户端200b、200c和200d完成在该区块链网络上的注册,分别与该区块链网络中的其中一个节点100建立连接,并各自拥有自己的区块链地址,等等。可选的,用户a、用户b、用户c和用户d都分别可以通过客户端200a、200b、200c和200d登录自己的区块链数字钱包,以使用自己数字钱包中的数字资产,等等。又例如,用户a、用户b、用户c和用户d都可以分别通过客户端200a、200b、200c和200d与该区块链网络中的任意一个节点100建立连接。然后将自己想要上传至区块链网络的信息,通过各自的客户端发送至与其建立连接的节点100,然后通过该节点100进行上链,并将其广播至区块链网络中的其他节点,从而实现信息在区块链网络中的存储。需要说明的是,图1所示的节点数目仅仅是示意性的,可以根据实际业务需求部署任意数目的节点,其中,客户端200a、200b、200c和200d可以与该区块链网络中的同一节点100进行通信,也可以分别与该区块链网络中的不同节点100进行通信。对于该区块链网络中的每个节点100,均具有与其对应的节点标识,而且该区块链网络中的每个节点100均可以存储有该区块链网络中其他节点100的节点标识,以便后续根据其他节点100的节点标识,将生成的区块广播至该区块链网络中的其他节点100。每个节点100中可以维护一个如下表所示的节点标识列表,并将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为互联网协议(internetprotocol,ip)地址以及其他任一种能够用于标识该节点的信息,本发明实施例对此不作具体限定,表中仅以ip地址为例进行说明。节点名称节点标识节点1117.114.151.174节点2117.116.189.145……节点n119.123.789.258区块链网络中的每个节点100均存储一条相同的区块链,区块链由多个区块组成。请参见图2,图2是本发明实施例提供的一种区块链的结构示意图,如图2所示,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。请参见图3,图3是本发明实施例提供的一种产生新区块的过程示意图。如图3所示,在生成区块链中的各个区块时,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:sha256(sha256(version+prev_hash+merkle_root+ntmie+nbits+x))<target其中,sha256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;target为特征值阈值,该特征值阈值可以根据nbits确定得到。这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享系统中其他节点的节点标识,将新生成的区块分别发送给其所在的数据共享系统中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。请参见图4,图4是本发明实施例提供的一种密钥交换的过程示意图。下面将结合图4和图1对本发明实施例提供的一种基于区块链网络的信息共享方法进行进一步详细阐述。如图4所示,当用户a(也即客户端200a)有一些信息(例如为一些较为敏感或者隐私的信息)需要上传至区块链网络,但并不希望该信息以明文形式存在,也即并不想让所有节点用户都能获取到该明文信息,而只希望部分用户能获取到该明文信息的情况下。如图4所示,用户a可以首先与用户b(也即客户端200b)进行密钥协商,例如用户a可以向用户b发起密钥协商申请,基于该申请,用户a和用户b可以通过ecdh、dh等算法,完成一次密钥交换,各自生成一个同样的对称密钥k(或者称之为加密密钥,等等,一般为一串字符串)。如图4所示,用户b还可以将经ecdh等算法生成的协商参数(一般为随机生成的随机数)发回执用户a。可选的,在一些可能的实施方式中,该系统架构还可以包括与客户端200a、200b、200c和200d连接的加密机,用户a和用户b还可以通过加密机基于上述的密钥协商申请生成对称密钥k。其中,加密机是通过国家商用密码主管部门鉴定并批准使用的国内自主开发的主机加密设备,加密机和主机之间使用传输控制协议/网际协议(transmissioncontrolprotocol/internetprotocol,tcp/ip)通信,所以加密机对主机的类型和主机操作系统无任何特殊的要求。需要说明的是,通常情况下,通过ecdh、dh等算法可以直接生成对称密钥k,而通过加密机仅仅可以得到对称密钥的会话句柄,而非直接得到对称密钥k。此时,可以通过加密机生成的会话句柄对一段提前约定好的信息(例如为用户a与用户b之间提前约定好的信息)进行一次对称加密,得到加密后的加密数据(一般为一串字符串),并可以将该加密数据作为对称密钥k,由此用户a和用户b借助加密机生成了对称密钥k,完成了双方之间的密钥协商。然后,如图4所示,生成对称密钥k后,用户a可以用自己的公钥(例如用户a可以通过相关算法事先生成一个密钥对,包括一个私钥和一个公钥)对该对称密钥k进行加密,得到加密后的对称密钥k,并将该加密后的对称密钥k存储至本地(例如存储在本地的某一个文件中,等等)。可选的,用户a还可以通过第三方托管机构存储该加密后的对称密钥k,等等,本发明实施例对此不作具体限定。从而可以实现用户a对该对称密钥k的长期保存。如图4所示,在生成对称密钥k后,用户b也可以用自己的公钥(例如用户b可以通过相关算法事先生成一个密钥对,包括一个私钥和一个公钥)对该对称密钥k进行加密,得到加密后的对称密钥k,并将该加密后的对称密钥k存储至本地(例如存储在本地的某一个文件中,等等)。可选的,用户b还可以通过第三方托管机构存储该加密后的对称密钥k,等等,本发明实施例对此不作具体限定。从而可以实现用户b对该对称密钥k的长期保存。如此,在用户a和用户b均持有对称密钥k的情况下,以用户a为例,用户a可以将自己的待共享信息用对称密钥k进行加密,得到该待共享信息对应的加密信息,然后用户a可以通过客户端200a与区块链网络中的任意节点建立连接,然后将该加密信息上传至该任意节点,通过该节点进行上链操作,并向区块链网络中的其他节点广播该加密信息,完成该加密信息在区块链网络中的存储。然后,用户b可以通过客户端200b与区块链网络中的任意节点建立连接,然后从该任意节点中获取该加密信息,然后用户b可以通过上述的对称密钥k对该加密信息进行解密,从而得到该待共享信息。显然,未持有该对称密钥k的用户也可以从区块链网络中获取该加密信息,但无法解密得到用户a的待共享信息,由此,也即完成了信息在用户a和用户b之间的私密共享。可选的,用户b也可以将自己的待共享信息用对称密钥k进行加密,然后将加密后得到的加密信息上传至区块链网络,然后用户a可以从区块链网络中获取该加密信息,并通过对称密钥k对该加密信息进行解密,从而得到用户b的待共享信息,此处不再进行赘述。可选的,用户a和用户b还可以将该对称密钥k传播给任何想要进行信息共享的其他用户。例如,如图4所示,当用户a或者用户b希望信息在用户a、用户b和用户c之间共享时,用户b可以通过区块链网络获取用户c的公钥(需要说明的是,通过公钥可以计算得到其对应的区块链地址,公钥可以上传至区块链网络,该区块链网络中的各个节点均可以保存各个用户的公钥),然后通过用户c的公钥对对称密钥k进行加密,得到加密后的对称密钥k,并将该加密后的对称密钥k发送给用户c(例如图4所示的分发加密后的对称密钥ck,该对称密钥ck也即可以为经用户c的公钥进行加密后的对称密钥k)。可选的,还可以由用户a通过区块链网络获取用户c的公钥,然后通过用户c的公钥对对称密钥k进行加密,得到加密后的对称密钥k,并将该加密后的对称密钥k发送给用户c,等等,本发明实施例对此不作具体限定。用户c接收该加密后的对称密钥k,并保存该加密后的对称密钥k至本地,可选的,用户c还可以通过第三方托管机构存储该加密后的对称密钥k,等等,本发明实施例对此不作具体限定,从而可以实现用户c对该对称密钥k的长期保存。如此,用户c就可以从区块链网络中获取用户a和用户b各自上传的加密信息,并通过该加密密钥k进行解密,得到用户a和用户b各自的待共享信息。可选的,用户c还可以将自己的待共享信息用加密密钥k进行加密,得到用户c的待共享信息对应的加密信息,然后用户c可以通过客户端200c与区块链网络中的任意节点建立连接,然后将该加密信息上传至该任意节点,通过该节点进行上链操作,并向区块链网络中的其他节点广播该加密信息,完成该加密信息在区块链网络中的存储。然后用户a和用户b均可以从该区块链网络中获取该加密信息,并分别通过对称密钥k进行解密,得到用户c的待共享信息,此处不再进行赘述。如此,便可以实现信息在用户a、用户b和用户c之间的私密共享。进一步的,同理,用户a或者用户b还可以将对称密钥传播给用户d、用户e、用户f和用户g等等,使得在用户a、用户b、用户d、用户e、用户f和用户g之间进行信息的私密共享,此处不再进行赘述。如上所述,待共享信息例如可以为区块链结构中的附加字段,比如以太坊的extra(附加字段),又比如区块链交易中的交易双方的身份信息,交易时间和交易的货币形式等等信息。但是,需要说明的是,上述待共享信息一般情况下不会是区块链技术中的关键字段,比如交易金额,转账地址等需要矿工确认的信息,又比如在区块链技术中的关键标示等数,这些数据通常无法使用本方案做隐私保护,本发明实施例对此不作具体限定。客户端200a、200b、200c和200d可以是具备上述功能的终端设备(例如智能手机,智能可穿戴设备、平板电脑、笔记本电脑、车载智能终端和台式电脑等等)、独立的应用程序、api(applicationprogramminginterface,应用程序编程接口)或者sdk(softwaredevelopmentkit,软件开发工具包)等等,本发明实施例对此不作具体限定。可选的,在一些可能的实施方式中,该一种基于区块链网络的信息共享方法的系统架构还可以包括比图1所示的系统架构更多或者更少的设备,本发明实施例对此不作具体限定。例如,在一些可能的实施方式中,该系统架构可以包括与客户端200a、200b、200c和200d连接的服务器,客户端200a、200b、200c和200d可以通过该服务器与该区块链网络(例如为区块链网络中的一个或多个节点)进行通信,等等。可选的,该服务器可以为一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。该服务器可以通过无线网络和有线网络与区块链网络、客户端200a、200b、200c和200d建立通信连接,该服务器可以为客户端200a、200b、200c和200d提供后台服务,包括接收用户通过客户端发送的相关申请、接收和存储待上传至区块链网络中的信息和客户端各自对应的用户的身份信息、响应于客户端的请求与区块链网络中的某一节点建立连接,进行通信并上传相关信息至区块链节点等等,本发明实施例对此不作具体限定。基于上述对本发明实施例提供的一种密钥交换的过程的叙述,下面将结合现有技术中的密钥交换方法,对本发明实施例的技术方案进行进一步详细阐述。现有技术中的密钥交换方法较多,主要可以包括以下两种:超文本传输安全协议(hypertexttransferprotocoloversecuresocketlayer,https)中通过交换公钥实现的对称密钥加密技术和密钥协商算法(ellipticcurvesdiffie-hellman,ecdh)。请参见图5,图5是本发明实施例提供的另一种密钥交换的过程示意图。如图5所示,现有技术中的https中的密钥交换过程具体可以包括以下几个步骤:1.服务端向客户端发起连接请求。2.服务端向客户端发送服务端证书。3.客户端生成对称密钥,并用服务端的公钥加密该对称密钥,得到加密后的对称密钥。4.客户端向服务端发送该加密后的对称密钥。5.服务端用自己的私钥解密该加密后的对车密钥,得到对称密钥。此外,现有技术中的ecdh密钥协商算法(或者称之为密钥交换算法)一般是将椭圆加密算法(ellipticcurvescryptography,ecc)和迪菲-赫尔曼(diffie-hellman,dh)算法结合使用,用于密钥磋商,这个密钥协商算法称为ecdh。密钥交换双方(或者称之为密钥协商双方)可以在不共享任何秘密的情况下协商出一个密钥。其中,椭圆加密算法是一种公钥加密体制(公钥密码体制根据其所依据的难题一般分为三类:大整数分解问题类、离散对数问题类、椭圆曲线类。有时也把椭圆曲线类归为离散对数类),最初由koblitz和miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成abel加法群上椭圆离散对数的计算困难性。椭圆加密算法是建立在基于椭圆曲线的离散对数问题上的密码体制,给定椭圆曲线上的一个点p,一个整数k,求解q=k*p很容易;给定一个点p、q,知道q=k*p,求整数k确是一个难题。ecdh即建立在此数学难题之上,具体可以包括以下步骤:1.假设密钥交换双方为alice、bob,其有共享曲线参数(椭圆曲线e、阶n、基点g)。2.alice生成随机整数a,计算a=a*g,生成alice公钥(也即a)。3.bob生成随机整数b,计算b=b*g,生产bob公钥(也即b)。4.alice将a传递给bob。a的传递可以公开,即攻击者可以获取a。5.由于椭圆曲线的离散对数问题是难题,所以攻击者不可以通过a、g计算出a。6.bob将b传递给alice。同理,b的传递可以公开。7.bob收到alice传递的a,计算q=b*a,bob通过自己的私钥(也即随机整数b)和alice的公钥得到对称密钥q。8.alice收到bob传递的b,计算q=a*b,alice通过自己的私钥(也即随机整数a)和bob的公钥得到对称密钥q。9.alice、bob双方即得q=b*a=b*(a*g)=(b*a)*g=(a*b)*g=a*(b*g)=a*b=q'(交换律和结合律),即双方得到一致的密钥q。目前在区块链中信息存储中都是以明文形式存在,无法保护节点的信息隐私问题,也是区块链技术中亟待解决的热点。而上述现有技术中的密钥交换方案一般实现了两端的临时密钥协商,如上述https和ecdh方案都是针对服务端和客户端两端实现了临时会话密钥协商。这样导致无法在多方之间协商产生一个共享的公共密钥。同时经过两端协商实现的是临时会话密钥,一次协商之后便失效了,也无法完成密钥持久化。在区块链隐私保护应用场景中,无法解决会话密钥持久化保存就没办法完成通过密钥加密实现区块链隐私保护问题。同样两方的密钥协商无法满足多个节点间信息共享问题。对比上述现有技术中的方案,显然,本发明实施例提供的一种基于区块链网络的信息共享方法,可以实现协商密钥之后密钥的长期保存和扩散,进而可以在特定密钥协商参与方内部保持的一个共有的对称密钥,达到在有限范围内的明文加密保存,多方共享密文的目的。请参见图6,图6是本发明实施例提供的一种基于区块链网络的信息共享方法的流程示意图。该方法可应用于上述图1所述的系统架构中,其中的区块链网络可以为上述图1系统架构中的区块链网络;其中的第一客户端、第二客户端和第三客户端可以为上述图1系统架构中的客户端200a、200b、200c和200d中的任意一个客户端,可用于支持并执行图6中所示的方法流程。下面将结合附图6从第一客户端侧进行描述,该方法可以包括以下步骤s601-步骤s603:步骤s601,通过加密密钥对待共享信息进行加密,生成所述待共享信息对应的加密信息;所述加密密钥为通过第一客户端和第二客户端之间的密钥协商申请生成并分别通过所述第一客户端的公钥和所述第二客户端的公钥保存于所述第一客户端和所述第二客户端的密钥。具体的,当第一客户端对应的用户(例如为用户1)有一份信息(例如为区块链中交易产生的附加字段,比如交易双方的身份信息,交易时间、交易状态和交易的货币形式等等信息)想要上传至区块链网络,并希望在指定范围内进行信息共享时,第一客户端可以向第二客户端发送密钥协商申请,第一客户端和第二客户端可以基于该密钥协商申请各自生成一个相同的加密密钥(或者称之为对称密钥)。然后,第一客户端可以通过该加密密钥对待共享信息进行加密,生成该待共享信息对应的加密信息(也即得到加密后的待共享信息)。可选的,第一客户端和第二客户端可以通过ecdh或者dh等密钥协商算法生成该加密密钥。可选的,第一客户端和第二客户端还可以借助加密机生成该加密密钥。需要说明的是,通常情况下,通过ecdh或者dh等算法可以直接生成上述加密密钥,而通过加密机仅仅可以得到对应的会话句柄,而非直接得到该加密密钥。此时,可以通过加密机生成的会话句柄对一段提前约定好的信息(例如为第一客户端和第二客户端之间提前约定好的信息)进行一次对称加密,得到加密后的加密数据(一般为一串字符串),并可以将该加密数据作为该密钥协商的加密密钥。可选的,在第一客户端和第二客户端生成该加密密钥之后,第一客户端可以用自己的公钥对该加密密钥进行加密,得到加密后的加密密钥,并将该加密后的加密密钥存储至本地,或者交由第三方托管机构进行保存,等等,本发明实施例对此不作具体限定,以实现第一客户端对该加密密钥的长期保存。可选的,第二客户端也可以用自己的公钥对该加密密钥进行加密,得到加密后的加密密钥,并将该加密后的加密密钥存储至本地,或者交由第三方托管机构进行保存,等等,本发明实施例对此不作具体限定,以实现第二客户端对该加密密钥的长期保存。步骤s602,分别向至少一个第三客户端发送所述加密密钥;所述待共享信息为所述第一客户端、第二客户端和所述至少一个第三客户端之间的共享信息。具体的,第一客户端分别向至少一个第三客户端发送该加密密钥。可选的,第一客户端可以通过区块链网络分别获取该至少一个第三客户端的公钥(公钥可以上传至区块链网络区块链网络中的各个节点均可以存储有各个客户端的公钥),然后用该至少一个第三客户端的公钥分别加密该加密密钥,得到该至少一个第三客户端各自对应的加密后的加密密钥。然后第一客户端可以分别向该至少一个第三客户端发送其各自对应的加密后的加密密钥。可选的,还可以由第二客户端分别向该至少一个第三客户端发送该加密密钥。可选的,第二客户端可以通过区块链网络分别获取该至少一个第三客户端的公钥(公钥可以上传至区块链网络区块链网络中的各个节点均可以存储有各个客户端的公钥),然后用该至少一个第三客户端的公钥分别加密该加密密钥,得到该至少一个第三客户端各自对应的加密后的加密密钥。然后第二客户端可以分别向该至少一个第三客户端发送其各自对应的加密后的加密密钥。该至少一个第三客户端可以保存各自对应的加密后的加密密钥至本地,或者交由第三方托管机构进行保存,等等,从而实现该至少一个第三客户端各自对该加密密钥的长期保存。该待共享信息可以为第一客户端、第二客户端和该至少一个第三客户端之间的共享信息,也即使得信息可以在持有该加密密钥的第一客户端、第二客户端和该至少一个第三客户端之间实现私密共享。可选的,在分别向至少一个第三客户端发送加密密钥之前,第一客户端还可以分别对该至少一个第三客户端各自对应的用户身份信息进行验证,以完成节点授权。可选的,还可以由第二客户端分别对该至少一个第三客户端各自对应的用户身份信息进行验证,以完成节点授权。可选的,第一客户端还可授意其他的设备或者机构分别对该至少一个第三客户端各自对应的用户身份信息进行验证,以完成节点授权,等等,本发明实施例对此不作具体限定。其中,节点授权的对象可以为区块链中的地址所有者,也即通过客户端在区块链中完成注册的用户。例如,可以通过现有的公钥基础设施(publickeyinfrastructure,pki)证书技术对该至少一个第三客户端各自对应的用户身份信息进行验证。当该至少一个第三客户端各自对应的用户身份信息验证通过后,也即可以确认该至少一个第三客户端各自的区块链节点为可信赖的节点后,则可以执行分别向该至少一个第三客户端发送加密密钥等一系列后续步骤。否则,若该至少一个第三客户端中的任意一个第三客户端的节点授权未通过(也即用户身份信息验证未通过),则不向该任意一个第三客户端发送该加密密钥,从而保证信息共享的安全性。步骤s603,上传所述加密信息至区块链网络。具体的,第一客户端将该加密信息上传至区块链网络。可选的,第一客户端可以与该区块链网络中的任意一个节点建立连接,然后向该节点发送该加密信息,通过该节点进行上链操作,并将该加密信息广播至该区块链网络中的其他节点,从而实现该加密信息在区块链网络中的存储。可选的,第二客户端和至少一个第三客户端均可以通过与该区块链网络中的任意一个节点建立连接,然后获取该节点存储的加密信息,并通过各自保存的加密密钥对该加密信息进行解密,从而得到第一客户端的待共享信息。实现信息在第一客户端、第二客户端和至少一个第三客户端之间的私密共享。需要说明的是,本发明实施例对步骤s601、步骤s602和步骤s603的执行先后顺序不作具体限定,在一些可能的实施方式中,可以在第一客户端与第二客户端协商生成加密密钥后,先用加密密钥加密待共享信息,得到加密信息,并将加密信息上传至区块链网络,然后再向至少一个第三客户端发送该加密密钥,等等。在一些可能的实施方式中,还可以在第一客户端与第二客户端协商生成加密密钥后,先向至少一个第三客户端发送该加密密钥,然后再用加密密钥加密待共享信息,得到加密信息,并将加密信息上传至区块链网络,等等,本发明实施例对此不作具体限定。请参见图7,图7是本发明实施例提供的另一种基于区块链网络的信息共享方法的流程示意图,该方法可应用于上述图1所述的系统架构中,其中的区块链网络可以为上述图1系统架构中的区块链网络;其中的第一客户端、第二客户端和第三客户端可以为上述图1系统架构中的客户端200a、200b、200c和200d中的任意一个客户端,可用于支持并执行图7中所示的方法流程。下面将结合附图6从第一客户端、第二客户端和第三客户端交互侧进行描述,该方法可以包括以下步骤s701-步骤s706:步骤s701,向第二客户端发起密钥协商申请;第二客户端接收所述密钥协商申请。具体的,步骤s701可以参考上述图6对应实施例中的步骤s601,此处不再进行赘述。可选的,请参见图8a,图8a是本发明实施例提供的一种信息共享的过程示意图。如图8a所示,第一客户端向第二客户端发起密钥协商申请,可选的,第二客户端也可以向第一客户端发起密钥协商申请。步骤s702,第一客户端根据所述密钥协商申请生成加密密钥;第二客户端根据所述密钥协商申请生成加密密钥。具体的,步骤s702可以参考上述图6对应实施例中的步骤s601,此处不再进行赘述。如图8a所示,在第一客户端向第二客户端发起密钥协商申请后,第一客户端和第二客户端可以同时基于该密钥协商申请各自生成一致的加密密钥并进行保存,等等,此处不再赘述。步骤s703,向第三客户端发送所述加密密钥;第三客户端接收所述加密密钥。具体的,步骤s703可以参考上述图6对应实施例中的步骤s602,此处不再进行赘述。如图8a所示,以两个第三客户端为例,可以由第二客户端分别向该两个第三客户端发送经该两个第三客户端各自的公钥加密后的加密密钥。可选的,也可以由第一客户端分别向该两个第三客户端发送经该两个第三客户端各自的公钥加密后的加密密钥。可选的,第一客户端或者第二客户端还可以向除上述多个第三客户端以外的任何其他可信赖的,或者想要进行信息共享的客户端传播该加密密密钥,本发明实施例对此不作具体限定。可选的,上述第三客户端在得到所述加密密钥后,也可以将该加密密钥传播给可信赖的、能够参与信息共享的一个或多个其他客户端(例如,该一个或多个其他客户端可以为经任意一个第三客户端(或者第一客户端或者第二客户端)对其进行用户身份信息验证后,验证通过的客户端),以此类推,从而可以实现该加密密钥在较大范围内进行快速、安全的传播,实现信息在较大指定范围内的私密共享。可选的,如上所述,该第三客户端可以用一个或多个其他客户端(一般为除第一客户端、第二客户端和该至少一个第三客户端以外的其他客户端)的公钥对该加密密钥进行加密,并将加密后的加密密钥分别发送至对应的其他客户端。其他客户端可以通过自己的私钥解密该加密后的加密密钥,得到该加密密钥,以通过该加密密钥进行一系列的信息共享操作(例如解密第一客户端、第二客户端或第三客户端等上传的加密信息,得到待共享信息,又例如加密自己想要上传的待共享信息,以实现信息在持有该加密密钥的多方之间的私密共享等等,此处不再进行赘述)。可选的,以图8a中第一客户端为例,由于第一客户端为信息共享的发起方(也即密钥协商申请的发起方),一般仅仅可以由第一客户端传播该加密密钥至其他客户端。然而,在一些可能的实施方式中,如上所述,在第一客户端将加密密钥传播至该多个第三客户端后,可以认为该多个第三客户端外可信赖的客户端,由此,也可由该多个第三客户端再次传播该加密密钥至其他客户端,本发明实施例对此不作具体限定,从而可以形成加密密钥的扁平化的广泛传播,减少第一客户端的工作负担。步骤s704,通过加密密钥对待共享信息进行加密,生成所述待共享信息对应的加密信息。具体的,步骤s704可以参考上述图6对应实施例中的步骤s601,此处不再进行赘述。请参见图8b,图8b是本发明实施例提供的另一种信息共享的过程示意图。如图8b所示,该待共享信息例如可以为区块链结构中的附加字段,比如以太坊的extra(附加字段),又比如区块链交易中的交易双方的身份信息,交易时间和交易的货币形式等等信息,图8b中以交易记录(包括图8b所示的交易时间:2020.03.0514:45,交易状态交易未完成,余额不足)为例。如图8b所示,可以通过点击“上传”,对该交易记录进行加密并上传至区块链网络。但是,需要说明的是,上述待共享信息一般情况下不会是区块链技术中的关键字段,比如交易金额,转账地址等需要矿工确认的信息,又比如在区块链技术中的关键标示等数,这些数据通常无法使用本方案做隐私保护,本发明实施例对此不作具体限定。可选的,如上所述,第一客户端保存有加密后的加密密钥(具体为经第一客户端的公钥加密后的加密密钥),则在第一客户端上传自己的待共享信息之前,可以通过第一客户端自己的私钥对该加密后的加密密钥进行解密,从而得到该加密密钥,然后用该加密密钥对该待共享信息进行加密。可选的,如上所述,第二客户端也保存有加密后的加密密钥(具体为经第二客户端的公钥加密后的加密密钥),则在第二客户端想要上传自己的待共享信息之前,可以通过第二客户端自己的私钥对该加密后的加密密钥进行解密,从而得到该加密密钥,然后用该加密密钥对该待共享信息进行加密。步骤s705,上传所述加密信息至区块链网络。具体的,步骤s705可以参考上述图6对应实施例中的步骤s603,此处不再进行赘述。可选的,如图8b所示,可以通过点击“上传”,对该交易记录进行加密并上传至区块链网络。步骤s706,第二客户端从所述区块链网络获取所述加密信息,通过所述加密密钥解密所述加密信息,得到所述待共享信息;第三客户端从所述区块链网络获取所述加密信息,通过所述加密密钥解密所述加密信息,得到所述待共享信息。具体的,步骤s706可以参考上述图6对应实施例中的步骤s603,此处不再进行赘述。可选的,如图8b所示,第二客户端和第三客户端均可以从区块链网络中获取加密后的交易记录,通过所述加密密钥解密所述加密后的交易记录,得到所述第一客户端的交易记录。可选的,如图8a所示,显然,第四客户端没有加密密钥,则第四客户端在从区块链网络中获取该加密信息(也即加密后的待共享信息)之后,无法解密该加密信息,也就无法得到该待共享信息。如图8b所示,第四客户端无法得到该第一客户端的交易记录。实现了信息在指定范围内的私密共享,从而可以有效保护用户的信息隐私安全。可选的,第一客户端保存有加密后的加密密钥(具体为经第一客户端的公钥加密后的加密密钥),第一客户端也可以从该区块链网络中获取自己上传的加密信息,然后通过第一客户端自己的私钥对该加密后的加密密钥进行解密,从而得到该加密密钥,然后用该加密密钥对该加密信息进行解密,得到该待共享信息。可选的,如上所述,第二客户端保存有加密后的加密密钥(具体为经第二客户端的公钥加密后的加密密钥),则在第二客户端从区块链网络获取该加密信息(也即加密后的待共享信息)之后,可以通过第二客户端自己的私钥对该加密后的加密密钥进行解密,从而得到该加密密钥,然后用该加密密钥对该加密信息进行解密,得到该待共享信息。可选的,如上所述,图8a中所示的两个第三客户端也各自保存有加密后的加密密钥(具体为经该两个第三客户端各自的公钥分别加密后的加密密钥),则在第三客户端从区块链网络获取该加密信息(也即加密后的待共享信息)之后,可以通过第三客户端自己的私钥对该加密后的加密密钥进行解密,从而得到该加密密钥,然后用该加密密钥对该加密信息进行解密,得到该待共享信息,本发明实施例对此不作具体限定。需要说明的是,虽然信息的隐私保护是应用于区块链技术,但是本发明实施例中的技术方案所涉及的密钥协商及节点授权是可以独立于区块链的p2p网络结构而独立进行的。本发明实施例提供了一种基于区块链网络的信息共享方法,通过两个客户端(也即两个用户)之间的密钥协商申请,各自生成一个加密密钥(或者称之为对称密钥)并通过两个客户端各自的公钥保存该加密密钥(例如通过两个客户端各自的公钥对该加密密钥分别进行加密,分别得到并保存加密后的加密密钥至本地,只有客户端自己的私钥可以解密还原得到该加密密钥);然后将该加密密钥发送给其他至少一个客户端(也即其他至少一个用户);然后可以用该加密密钥对待共享信息进行加密,得到该待共享信息对应的加密信息,并将该加密信息上传至区块链网络。从而使得拥有该加密密钥的多方之间可以从该区块链网络中获取该加密信息并通过该加密密钥分别进行解密,得到该待共享信息,从而实现了信息在持有该密钥的多方之间的私密共享。由此,对比现有技术中,区块链中的信息都是以明文形式进行存储,用户之间可以直接获取对方上传至区块链的信息,而无法通过共有的密钥对私密信息进行加解密而言,现有技术无法保障用户的信息隐私安全。本发明实施例可以基于两个用户之间的密钥协商申请生成一个加密密钥,并通过各自的公钥保存该加密密钥,实现该加密密钥的持久有效,并将该加密密钥扩散给参与信息共享的其他用户,使得持有该加密密钥的多个用户均可以用该加密密钥对自己想要上传至区块链网络的共享信息进行加密。而只有持有该加密密钥的用户才能进行解密,得到该共享信息,进而实现了信息在多个用户之间的私密共享,保障了用户的信息隐私。请参见图9,是本发明实施例提供的一种基于区块链网络的信息共享装置的结构示意图。如图9所示,该基于区块链网络的信息共享装置包括装置1,该装置1可以应用于上述图4或图6所对应实施例中的区块链网络(包括一个或多个计算设备),该装置1可以包括:第一加密模块101、发送模块104和上传模块108:第一加密模块101,用于通过加密密钥对待共享信息进行加密,生成所述待共享信息对应的加密信息;所述加密密钥为通过第一客户端和第二客户端之间的密钥协商申请生成并分别通过所述第一客户端的公钥和所述第二客户端的公钥保存于所述第一客户端和所述第二客户端的密钥;发送模块104,用于分别向至少一个第三客户端发送所述加密密钥;所述待共享信息为所述第一客户端、所述第二客户端和所述至少一个第三客户端之间的共享信息;上传模块108,用于上传所述加密信息至区块链网络,所述区块链网络用于所述第一客户端、所述第二客户端和所述至少一个第三客户端分别通过所述区块链网络获取所述加密信息,并通过所述加密密钥解密所述加密信息,得到所述待共享信息。其中,第一加密模块101、发送模块104和上传模块108的具体功能实现方式可以参见上述图6所对应实施例中的步骤s601-步骤s403,第一加密模块101、发送模块104和上传模块108的具体实现方式还可以参见上述图7所对应实施例中的步骤s701-步骤s706,这里不再进行赘述。请一并参见图9,其中,所述发送模104,包括:加密单元1041和发送单元1042:加密单元1041,用于通过所述至少一个第三客户端各自的公钥分别对所述加密密钥进行加密,得到经所述至少一个第三客户端各自的公钥加密后的所述加密密钥;发送单元1042,用于分别向所述至少一个第三客户端发送经所述至少一个第三客户端各自的公钥加密后的所述加密密钥。其中,加密单元1041和发送单元1042的具体功能实现方式可以参见上述图6所对应实施例中的步骤s602,加密单元1041和发送单元1042的具体实现方式还可以参见上述图7所对应实施例中的步骤s703,这里不再进行赘述。请一并参见图9,其中,所述分别向至少一个第三客户端发送所述加密密钥之前,所述装置还包括:验证模块105和执行模块106:验证模块105,用于对所述至少一个第三客户端各自对应的用户身份进行验证;执行模块106,用于若所述至少一个第三客户端各自对应的用户身份验证通过,则执行所述分别向至少一个第三客户端发送所述加密密钥的步骤。其中,验证模块105和执行模块106的具体功能实现方式可以参见上述图6所对应实施例中的步骤s602,验证模块105和执行模块106的具体实现方式还可以参见上述图7所对应实施例中的步骤s703,这里不再进行赘述。请一并参见图9,其中,所述分别向所述至少一个第三客户端发送经所述至少一个第三客户端各自的公钥加密后的所述加密密钥之后,所述装置还包括:保存模块107和第一解密模块109:保存模块107,用于通过所述至少一个第三客户端分别保存经所述至少一个第三客户端各自的公钥加密后的所述加密密钥;第一解密模块109,用于通过所述至少一个第三客户端各自的私钥分别解密经所述至少一个第三客户端各自的公钥加密后的所述加密密钥,得到所述加密密钥,所述加密密钥用于解密所述至少一个第三客户端分别从所述区块链网络中获取的所述加密信息,得到所述待共享信息。其中,保存模块107和第一解密模块109的具体功能实现方式可以参见上述图6所对应实施例中的步骤s602-步骤s603,保存模块107和第一解密模块109的具体实现方式还可以参见上述图7所对应实施例中的步骤s703和步骤s706,这里不再进行赘述。请一并参见图9,其中,所述装置还包括:第二加密模块102和第二解密模块110:第二加密模块102,用于通过所述第二客户端的公钥对所述加密密钥进行加密,得到经所述第二客户端的公钥加密后的所述加密密钥,并保存经所述第二客户端的公钥加密后的所述加密密钥;第二解密模块110,用于通过所述第二客户端的私钥对经所述第二客户端的公钥加密后的所述加密密钥进行解密,得到所述加密密钥,所述加密密钥用于解密所述第二客户端从所述区块链网络中获取的所述加密信息,得到所述待共享信息。其中,第二加密模块102和第二解密模块110的具体功能实现方式可以参见上述图7所对应实施例中的步骤s706,这里不再进行赘述。请一并参见图9,其中,所述装置还包括:第三加密模块103和第三解密模块111:第三加密模块103,用于通过所述第一客户端的公钥对所述加密密钥进行加密,得到经所述第一客户端的公钥加密后的所述加密密钥,并保存经所述第一客户端的公钥加密后的所述加密密钥;第三解密模块111,用于通过所述第一客户端的私钥对经所述第一客户端的公钥加密后的所述加密密钥进行解密,得到所述加密密钥,所述加密密钥用于解密所述第一客户端从所述区块链网络中获取的所述加密信息,得到所述待共享信息。其中,第三加密模块103和第三解密模块111的具体功能实现方式可以参见上述图7所对应实施例中的步骤s706,这里不再进行赘述。基于上述方法实施例以及装置实施例的描述,本发明实施例还提供一种计算设备。请参见图10,图10是本发明实施例提供的一种客户端的结构示意图,该客户端至少包括处理器201、输入设备202、输出设备203以及计算机存储介质204。其中,客户端内的处理器201、输入设备202、输出设备203以及计算机存储介质204可通过总线或其他方式连接。计算机存储介质204可以存储在客户端的存储器中,所述计算机存储介质204用于存储计算机程序,所述计算机程序包括程序指令,所述处理器201用于执行所述计算机存储介质204存储的程序指令。处理器201(或称cpu(centralprocessingunit,中央处理器))是客户端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;在一个实施例中,本发明实施例所述的处理器201可以用于进行基于区块链网络的信息共享的一系列处理,包括:通过加密密钥对待共享信息进行加密,生成所述待共享信息对应的加密信息;所述加密密钥为通过第一客户端和第二客户端之间的密钥协商申请生成并分别通过所述第一客户端的公钥和所述第二客户端的公钥保存于所述第一客户端和所述第二客户端的密钥;分别向至少一个第三客户端发送所述加密密钥;所述待共享信息为所述第一客户端、所述第二客户端和所述至少一个第三客户端之间的共享信息;上传所述加密信息至区块链网络,所述区块链网络用于所述第一客户端、所述第二客户端和所述至少一个第三客户端分别通过所述区块链网络获取所述加密信息,并通过所述加密密钥解密所述加密信息,得到所述待共享信息,等等。本发明实施例还提供了一种计算机可读存储介质(memory),所述计算机可读存储介质是客户端中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括客户端中的内置存储介质,当然也可以包括客户端所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了客户端的操作系统。并且,在该存储空间中还存放了适于被处理器201加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机可读存储介质。在一个实施例中,可由处理器201加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述有关基于区块链的票据处理方法实施例中的方法的相应步骤;具体实现中,计算机可读存储介质中的一条或一条以上指令可由处理器201加载并执行如下步骤:通过加密密钥对待共享信息进行加密,生成所述待共享信息对应的加密信息;所述加密密钥为通过第一客户端和第二客户端之间的密钥协商申请生成并分别通过所述第一客户端的公钥和所述第二客户端的公钥保存于所述第一客户端和所述第二客户端的密钥;分别向至少一个第三客户端发送所述加密密钥;所述待共享信息为所述第一客户端、所述第二客户端和所述至少一个第三客户端之间的共享信息;上传所述加密信息至区块链网络,所述区块链网络用于所述第一客户端、所述第二客户端和所述至少一个第三客户端分别通过所述区块链网络获取所述加密信息,并通过所述加密密钥解密所述加密信息,得到所述待共享信息。在一个实施例中,所述分别向至少一个第三客户端发送所述加密密钥中,所述一条或一条以上指令还可由处理器201加载并执行如下步骤:通过所述至少一个第三客户端各自的公钥分别对所述加密密钥进行加密,得到经所述至少一个第三客户端各自的公钥加密后的所述加密密钥;分别向所述至少一个第三客户端发送经所述至少一个第三客户端各自的公钥加密后的所述加密密钥。在一个实施例中,在所述分别向至少一个第三客户端发送所述加密密钥之前,所述一条或一条以上指令还可由处理器201加载并执行如下步骤:对所述至少一个第三客户端各自对应的用户身份进行验证;若所述至少一个第三客户端各自对应的用户身份验证通过,则执行所述分别向至少一个第三客户端发送所述加密密钥的步骤。在一个实施例中,在所述分别向所述至少一个第三客户端发送经所述至少一个第三客户端各自的公钥加密后的所述加密密钥之后,所述一条或一条以上指令还可由处理器201加载并执行如下步骤:通过所述至少一个第三客户端分别保存经所述至少一个第三客户端各自的公钥加密后的所述加密密钥;通过所述至少一个第三客户端各自的私钥分别解密经所述至少一个第三客户端各自的公钥加密后的所述加密密钥,得到所述加密密钥,所述加密密钥用于解密所述至少一个第三客户端分别从所述区块链网络中获取的所述加密信息,得到所述待共享信息。在一个实施例中,所述一条或一条以上指令还可由处理器201加载并执行如下步骤:通过所述第二客户端的公钥对所述加密密钥进行加密,得到经所述第二客户端的公钥加密后的所述加密密钥,并保存经所述第二客户端的公钥加密后的所述加密密钥;通过所述第二客户端的私钥对经所述第二客户端的公钥加密后的所述加密密钥进行解密,得到所述加密密钥,所述加密密钥用于解密所述第二客户端从所述区块链网络中获取的所述加密信息,得到所述待共享信息。在一个实施例中,所述一条或一条以上指令还可由处理器201加载并执行如下步骤:通过所述第一客户端的公钥对所述加密密钥进行加密,得到经所述第一客户端的公钥加密后的所述加密密钥,并保存经所述第一客户端的公钥加密后的所述加密密钥;通过所述第一客户端的私钥对经所述第一客户端的公钥加密后的所述加密密钥进行解密,得到所述加密密钥,所述加密密钥用于解密所述第一客户端从所述区块链网络中获取的所述加密信息,得到所述待共享信息。在一种实施方式中,在基于所述目标场景的图像,确定所述第一地图要素的第一点云分布时,所述一条或一条以上指令可以由处理器201加载并具体执行:本发明实施例提供了一种基于区块链网络的信息共享方法,通过两个客户端(也即两个用户)之间的密钥协商申请,各自生成一个加密密钥(或者称之为对称密钥)并通过两个客户端各自的公钥保存该加密密钥(例如通过两个客户端各自的公钥对该加密密钥分别进行加密,分别得到并保存加密后的加密密钥至本地,只有客户端自己的私钥可以解密还原得到该加密密钥);然后将该加密密钥发送给其他至少一个客户端(也即其他至少一个用户);然后可以用该加密密钥对待共享信息进行加密,得到该待共享信息对应的加密信息,并将该加密信息上传至区块链网络。从而使得拥有该加密密钥的多方之间可以从该区块链网络中获取该加密信息并通过该加密密钥分别进行解密,得到该待共享信息,从而实现了信息在持有该密钥的多方之间的私密共享。由此,对比现有技术中,区块链中的信息都是以明文形式进行存储,用户之间可以直接获取对方上传至区块链的信息,而无法通过共有的密钥对私密信息进行加解密而言,现有技术无法保障用户的信息隐私安全。本发明实施例可以基于两个用户之间的密钥协商申请生成一个加密密钥,并通过各自的公钥保存该加密密钥,实现该加密密钥的持久有效,并将该加密密钥扩散给参与信息共享的其他用户,使得持有该加密密钥的多个用户均可以用该加密密钥对自己想要上传至区块链网络的共享信息进行加密。而只有持有该加密密钥的用户才能进行解密,得到该共享信息,进而实现了信息在多个用户之间的私密共享,保障了用户的信息隐私。以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1