CN114239072A - 区块链节点管理方法及区块链网络 - Google Patents
区块链节点管理方法及区块链网络 Download PDFInfo
- Publication number
- CN114239072A CN114239072A CN202111625808.5A CN202111625808A CN114239072A CN 114239072 A CN114239072 A CN 114239072A CN 202111625808 A CN202111625808 A CN 202111625808A CN 114239072 A CN114239072 A CN 114239072A
- Authority
- CN
- China
- Prior art keywords
- node
- user
- information
- donation
- registration information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2117—User registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种区块链节点管理方法及区块链网络,涉及区块链技术领域。所述方法包括:用户节点根据运营商节点的公钥对用户节点联系信息进行加密得到第一加密结果,再获取与联系信息相对应的用户的客服密码,根据客服密码对身份信息进行加密,得到第二加密结果,再根据自身的公钥、用户哈希标识、第一加密结果、第二加密结果生成注册信息广播至区块链网络;运营商节点使用自身的私钥解密第一加密结果得到联系信息,并在用户数据库中查找与联系信息相关联的身份信息和客服密码,根据客服密码对身份信息进行加密得到第三加密结果,验证注册信息中的第二加密结果与第三加密结果的一致性,若一致性验证通过,则将保存的注册信息广播至区块链网络。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种区块链节点管理方法及区块链网络。
背景技术
目前,区块链网络应用在各个领域,以区块链网络应用到骨髓配型系统为例,各个捐赠者和各个受捐者均作为用户节点接入骨髓配型系统进行管理和配型。然而,当前存在冒用用户信息进行注册、虚假注册等问题,从而用户节点的真实性难以保证,进而影响骨髓配型系统的安全性。
发明内容
为此,本发明提供一种区块链节点管理方法及区块链网络,以解决现有技术中无法防止冒用用户信息在骨髓配型系统进行注册的问题。
为了实现上述目的,第一方面,本发明提供一种区块链节点管理方法,所述方法用于区块链网络,所述区块链网络包括多个用户节点、创始节点、运营商节点,其中,所述用户节点包括捐赠节点和受捐节点;所述方法包括:
所述用户节点获取存储在所述创始节点中的所述运营商节点的公钥,并根据所述运营商节点的公钥对所述用户节点对应的用户的联系信息进行加密,得到第一加密结果;
所述用户节点获取与所述联系信息相对应的用户的客服密码,根据所述客服密码对所述用户节点对应的用户的身份信息进行加密,得到第二加密结果;
所述用户节点根据自身的公钥、所述用户节点的用户哈希标识、所述第一加密结果、所述第二加密结果生成所述用户节点的注册信息,并且将所述注册信息广播至所述区块链网络;
所述运营商节点接收并保存所述注册信息,使用自身的私钥解密所述第一加密结果,得到所述联系信息,并在用户数据库中查找与所述联系信息相关联的用户的身份信息和客服密码;
所述运营商节点根据与所述联系信息相关联的用户的客服密码,对与所述联系信息相关联的用户的身份信息进行加密,得到第三加密结果,验证所述注册信息中的所述第二加密结果与所述第三加密结果的一致性,若一致性验证通过,则将保存的所述注册信息广播至所述区块链网络;
所述区块链网络中的各个节点接收所述注册信息,并对所述注册信息进行验证,若验证通过,则将所述注册信息记入区块链账本。
在一些示例中,所述用户节点的用户哈希标识通过以下方式确定:
所述用户节点通过哈希计算,根据所述身份信息生成所述用户哈希标识。
在一些示例中,所述并且将所述注册信息广播至所述区块链网络包括:
所述用户节点使用自身的私钥对所述注册信息进行一次签名,并将一次签名后的所述注册信息广播至所述区块链网络;
所述若一致性验证通过,则将保存的所述注册信息广播至所述区块链网络包括:
所述运营商节点使用自身的私钥对所述注册信息进行二次签名,并将二次签名后的所述注册信息广播至所述区块链网络;
所述区块链网络中的各个节点接收所述注册信息,并对所述注册信息进行验证包括:
所述区块链网络中的各个节点获取存储在所述创始节点中的所述运营商节点的公钥,并使用所述运营商节点的公钥对所述注册信息进行一次验证;
若验证通过,使用所述注册信息中包含的所述用户节点的公钥,对所述注册信息进行二次验证。
在一些示例中,所述区块链网络中的各个节点接收所述注册信息,并对所述注册信息进行验证包括:
所述区块链网络中的各个节点接收所述注册信息,并获取其中的所述用户哈希标识;
在区块链账本中查询是否有与当前接收的所述用户哈希标识相匹配的历史用户哈希标识,若否,则确定验证通过。
在一些示例中,针对所述用户节点为捐赠节点的情况,所述区块链网络中的各个节点接收所述注册信息,并对所述注册信息进行验证,若验证通过,则将所述注册信息记入区块链账本之后,所述方法包括:
所述捐赠节点获取所述创始节点的公钥,并根据所述创始节点的公钥对自身的所述联系信息进行加密,得到第四加密结果;
所述捐赠节点将其对应的捐赠者的预设个数基因点位信息,按照预设规则进行排序;
所述捐赠节点通过哈希计算,将排序后的所述预设个数基因点位信息生成捐赠基因标识;
所述捐赠节点根据自身的用户哈希标识、所述捐赠基因标识、所述第四加密结果生成捐赠配型信息,并广播至所述区块链网络;
所述区块链网络中的各个节点接收所述捐赠配型信息,并对所述捐赠配型信息进行验证,若验证通过,则将所述捐赠配型信息记入区块链账本。
在一些示例中,针对所述用户节点为受捐节点的情况,所述区块链网络中的各个节点接收所述注册信息,并对所述注册信息进行验证,若验证通过,则将所述注册信息记入区块链账本之后,所述方法包括:
所述受捐节点将其对应的受捐者的预设个数基因点位信息,按照预设规则进行排序;
所述受捐节点通过哈希计算,将排序后的所述受捐者的预设个数基因点位信息生成受捐基因标识;
所述受捐节点同步所述区块链网络的、完整的区块链账本,并在所述区块链账本中查找是否存在与自身的所述受捐基因标识相匹配的所述捐赠配型信息;
若是,所述受捐节点向所述创始节点发送包含相匹配的所述捐赠配型信息的查询请求;
所述创始节点获取接收到的所述查询请求中包含的所述第四加密结果,并根据自身的私钥解密所述第四加密结果,得到所述捐赠节点的所述联系信息;
所述创始节点通过所述捐赠节点的所述联系信息,向所述捐赠节点发送匹配成功通知。
在一些示例中,所述区块链网络还包括时间戳节点;针对所述受捐节点首次发送所述查询请求的情况,所述受捐节点向所述创始节点发送包含相匹配的所述捐赠配型信息的查询请求包括:
所述受捐节点向所述时间戳节点发送所述查询请求;
所述时间戳节点接收所述查询请求,将接收到所述查询请求的时间加入所述捐赠配型信息,并将加入所述时间后的捐赠配型信息发送给所述创始节点。
第二方面,本发明提供一种区块链网络,所述区块链网络应用于骨髓配型管理,所述区块链网络包括多个用户节点、创始节点、运营商节点,其中,所述用户节点包括捐赠节点和受捐节点;其中,
所述用户节点用于获取存储在所述创始节点中的所述运营商节点的公钥,并根据所述运营商节点的公钥对所述用户节点对应的用户的联系信息进行加密,得到第一加密结果;
所述用户节点还用于获取与所述联系信息相对应的用户的客服密码,根据所述客服密码对所述用户节点对应的用户的身份信息进行加密,得到第二加密结果;
所述用户节点还用于根据自身的公钥、所述用户节点的用户哈希标识、所述第一加密结果、所述第二加密结果生成所述用户节点的注册信息,并且将所述注册信息广播至所述区块链网络;
所述运营商节点用于接收并保存所述注册信息,使用自身的私钥解密所述第一加密结果,得到所述联系信息,并在用户数据库中查找与所述联系信息相关联的用户的身份信息和客服密码;
所述运营商节点还用于根据与所述联系信息相关联的用户的客服密码,对与所述联系信息相关联的用户的身份信息进行加密,得到第三加密结果,验证所述注册信息中的所述第二加密结果与所述第三加密结果的一致性,若一致性验证通过,则将保存的所述注册信息广播至所述区块链网络;
所述区块链网络中的各个节点用于接收所述注册信息,并对所述注册信息进行验证,若验证通过,则将所述注册信息记入区块链账本。
第三方面,本发明提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的方法。
第四方面,本发明提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行上述的方法。
本发明至少具有如下优点:
本发明实施例所提供的区块链节点管理方法及区块链网络,通过使用运营商的公钥加密用户的联系信息得到第一加密结果,以保护联系信息的隐私性,再使用用户的客服密码加密用户的身份信息得到第二加密结果,以保护身份信息的隐私性,将包含第一加密结果、第二加密结果的用户注册信息发送给运营商节点,使运营商节点用自身的私钥解密第一加密结果获得用户的联系信息,再根据联系信息在自身的用户数据库中查找与联系信息相关联的身份信息和客服密码,并使用查找到的客服密码对查找到的身份信息进行加密得到第三加密结果,比对第三加密结果与第二加密结果的一致性,若一致性通过,则确定用户的真实性,防止虚假注册,并且,通常知道客服密码的仅为用户本人,且客服密码存储在用户数据库中而非用户终端,因此即使知道用户的身份信息或从用户终端盗取了用户的身份信息,也无法得知用户的客服密码,而本方法使用客服密码加密身份信息,并进行验证,能够尽可能地防止用户被冒名注册,从而保证了区块链网络所应用的骨髓配型系统的安全性。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。
图1为本发明实施例一提供的区块链节点管理方法的流程示意图;
图2为本发明实施例二提供的区块链节点管理方法的流程示意图;
图3为本发明提供的区块链网络的系统结构图;
图4为本发明提供的电子设备的结构示意图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。
可以理解的是,此处描述的具体实施例和附图仅仅用于解释本发明,而非对本发明的限定。
可以理解的是,在不冲突的情况下,本发明中的各实施例及实施例中的各特征可相互组合。
可以理解的是,为便于描述,本发明的附图中仅示出了与本发明相关的部分,而与本发明无关的部分未在附图中示出。
可以理解的是,本发明的实施例中所涉及的每个单元、模块可仅对应一个实体结构,也可由多个实体结构组成,或者,多个单元、模块也可集成为一个实体结构。
可以理解的是,在不冲突的情况下,本发明的流程图和框图中所标注的功能、步骤可按照不同于附图中所标注的顺序发生。
可以理解的是,本发明的流程图和框图中,示出了按照本发明各实施例的系统、装置、设备、方法的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可代表一个单元、模块、程序段、代码,其包含用于实现规定的功能的可执行指令。而且,框图和流程图中的每个方框或方框的组合,可用实现规定的功能的基于硬件的系统实现,也可用硬件与计算机指令的组合来实现。
可以理解的是,本发明实施例中所涉及的单元、模块可通过软件的方式实现,也可通过硬件的方式来实现,例如单元、模块可位于处理器中。
实施例一、
参见图1,图1示出实施例一提供的区块链节点管理方法的流程图。
本实施例提供一种区块链节点管理方法,该方法可应用于骨髓配型系统,对系统中的用户节点和骨髓配型流程进行管理,区块链网络包括多个用户节点、运营商节点、创始节点、时间戳节点,其中,用户节点包括捐赠节点和受捐节点。用户节点即用户对应的区块链节点,用户可以通过终端接入区块链网络,成为用户节点。受捐者对应的用户节点为受捐节点,捐赠者对应的用户节点为捐赠节点;运营商节点为给用户提供移动网络服务的供应商对应的区块链节点,运营商节点的用户数据库中保存有各个注册到该运营商节点对应的运营商的用户的身份信息和联系信息;创始节点为区块链网络的第一个区块,创始节点中记录有创始节点的公钥和标识,以及运营商节点的公钥和标识;时间戳节点为用于为信息打上时间戳的节点,其具体可以是一个服务器,可以根据接收信息的时间为信息打上时间戳。该方法包括以下步骤:
S110、用户节点获取存储在创始节点中的运营商节点的公钥,并根据运营商节点的公钥对用户节点对应的用户的联系信息进行加密,得到第一加密结果。
若一个为受捐者或捐赠者的用户通过终端接入骨髓配型系统,该用户则作为区块链网络中的一个用户节点,用户节点在首次接入区块链网络时需要在区块链网络上进行注册。用户节点接入区块链系统后,只需要同步区块链系统的区块链账本的创始区块(即第一个区块),无需同步完整的区块链账本,从而能够节省用户节点的存储空间,同步创始区块后,该用户节点向创始节点发送获取请求,获取创始节点响应于获取请求返回的运营商节点的公钥和用户哈希标识。之后用户节点使用运营商节点的公钥,对用户节点对应的用户(即捐赠者或受捐者)的联系信息进行加密,得到第一加密结果。其中,用户节点的联系信息至少包括用户的电话号码,还可以包括用户的联系地址。
S120、用户节点获取与联系信息相对应的用户的客服密码,根据客服密码对用户节点对应的用户的身份信息进行加密,得到第二加密结果。
用户节点获取自身对应的用户的客服密码,用户根据获取到的用户密码对用户的身份信息进行加密,得到第二加密结果。其中,身份信息可以包括用户的身份证号、姓名、年龄等信息。
需要说明的是,用户的客服密码,为用户(用户节点对应的用户)的手机号码在其所属的运营商(即运营商节点对应的运营商)的客服密码,客服密码为用户在所属的运营商办理电信业务的身份凭证,通常只有用户能够获知,因此采用客服密码加密用户的身份信息,具有高安全性,除了用户之外其他人无法获知用户的客服密码,因此无法进行后续验证。
S130、用户节点根据自身的公钥、用户节点的用户哈希标识、第一加密结果、第二加密结果生成用户节点的注册信息,并且将注册信息广播至区块链网络。
用户节点生成包含用户的公钥、用户节点的用户哈希标识、第一加密结果、第二加密结果的注册信息,并将注册信息广播至区块链网络,区块链网络中的其他节点接收到注册信息后,先不将注册信息记录到新区块中,待运营商节点对注册信息进行验证且验证通过后,各个节点再将注册信息记录到新区块,进而记录到区块链账本中。
S140、运营商节点接收并保存注册信息,使用自身的私钥解密第一加密结果,得到联系信息,并在用户数据库中查找与联系信息相关联的用户的身份信息和客服密码。
运营商节点接收并保存注册信息,获取注册信息中的第一加密结果,由于第一加密结果使用运营商节点的公钥加密,因此运营商节点可以用自身的私钥对第一加密结果进行解密,得到第一加密结果中的用户的联系信息。使用运营商节点的公钥对用户的联系信息进行加密,能够保证联系信息的安全性,防止信息被篡改,并且运营商节点本身存储有自身的私钥,无需获取其他信息即可使用自身的私钥进行解密,从而减少了数据传输量。
运营商节点获取到用户的联系信息后,在运营商节点的用户数据库中查询与用户节点的联系信息相关联的用户的身份信息和客服密码,此处与用户节点的联系信息相关联的用户的身份信息和客服密码均为存储在用户数据库中、已在运营商系统中注册的用户的身份信息和客服密码,若查找到与联系信息相关联的用户的身份信息和客服密码,则可确定用户节点的联系信息对应的用户为真实用户,而非虚假用户,从而能够避免虚假注册。
S150、运营商节点根据与联系信息相关联的用户的客服密码,对与联系信息相关联的用户的身份信息进行加密,得到第三加密结果,验证注册信息中的第二加密结果与第三加密结果的一致性,若一致性验证通过,则将保存的注册信息广播至区块链网络。
具体地,运营商节点获取到查询出的、与用户节点的联系信息相关联的客服密码和身份信息后,采用该客服密码对身份信息进行加密,得到第三加密结果。
其中,S120中第二加密结果为用户节点根据其对应的用户的客服密码对其对应的用户的身份信息进行加密生成的,而本步骤中第三加密结果为根据S140中查询到的与用户节点的联系信息相关联的用户的客服密码,对与用户节点的联系信息相关联的用户的身份信息加密生成的,在这里,第二加密结果和第三解密结果所采用的加密算法为相同的加密算法,从而才能够保证后面能够进行一致性验证。
进一步地,运营商节点比对第二加密结果与第三加密结果的一致性,若二者相同,则确定一致性验证通过。通常知道客服密码的仅为用户本人,且客服密码存储在用户数据库中而非用户终端,因此即使知道用户的身份信息或从用户终端盗取了用户的身份信息,也无法得知用户的客服密码,而本方法使用客服密码加密身份信息得到第二加密结果和第三加密结果,并进行验证,能够尽可能地防止用户被冒名注册,从而保证了区块链网络所应用的骨髓配型系统的安全性,并且,第二加密结果和第三加密结果的加密算法、加密内容均一致,若二者一致,则说明用户节点与运营商节点交互过程中信息没有被篡改,进一步保证了骨髓配型系统的安全性,综上,若一致性验证通过,则说明用户节点合法,从而运营商节点将保存的用户节点的注册信息广播至区块链网络。
在一些示例中,在本次广播中,为了标识本次广播的注册信息为通过运营商节点验证后的注册信息,运营商节点可以在注册信息中加入验证通过标识。
S160、区块链网络中的各个节点接收注册信息,并对注册信息进行验证,若验证通过,则将注册信息记入区块链账本。
区块链网络中的各个节点接收注册信息,对注册信息进行验证,并获取注册信息中用户的用户哈希标识,查找自身存储的区块链账本中是否有与当前接收到用户哈希标识相同的历史用户哈希标识,若没有与当前接收到用户哈希标识相同的历史用户哈希标识,则确定验证通过,将注册信息记入区块链账本。由于每个人的信息(包括身份信息和基因信息)是固定的,因此一个用户只允许注册一次,对于已存在的用户注册(历史用户哈希标识),不允许进行第二次注册,通过验证区块链账本中是否有与当前接收到用户哈希标识相同的历史用户哈希标识,能够保证一个用户节点只能注册一次,从而能够防止大量的重复注册或恶意的注册攻击。
在一些示例中,在运营商节点在注册信息中加入验证通过标识的情况下,S160中区块链网络中的各个节点接收注册信息包括:区块链网络中的各个节点接收注册信息,并验证其中是否包括验证通过标识,若包括验证通过标识,再对注册信息进行验证,若不包括验证标识,则不进行保存。
需要说明的是,用户节点可以为受捐者对应的受捐节点,也可以为捐赠者对应的捐赠节点,无论用户节点为受捐者对应的受捐节点,或捐赠者对应的捐赠节点,均可采用上述方式注册到区块链网络。
本实施例所提供的区块链节点管理方法,通过使用运营商的公钥加密用户的联系信息得到第一加密结果,以保护联系信息的隐私性,再使用用户的客服密码加密用户的身份信息得到第二加密结果,以保护身份信息的隐私性,将包含第一加密结果、第二加密结果的用户注册信息发送给运营商节点,使运营商节点用自身的私钥解密第一加密结果获得用户的联系信息,再根据联系信息在自身的用户数据库中查找与联系信息相关联的身份信息和客服密码,并使用查找到的客服密码对查找到的身份信息进行加密得到第三加密结果,比对第三加密结果与第二加密结果的一致性,若一致性通过,则确定用户的真实性,防止虚假注册,并且,通常知道客服密码的仅为用户本人,且客服密码存储在用户数据库中而非用户终端,因此即使知道用户的身份信息或从用户终端盗取了用户的身份信息,也无法得知用户的客服密码,而本方法使用客服密码加密身份信息,并进行验证,能够尽可能地防止用户被冒名注册,从而保证了区块链网络所应用的骨髓配型系统的安全性。
实施例二、
参见图2,图2示出实施例二提供的区块链节点管理方法的流程图。
本实施例提供的区块链节点管理方法可应用于骨髓配型系统,对系统中的用户节点和骨髓配型流程进行管理,区块链网络包括多个用户节点、运营商节点、创始节点、时间戳节点,其中,用户节点包括捐赠节点和受捐节点。其中,用户节点的用户包括受捐者和捐赠者,受捐者对应的用户节点为受捐节点,捐赠者对应的用户节点为捐赠节点。该方法包括以下步骤:
S210、用户节点向创始节点发送获取请求,并接收创始节点响应于获取请求返回的运营商节点的公钥。
若一个为受捐者或捐赠者的用户通过终端接入骨髓配型系统,该用户则作为区块链网络中的一个用户节点,用户节点在首次接入区块链网络时需要在区块链网络上进行注册。用户节点接入区块链系统后,只需要同步区块链系统的区块链账本的创始区块(即第一个区块),无需同步完整的区块链账本,从而能够节省用户节点的存储空间,同步创始区块后,该用户节点向创始节点发送获取请求,获取创始节点响应于获取请求返回的运营商节点的公钥和用户哈希标识。
S220、根据运营商节点的公钥对用户节点对应的用户的联系信息进行加密,得到第一加密结果。
用户节点使用运营商节点的公钥,对用户节点对应的用户(即捐赠者或受捐者)的联系信息进行加密,得到第一加密结果。其中,用户节点的联系信息至少包括用户的电话号码,还可以包括用户的联系地址、电子邮件、第三方软件账号等信息。
其中,S210和S220为实施例一S110的一种实现方式,S110还具有其他实现方式,在此不做限定。
S230、用户节点获取与联系信息相对应的用户的客服密码,根据客服密码对用户节点对应的用户的身份信息进行加密,得到第二加密结果。
与联系信息相对应的客服密码为:与联系信息所属的用户在运营商节点对应的运营商中的客服密码。用户节点获取自身对应的用户的客服密码,用户根据获取到的用户密码对用户的身份信息进行加密,得到第二加密结果。其中,身份信息可以包括用户的身份证号、姓名、年龄等信息。
其中,用户的客服密码可以为预先存储在用户节点中的,则S230包括:从用户节点获取与联系信息相对应的用户的客服密码;客服密码也可以说从运营商节点实时查询。具体地,在实时从运营商节点查询的情况下,S230中用户节点获取与联系信息相对应的用户的客服密码包括:
子步骤一、用户节点发送客服密码查询请求给运营商节点;
其中,用户节点可以将自身的身份标识加入客服密码查询请求发送给运营商节点。
子步骤二、运营商节点响应于客服密码查询请求向用户节点返回客服密码。
相应地,子步骤二具体可以包括:运营商节点根据身份标识在用户数据库中查询与身份标识对应的用户,并获取该用户的联系信息;根据联系信息发送验证问题给用户节点;用户节点接收验证问题并返回验证答案给运营商节点;运营商节点接收验证答案并与用户数据库中对应验证问题的验证答案进行比对,若一致,则发送客服密码至用户节点。
子步骤三、用户节点接收客服密码。
需要说明的是,用户的客服密码,为用户节点对应用户在运营商节点对应的运营商的用户数据库中存储的客服密码,由用户在注册运营商时设置,客服密码为用户在该运营商办理电信业务的身份凭证,通常只有用户能够获知,因此采用客服密码加密用户的身份信息,具有较高的安全性。
S240、用户节点通过哈希计算,根据身份信息生成用户哈希标识。
本步骤为用户生成用户哈希标识的方式,具体地,用户节点通过预设的哈希算法,使用身份信息中的身份证号进行哈希计算以生成哈希值,并将哈希值作为该用户节点的用户哈希标识,由于身份证号具有唯一性,所以采用这种方式生成的用户哈希标识具有唯一性。
S250、用户节点根据自身的公钥、用户节点的用户哈希标识、第一加密结果、第二加密结果生成用户节点的注册信息,并且将注册信息广播至区块链网络。
用户节点生成包含用户的公钥、用户节点的用户哈希标识、第一加密结果、第二加密结果的注册信息,并将注册信息广播至区块链网络。
其中,S250中将注册信息广播至区块链网络包括:用户节点使用自身的私钥对注册信息进行签名,再将签名后的注册信息广播至区块链网络。
区块链网络中的其他节点接收到注册信息后,先不将注册信息记录到新区块中,待运营商节点对注册信息进行验证且验证通过后,各个节点再将注册信息记录到新区块,进而记录到区块链账本中。
S260、运营商节点接收并保存注册信息,使用自身的私钥解密第一加密结果,得到联系信息。
具体地,S260中运营商节点接收并保存注册信息具体包括:运营商节点接收注册信息,获取其中的用户节点的公钥,并使用用户节点的公钥对注册信息的签名进行验证,若验证通过,则保存注册信息。
进一步地,运营商节点获取注册信息中的第一加密结果,由于第一加密结果使用运营商节点的公钥加密,因此运营商节点可以用自身的私钥对第一加密结果进行解密,得到第一加密结果中的用户的联系信息。使用运营商节点的公钥对用户的联系信息进行加密,能够保证联系信息的安全性,防止信息被篡改,并且运营商节点本身存储有自身的私钥,无需获取其他信息即可使用自身的私钥进行解密,从而减少了数据传输量。
S270、运营商节点在用户数据库中查找与联系信息相关联的用户的身份信息和客服密码。
运营商节点获取到用户的联系信息后,在运营商节点的用户数据库中查询与用户节点的联系信息相关联的用户的身份信息和客服密码,此处与用户节点的联系信息相关联的用户的身份信息和客服密码为存储在用户数据库中、已在运营商系统中注册的用户的身份信息和客服密码,若查找到与联系信息相关联的用户的身份信息和客服密码,则可确定用户节点的联系信息对应的用户为真实用户,而非虚假用户,通过这种方式对用户节点的真实性进行验证,从而能够避免虚假注册。
具体地,在270中,运营商节点在用户数据库中查找与联系信息的电话号码相关联的用户的身份信息和客服密码,即S70包括:在用户数据库中查找与联系信息的电话号码相同的电话号码,再获取与查找到的电话号码对应的用户相关联的身份信息和客服密码。
S280、运营商节点根据与联系信息相关联的用户的客服密码,对与联系信息相关联的用户的身份信息进行加密,得到第三加密结果。
具体地,运营商节点获取到查询出的、与用户节点的联系信息相关联的客服密码和身份信息后,采用该客服密码对身份信息进行加密,得到第三加密结果。
其中,S230中第二加密结果为用户节点根据其对应的用户的客服密码对其对应的用户的身份信息进行加密生成的,而本步骤S280中第三加密结果为根据S270中查询到的与用户节点的联系信息相关联的用户的客服密码,对与用户节点的联系信息相关联的用户的身份信息加密生成的,在这里,第二加密结果和第三解密结果所采用的加密算法为相同的加密算法,从而才能够保证后面能够进行一致性验证的结果是正确的。
S290、运营商节点验证注册信息中的第二加密结果与第三加密结果的一致性,若一致性验证通过,则将保存的注册信息广播至区块链网络。
进一步地,运营商节点比对第二加密结果与第三加密结果的一致性,若二者相同,则确定一致性验证通过。通常知道客服密码的仅为用户本人,且客服密码存储在用户数据库中而非用户终端,因此即使知道用户的身份信息或从用户终端盗取了用户的身份信息,也无法得知用户的客服密码,而本方法使用客服密码加密身份信息得到第二加密结果和第三加密结果,并进行验证,能够尽可能地防止用户被冒名注册,保证当前操作用户节点的注册流程的用户为用户本人,从而保证了区块链网络所应用的骨髓配型系统的安全性,并且,第二加密结果和第三加密结果的加密算法、加密内容均一致,若二者一致,则说明用户节点与运营商节点交互过程中信息没有被篡改,进一步保证了骨髓配型系统的安全性,综上,若一致性验证通过,则说明用户节点合法,从而运营商节点将保存的用户节点的注册信息广播至区块链网络。
在一些示例中,在本次广播中,为了标识本次广播的注册信息为通过运营商节点验证后的注册信息,运营商节点可以在注册信息中加入验证通过标识。
S300、区块链网络中的各个节点接收注册信息,并对注册信息进行验证,若验证通过,则将注册信息记入区块链账本。
在一些示例中,S300包括:
子步骤一、区块链网络中的各个节点接收注册信息,并获取其中的用户哈希标识。
子步骤一中所述各个节点指矿工节点,即具有完整的区块链账本的节点。
子步骤二、在区块链账本中查询是否有与当前接收的用户哈希标识相匹配的历史用户哈希标识,若没有与当前接收到用户哈希标识相匹配的用户哈希标识,则确定验证通过。
区块链网络中的各个节点查找自身存储的区块链账本中是否有与当前接收到用户哈希标识相同的历史用户哈希标识,若没有与当前接收到用户哈希标识相同的历史用户哈希标识,则确定验证通过,将注册信息记入区块链账本。每个用户的身份信息和基因信息是固定的,因此只允许注册一次,对于已存在的用户注册(历史用户哈希标识),不允许进行第二次注册,通过验证区块链账本中是否有与当前接收到用户哈希标识相同的历史用户哈希标识,能够保证一个用户节点只能注册一次,从而能够防止大量的重复注册或恶意的注册攻击。
子步骤三、区块链网络中的各个节点将注册信息记入区块链账本。
区块链网络中的各个节点将注册信息记入区块链账本,具体地,包括把该用户节点的用户哈希标识、用户哈希标识和用户节点的公钥的对应关系写入新区块,进而写入区块链账本中,该用户哈希标识成为历史用户哈希标识。
进一步地,为了进一步提升区块链网络都安全性,可以对注册信息进行二次签名,S250中,将注册信息广播至区块链网络包括:
用户节点使用用户节点的私钥对注册信息进行一次签名,并将一次签名后的注册信息广播至区块链网络。
相应地,S290中,若一致性验证通过,则将保存的注册信息广播至区块链网络包括:
运营商节点使用自身的私钥对注册信息进行二次签名,并将二次签名后的注册信息广播至区块链网络。
相应地,在注册信息进行二次签名的情况下,区块链网络中的各个节点需要对两次签名进行验证。则S300中,区块链网络中的各个节点接收注册信息,并对注册信息进行验证包括:
子步骤一、区块链网络中的各个节点获取存储在创始节点中的运营商节点的公钥,并使用运营商节点的公钥对注册信息进行一次验证。
子步骤二、若验证通过,使用注册信息中包含的用户节点的公钥,对注册信息进行二次验证。
若二次验证通过,则确定注册信息未被篡改,再进行后续验证用户哈希标识是否为首次注册的步骤。
需要说明的是,无论用户节点为受捐者对应的受捐节点,或捐赠者对应的捐赠节点,均可采用上述方式注册到区块链网络。上述步骤针对用户节点的注册过程,注册信息仅存储在区块链账本,不显示在骨髓配型系统中,以对捐赠者和受捐者的个人信息进行隐私性保护。
除了在骨髓配型系统中录入注册信息,捐赠者还需要在系统中录入包含捐赠基因标识的捐赠配型信息,受捐者需要录入受捐基因标识,以对捐赠基因标识和受捐基因标识进行配型。具体地,可以采用下列步骤:
针对用户节点为捐赠节点的情况,S300之后,该方法还包括:
步骤一、捐赠节点获取创始节点的公钥,并根据创始节点的公钥对自身的联系信息进行加密,得到第四加密结果。
其中,其中,捐赠节点获取创始节点的公钥包括用户节点向创始节点发送获取请求;接收创始节点响应于获取请求返回的创始节点的公钥。捐赠节点获取到创始节点的公钥后,根据创始节点的公钥对自身的联系信息进行加密,得到第四加密结果,此处仅加密联系信息而不加密身份信息,以在配型成功后对捐赠者的身份信息保密。
步骤二、捐赠节点将其对应的捐赠者的预设个数基因点位信息,按照预设规则进行排序。
其中,捐赠者的配型信息不仅与基因点位信息有关,还与其排序相关,因此,获取到捐赠者的预设个数基因点位信息后,先按照预设规则将基因点位信息排序,其中,预设个数可以根据需要设置,例如为8个。
步骤三、捐赠节点通过哈希计算,将排序后的预设个数基因点位信息生成捐赠基因标识。
其中,捐赠节点按照预设的哈希算法,对排序后的预设个数基因点位信息进行哈希计算生成哈希值,并将该哈希值作为捐赠节点的捐赠基因标识。此处通过哈希算法将预设个数基因点位信息,而非直接存储,能够有效保护捐赠者的基因信息。
步骤四、捐赠节点根据自身的用户哈希标识、捐赠基因标识、第四加密结果生成捐赠配型信息,并广播至区块链网络。
在一些示例中,步骤四包括:
子步骤一、捐赠节点根据捐赠节点的用户哈希标识、捐赠基因标识、第三加密结果生成捐赠配型信息。
子步骤二、捐赠节点用捐赠节点的私钥对捐赠配型信息进行签名,将签名后的捐赠配型信息广播至区块链网络。
步骤五、区块链网络中的各个节点接收捐赠配型信息,并对捐赠配型信息进行验证,若验证通过,则将捐赠配型信息记入区块链账本。
区块链网络中的各个节点获取捐赠节点的公钥,对捐赠配型信息的签名进行验证,若验证通过,则将捐赠信息记入区块链账本。捐赠节点根据上述步骤录入自己的捐赠配型信息后,无需实时同步区块链网络的账本信息,可以离线等待,后续若配型成功,将会通过捐赠节点的联系信息通知捐赠者。
在一些示例中,针对用户节点为受捐节点的情况,S300之后,该方法还包括:
步骤一、受捐节点将其对应的受捐者的预设个数基因点位信息,按照预设规则进行排序。
其中,受捐者的配型信息不仅与基因点位信息有关,还与其排序相关,因此,获取到受捐者的预设个数基因点位信息后,先按照预设规则将基因点位信息排序,其中,预设个数可以根据需要设置,例如为10个。需要说明的是,捐赠节点的步骤二中捐赠节点的排序规则与本步骤受捐节点的排序规则一致,以保证捐赠者和受捐者的基因点位信息按照相同的规则进行排序,才能够成功进行配型。
步骤二、受捐节点通过哈希计算,将排序后的受捐者的预设个数基因点位信息生成受捐基因标识。
其中,受捐节点按照预设的哈希算法,对排序后的受捐者的预设个数基因点位信息进行哈希计算生成哈希值,并将该哈希值作为受捐节点的受捐基因标识。此处通过哈希算法将预设个数基因点位信息,而非直接存储,能够有效保护受捐者的基因信息。需要说明的是,上述步骤三中捐赠节点的哈希算法与本步骤中的哈希算法一致,以保证捐赠者和受捐者的基因点位信息的哈希计算按照相同的算法进行。
步骤三、受捐节点同步区块链网络的、完整的区块链账本,并在区块链账本中查找是否存在与自身的受捐基因标识相匹配的捐赠配型信息。
在进行受捐节点的受捐基因标识的录入之后,可以进行配型步骤。具体地,受捐节点同步区块链网络的、完整的区块链账本,完整的区块链账本记录有各个捐赠节点的捐赠配型信息,捐赠配型信息中包括每个捐赠节点的捐赠基因标识,在区块链账本中查找是否存在与自身的受捐基因标识相匹配的捐赠基因标识,以进行骨髓配型。
步骤四、若存在与自身的受捐基因标识相匹配的捐赠配型信息,受捐节点向创始节点发送包含相匹配的捐赠配型信息的查询请求。
若查找到与受捐节点的受捐基因标识相匹配的捐赠基因标识,确定该捐赠基因标识对应的捐赠配型信息,并生成包含相匹配的捐赠配型信息(包括捐赠节点的用户哈希标识、捐赠基因标识、第四加密结果)的查询请求,用受捐节点的私钥对查询请求签名后发送至创始节点。
在一些示例中,针对受捐节点首次发送查询请求的情况,步骤四包括:
子步骤一、受捐节点向时间戳节点发送查询请求。
子步骤二、时间戳节点接收查询请求,将接收到查询请求的时间加入捐赠配型信息,并将加入时间后的捐赠配型信息发送给创始节点。
时间戳节点会记录受捐节点首次发送查询请求的时间,并给查询请求打上时间戳,以保证若存在多个配型成功的受捐节点,可以以时间戳的时间分配多个配型成功的受捐者的优先级,即时间戳的时间越早受捐者的优先级越高。
步骤五、创始节点获取接收到的查询请求中包含的第四加密结果,并根据自身的私钥解密第四加密结果,得到捐赠节点的联系信息。
其中,创始节点接收到查询请求后,通过受捐节点携带在查询请求中的用户哈希标识在区块链账本中查询到与受捐节点的用户哈希标识对应的受捐节点的公钥,使用公钥对查询请求的签名信息进行验证,若验证通过,则获取捐赠信息中的第四加密结果,由于第四加密结果采用创始节点的公钥进行加密,因此创始节点根据创始节点自身的公钥解密第三加密结果,得到捐赠节点的联系信息。
步骤六、创始节点通过捐赠节点的联系信息,向捐赠节点发送匹配成功通知。
其中,创始节点通过捐赠节点的联系信息的电话号码,向捐赠节点发送匹配成功通知,具体可以通过短信或电话方式发送匹配成功通知。
在成功配型后,受捐节点与捐赠节点需要进入协商捐赠和捐赠签约流程,具体地,本方法还包括以下步骤:
步骤一、捐赠节点响应匹配成功通知,接入区块链网络,将经过自身私钥签名后的同意捐赠通知广播至区块链网络,其中,同意捐赠通知包含捐赠报价。
步骤二、与同意捐赠信息对应的患者节点接收同意捐赠通知,并获取其中的捐赠报价,若接受捐赠报价,则将经过自身私钥签名后的同意报价通知广播至区块链网络,并根据捐赠报价向捐赠节点进行转账。
步骤四、捐赠节点获取捐赠者的体检信息,将体检信息中捐赠者的身份信息和联系信息去除,获取受捐节点的公钥,并使用受捐节点的公钥加密体检信息;使用自身的私钥对加密后的体检信息进行签名,将经过签名的体检信息广播至区块链网络。
步骤五、受捐节点接收体检信息,并使用自身的公钥对体检信息的签名进行验证,若验证通过,使用受捐节点的私钥解密体检信息。
若确认体检信息合规,则执行后续签约步骤。
步骤六、受捐节点生成智能合约,并使用自身的私钥签名后发送给捐赠节点。
其中,智能合约包括:捐赠节点的用户哈希标识、受捐节点的用户哈希标识、捐赠报价、毁约时限、付款时限。智能合约的条款包括:捐赠节点需要转入区块链网络的公共账户的违约金额、违约条件、转账条件。
其中,违约金额为预设倍数的捐赠报价,预设倍数可以自定,例如为十倍。违约条件例如为:在受捐节点对应的受捐者的入仓时长大于预设的毁约时限后,若接收到捐赠节点发送的拒绝捐赠发起通知,则确认捐赠节点触发违约条件;若捐赠节点触发违约条件,则将违约金额转入受捐节点的账户。其中,入仓时长为受捐者入仓开始大化疗清随的时长,毁约时限为可接受违约的受捐者入仓开始大化疗清随的时长。
转账条件例如为:若捐赠节点对应的捐赠者上传捐赠证明后的等待支付时长大于付款时限,则确定触发转账条件。在完成捐赠手术后,捐赠者会获得捐赠证明,则受捐节点应当根据捐赠报价向捐赠节点转账,其中设置一定付款时限,若等待支持时长大于付款时限,则将受捐节点按照捐赠报价转入区块链网络的公共账户的金额自动转入捐赠节点的账户。
步骤七、捐赠节点接收智能合约并对智能合约的条款进行确认,若同意条款,则使用自身的私钥对智能合约进行二次签名并广播至区块链网络,并按照智能合约中的违约金额向区块链网络的公共账户转账。
步骤八、区块链中的各个节点接收智能合约,根据智能合约中的捐赠节点的用户哈希标识和受捐节点的用户哈希标识获取二者的公钥,对智能合约的二次签名分别进行验证,若验证通过,则获取智能合约的条款,共同执行智能合约。
其中,共同执行智能合约包括:若确定捐赠节点触发违约条件,则将违约金额转入受捐节点的账户,和/或,若确定受捐节点触发,则将受捐节点按照捐赠报价转入区块链网络的公共账户的金额转入捐赠节点的账户。
需要说明的是,受捐节点可以在步骤一发送智能合约时,将捐赠报价对应的金额转入区块链的公共账户,也可以在步骤七之后,接收到二次签名的智能合约(即确认捐赠节点同意捐赠)后,将捐赠报价对应的金额转入区块链的公共账户。
需要说明的是,捐赠节点对应的捐赠者在完成捐赠手术,获得捐赠证明后,需要把捐赠证明发送给捐赠节点,捐赠节点再根据自身的私钥对捐赠证明进行签名后广播至区块链网络,以使区块链网络中的各个节点根据接收到捐赠证明的时间,确定等待支付时长。其中,捐赠证明包括捐赠骨髓手术记录单和干细胞抽取记录单中的至少一者。
本领域技术人员可灵活调整上述各个步骤的执行顺序,并且,可以将上述各个步骤拆分为更多的步骤,或合并为更少的步骤,还可以针对其中的部分步骤进行删减。并且,上述实施例一与实施例二可相互结合,本发明对此不做限定。
本实施例所提供的区块链节点管理方法,通过使用运营商的公钥加密用户的联系信息得到第一加密结果,以保护联系信息的隐私性,再使用用户的客服密码加密用户的身份信息得到第二加密结果,以保护身份信息的隐私性,将包含第一加密结果、第二加密结果的用户注册信息发送给运营商节点,使运营商节点用自身的私钥解密第一加密结果获得用户的联系信息,再根据联系信息在自身的用户数据库中查找与联系信息相关联的身份信息和客服密码,并使用查找到的客服密码对查找到的身份信息进行加密得到第三加密结果,比对第三加密结果与第二加密结果的一致性,若一致性通过,则确定用户的真实性,防止虚假注册,并且,通常知道客服密码的仅为用户本人,且客服密码存储在用户数据库中而非用户终端,因此即使知道用户的身份信息或从用户终端盗取了用户的身份信息,也无法得知用户的客服密码,而本方法使用客服密码加密身份信息,并进行验证,能够尽可能地防止用户被冒名注册,从而保证了区块链网络所应用的骨髓配型系统的安全性。
实施例三、
参见图3,图3示出本实施例的一种区块链网络的系统架构图。
本实施例提供的区块链节点管理方法可应用于骨髓配型系统,对系统中的用户节点和骨髓配型流程进行管理,区块链网络包括多个用户节点11、运营商节点12、创始节点13、时间戳节点14,其中,用户节点11包括捐赠节点和受捐节点。
用户节点用于获取存储在创始节点中的运营商节点的公钥,并根据运营商节点的公钥对用户节点对应的用户的联系信息进行加密,得到第一加密结果;
用户节点还用于获取与联系信息相对应的用户的客服密码,根据客服密码对用户节点对应的用户的身份信息进行加密,得到第二加密结果;
用户节点还用于根据自身的公钥、用户节点的用户哈希标识、第一加密结果、第二加密结果生成用户节点的注册信息,并且将注册信息广播至区块链网络;
运营商节点用于接收并保存注册信息,使用自身的私钥解密第一加密结果,得到联系信息,并在用户数据库中查找与联系信息相关联的用户的身份信息和客服密码;
运营商节点还用于根据与联系信息相关联的用户的客服密码,对与联系信息相关联的用户的身份信息进行加密,得到第三加密结果,验证注册信息中的第二加密结果与第三加密结果的一致性,若一致性验证通过,则将保存的注册信息广播至区块链网络;
区块链网络中的各个节点用于接收注册信息,并对注册信息进行验证,若验证通过,则将注册信息记入区块链账本。
在一些示例中,用户节点还用于通过哈希计算,根据身份信息生成用户哈希标识。
在一些示例中,用户节点还用于使用自身的私钥对注册信息进行一次签名,并将一次签名后的注册信息广播至区块链网络;
若一致性验证通过,则将保存的注册信息广播至区块链网络包括:
运营商节点使用自身的私钥对注册信息进行二次签名,并将二次签名后的注册信息广播至区块链网络;
区块链网络中的各个节点接收注册信息,并对注册信息进行验证包括:
区块链网络中的各个节点获取存储在创始节点中的运营商节点的公钥,并使用运营商节点的公钥对注册信息进行一次验证;
若验证通过,使用注册信息中包含的用户节点的公钥,对注册信息进行二次验证。
在一些示例中,区块链网络中的各个节点还用于接收注册信息,并获取其中的用户哈希标识;
在区块链账本中查询是否有与当前接收的用户哈希标识相匹配的历史用户哈希标识,若否,则确定验证通过。
在一些示例中,针对用户节点为捐赠节点的情况,捐赠节点用于获取创始节点的公钥,并根据创始节点的公钥对自身的联系信息进行加密,得到第四加密结果;
捐赠节点还用于将其对应的捐赠者的预设个数基因点位信息,按照预设规则进行排序;
捐赠节点还用于通过哈希计算,将排序后的预设个数基因点位信息生成捐赠基因标识;
捐赠节点还用于根据自身的用户哈希标识、捐赠基因标识、第四加密结果生成捐赠配型信息,并广播至区块链网络;
区块链网络中的各个节点还用于接收捐赠配型信息,并对捐赠配型信息进行验证,若验证通过,则将捐赠配型信息记入区块链账本。
在一些示例中,针对用户节点为受捐节点的情况,受捐节点用于将其对应的受捐者的预设个数基因点位信息,按照预设规则进行排序;
受捐节点还用于通过哈希计算,将排序后的预设个数基因点位信息生成受捐基因标识;
受捐节点还用于同步区块链网络的、完整的区块链账本,并在区块链账本中查找是否存在与自身的受捐基因标识相匹配的捐赠配型信息;
若是,受捐节点还用于向创始节点发送包含相匹配的捐赠配型信息的查询请求;
创始节点用于获取接收到的查询请求中包含的第四加密结果,并根据自身的私钥解密第四加密结果,得到捐赠节点的联系信息;
创始节点还用于通过捐赠节点的联系信息,向捐赠节点发送匹配成功通知。
在一些示例中,区块链网络还包括时间戳节点;针对受捐节点首次发送查询请求的情况,受捐节点还用于向时间戳节点发送查询请求;
时间戳节点用于接收查询请求,将接收到查询请求的时间加入捐赠配型信息,并将加入时间后的捐赠配型信息发送给创始节点。
本实施例所提供的区块链网络,通过使用运营商的公钥加密用户的联系信息得到第一加密结果,以保护联系信息的隐私性,再使用用户的客服密码加密用户的身份信息得到第二加密结果,以保护身份信息的隐私性,将包含第一加密结果、第二加密结果的用户注册信息发送给运营商节点,使运营商节点用自身的私钥解密第一加密结果获得用户的联系信息,再根据联系信息在自身的用户数据库中查找与联系信息相关联的身份信息和客服密码,并使用查找到的客服密码对查找到的身份信息进行加密得到第三加密结果,比对第三加密结果与第二加密结果的一致性,若一致性通过,则确定用户的真实性,防止虚假注册,并且,通常知道客服密码的仅为用户本人,且客服密码存储在用户数据库中而非用户终端,因此即使知道用户的身份信息或从用户终端盗取了用户的身份信息,也无法得知用户的客服密码,而本方法使用客服密码加密身份信息,并进行验证,能够尽可能地防止用户被冒名注册,从而保证了区块链网络所应用的骨髓配型系统的安全性。
实施例四、
本发明提供一种电子设备,包括:
至少一个处理器。以及
与至少一个处理器通信连接的存储器。其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的区块链节点管理方法。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
参见图4,图4示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图4所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等。输出单元807,例如各种类型的显示器、扬声器等。存储单元808,例如磁盘、光盘等。以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如区块链节点管理方法。例如,在一些实施例中,区块链节点管理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的区块链节点管理方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行区块链节点管理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
实施例五、
本发明提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行根据上述的方法。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器)。以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互。例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈)。并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (10)
1.一种区块链节点管理方法,其特征在于,所述方法用于区块链网络,所述区块链网络包括多个用户节点、创始节点、运营商节点,其中,所述用户节点包括捐赠节点和受捐节点;所述方法包括:
所述用户节点获取存储在所述创始节点中的所述运营商节点的公钥,并根据所述运营商节点的公钥对所述用户节点对应的用户的联系信息进行加密,得到第一加密结果;
所述用户节点获取与所述联系信息相对应的用户的客服密码,根据所述客服密码对所述用户节点对应的用户的身份信息进行加密,得到第二加密结果;
所述用户节点根据自身的公钥、所述用户节点的用户哈希标识、所述第一加密结果、所述第二加密结果生成所述用户节点的注册信息,并且将所述注册信息广播至所述区块链网络;
所述运营商节点接收并保存所述注册信息,使用自身的私钥解密所述第一加密结果,得到所述联系信息,并在用户数据库中查找与所述联系信息相关联的用户的身份信息和客服密码;
所述运营商节点根据与所述联系信息相关联的用户的客服密码,对与所述联系信息相关联的用户的身份信息进行加密,得到第三加密结果,验证所述注册信息中的所述第二加密结果与所述第三加密结果的一致性,若一致性验证通过,则将保存的所述注册信息广播至所述区块链网络;
所述区块链网络中的各个节点接收所述注册信息,并对所述注册信息进行验证,若验证通过,则将所述注册信息记入区块链账本。
2.如权利要求1所述的方法,其特征在于,所述用户节点的用户哈希标识通过以下方式确定:
所述用户节点通过哈希计算,根据所述身份信息生成所述用户哈希标识。
3.如权利要求1所述的方法,其特征在于,所述并且将所述注册信息广播至所述区块链网络包括:
所述用户节点使用自身的私钥对所述注册信息进行一次签名,并将一次签名后的所述注册信息广播至所述区块链网络;
所述若一致性验证通过,则将保存的所述注册信息广播至所述区块链网络包括:
所述运营商节点使用自身的私钥对所述注册信息进行二次签名,并将二次签名后的所述注册信息广播至所述区块链网络;
所述区块链网络中的各个节点接收所述注册信息,并对所述注册信息进行验证包括:
所述区块链网络中的各个节点获取存储在所述创始节点中的所述运营商节点的公钥,并使用所述运营商节点的公钥对所述注册信息进行一次验证;
若验证通过,使用所述注册信息中包含的所述用户节点的公钥,对所述注册信息进行二次验证。
4.如权利要求1-3任一所述的方法,其特征在于,所述区块链网络中的各个节点接收所述注册信息,并对所述注册信息进行验证包括:
所述区块链网络中的各个节点接收所述注册信息,并获取其中的所述用户哈希标识;
在区块链账本中查询是否有与当前接收的所述用户哈希标识相匹配的历史用户哈希标识,若否,则确定验证通过。
5.如权利要求1-3任一所述的方法,其特征在于,针对所述用户节点为捐赠节点的情况,所述区块链网络中的各个节点接收所述注册信息,并对所述注册信息进行验证,若验证通过,则将所述注册信息记入区块链账本之后,所述方法包括:
所述捐赠节点获取所述创始节点的公钥,并根据所述创始节点的公钥对自身的所述联系信息进行加密,得到第四加密结果;
所述捐赠节点将其对应的捐赠者的预设个数基因点位信息,按照预设规则进行排序;
所述捐赠节点通过哈希计算,将排序后的所述预设个数基因点位信息生成捐赠基因标识;
所述捐赠节点根据自身的用户哈希标识、所述捐赠基因标识、所述第四加密结果生成捐赠配型信息,并广播至所述区块链网络;
所述区块链网络中的各个节点接收所述捐赠配型信息,并对所述捐赠配型信息进行验证,若验证通过,则将所述捐赠配型信息记入区块链账本。
6.如权利要求5所述的方法,其特征在于,针对所述用户节点为受捐节点的情况,所述区块链网络中的各个节点接收所述注册信息,并对所述注册信息进行验证,若验证通过,则将所述注册信息记入区块链账本之后,所述方法包括:
所述受捐节点将其对应的受捐者的预设个数基因点位信息,按照预设规则进行排序;
所述受捐节点通过哈希计算,将排序后的所述受捐者的预设个数基因点位信息生成受捐基因标识;
所述受捐节点同步所述区块链网络的、完整的区块链账本,并在所述区块链账本中查找是否存在与自身的所述受捐基因标识相匹配的所述捐赠配型信息;
若是,所述受捐节点向所述创始节点发送包含相匹配的所述捐赠配型信息的查询请求;
所述创始节点获取接收到的所述查询请求中包含的所述第四加密结果,并根据自身的私钥解密所述第四加密结果,得到所述捐赠节点的所述联系信息;
所述创始节点通过所述捐赠节点的所述联系信息,向所述捐赠节点发送匹配成功通知。
7.如权利要求6所述的方法,其特征在于,所述区块链网络还包括时间戳节点;针对所述受捐节点首次发送所述查询请求的情况,所述受捐节点向所述创始节点发送包含相匹配的所述捐赠配型信息的查询请求包括:
所述受捐节点向所述时间戳节点发送所述查询请求;
所述时间戳节点接收所述查询请求,将接收到所述查询请求的时间加入所述捐赠配型信息,并将加入所述时间后的捐赠配型信息发送给所述创始节点。
8.一种区块链网络,其特征在于,所述区块链网络应用于骨髓配型管理,所述区块链网络包括多个用户节点、创始节点、运营商节点,其中,所述用户节点包括捐赠节点和受捐节点;其中,
所述用户节点用于获取存储在所述创始节点中的所述运营商节点的公钥,并根据所述运营商节点的公钥对所述用户节点对应的用户的联系信息进行加密,得到第一加密结果;
所述用户节点还用于获取与所述联系信息相对应的用户的客服密码,根据所述客服密码对所述用户节点对应的用户的身份信息进行加密,得到第二加密结果;
所述用户节点还用于根据自身的公钥、所述用户节点的用户哈希标识、所述第一加密结果、所述第二加密结果生成所述用户节点的注册信息,并且将所述注册信息广播至所述区块链网络;
所述运营商节点用于接收并保存所述注册信息,使用自身的私钥解密所述第一加密结果,得到所述联系信息,并在用户数据库中查找与所述联系信息相关联的用户的身份信息和客服密码;
所述运营商节点还用于根据与所述联系信息相关联的用户的客服密码,对与所述联系信息相关联的用户的身份信息进行加密,得到第三加密结果,验证所述注册信息中的所述第二加密结果与所述第三加密结果的一致性,若一致性验证通过,则将保存的所述注册信息广播至所述区块链网络;
所述区块链网络中的各个节点用于接收所述注册信息,并对所述注册信息进行验证,若验证通过,则将所述注册信息记入区块链账本。
9.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111625808.5A CN114239072B (zh) | 2021-12-28 | 2021-12-28 | 区块链节点管理方法及区块链网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111625808.5A CN114239072B (zh) | 2021-12-28 | 2021-12-28 | 区块链节点管理方法及区块链网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114239072A true CN114239072A (zh) | 2022-03-25 |
CN114239072B CN114239072B (zh) | 2023-01-20 |
Family
ID=80764101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111625808.5A Active CN114239072B (zh) | 2021-12-28 | 2021-12-28 | 区块链节点管理方法及区块链网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114239072B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884702A (zh) * | 2022-04-19 | 2022-08-09 | 海南大学 | 身份注册方法、身份认证方法及身份管理系统 |
CN114978620A (zh) * | 2022-05-07 | 2022-08-30 | 中移互联网有限公司 | 身份标识号的加密方法和解密方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413228A (zh) * | 2018-12-20 | 2019-03-01 | 全链通有限公司 | 基于区块链域名系统的IPv6生成方法和系统 |
CN110636037A (zh) * | 2019-07-02 | 2019-12-31 | 中国联合网络通信集团有限公司 | 一号多卡业务申请方法、用户节点、运营商系统和区块链 |
CN111148094A (zh) * | 2019-12-30 | 2020-05-12 | 全链通有限公司 | 5g用户终端的注册方法、用户终端设备及介质 |
-
2021
- 2021-12-28 CN CN202111625808.5A patent/CN114239072B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413228A (zh) * | 2018-12-20 | 2019-03-01 | 全链通有限公司 | 基于区块链域名系统的IPv6生成方法和系统 |
CN110636037A (zh) * | 2019-07-02 | 2019-12-31 | 中国联合网络通信集团有限公司 | 一号多卡业务申请方法、用户节点、运营商系统和区块链 |
CN111148094A (zh) * | 2019-12-30 | 2020-05-12 | 全链通有限公司 | 5g用户终端的注册方法、用户终端设备及介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884702A (zh) * | 2022-04-19 | 2022-08-09 | 海南大学 | 身份注册方法、身份认证方法及身份管理系统 |
CN114978620A (zh) * | 2022-05-07 | 2022-08-30 | 中移互联网有限公司 | 身份标识号的加密方法和解密方法 |
CN114978620B (zh) * | 2022-05-07 | 2023-07-21 | 中移互联网有限公司 | 身份标识号的加密方法和解密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114239072B (zh) | 2023-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108769230B (zh) | 交易数据存储方法、装置、服务器及存储介质 | |
EP4191430A1 (en) | Data processing method and apparatus applied to blockchain system | |
CN114239072B (zh) | 区块链节点管理方法及区块链网络 | |
CN113271311B (zh) | 一种跨链网络中的数字身份管理方法及系统 | |
CN113269642B (zh) | 基于区块链的交易处理方法、装置、设备及存储介质 | |
CN111597567B (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN108923925B (zh) | 应用于区块链的数据存储方法和装置 | |
CN112367164B (zh) | 业务请求处理方法、装置、计算机设备和存储介质 | |
CN112966287B (zh) | 获取用户数据的方法、系统、设备和计算机可读介质 | |
CN110149323B (zh) | 一种具有千万级tps合约处理能力的处理装置 | |
CN112311779B (zh) | 应用于区块链系统的数据访问控制方法及装置 | |
CN115884110B (zh) | 短信验证码的判断方法及系统 | |
CN108418679B (zh) | 一种多数据中心下处理密钥的方法、装置及电子设备 | |
CN109558710B (zh) | 用户登录方法、装置、系统及存储介质 | |
CN111339206A (zh) | 一种基于区块链的数据共享方法和装置 | |
CN113129008B (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
CN112446050B (zh) | 应用于区块链系统的业务数据处理方法及装置 | |
CN113434882A (zh) | 应用程序的通讯保护方法、装置、计算机设备及存储介质 | |
CN112769565B (zh) | 密码加密算法的升级方法、装置、计算设备和介质 | |
CN109191116B (zh) | 资源管理方法和系统以及支付管理方法和系统 | |
CN114329625A (zh) | 骨髓配型管理方法及区块链系统 | |
CN113132115B (zh) | 一种证书切换方法、装置和系统 | |
CN116456341B (zh) | 数据保全认证方法、装置、设备及存储介质 | |
CN109658100B (zh) | 一种确定下链数字资产的系统和方法 | |
CN113783847B (zh) | 消息交互方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |