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

基于区块链的数据存储及通信方法、装置、设备和介质

文献发布时间:2023-06-19 19:18:24


基于区块链的数据存储及通信方法、装置、设备和介质

技术领域

本公开涉及计算机技术领域,尤其涉及区块链技术,可用于身份认证场景。

背景技术

多方协同计算可以实现不同方数据的协同使用,提高数据的可用性,从而增强数据的使用价值。在进行多方协同计算时,任一方存在恶意节点,或节点间通信不安全,都将会存在数据泄露或计算结果不可信的风险。

发明内容

本公开提供了一种基于区块链的数据存储及通信方法、装置、设备和介质。

根据本公开的一方面,提供了基于区块链的数据存储方法,应用于身份授权方,包括:

根据自身监管的通信节点的区块链地址,以及通信节点的通信密钥,生成通信节点的去中心化身份DID文档;通信密钥用于与其他通信节点建立安全通信连接;

确定DID文档的文档内容标识;

对DID文档进行去中心化存储,并得到DID文档的文档位置标识;

将通信节点的文档内容标识、文档位置标识与区块链地址之间的身份对应关系,存储在区块链网络的智能合约中,用于进行DID文档的查找和验证。

根据本公开的另一方面,还提供了基于区块链的通信方法,应用于通信节点,包括:

获取待访问节点的区块链地址和相应文档内容标识;

根据待访问节点的区块链地址,确定区块链网络的智能合约中待访问节点的身份对应关系;其中,待访问节点的身份对应关系基于本公开实施例提供的任意一种基于区块链的数据存储方法生成;

根据待访问节点的文档内容标识和相应身份对应关系,查找并验证待访问节点的去中心化身份DID文档;

若验证通过,则根据待访问节点的DID文档中的通信密钥,与待访问节点建立安全通信连接。

根据本公开的另一方面,还提供了一种电子设备,包括:

至少一个处理器;以及

与至少一个处理器通信连接的存储器;其中,

存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开实施例提供的任意一种基于区块链的数据存储方法,和/或,执行本公开实施例提供的任意一种基于区块链的通信方法。

根据本公开的另一方面,还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行根据本公开实施例提供的任意一种基于区块链的数据存储方法,和/或,执行本公开实施例提供的任意一种基于区块链的通信方法。

根据本公开的技术,提高了通信节点间通信的安全性。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1A是本公开实施例提供的一种数据处理系统的结构图;

图1B是本公开实施例提供的基于区块链的数据存储方法的流程图;

图1C是本公开实施例提供的一种DID文档的结构示意图;

图2是本公开实施例提供的基于区块链的通信方法的流程图;

图3A是本公开实施例提供的一种多方协同计算网络中计算节点的DID身份授予方法的流程图;

图3B是本公开实施例提供的一种多方协同计算网络中计算节点的DID身份撤销方法的流程图;

图3C是本公开实施例提供的一种多方协同计算网络中计算节点间的可信连接建立方法的流程图;

图4是本公开实施例提供的一种基于区块链的数据存储装置的结构图;

图5是本公开实施例提供的一种基于区块链的通信装置的结构图;

图6是用来实现本公开实施例的基于区块链的数据存储方法和/或基于区块链的通信方法的电子设备的框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

为了便于理解,首先对本公开所涉及的数据处理系统进行简要说明。参见图1A所示的数据处理系统,包括身份授权方10和通信节点20、去中心化存储系统30和区块链网络40。其中,身份授权方10与通信节点20之间通信连接;身份授权方10和通信节点20均与去中心化存储系统30以及区块链网络40通信连接。

其中,身份授权方10,用于对所监管通信节点20,授予去中心化身份,也即去中心化身份(Decentralized Identification,DID)文档,并将DID文档存储至去中心化存储系统30中。其中,身份授权方10的数量为至少一个;一个身份授权方10可以监管至少一个通信节点20。为了便于管理,一个通信节点20可仅对应一个身份授权方10。

通信节点20作为按照某种约定所构建的计算网络的成员节点,参与计算网络的分布式计算。不同通信节点20之间可以通过去中心化身份进行互认,实现节点间的身份打通,从而提高了分布式计算的安全性。

去中心化存储系统30,用于作为不同通信节点20的DID文档的存储位置,实现了对DID文档的去中心化存储,提高了所授予身份的可靠性,同时为各通信节点提供DID文档查询服务。

区块链网络40,用于存储不同通信节点20与相应DID文档的对应关系,便于各通信节点通过该对应关系,从去中心化存储系统30中查找其他通信节点的DID文档,以供验证。

在图1A所示的数据处理系统的基础上,本公开实施例提供了一种基于区块链的数据存储方法,适用于为通信节点分配去中心化身份的应用场景中,该方法可以由数据存储装置执行,该装置可以采用软件和/或硬件实现,并具体配置于电子设备中,该电子设备可部署于身份授权方。

参见图1B所示的基于区块链的数据存储方法,应用于身份授权方,包括:

S101、根据自身监管的通信节点的区块链地址,以及通信节点的通信密钥,生成通信节点的去中心化身份DID文档。

其中,通信节点可以是按照某种约定所构建的计算网络的成员节点,该计算网络用于进行统一的分布式计算。在一个具体实施例中,计算网络可以是多方协同计算网络,相应的,通信节点可以是多方协同计算网络中的计算节点,从而适配于多方协同计算场景。可选的,多方协同计算网络可以用于进行多方数据协同和去中心化机器学习等中的至少一种。

其中,身份授权方与通信节点之间具备监管关系,可以通过身份授权方为通信节点授予或进一步撤销身份信息。通信节点的区块链地址可以由通信节点在区块链网络上声明,本公开对区块链地址的具体声明方式不作任何限定。通信密钥可以是对称密钥或非对称密钥,用于与其他通信节点建立安全通信连接,以提高节点间通信的安全性。在一个具体实现方式中,通信密钥为非对称密钥中的通信公钥,以提高通信连接建立效率。

其中,去中心化身份(Decentralized Identification,DID),可以理解为基于区块链技术实现的让用户能够自主拥有和支配的数字身份。DID文档是指DID的描述文档,用于记录DID的至少一种身份属性。可选的,参见图1C所示的DID文档的结构示意图,其中,DID文档可以包括DID标识、版本信息、创建时间、区块链地址、验证方式和通信属性等中的至少一种。其中,DID标识,用于唯一表征该DID文档的内容,例如可以是数字摘要;版本信息,用于区分不同DID文档的版本;创建时间,用于表征DID文档的生成时间;区块链地址,用于表征身份授权方所授予对象(也即通信节点)在区块链网络中的账号身份;验证方式,用于限定对DID文档的验证机制;通信属性,可以包括通信密钥,用于作为与其他通信节点建立通信连接的基础。

其中,验证方式可以由技术人员根据需要或经验进行设置或调整,本公开对具体的验证方式不作任何限定。例如,验证方式可以是基于ECDSA(Elliptic Curve DigitalSignature Algorithm,椭圆曲线数字签名算法),对DID文档进行签名验证。

值得注意的是,本公开中的DID文档中剔除了现有技术的DID文档中的更新时间字段,从而保证了对已生成的DID文档自身的不可修改特性,避免由于对DID文档的贸然修改,影响DID的准确性,进而影响后续的通信安全,同时提高了对DID文档进行管理的便捷性。

进一步参见图1C,可选的,DID文档中还可以添加其他属性,作为DID文档的属性扩展接口,便于后续对DID文档进行属性扩展。示例性的,其他属性可以包括声明属性,用于通过添加预设声明字段的方式,对本DID文档、在先生成的DID文档或预设字段指定的DID文档进行额外注解。例如,预设声明字段可以是撤销字段,通过在撤销字段中添加撤销声明信息,用于表征对本DID文档、在先生成的DID文档或预设字段指定的DID文档撤销已授权身份,从而指示相应DID文档失效。在一个具体示例中,可以在DID文档中添加撤销字段,用于声明撤销在先生成的最新DID文档的已授权身份,从而通过新增DID文档的方式,替代直接修改DID文档自身的方式,实现对已授予身份的有效撤回,在保证了DID文档的不可修改特性的同时,保留了身份撤回能力,便于及时对过期DID进行授予身份的及时撤回,进一步提高了DID的安全性。

S102、确定DID文档的文档内容标识。

在一个可选实施例中,可以采用预设编码方式,对DID文档进行编码,得到唯一表征DID文档内容的文档内容标识。其中,预设编码方式可以由技术人员根据需要或经验进行设定或调整,本公开对生成文档内容标识所采用的具体编码方式不作任何限定。

S103、对DID文档进行去中心化存储,并得到DID文档的文档位置标识。

其中,去中心化存储是一种通过分布式存储技术,将文件或文件集分片存储在不同提供方提供的磁盘空间上的存储模式。通过对DID文档进行去中心化存储,能够保证DID文档的可靠性。其中,DID文档的文档存储标识,能够表征DID文档在去中心化存储系统中的存储地址,便于进行DID文档的访问。

S104、将通信节点的文档内容标识、文档位置标识与区块链地址之间的身份对应关系,存储在区块链网络的智能合约中,用于进行DID文档的查找和验证。

由于区块链网络的智能合约中,采用键值对的方式进行数据存储,因此,将身份对应关系存储于智能合约中,便于进行身份对应关系中不同信息的查找和定位。同时,基于区块链网络的开放性和可追溯性,便于不同通信节点通过区块链网络进行身份对应关系的共享,进而通过身份对应关系中的文档位置标识,从去中心化存储系统中查找DID文档,并基于身份对应关系中的文档内容标识,对所查找到的DID文档进行验证。

本公开实施例通过将通信节点的DID文档进行去中心化存储,并将通信节点的身份对应关系在区块链网络中存储,便于进行DID文档的关联查找和验证,从而提高了DID文档的不可篡改性、持久性和可靠性;通过在区块链网络的智能合约中进行身份关联信息的存储,提高了查找便捷性;通过在DID文档中携带用于与其他通信节点建立安全通信连接的通信密钥,保证了通信密钥的安全性,并通过DID文档,增强了通信密钥的可靠性,进而保证了节点间通信的安全性和可靠性。

在上述各技术方案的基础上,还可以在区块链网络中存储身份授权方的授权身份类别,用于对DID文档进行生成方身份验证。

其中,授权身份类别可以通过标注预设标识符的方式加以实现,或生成包括不同身份授权方的授权方列表,与非身份授权方加以区分。其中,本公开对预设标识符的具体内容不做任何限定。

示例性的,DID文档中通常携带有DID文档的生成方的签名信息,通过对DID文档进行验签的方式,从而保证DID文档的有效性。然而,并非所有节点均具备去中心化身份授予权限,也即并非所有节点具备DID文档生成权限,因此,还可以将具备去中心化身份授予权限的身份授权方,在区块链网络中声明自身区块链地址的同时,标注自身的授权身份类别,与区块链网络中其他区块链地址区分开来,并在进行DID文档验证过程中,通过在区块链网络中查找该DID文档的生成方是否具备授权身份类型的方式,对DID文档进行生成方身份验证,从而保证了DID文档的合法性。

在上述各技术方案的基础上,还可以在区块链网络的智能合约中,建立存储保持零知识证明共识机制,用于保证DID文档的可用性。需要说明的是,此处的智能合约,与前述存储身份对应关系的智能合约可以是同一智能合约或不同智能合约,为了便于维护,通常独立设置不同功能的两个智能合约分别进行身份对应关系的存储以及零知识证明共识机制的存储。

以上,以身份授权方为执行主体,对DID文档及其对应通信节点的身份对应关系的存储过程,进行了详细说明。以下,将以通信节点为执行主体,对基于上述存储数据进行节点间通信的技术方案,进行详述。

参见图2所示的基于区块链的通信方法,应用于通信节点,包括:

S201、获取待访问节点的区块链地址和相应文档内容标识。

其中,待访问节点即为需要访问的任意通信节点。

示例性的,可以从待访问节点直接获取相应区块链地址和文档内容标识,以供后续通信使用;或者,预先获取待访问节点的区块链地址和相应文档内容标识,并存储在与自身通信连接的存储设备中,并在需要与待访问节点通信时,从相应存储设备中进行待访问节点的区块链地址和文档内容标识的查找获取。

其中,待访问节点的区块链地址,用于表征待访问节点在区块链网络的账号身份,从而通过该区块链地址,在区块链网络中进行待访问节点相关信息的查找定位;待访问节点的文档内容标识,用于作为链外获取数据,对基于区块链网络获取的DID文档进行验证。

S202、根据待访问节点的区块链地址,确定区块链网络的智能合约中待访问节点的身份对应关系。

其中,待访问节点的身份对应关系基于本公开任意实施例所提供的基于区块链的数据存储方法生成。

具体的,在区块链网络的智能合约中,查找携带有待访问节点的区块链地址的身份对应关系,用于作为后续进行待访问节点的查找和验证的基础。

S203、根据待访问节点的文档内容标识和相应身份对应关系,查找并验证待访问节点的DID文档。

示例性的,根据待访问节点的身份对应关系中的文档存储标识,从去中心化系统中查找待访问节点的DID文档;根据待访问节点的文档内容标识和/或身份对应关系,对查找到的DID文档进行验证。

在一个可选实施例中,可以生成待访问节点的DID文档对应的文档内容标识,并将生成结果作为参考标识;根据参考标识和前述获取的待访问节点的文档内容标识,对待访问节点的DID文档进行内容验证。具体的,若参考标识与前述获取的待访问节点的文档内容标识相同,则确定待访问节点的DID文档的文档内容无误,也即内容验证通过;否则,则确定待访问节点的DID文档的文档内容有误,也即内容验证不通过。

可以理解的是,通过对DID文档的文档内容进行验证,避免了出现所获取DID文档有误的情况发生,从而提高了所获取DID文档的完整性和准确性,进而保证了DID文档中所携带通信密钥的准确性和可靠性,为后续与待访问节点建立安全通信连接,提供了保障。

在另一可选实施例中,还可以基于DID文档中的验证方式,对所获取的DID文档进行签名验证,从而保证DID文档中所携带签名的有效性。

由于并非所有节点均具备去中心化身份授予权限,也即并非所有节点具备DID文档生成权限,因此,还可以对DID文档的生成方身份进行验证,以保证DID文档的合法性。在又一可选实施例中,还可以获取待访问节点的DID文档的生成方;根据区块链网络中生成方的授权身份类别,对生成方进行身份验证。

示例性的,在区块链网络中,根据生成方的区块链地址,确定该生成方的授权身份类别;若该生成方具备授权身份类别(如对应区块链地址在声明时标注有预设标识符,或对应区块链地址存储于授权方列表中等),则表明该待访问节点的DID文档的生成方,属于具备去中心化身份授予权限的身份授权方,也即对该生成方的身份验证通过。

可以理解的是,通过对获取到的待访问节点的DID文档的生成方进行身份验证,保证了该DID文档的生成方为具备去中心化身份授予权限的身份授权方,从而保证了该DID文档的合法性,进而为该DID文档中所携带通信密钥的合法性和可靠性,提供了保障。

由于身份授权方可以为待访问节点生成至少一个DID文档,例如身份授予待访问节点某一去中心化身份的身份授予DID文档,以及撤销已授予身份的身份撤销DID文档,而不同DID文档对应有不同的身份对应关系,均存储于智能合约中,因此,在智能合约中存储有待访问节点的身份对应关系的数量同样为至少一个。

当智能合约中存储有至少两个身份对应关系时,还可以将至少两个身份对应关系中时间最新的身份对应关系,作为目标身份对应关系;根据目标身份对应关系和待访问节点的文档内容标识,查找并验证待访问节点的DID文档。

可以理解的是,通过将智能合约中待访问节点时间最新的身份对应关系,作为目标身份对应关系,进行待访问节点的DID文档的查找和验证,从而保证了所查找到的DID文档的时效性,避免了基于获取到过期DID文档,无法与待访问节点建立安全通信连接的情况发生,从而提高了节点间通信的有效性和安全性。

进一步的,除了采用前述方式对DID文档进行内容验证、签名验证和合法性验证之外,还可以根据目标身份对应关系中的文档内容标识和待访问节点的文档内容标识,对待访问节点的DID文档进行时效验证,从而保证DID文档的有效性,提高了对DID文档的验证过程的丰富性和多样性,提高了所获取DID文档的可靠性和准确性,从而保证了DID文档中通信密钥的可靠性,进而保证了节点间通信的安全性。

具体的,可以将目标身份对应关系中的文档内容标识,与前述获取到的待访问节点的文档内容标识进行比对;若两者一致,则表明获取到的待访问节点的文档内容标识为最新生成标识,也即时效验证通过;若两者不一致,则表明获取到的待访问节点的文档内容标识并非最新生成标识,可能后续已撤销本次身份授权,也即时效验证不通过。

需要说明的是,由于时效验证过程并不涉及对DID文档的查找获取结果,因此,本公开对时效验证过程与DID文档的查找获取过程的先后顺序,不作任何限定。

为了减少无关运算量,可以先进行时效验证,仅在时效验证通过的情况下,再从去中心化系统中进行DID文档的查找获取,并对获取到的DID文档进行其他维度验证,如内容验证、签名验证和合法性验证等。

S204、若验证通过,则根据待访问节点的DID文档中的通信密钥,与待访问节点建立安全通信连接。

可以理解的是,仅在验证通过的情况下,解析待访问节点的DID文档,才能获取到待访问节点的准确可靠的通信密钥;基于该通信密钥,与待访问节点之间可以建立安全通信连接,从而保证了与待访问节点间数据通信的安全性。

示例性的,可以基于通信密钥,推导出对称加密密钥,通过对称加密密钥的方式,建立与待访问节点的加密通信连接,减少了传输带宽,提高了通信连接建立效率。需要说明的是,本公开对推导对称加密密钥所采用的推导算法不作任何限定,可以采用现有技术中的至少一种推导算法加以实现。例如,可以采用ECDH(Elliptic Curve Diffie–Hellmankey Exchange,椭圆曲线迪菲-赫尔曼金钥交换)算法,对基于ECC(Elliptic curvecryptography,椭圆加密算法)的通信公钥进行推导,生成对称加密密钥。

本公开实施例通过在区块链网络中存储的待访问节点的身份对应关系,在去中心化存储系统中进行待访问节点的DID文档的查找和验证,提高了待访问节点的DID文档的安全性和可靠性;通过在区块链网络的智能合约中进行身份对应关系的存储和使用,提高了DID文档查找过程的便捷性;通过对DID文档进行验证,并在验证通过后,才使用DID文档中的通信密钥,增强了通信密钥的可靠性,进而基于该通信密钥与待访问节点建立安全通信连接,保证了节点间通信的安全性和可靠性。

在上述各技术方案的基础上,还可以在于待访问节点建立安全通信连接之后,生成通信记录,并将通信记录存储至智能合约中,以供查证;其中,通信记录可以包括通信节点双方的区块链地址、文档内容标识、连接时间和连接任务中的至少一种。

其中,连接任务用于表征本次通信连接所需执行任务,可以通过记录任务标识的方式添加至通信记录中。

可以理解的是,通过在每次建立通信连接之后,在区块链中存储本次通信的通信记录,实现节点间通信的有据可循,为后续节点间通信的审查提供了数据支撑,有助于减少节点间违规通信的发生,保证了节点间通信的规范性和可靠性。

在上述各技术方案的基础上,本公开还提供了一个优选实施例,在该实施例中,对多方协同计算网络中各计算节点间的可信连接建立过程进行了详细说明。

参见图3A所示的多方协同计算网络中计算节点的DID身份授予方法,包括:

S301、计算节点和身份授权方在区块链网络中分别声明自身区块链地址,并标注身份授权方的授权身份类别。

S302、身份授权方根据自身所监管的计算节点的区块链地址和计算节点的通信公钥,生成计算节点的DID文档。

S303、身份授权方将DID文档存储至去中心化存储系统中,并得到DID文档在去中心化存储系统中的文件标识(Identification,ID)。

其中,文件ID即为DID文档在去中心化存储系统中的文档位置标识,用于表征DID文档在去中心化存储系统中的存储位置。

S304、身份授权方将计算节点的DID文档的数据指纹,作为DID标识。

S305、身份授权方将计算节点的区块链地址、DID标识和文件ID之间的身份对应关系,存储在区块链网络的智能合约中。

上述技术方案通过引入去中心化存储系统进行DID文档存储,保证了所存储DID文档的持久性和不可篡改性。通过引入智能合约进行身份对应关系的存储,提高了身份对应关系中所携带信息查找过程的便捷性,有助于提高后续DID文档查找的便捷性,同时实现了不同计算节点的身份对应关系的节点间共享。

进一步的,在图3A所示的DID身份授予方法的基础上,参见图3B,本公开还提供了一种多方协同计算网络中计算节点的DID身份撤销方法,包括:

S306、身份授权方根据自身所监管的计算节点的区块链地址,生成声明撤销已授权身份的新的DID文档。

S307、身份授权方将新的DID文档存储至去中心化存储系统中,并得到该新的DID文档在去中心化存储系统中的文件ID。

S308、身份授权方将计算节点的新的DID文档的数据指纹,作为新的DID标识。

S309、身份授权方将计算节点的区块链地址、新的DID标识和新的文件ID之间的身份对应关系,存储在区块链网络的智能合约中。

上述方案通过新身份授予的方式,进行已授予DID身份的撤销,从而在保证DID文档自身的不可篡改性的基础上,实现了已授予身份的撤销,便于进行DID身份在不同阶段(授予阶段或撤销阶段)的有效管理。值得注意的是,计算节点的旧的身份对应关系,在智能合约中仍旧存在,并未删除。

在图3A和图3B所示的方案的基础上,参见图3C所示的多方协同计算网络中计算节点间的可信连接建立方法,包括:

S310、第一计算节点与第二计算节点之间交互各自的DID标识和区块链地址。

S311、第一计算节点访问区块链网络的智能合约,根据第二计算节点的区块链地址,查找最新的第二DID标识;以及,第二计算节点访问区块链网络的智能合约,根据第一计算节点的区块链地址,查找最新的第一DID标识。

S312、若第一计算节点确定第二DID标识与第二计算节点发送的DID标识相同,则确定智能合约中第二DID标识对应身份关联关系中的第二文件ID;以及,若第二计算节点确定第一DID标识与第一计算节点发送的DID标识相同,则确定智能合约中第一DID标识对应身份关联关系中的第一文件ID。

S313、第一计算节点根据第二文件ID,从去中心化系统中获取第二DID文档;以及,第二计算节点根据第一文件ID,从去中心化系统中获取第一DID文档。

S314、第一计算节点将第二DID文档的数字指纹与第二DID标识进行比较,对第二DID文档进行内容完整性验证;以及,第二计算节点将第一DID文档的数字指纹与第一DID标识进行比较,对第一DID文档进行内容完整性验证。

S315、第一计算节点采用第二DID文档中的验证方式,对第二DID文档进行签名验证;以及,第二计算节点采用第一DID文档中的验证方式,对第一DID文档进行签名验证。

S316、第一计算节点从区块链网络中查找第二DID文档的生成方的授权身份类别;以及第二计算节点从区块链网络中查找第一DID文档的生成方的授权身份类别。

S317、第一计算节点根据第二DID文档的生成方的授权身份类别,验证第二DID文档的生成方的有效性;以及,第二计算节点采用第一DID文档的生成方的授权身份类别,验证第一DID文档的生成方的有效性。

S318、若上述验证均通过,第一计算节点获取第二DID文档中的第二通信公钥;以及,第二通信节点获取第一DID文档中的第一通信公钥。

S319、第一计算节点根据第二通信公钥推导对称加密密钥,以及第二计算节点根据第一通信公钥推导对称加密密钥。

S320、第一计算节点和第二计算节点基于自身所推导对称加密密钥,建立节点间加密通信连接。

S321、第一计算节点和/或第二计算节点生成本次通信记录,并上传至区块链网络的智能合约中,以供审查方审查。

其中,通信记录包括通信的各计算节点区块链地址、DID标识、连接时间和计算任务标识。

上述技术方案通过引入去中心化存储和区块链网络,实现了DID文档的不可篡改性和可验证性,从而保证了DID文档的安全性和可验证性。通过引入通信记录,保证了对计算节点间通信的可审查性,从而保证了多方协同计算网络中计算节点间协同计算的安全性。

作为上述各基于区块链的数据存储方法的实现,本公开还提供了一种实施上述各基于区块链的数据存储方法的执行装置的可选实施例。

参见图4所示的基于区块链的数据存储装置400,配置于身份授权方,包括:DID文档生成模块401、文档内容标识确定模块402、文档位置标识确定模块403和身份对应关系存储模块404。其中,

DID文档生成模块401,用于根据自身监管的通信节点的区块链地址,以及所述通信节点的通信密钥,生成所述通信节点的去中心化身份DID文档;所述通信密钥用于与其他通信节点建立安全通信连接;

文档内容标识确定模块402,用于确定所述DID文档的文档内容标识;

文档位置标识确定模块403,用于对所述DID文档进行去中心化存储,并得到所述DID文档的文档位置标识;

身份对应关系存储模块404,用于将所述通信节点的所述文档内容标识、所述文档位置标识与所述区块链地址之间的身份对应关系,存储在区块链网络的智能合约中,用于进行所述DID文档的查找和验证。

本公开实施例通过将通信节点的DID文档进行去中心化存储,并将通信节点的身份对应关系在区块链网络中存储,便于进行DID文档的关联查找和验证,从而提高了DID文档的不可篡改性、持久性和可靠性;通过在区块链网络的智能合约中进行身份关联信息的存储,提高了查找便捷性;通过在DID文档中携带用于与其他通信节点建立安全通信连接的通信密钥,保证了通信密钥的安全性,并通过DID文档,增强了通信密钥的可靠性,进而保证了节点间通信的安全性和可靠性。

在一个可选实施例中,所述DID文档中还包括撤销声明信息,用于指示在先生成的历史DID文档失效。

在一个可选实施例中,所述区块链网络中存储有所述身份授权方的授权身份类别,用于对所述DID文档进行生成方身份验证。

在一个可选实施例中,所述通信节点为多方协同计算网络中的计算节点。

上述基于区块链的数据存储装置可执行本公开任意实施例所提供的基于区块链的数据存储方法,具备执行基于区块链的数据存储方法相应的功能模块和有益效果。

作为上述各基于区块链的通信方法的实现,本公开还提供了一种实施上述各基于区块链的通信方法的执行装置的可选实施例。

参见图5所示的基于区块链的通信装置500,配置于通信节点,包括:数据获取模块501、身份对应关系确定模块502、DID文档查证模块503和通信连接建立模块504。其中,

数据获取模块501,用于获取待访问节点的区块链地址和相应文档内容标识;

身份对应关系确定模块502,用于根据所述待访问节点的区块链地址,确定区块链网络的智能合约中所述待访问节点的身份对应关系;其中,所述待访问节点的身份对应关系基于本公开实施例提供的任意一种基于区块链的数据存储装置生成;

DID文档查证模块503,用于根据所述待访问节点的文档内容标识和相应身份对应关系,查找并验证所述待访问节点的去中心化身份DID文档;

通信连接建立模块504,用于若验证通过,则根据所述待访问节点的DID文档中的通信密钥,与所述待访问节点建立安全通信连接。

本公开实施例通过在区块链网络中存储的待访问节点的身份对应关系,进行待访问节点的DID文档的查找和验证,提高了待访问节点的DID文档的安全性和可靠性;通过在区块链网络的智能合约中进行身份对应关系的存储和使用,提高了DID文档查找过程的便捷性;通过对DID文档进行验证,并在验证通过后,才使用DID文档中的通信密钥,增强了通信密钥的可靠性,进而基于该通信密钥与待访问节点建立安全通信连接,保证了节点间通信的安全性和可靠性。

在一个可选实施例中,若所述智能合约中存储有所述待访问节点的至少两个身份对应关系,则所述DID文档查证模块503,包括:

目标身份对应关系确定单元,用于将所述至少两个身份对应关系中时间最新的身份对应关系,作为目标身份对应关系;

DID文档查证单元,用于根据所述目标身份对应关系和所述待访问节点的文档内容标识,查找并验证所述待访问节点的DID文档。

在一个可选实施例中,所述DID文档查证单元,具体用于:

根据所述目标身份对应关系中的文档内容标识和所述待访问节点的文档内容标识,对待访问节点的DID文档进行时效验证。

在一个可选实施例中,所述DID文档查证模块503,包括:

参考标识确定单元,用于生成所述待访问节点的DID文档对应的文档内容标识,并将生成结果作为参考标识;

内容验证单元,用于根据所述参考标识和所述待访问节点的文档内容标识,对所述待访问节点的DID文档进行内容验证。

在一个可选实施例中,该装置500还包括:

生成方获取模块,用于获取所述待访问节点的DID文档的生成方;

生成方身份验证模块,用于根据所述区块链网络中所述生成方的授权身份类别,对所述的生成方进行身份验证。

在一个可选实施例中,该装置500还包括:

通信记录存储模块,用于在与所述待访问节点建立安全通信连接之后,生成通信记录,并将所述通信记录存储至所述智能合约中,以供查证;

其中,所述通信记录包括通信节点双方的区块链地址、文档内容标识、连接时间和连接任务中的至少一种。

上述基于区块链的通信装置可执行本公开任意实施例所提供的基于区块链的通信方法,具备执行基于区块链的通信方法相应的功能模块和有益效果。

本公开的技术方案中,所涉及的DID文档、文档内容标识、文档位置标识和身份对应关系等的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。

设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如基于区块链的数据存储方法和基于区块链的通信方法中的至少一种。例如,在一些实施例中,基于区块链的数据存储方法和基于区块链的通信方法中的至少一种可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的基于区块链的数据存储方法和基于区块链的通信方法中的至少一种的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行基于区块链的数据存储方法和基于区块链的通信方法中的至少一种。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。

人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术及机器学习/深度学习技术、大数据处理技术、知识图谱技术等几大方向。

云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

相关技术
  • 一种即时通信的数据存储方法、装置、电子设备和介质
  • 一种基于区块链的链货币兑换方法、装置、设备和介质
  • 基于区块链的收藏品管理方法、装置、介质及电子设备
  • 一种基于区块链的人才评定方法、装置、设备及介质
  • 基于区块链的信息管理方法、装置、介质及电子设备
  • 基于区块链的数据存储方法、装置、设备及存储介质
  • 基于区块链网络的数据存储方法、装置、相关设备及介质
技术分类

06120115863669