DID合约管理方法、装置、电子设备和可读存储介质与流程
未命名
07-12
阅读:94
评论:0
did合约管理方法、装置、电子设备和可读存储介质
技术领域
1.本技术涉及区块链技术领域,具体涉及一种did合约管理方法、装置、电子设备和计算机可读存储介质。
背景技术:
2.在互联网的浪潮下,区块链技术在人们生活中的应用越来越广泛,一般需在区块链上部署智能合约以满足相应的交易,例如,在区块链上部署不同账户之间的权利可共享的did(decentralized identity,去中心化身份)合约。
3.而目前,倘若将一个账户地址加入至did合约中,只需获取该账户地址所持有的签名即可实现,由于该签名是固定的针对随机信息所进行的一段签名,所以容易被黑客诱导得到,从而利用该签名,来共享该签名对应的账户地址所属账户的相关权利,致使账户地址加入did合约时的安全性较低。
技术实现要素:
4.本技术实施例提供一种did合约管理方法、装置、电子设备和计算机可读存储介质,可以提高账户地址加入did合约时的安全性。
5.第一方面,本技术实施例提供一种did合约管理方法,应用于区块链,区块链中部署有智能合约节点,智能合约节点中设置有目标did合约,目标did合约被配置为用于存放多个账户地址,且在目标did合约中的账户地址之间共享账户信息,目标did合约中包括账户节点的第一账户地址,上述方法包括:
6.通过目标账户节点向账户节点发送待加入目标did合约的第二账户地址,以触发账户节点对交易内容进行签名,得到包含交易内容和签名的目标签名信息,并将目标签名信息发送给目标账户节点,交易内容包括第一账户地址的地址引入次数和第二账户地址,地址引入次数为第一账户地址为目标did合约引入新地址的次数;
7.通过目标账户节点接收账户节点发送的目标签名信息,将目标签名信息发送给智能合约节点;
8.通过智能合约节点接收目标签名信息,并获取目标did合约中的第一账户地址对应的地址引入次数,基于目标签名信息对应的地址引入次数和目标did合约中的地址引入次数进行校验,得到校验结果;
9.通过智能合约节点基于校验结果和目标签名信息,为目标did合约引入第二账户地址。
10.第二方面,本技术实施例还提供一种did合约管理装置,应用于区块链,区块链中部署有智能合约节点,智能合约节点中设置有目标did合约,目标did合约被配置为用于存放多个账户地址,且在目标did合约中的账户地址之间共享账户信息,目标did合约中包括账户节点的第一账户地址,上述装置包括:
11.签名模块,用于通过目标账户节点向账户节点发送待加入目标did合约的第二账
户地址,以触发账户节点对交易内容进行签名,得到包含交易内容和签名的目标签名信息,并将目标签名信息发送给目标账户节点,交易内容包括第一账户地址的地址引入次数和第二账户地址,地址引入次数为第一账户地址为目标did合约引入新地址的次数;
12.信息发送模块,用于通过目标账户节点接收账户节点发送的目标签名信息,将目标签名信息发送给智能合约节点;
13.信息接收模块,用于通过智能合约节点接收目标签名信息,并获取目标did合约中的第一账户地址对应的地址引入次数,基于目标签名信息对应的地址引入次数和目标did合约中的地址引入次数进行校验,得到校验结果;
14.地址引入模块,用于通过智能合约节点基于校验结果和目标签名信息,为目标did合约引入第二账户地址。
15.第三方面,本技术实施例还提供一种电子设备,包括存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本技术实施例所提供的任一种did合约管理方法中的步骤。
16.第四方面,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本技术实施例所提供的任一种did合约管理方法中的步骤。
17.本技术实施例应用于区块链,区块链中部署有智能合约节点,智能合约节点中设置有目标did合约,目标did合约被配置为用于存放多个账户地址,且在目标did合约中的账户地址之间共享账户信息,目标did合约中包括账户节点的第一账户地址,并且通过目标账户节点向账户节点发送待加入目标did合约的第二账户地址,以触发账户节点对交易内容进行签名,得到包含交易内容和签名的目标签名信息,并将目标签名信息发送给目标账户节点,交易内容包括第一账户地址的地址引入次数和第二账户地址,地址引入次数为第一账户地址为目标did合约引入新地址的次数;通过目标账户节点接收账户节点发送的目标签名信息,将目标签名信息发送给智能合约节点;通过智能合约节点接收目标签名信息,并获取目标did合约中的第一账户地址对应的地址引入次数,基于目标签名信息对应的地址引入次数和目标did合约中的地址引入次数进行校验,得到校验结果;通过智能合约节点基于校验结果和目标签名信息,为目标did合约引入第二账户地址,从而由目标账户节点基于账户节点为其提供的签名,自发的向智能合约节点申请地址引入,并且在申请过程中还引入了地址引入次数,以进行安全校验,避免了其他账户节点代为申请,而引发的安全风险,进而提高了账户地址加入did合约时的安全性。
附图说明
18.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1是本技术实施例提供的did合约管理方法的场景示意图;
20.图2是本技术实施例提供的did合约管理方法的一种实施例流程示意图;
21.图3是本技术实施例提供的did合约管理装置的结构示意图;
22.图4是本技术实施例提供的电子设备的结构示意图。
具体实施方式
23.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
24.在对本技术实施例进行详细地解释说明之前,先对本技术实施例涉及到的一些名词进行解释说明。
25.其中,在本技术实施例的描述中,术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
26.其中,区块链:为去中心化的分布式数据库,其由一个又一个区块组成。每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链条。
27.其中,区块链节点:是指参与构建区块链的设备,例如个人计算机、网络服务器、数据库服务器、智能手机等,在此不做限定,例如,该区块链上的各区块链节点可以部署在一个服务器上,也可以部署在不同服务器上。一区块链上的任意两个区块链节点之间都可进行点对点通信,从而实现相应的交易,例如部署智能合约、更新存储数据或生成新的存储数据等交易。
28.需说明的是,本技术实施例提供的did合约管理方法一般可以由区块链上的区块链节点,即账户节点、目标账户节点和智能合约节点分别来执行相应步骤,该账户节点和智能合约节点可以位于同一区块链上,该目标账户节点和智能合约节点可以位于同一区块链上,也可以位于不同区块链上。而相应地,本技术实施例提供的did合约管理系统中一般也可包括账户节点、目标账户节点和智能合约节点分别对应的模块。
29.本技术实施例提供一种did合约管理方法、装置、电子设备和计算机可读存储介质。具体地,本技术实施例的did合约管理方法可以由电子设备执行,即本技术实施例的did合约管理方法所应用的区块链上的目标账户节点和智能合约节点分别为电子设备,两者可以位于同一电子设备上,也可位于不同电子设备上。其中,该电子设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(pc,personal computer)、个人数字助理(personal digital assistant,pda)等终端设备,终端还可以包括客户端,该客户端可以是游戏应用客户端、携带有游戏程序的浏览器客户端或即时通信客户端等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
30.例如,如图1所示,该电子设备以终端为例进行说明,该目标账户节点所对应的终
端10可以向账户节点所对应的终端20发送待加入目标did合约的第二账户地址,以触发账户节点对交易内容进行签名,得到包含交易内容和签名的目标签名信息,并将目标签名信息发送给目标账户节点,交易内容包括第一账户地址的地址引入次数和第二账户地址,地址引入次数为第一账户地址为目标did合约引入新地址的次数;通过目标账户节点接收账户节点发送的目标签名信息,将目标签名信息发送给智能合约节点。通过上述智能合约节点所对应的终端30可以接收目标签名信息,并获取目标did合约中的第一账户地址对应的地址引入次数,基于目标签名信息对应的地址引入次数和目标did合约中的地址引入次数进行校验,得到校验结果;基于校验结果和目标签名信息,为目标did合约引入第二账户地址。
31.基于上述问题,本技术实施例提供一种did合约管理方法、装置、电子设备和计算机可读存储介质,可以提高账户地址加入did合约时的安全性。
32.以下结合附图分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于附图所示的顺序执行所示出或描述的步骤。
33.在本实施例中,以终端为例进行说明,本实施例提供了一种did合约管理方法,应用于区块链,上述区块链中部署有智能合约节点,上述智能合约节点中设置有目标did合约,上述目标did合约被配置为用于存放多个账户地址,且在上述目标did合约中的账户地址之间共享账户信息,上述目标did合约中包括账户节点的第一账户地址,如图2所示,该did合约管理方法的具体流程可以如下:
34.201、通过目标账户节点向上述账户节点发送待加入上述目标did合约的第二账户地址,以触发上述账户节点对交易内容进行签名,得到包含上述交易内容和签名的目标签名信息,并将上述目标签名信息发送给上述目标账户节点,上述交易内容包括上述第一账户地址的地址引入次数和上述第二账户地址,上述地址引入次数为上述第一账户地址为上述目标did合约引入新地址的次数。
35.其中,上述目标账户节点为想要加入目标did合约中的目标账户的账户地址所处的节点,该想要加入目标did合约中的账户地址即为上述第二账户地址。
36.可以理解的是,上述目标did合约的特性,在目标账户的第二账户地址加入到目标did合约中之后,该第二账户地址即可共享目标did合约中的其他地址账户的账户信息,例如资产信息,从而实现共享其他地址账户所持有的权利。
37.示例性地,上述目标did合约可以为聚合钱包地址did合约。
38.可以理解的是,由于上述第二账户地址当前并未处于目标did合约中,所以倘若想要向目标did合约请求,将该第二账户地址引入到目标did合约中,则需依据已加入目标did合约中的账户地址,即上述第一账户地址,该第一账户地址处于上述账户节点中,即在本实施例中,目标账户可以依据已加入目标did合约中的第一账户地址所属的账户节点,为上述目标账户提供证明信息,以便于目标账户节点拿着该证明信息,向目标did合约中请求地址加入。
39.并且,在账户节点为上述目标账户向目标did合约中请求地址加入的过程中,如果目标账户节点仅仅将利用其私钥进行的签名,发送给第一账户地址所属的账户节点,从而再由第一账户地址所属的账户节点利用第一账户地址的私钥发起交易,以将目标账户节点
的签名以及签名的相关信息发送给智能合约节点,就会存在极大的安全隐患,即黑客可以通过钓鱼的方式获取到目标账户节点利用私钥进行签名,以基于该签名,将目标账户节点的第二账户地址加入到可以攻击用户资产的did合约中,即由于上述目标did合约中的不同的账户地址之间能够共享账户信息,所以黑客可以利用该目标did合约的特性,来享受与目标账户同处于目标did合约中的其他账户地址所属的账户的权利,从而造成目标账户的权益发生损失。
40.对此,在本实施例中通过目标账户节点向上述账户节点发送第二账户地址,以触发上述账户节点对相应的交易内容进行签名,从而得到包含该签名内容和签名的目标签名信息,该目标签名信息即为上述证明信息,该账户节点通过将该目标签名信息发送给该目标账户节点,实现对证明信息的下发,以便于目标账户节点持有该证明信息进行相应的请求,来保证地址加入目标did合约时的安全性。
41.此外,上述交易内容可以包括当前的交易事件、对上述交易内容签名时的区块高度、上述第一账户地址的地址引入次数、上述第二账户地址、交易次数或时间戳,上述地址引入次数为上述第一账户地址为上述目标did合约引入新地址的次数,上述交易事件为对当前交易的描述信息,用于指示当前交易;上述交易次数为当前交易下账户节点总共进行交易的次数,上述时间戳用于指示当前交易的时间。
42.具体地,上述账户节点对交易内容进行签名时,可基于账户节点对应的第一账户地址对应的私钥来对交易内容进行签名。
43.在一些实施例中,为了提高目标did合约的安全性,避免不合规的地址加入到目标did合约中,可以对想要加入目标did合约中的第二账户地址所属目标账户节点进行身份校验,以保证目标did合约的安全性。
44.具体地,在上述账户节点对交易内容进行签名之前,还可以包括:上述账户节点基于上述第二账户地址,对上述目标账户节点进行身份校验,得到身份校验结果,该身份校验结果包括身份校验通过和身份校验失败然后判断该身份校验结果,若上述身份校验通过,则对交易内容进行签名,而倘若上述身份校验失败,则向目标账户节点发送拒绝信息,该拒绝信息中可以包括身份校验失败的原因,从而让实现对目标账户节点的提醒。
45.示例性的,上述账户节点可以通过社交的方式对上述目标账户节点进行身份校验。
46.202、通过上述目标账户节点接收上述账户节点发送的上述目标签名信息,将上述目标签名信息发送给上述智能合约节点。
47.在本实施例中,当上述目标账户节点接收到上述账户节点发送的上述目标签名信息时,说明上述目标账户节点得到了上述账户节点的证明,该目标签名信息即为上述账户节点提供的证明信息,从而该目标账户节点通过将上述目标签名信息发送给上述智能合约节点,以使该智能合约节点基于部署在其中的目标did合约进行相应处理。
48.在一些实施例中,上述将上述目标签名信息发送给上述智能合约节点,包括:通过上述目标账户节点调用地址引入事件对应的did合约函数,将上述目标签名信息发送给上述智能合约节点。其中,上述目标账户节点可通过上述目标账户节点对应的第二账户地址对应的私钥,来调用上述地址引入事件对应的did合约函数,将之前得到的目标签名信息发送给智能合约节点。
49.其中,上述地址引入事件即为当前所交易的事件,即将第二账户地址引入目标did合约中的事件。可以理解的是,不同的did合约函数可以对应不同的处理方式,所以可通过调用地址引入事件对应的did合约函数,来加快智能合约节点的处理速度。
50.203、通过上述智能合约节点接收上述目标签名信息,并获取上述目标did合约中的第一账户地址对应的地址引入次数,基于上述目标签名信息对应的地址引入次数和上述目标did合约中的地址引入次数进行校验,得到校验结果。
51.在本实施例中,当上述智能合约节点接收到上述目标签名信息之后,为保证安全性,上述智能合约节点可以获取上述目标did合约中的第一账户地址对应的地址引入次数,以基于上述目标签名信息对应的地址引入次数和上述目标did合约中的地址引入次数进行校验,得到校验结果,该校验结果包括校验成功结果和校验失败结果,当该校验结果符合预设校验结果时,上述智能合约节点可进行后续处理,例如,当预设校验结果为校验成功结果时,那么当校验后校验结果为校验成功结果时,上述智能合约节点可进行后续处理。
52.在一些实施例中,上述基于上述目标签名信息对应的地址引入次数和上述目标did合约中的地址引入次数进行校验,得到校验结果,可以包括:当上述目标签名信息对应的地址引入次数和上述目标did合约中的地址引入次数一致时,确定上述校验结果为校验成功;当上述目标签名信息对应的地址引入次数和上述目标did合约中的地址引入次数不一致时,确定上述校验结果为校验失败结果。
53.204、通过上述智能合约节点基于上述校验结果和上述目标签名信息,为上述目标did合约引入上述第二账户地址。
54.在本实施例中,当该校验结果符合预设校验结果时,上述智能合约节点再基于上述目标签名信息,为上述目标did合约引入上述第二账户地址。
55.其中,上述目标did合约中的多个地址可以是以地址列表的形成存在,上述为上述目标did合约引入上述第二账户地址,可以包括:将上述第二账户地址加入述目标did合约的地址列表中。
56.在一些实施例中,为了保证安全性,在基于地址引入次数进行校验得到校验结果之外,通过上述智能合约节点还可以基于上述目标签名信息,可以其他信息的进行校验,以当上述校验通过时,为上述目标did合约引入上述第二账户地址。
57.在一些实施例中,针对上述校验可以设计至少一种校验方式,从而得到至少一种校验方式对应的校验结果,该校验结果包括校验成功结果和校验失败结果,从而当至少一种校验方式的校验结果符合预设合法条件时,进行后续处理。
58.其中,上述预设合法条件可以是均为校验成功结果,即至少一种校验方式对应的校验结果均为校验成功结果时,校验通过;上述预设合法条件还可是预设数量的校验成功结果,即至少一种校验方式对应的校验结果中存在预设数量的校验结果为校验成功结果时,校验通过,其中,校验方式的数量应大于或等于该预设数量;上述预设合法条件还可以是优先级最高的预设数量的校验成功结果,即设置每一校验方式对应的优先级,从而在优先级最高的预设数量的校验方式对应的校验结果需为校验成功结果时,校验通过。
59.在一些实施例中,上述智能合约节点还可以通过地址还原的方式,来判断当前签名的地址与签名内容中的地址,或当前签名的地址与发送消息的地址,或签名内容中的地址与发送消息的地址是否一致,来保证安全性。
60.具体地,上述交易内容还包括上述账户节点的第一账户地址,还可以包括:通过上述智能合约节点基于上述目标签名信息,还原对上述交易内容进行签名的第一目标账户地址,并对该第一目标账户地址进行判断,即由于是账户节点对交易内容进行的签名,所以该第一目标账户地址应与账户节点的第一账户地址一致,所以需判断该第一目标账户地址与账户节点的第一账户地址,当上述第一目标账户地址与上述账户节点的第一账户地址一致时,说明校验通过,然后基于上述校验结果和上述目标签名信息,为上述目标did合约引入上述第二账户地址;当上述第一目标账户地址与上述账户节点的第一账户地址不一致时,说明校验失败。
61.具体地,还可以包括:对上述目标签名信息中的第二账户地址进行判断,即由于目标账户节点向智能合约节点发送的消息,所以需判断上述目标签名信息中的第二账户地址和上述目标账户节点的第二账户地址,当上述目标签名信息中的第二账户地址和上述目标账户节点的第二账户地址一致时,说明校验通过,然后通过上述智能合约节点基于上述校验结果和上述目标签名信息,为上述目标did合约引入上述第二账户地址;当上述目标签名信息中的第二账户地址和上述目标账户节点的第二账户地址不一致时,说明校验失败。
62.在一些实施例中,上述智能合约节点还可进一步验证上述账户节点的第一账户地址是否处于智能合约节点的目标did合约中。
63.在一些实施例中,上述交易内容还包括对上述交易内容签名时的区块高度,还包括:通过上述智能合约节点获取当前时刻的区块高度;计算上述当前时刻的区块高度和上述交易内容对应的区块高度之间的区块高度差值,该区块高度差值即表示生成目标签名信息的时刻与当前时刻之间的时间差,以通过限制当前时刻与生成目标签名信息的时刻之间的时间差,来提高黑客攻击行为所需付出的代价,从而减少黑客攻击的风险,以提高安全性。具体通过判断该区块高度差值与高度阈值之间的大小,当上述区块高度差值小于预设的高度阈值时,说明校验通过,然后基于上述校验结果和上述目标签名信息,为上述目标did合约引入上述第二账户地址;当上述区块高度差值大于预设的高度阈值时,说明校验失败。
64.在一些实施例中,上述交易内容中还可以包括交易次数或时间戳,以促使智能合约节点基于该交易次数或时间戳对交易信息进行校验,以防止重防攻击。
65.在一些实施例中,在为上述目标did合约引入上述第二账户地址之后,还包括:通过上述智能合约节点将上述第一账户地址的地址引入次数进行更新,得到更新后的地址引入次数。例如,将第一账户地址的地址引入次数加一。
66.由以上内容可以看出,本技术实施例应用于区块链,区块链中部署有智能合约节点,智能合约节点中设置有目标did合约,目标did合约被配置为用于存放多个账户地址,且在目标did合约中的账户地址之间共享账户信息,目标did合约中包括账户节点的第一账户地址,并且通过目标账户节点向账户节点发送待加入目标did合约的第二账户地址,以触发账户节点对交易内容进行签名,得到包含交易内容和签名的目标签名信息,并将目标签名信息发送给目标账户节点,交易内容包括第一账户地址的地址引入次数和第二账户地址,地址引入次数为第一账户地址为目标did合约引入新地址的次数;通过目标账户节点接收账户节点发送的目标签名信息,将目标签名信息发送给智能合约节点;通过智能合约节点接收目标签名信息,并获取目标did合约中的第一账户地址对应的地址引入次数,基于目标
签名信息对应的地址引入次数和目标did合约中的地址引入次数进行校验,得到校验结果;通过智能合约节点基于校验结果和目标签名信息,为目标did合约引入第二账户地址,从而由目标账户节点基于账户节点为其提供的签名,自发的向智能合约节点申请地址引入,并且在申请过程中还引入了地址引入次数,以进行安全校验,避免了其他账户节点代为申请,而引发的安全风险,进而提高了账户地址加入did合约时的安全性。
67.为了更好地实施以上方法,本技术实施例还提供一种did合约管理装置,该did合约管理装置具体可以集成在电子设备中,比如,计算机设备,该计算机设备可以为终端、服务器等设备。
68.其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
69.比如,在本实施例中,将以did合约管理装置具体集成在终端为例,对本技术实施例的方法进行详细说明,本实施例提供了一种did合约管理装置,应用于区块链,上述区块链中部署有智能合约节点,上述智能合约节点中设置有目标did合约,上述目标did合约被配置为用于存放多个账户地址,且在上述目标did合约中的账户地址之间共享账户信息,上述目标did合约中包括账户节点的第一账户地址,如图3所示,该did合约管理装置可以包括:
70.签名模块301,用于通过目标账户节点向上述账户节点发送待加入上述目标did合约的第二账户地址,以触发上述账户节点对交易内容进行签名,得到包含上述交易内容和签名的目标签名信息,并将上述目标签名信息发送给上述目标账户节点,上述交易内容包括上述第一账户地址的地址引入次数和上述第二账户地址,上述地址引入次数为上述第一账户地址为上述目标did合约引入新地址的次数;
71.信息发送模块302,用于通过上述目标账户节点接收上述账户节点发送的上述目标签名信息,将上述目标签名信息发送给上述智能合约节点;
72.信息接收模块303,用于通过上述智能合约节点接收上述目标签名信息,并获取上述目标did合约中的第一账户地址对应的地址引入次数,基于上述目标签名信息对应的地址引入次数和上述目标did合约中的地址引入次数进行校验,得到校验结果;
73.地址引入模块304,用于通过上述智能合约节点基于上述校验结果和上述目标签名信息,为上述目标did合约引入上述第二账户地址。
74.在一些实施例中,上述信息接收模块303具体用于:
75.当上述目标签名信息对应的地址引入次数和上述目标did合约中的地址引入次数一致时,确定上述校验结果为校验成功。
76.在一些实施例中,上述交易内容还包括上述账户节点的第一账户地址,上述did合约管理装置还包括第一校验模块,上述第一校验模块具体用于:
77.通过上述智能合约节点基于上述目标签名信息,还原对上述交易内容进行签名的第一目标账户地址;
78.当上述第一目标账户地址与上述账户节点的第一账户地址一致时,基于上述校验结果和上述目标签名信息,为上述目标did合约引入上述第二账户地址。
79.在一些实施例中,上述did合约管理装置还包括第二校验模块,上述第二校验模块具体用于:
80.当上述目标签名信息中的第二账户地址和上述目标账户节点的第二账户地址一致时,通过上述智能合约节点基于上述校验结果和上述目标签名信息,为上述目标did合约引入上述第二账户地址。
81.在一些实施例中,上述交易内容还包括对上述交易内容签名时的区块高度,上述did合约管理装置还包括第三校验模块,上述第三校验模块具体用于:
82.通过上述智能合约节点获取当前时刻的区块高度;
83.计算上述当前时刻的区块高度和上述交易内容对应的区块高度之间的区块高度差值;
84.当上述区块高度差值小于预设的高度阈值时,基于上述校验结果和上述目标签名信息,为上述目标did合约引入上述第二账户地址。
85.在一些实施例中,上述信息发送模块302具体用于:
86.通过上述目标账户节点调用地址引入事件对应的did合约函数,将上述目标签名信息发送给上述智能合约节点。
87.在一些实施例中,上述did合约管理装置还包括更新模块,上述更新模块具体用于:
88.通过上述智能合约节点将上述第一账户地址的地址引入次数进行更新,得到更新后的地址引入次数。
89.由上可知,本实施例的did合约管理装置应用于区块链,区块链中部署有智能合约节点,智能合约节点中设置有目标did合约,目标did合约被配置为用于存放多个账户地址,且在目标did合约中的账户地址之间共享账户信息,目标did合约中包括账户节点的第一账户地址,并且签名模块301,用于通过目标账户节点向账户节点发送待加入目标did合约的第二账户地址,以触发账户节点对交易内容进行签名,得到包含交易内容和签名的目标签名信息,并将目标签名信息发送给目标账户节点,交易内容包括第一账户地址的地址引入次数和第二账户地址,地址引入次数为第一账户地址为目标did合约引入新地址的次数;信息发送模块302,用于通过目标账户节点接收账户节点发送的目标签名信息,将目标签名信息发送给智能合约节点;信息接收模块303,用于通过智能合约节点接收目标签名信息,并获取目标did合约中的第一账户地址对应的地址引入次数,基于目标签名信息对应的地址引入次数和目标did合约中的地址引入次数进行校验,得到校验结果;地址引入模块304,用于通过智能合约节点基于校验结果和目标签名信息,为目标did合约引入第二账户地址,从而由目标账户节点基于账户节点为其提供的签名,自发的向智能合约节点申请地址引入,并且在申请过程中还引入了地址引入次数,以进行安全校验,避免了其他账户节点代为申请,而引发的安全风险,进而提高了账户地址加入did合约时的安全性。
90.相应的,本技术实施例还提供一种电子设备,该电子设备可以为终端,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(pc,personal computer)、个人数字助理(personal digital assistant,pda)等终端设备。如图4所示,图4为本技术实施例提供的电子设备的结构示意图。该电子设备400包括有一个或者一个以上处理核心的处理器401、有一个或一个以上计算机可读存储介质的存储器402及存储在存储器402上并可在处理器上运行的计算机程序。其中,处理器401与存储器402电性连接。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可以包括比
图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
91.处理器401是电子设备400的控制中心,利用各种接口和线路连接整个电子设备400的各个部分,通过运行或加载存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备400的各种功能和处理数据,从而对电子设备400进行整体监控。
92.在本技术实施例中,电子设备400中的处理器401会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能:
93.通过目标账户节点向上述账户节点发送待加入上述目标did合约的第二账户地址,以触发上述账户节点对交易内容进行签名,得到包含上述交易内容和签名的目标签名信息,并将上述目标签名信息发送给上述目标账户节点,上述交易内容包括上述第一账户地址的地址引入次数和上述第二账户地址,上述地址引入次数为上述第一账户地址为上述目标did合约引入新地址的次数;
94.通过上述目标账户节点接收上述账户节点发送的上述目标签名信息,将上述目标签名信息发送给上述智能合约节点;
95.通过上述智能合约节点接收上述目标签名信息,并获取上述目标did合约中的第一账户地址对应的地址引入次数,基于上述目标签名信息对应的地址引入次数和上述目标did合约中的地址引入次数进行校验,得到校验结果;
96.通过上述智能合约节点基于上述校验结果和上述目标签名信息,为上述目标did合约引入上述第二账户地址。
97.在一些实施例中,上述基于上述目标签名信息对应的地址引入次数和上述目标did合约中的地址引入次数进行校验,得到校验结果,包括:
98.当上述目标签名信息对应的地址引入次数和上述目标did合约中的地址引入次数一致时,确定上述校验结果为校验成功。
99.在一些实施例中,上述交易内容还包括上述账户节点的第一账户地址,还包括:
100.通过上述智能合约节点基于上述目标签名信息,还原对上述交易内容进行签名的第一目标账户地址;
101.当上述第一目标账户地址与上述账户节点的第一账户地址一致时,基于上述校验结果和目标签名信息,为上述目标did合约引入上述第二账户地址。
102.在一些实施例中,还包括:
103.当上述目标签名信息中的第二账户地址和上述目标账户节点的第二账户地址一致时,通过上述智能合约节点基于上述校验结果和上述目标签名信息,为上述目标did合约引入上述第二账户地址。
104.在一些实施例中,上述交易内容还包括对上述交易内容签名时的区块高度,还包括:
105.通过上述智能合约节点获取当前时刻的区块高度;
106.计算上述当前时刻的区块高度和上述交易内容对应的区块高度之间的区块高度差值;
107.当上述区块高度差值小于预设的高度阈值时,基于上述校验结果和上述目标签名
信息,为上述目标did合约引入上述第二账户地址。
108.在一些实施例中,上述将上述目标签名信息发送给上述智能合约节点,包括:
109.通过上述目标账户节点调用地址引入事件对应的did合约函数,将上述目标签名信息发送给上述智能合约节点。
110.在一些实施例中,在为上述目标did合约引入上述第二账户地址之后,还包括:
111.通过上述智能合约节点将上述第一账户地址的地址引入次数进行更新,得到更新后的地址引入次数。
112.由此,本实施例提供的电子设备400可以带来如下技术效果:提高账户地址加入did合约时的安全性。
113.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
114.可选的,如图4所示,电子设备400还包括:触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407。其中,处理器401分别与触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407电性连接。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
115.触控显示屏403可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏403可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(lcd,liquid crystal display)、有机发光二极管(oled,organic light-emitting diode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器401,并能接收处理器401发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器401以确定触摸事件的类型,随后处理器401根据触摸事件的类型在显示面板上提供相应的视觉输出。在本技术实施例中,可以将触控面板与显示面板集成到触控显示屏403而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏403也可以作为输入单元406的一部分实现输入功能。
116.射频电路404可用于收发射频信号,以通过无线通信与网络设备或其他电子设备建立无线通讯,与网络设备或其他电子设备之间收发信号。
117.音频电路405可以用于通过扬声器、传声器提供用户与电子设备之间的音频接口。音频电路405可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路405接收后转换为音频数据,再将音频数据输出处理器401处理后,经射频电路404以发送给比如另一电子设备,或者将音频数据输出至存储器402以便进一步处理。音频电路405还可能包括耳塞插孔,以提供外设耳机与电子设备的通信。
118.输入单元406可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
119.电源407用于给电子设备400的各个部件供电。可选的,电源407可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源407还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
120.尽管图4中未示出,电子设备400还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
121.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
122.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
123.为此,本技术实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本技术实施例所提供的任一种did合约管理方法中的步骤。例如,该计算机程序可以执行如下步骤:
124.通过目标账户节点向上述账户节点发送待加入上述目标did合约的第二账户地址,以触发上述账户节点对交易内容进行签名,得到包含上述交易内容和签名的目标签名信息,并将上述目标签名信息发送给上述目标账户节点,上述交易内容包括上述第一账户地址的地址引入次数和上述第二账户地址,上述地址引入次数为上述第一账户地址为上述目标did合约引入新地址的次数;
125.通过上述目标账户节点接收上述账户节点发送的上述目标签名信息,将上述目标签名信息发送给上述智能合约节点;
126.通过上述智能合约节点接收上述目标签名信息,并获取上述目标did合约中的第一账户地址对应的地址引入次数,基于上述目标签名信息对应的地址引入次数和上述目标did合约中的地址引入次数进行校验,得到校验结果;
127.通过上述智能合约节点基于上述校验结果和上述目标签名信息,为上述目标did合约引入上述第二账户地址。
128.在一些实施例中,上述基于上述目标签名信息对应的地址引入次数和上述目标did合约中的地址引入次数进行校验,得到校验结果,包括:
129.当上述目标签名信息对应的地址引入次数和上述目标did合约中的地址引入次数一致时,确定上述校验结果为校验成功。
130.在一些实施例中,上述交易内容还包括上述账户节点的第一账户地址,还包括:
131.通过上述智能合约节点基于上述目标签名信息,还原对上述交易内容进行签名的第一目标账户地址;
132.当上述第一目标账户地址与上述账户节点的第一账户地址一致时,基于上述校验结果和上述目标签名信息,为上述目标did合约引入上述第二账户地址。
133.在一些实施例中,还包括:
134.当上述目标签名信息中的第二账户地址和上述目标账户节点的第二账户地址一致时,通过上述智能合约节点基于上述校验结果和上述目标签名信息,为上述目标did合约引入上述第二账户地址。
135.在一些实施例中,上述交易内容还包括对上述交易内容签名时的区块高度,还包括:
136.通过上述智能合约节点获取当前时刻的区块高度;
137.计算上述当前时刻的区块高度和上述交易内容对应的区块高度之间的区块高度差值;
138.当上述区块高度差值小于预设的高度阈值时,基于上述校验结果和上述目标签名信息,为上述目标did合约引入上述第二账户地址。
139.在一些实施例中,上述将上述目标签名信息发送给上述智能合约节点,包括:
140.通过上述目标账户节点调用地址引入事件对应的did合约函数,将上述目标签名信息发送给上述智能合约节点。
141.在一些实施例中,在为上述目标did合约引入上述第二账户地址之后,还包括:
142.通过上述智能合约节点将上述第一账户地址的地址引入次数进行更新,得到更新后的地址引入次数。
143.可见,计算机程序能够被处理器进行加载,以执行本技术实施例所提供的任一种did合约管理方法中的步骤,从而带来如下技术效果:提高账户地址加入did合约时的安全性。
144.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
145.其中,该计算机可读存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
146.由于该计算机可读存储介质中所存储的计算机程序,可以执行本技术实施例所提供的任一种did合约管理方法中的步骤,因此,可以实现本技术实施例所提供的任一种did合约管理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
147.以上对本技术实施例所提供的一种did合约管理方法、装置、电子设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
技术特征:
1.一种did合约管理方法,其特征在于,应用于区块链,所述区块链中部署有智能合约节点,所述智能合约节点中设置有目标did合约,所述目标did合约被配置为用于存放多个账户地址,且在所述目标did合约中的账户地址之间共享账户信息,所述目标did合约中包括账户节点的第一账户地址,所述方法包括:通过目标账户节点向所述账户节点发送待加入所述目标did合约的第二账户地址,以触发所述账户节点对交易内容进行签名,得到包含所述交易内容和签名的目标签名信息,并将所述目标签名信息发送给所述目标账户节点,所述交易内容包括所述第一账户地址的地址引入次数和所述第二账户地址,所述地址引入次数为所述第一账户地址为所述目标did合约引入新地址的次数;通过所述目标账户节点接收所述账户节点发送的所述目标签名信息,将所述目标签名信息发送给所述智能合约节点;通过所述智能合约节点接收所述目标签名信息,并获取所述目标did合约中的第一账户地址对应的地址引入次数,基于所述目标签名信息对应的地址引入次数和所述目标did合约中的地址引入次数进行校验,得到校验结果;通过所述智能合约节点基于所述校验结果和所述目标签名信息,为所述目标did合约引入所述第二账户地址。2.如权利要求1所述的did合约管理方法,其特征在于,所述基于所述目标签名信息对应的地址引入次数和所述目标did合约中的地址引入次数进行校验,得到校验结果,包括:当所述目标签名信息对应的地址引入次数和所述目标did合约中的地址引入次数一致时,确定所述校验结果为校验成功。3.如权利要求1所述的did合约管理方法,其特征在于,所述交易内容还包括所述账户节点的第一账户地址,还包括:通过所述智能合约节点基于所述目标签名信息,还原对所述交易内容进行签名的第一目标账户地址;当所述第一目标账户地址与所述账户节点的第一账户地址一致时,基于所述校验结果和所述目标签名信息,为所述目标did合约引入所述第二账户地址。4.如权利要求1所述的did合约管理方法,其特征在于,还包括:当所述目标签名信息中的第二账户地址和所述目标账户节点的第二账户地址一致时,通过所述智能合约节点基于所述校验结果和所述目标签名信息,为所述目标did合约引入所述第二账户地址。5.如权利要求1所述的did合约管理方法,其特征在于,所述交易内容还包括对所述交易内容签名时的区块高度,还包括:通过所述智能合约节点获取当前时刻的区块高度;计算所述当前时刻的区块高度和所述交易内容对应的区块高度之间的区块高度差值;当所述区块高度差值小于预设的高度阈值时,基于所述校验结果和所述目标签名信息,为所述目标did合约引入所述第二账户地址。6.如权利要求1所述的did合约管理方法,其特征在于,所述将所述目标签名信息发送给所述智能合约节点,包括:通过所述目标账户节点调用地址引入事件对应的did合约函数,将所述目标签名信息
发送给所述智能合约节点。7.如权利要求1至6任一项所述的did合约管理方法,其特征在于,在为所述目标did合约引入所述第二账户地址之后,还包括:通过所述智能合约节点将所述第一账户地址的地址引入次数进行更新,得到更新后的地址引入次数。8.一种did合约管理装置,其特征在于,应用于区块链,所述区块链中部署有智能合约节点,所述智能合约节点中设置有目标did合约,所述目标did合约被配置为用于存放多个账户地址,且在所述目标did合约中的账户地址之间共享账户信息,所述目标did合约中包括账户节点的第一账户地址,所述装置包括:签名模块,用于通过目标账户节点向所述账户节点发送待加入所述目标did合约的第二账户地址,以触发所述账户节点对交易内容进行签名,得到包含所述交易内容和签名的目标签名信息,并将所述目标签名信息发送给所述目标账户节点,所述交易内容包括所述第一账户地址的地址引入次数和所述第二账户地址,所述地址引入次数为所述第一账户地址为所述目标did合约引入新地址的次数;信息发送模块,用于通过所述目标账户节点接收所述账户节点发送的所述目标签名信息,将所述目标签名信息发送给所述智能合约节点;信息接收模块,用于通过所述智能合约节点接收所述目标签名信息,并获取所述目标did合约中的第一账户地址对应的地址引入次数,基于所述目标签名信息对应的地址引入次数和所述目标did合约中的地址引入次数进行校验,得到校验结果;地址引入模块,用于通过所述智能合约节点基于所述校验结果和所述目标签名信息,为所述目标did合约引入所述第二账户地址。9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如权利要求1至7任一项所述的did合约管理方法中的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的did合约管理方法中的步骤。
技术总结
本申请公开了一种DID合约管理方法、装置、电子设备和计算机可读存储介质,本申请实施例向账户节点发送待加入目标DID合约的第二账户地址,以触发账户节点对交易内容进行签名,得到包含交易内容和签名的目标签名信息,交易内容包括第一账户地址的地址引入次数和第二账户地址;接收账户节点发送的目标签名信息,将目标签名信息发送给智能合约节点;接收目标签名信息,并获取目标DID合约中的第一账户地址对应的地址引入次数,基于目标签名信息对应的地址引入次数和目标DID合约中的地址引入次数进行校验,得到校验结果;基于校验结果和目标签名信息,为目标DID合约引入第二账户地址。本申请实施例可以提高账户地址加入DID合约时的安全性。安全性。安全性。
技术研发人员:王耿 曹崇瑞
受保护的技术使用者:网易(杭州)网络有限公司
技术研发日:2023.03.14
技术公布日:2023/7/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
