区块链实名认证方法和系统技术方案

技术编号:19598162 阅读:20 留言:0更新日期:2018-11-28 06:34
本发明专利技术提供了一种区块链实名认证方法和系统,其中,方法包括:创始节点在创始区块中设置用于对区块链网络中的用户进行实名注册的难度值;参与节点基于该难度值对申请用户的实名注册信息进行哈希计算获取对应的且小于难度值的注册哈希值,挖矿节点验证用户证件图像和活体用户是否匹配,若匹配,则验证用户证件信息与用户基本信息是否匹配,若匹配,则计算本地时间戳与接收时间之间的时间差,若时间差满足预设的时间范围,则确定申请用户实名认证通过,若没有接收到无效广播消息,则将区块写入区块链账本中。由此,实现了对区块链中节点的实名认证,便于对节点的管理和维护区块链的合法性,且基于去中心化思想进行认证,认证过程更加稳定。

【技术实现步骤摘要】
区块链实名认证方法和系统
本专利技术涉及通信
,尤其涉及一种区块链实名认证方法和系统。
技术介绍
通常,区块链技术由于通过基于节点与节点之间的信息交互实现交易的安全性的保证,降低了信任成本而得到广泛应用。目前,区块链网络中的参与方式都是匿名的,只能证明所有的区块链行为为某一个节点对应的用户实施的,而不能被其他用户伪造,也就是说,区块链网络的实施环境和现实生活是分离的,难以对在现实生活中节点对应的用户进行管理等,比如,一旦区块链网络中的节点行为存在违法行为,比如洗黑钱等,完全无法追查,即便是由国家CA(CertificateAuthority,证书授权中心)机关发放的证书,也只能证明网络身份,而无法证明其现实身份,而CA机构如果要证明真实身份需要线下参与,非常复杂。因此,亟需一种有效确定区块链网络中的节点对应的现实生活中的真实用户身份的方法。
技术实现思路
本专利技术提供一种区块链实名认证方法和系统,以解决现有技术中,无法对区块链的节点进行有效管理,以及无法维护区块链的合法性的技术问题。本专利技术第一实施例提供一种区块链实名认证方法,包括:创始节点在创始区块中设置用于对区块链网络中的用户进行实名注册的难度值;参与节点获取申请用户用于进行实名注册录制的认证视频,其中,所述认证视频包含:活体用户、包含用户证件图像和用户证件信息的用户证件;所述参与节点查询本地同步的区块链账本中的创始区块获取所述难度值,以及为所述申请用户生成注册随机数,并对所述申请用户的实名注册信息进行哈希计算获取对应的且小于所述难度值的注册哈希值,其中,所述实名注册信息包括:所述认证视频、所述注册随机数、所述申请用户的公钥和用户基本信息、以及本地时间戳,进而应用所述申请用户的私钥对所述实名注册信息和所述注册哈希值进行签名后生成认证广播消息发送给区块链网络;挖矿节点记录接收所述认证广播消息的接收时间,应用所述申请用户的公钥对接收的认证广播消息进行签名验证,若验证通过,计算所述本地时间戳与所述接收时间之间的时间差,若比较后获知所述时间差满足预设的时间范围,则验证所述用户证件图像和所述活体用户是否匹配,若获知正确匹配,则验证所述用户证件信息与所述用户基本信息是否匹配,若获知正确匹配,则检测所述用户证件信息是否被注册过,若检测没有被注册过,则验证所述注册随机数与所述注册哈希值是否匹配,若获知正确匹配,则确定所述申请用户的实名认证通过,并将认证成功消息写入到区块中并向所述区块链网络广播;所述挖矿节点判断在预设时间内是否接收其他挖矿节点发送的指示所述区块的无效广播消息,若获知没有接收到所述无效广播消息,则向所述区块链网络广播所述区块生效,并将所述区块写入区块链账本中。本专利技术第二实施例提供一种区块链实名认证系统,包括:创始节点、参与节点和挖矿节点,其中,所述创始节点,用于在创始区块中设置用于对区块链网络中的用户进行实名注册的难度值;所述参与节点,用于获取申请用户用于进行实名注册录制的认证视频,其中,所述认证视频包含:活体用户、包含用户证件图像和用户证件信息的用户证件;所述参与节点,还用于查询本地同步的区块链账本中的创始区块获取所述难度值,以及为所述申请用户生成注册随机数,并对所述申请用户的实名注册信息进行哈希计算获取对应的且小于所述难度值的注册哈希值,其中,所述实名注册信息包括:所述认证视频、所述注册随机数、所述申请用户的公钥和用户基本信息、以及本地时间戳,进而应用所述申请用户的私钥对所述实名注册信息和所述注册哈希值进行签名后生成认证广播消息发送给区块链网络;所述挖矿节点,用于记录接收所述认证广播消息的接收时间,应用所述申请用户的公钥对接收的认证广播消息进行签名验证,若验证通过,计算所述本地时间戳与所述接收时间之间的时间差,若比较后获知所述时间差满足预设的时间范围,则验证所述用户证件图像和所述活体用户是否匹配,若获知正确匹配,则验证所述用户证件信息与所述用户基本信息是否匹配,若获知正确匹配,则检测所述用户证件信息是否被注册过,若检测没有被注册过,则验证所述注册随机数与所述注册哈希值是否匹配,若获知正确匹配,则确定所述申请用户的实名认证通过,并将认证成功消息写入到区块中并向所述区块链网络广播;所述挖矿节点,还用于判断在预设时间内是否接收其他挖矿节点发送的指示所述区块的无效广播消息,若获知没有接收到所述无效广播消息,则向所述区块链网络广播所述区块生效,并将所述区块写入区块链账本中。本专利技术第三实施例提供一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述实施例所述的区块链实名认证方法。本专利技术第四实施例提供一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例所述的区块链实名认证方法。本专利技术实施例提供的技术方案可以包括以下有益效果:实现了对区块链中节点的实名认证,便于对节点的管理和维护区块链的合法性,且基于去中心化思想进行认证,认证过程更加稳定。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,图1是根据本专利技术一个实施例的区块链实名认证系统的结构示意图;图2是根据本专利技术一个实施例的区块链实名认证系统的交互示意图;图3是根据本专利技术另一个实施例的区块链实名认证系统的交互示意图;图4是根据本专利技术一个实施例的区块链实名认证方法的流程图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。基于
技术介绍
的描述,不难理解,现有技术中,由于区块链网络中的参与节点参与方式均是匿名的,基于区块链网络仅仅能确认参与节点的网络身份,而无法确定出在参与节点对应的操作用户在现实生活中的真正身份,从而导致无法对区块链网络的运行进行有效的监管。在区块链技术发展迅速的当下,区块链技术越来越被应用来承载实体用世界的财产,而匿名会衍生众多的欺诈行为,这制约了区块链技术的推广。为了解决上述技术问题,本专利技术提出了一种区块链实名认证方法,在该方法中,将区块链中的参与节点与真实世界中的用户的身份信息紧密联系在一起,从而,有利于基于用户的真实信息对参与节点的管理,以及对区块链网络环境的合法性保证。其中,为了描述的清楚,首先对本专利技术实施例的区块链实名认证系统进行描述,图1是根据本专利技术一个实施例的区块链实名认证系统的结构示意图,如图1所示,该系统包括创始节点100、参与节点200和挖矿节点300,其中,参与节点100为首次申请加入区块链网络的节点、参与节点100成功加入区块链网络后,作为挖矿节点行使记账功能等,创始节点100指的是区块链网络中较早加入的挖矿节点,创始节点100加入区块链网络的时间越早,越能保证后来加入区块链网路中的挖矿节点的认证覆盖度,比如,创始节点100如果为第一个加入区块链网络的节点,则通过该创始节点100可以对区块链网络中的第二个以及之后的挖矿节点均进行认证等。参照图2,在实际执行过程中,创始节点在创始区块中设置用于对区块链网络中的用户进行实名本文档来自技高网
...

【技术保护点】
1.一种区块链实名认证方法,其特征在于,包括:创始节点在创始区块中设置用于对区块链网络中的用户进行实名注册的难度值;参与节点获取申请用户用于进行实名注册录制的认证视频,其中,所述认证视频包含:活体用户、包含用户证件图像和用户证件信息的用户证件;所述参与节点查询本地同步的区块链账本中的创始区块获取所述难度值,以及为所述申请用户生成注册随机数,并对所述申请用户的实名注册信息进行哈希计算获取对应的且小于所述难度值的注册哈希值,其中,所述实名注册信息包括:所述认证视频、所述注册随机数、所述申请用户的公钥和用户基本信息、以及本地时间戳,进而应用所述申请用户的私钥对所述实名注册信息和所述注册哈希值进行签名后生成认证广播消息发送给区块链网络;挖矿节点记录接收所述认证广播消息的接收时间,应用所述申请用户的公钥对接收的认证广播消息进行签名验证,若验证通过,计算所述本地时间戳与所述接收时间之间的时间差,若比较后获知所述时间差满足预设的时间范围,则验证所述用户证件图像和所述活体用户是否匹配,若获知正确匹配,则验证所述用户证件信息与所述用户基本信息是否匹配,若获知正确匹配,则检测所述用户证件信息是否被注册过,若检测没有被注册过,则验证所述注册随机数与所述注册哈希值是否匹配,若获知正确匹配,则确定所述申请用户的实名认证通过,并将认证成功消息写入到区块中并向所述区块链网络广播;所述挖矿节点判断在预设时间内是否接收其他挖矿节点发送的指示所述区块的无效广播消息,若获知没有接收到所述无效广播消息,则向所述区块链网络广播所述区块生效,并将所述区块写入区块链账本中。...

【技术特征摘要】
1.一种区块链实名认证方法,其特征在于,包括:创始节点在创始区块中设置用于对区块链网络中的用户进行实名注册的难度值;参与节点获取申请用户用于进行实名注册录制的认证视频,其中,所述认证视频包含:活体用户、包含用户证件图像和用户证件信息的用户证件;所述参与节点查询本地同步的区块链账本中的创始区块获取所述难度值,以及为所述申请用户生成注册随机数,并对所述申请用户的实名注册信息进行哈希计算获取对应的且小于所述难度值的注册哈希值,其中,所述实名注册信息包括:所述认证视频、所述注册随机数、所述申请用户的公钥和用户基本信息、以及本地时间戳,进而应用所述申请用户的私钥对所述实名注册信息和所述注册哈希值进行签名后生成认证广播消息发送给区块链网络;挖矿节点记录接收所述认证广播消息的接收时间,应用所述申请用户的公钥对接收的认证广播消息进行签名验证,若验证通过,计算所述本地时间戳与所述接收时间之间的时间差,若比较后获知所述时间差满足预设的时间范围,则验证所述用户证件图像和所述活体用户是否匹配,若获知正确匹配,则验证所述用户证件信息与所述用户基本信息是否匹配,若获知正确匹配,则检测所述用户证件信息是否被注册过,若检测没有被注册过,则验证所述注册随机数与所述注册哈希值是否匹配,若获知正确匹配,则确定所述申请用户的实名认证通过,并将认证成功消息写入到区块中并向所述区块链网络广播;所述挖矿节点判断在预设时间内是否接收其他挖矿节点发送的指示所述区块的无效广播消息,若获知没有接收到所述无效广播消息,则向所述区块链网络广播所述区块生效,并将所述区块写入区块链账本中。2.如权利要求1所述的方法,其特征在于,还包括:所述挖矿节点若获知接收到所述无效广播消息,则判断发送所述无效广播消息的挖矿节点的个数是否超过预设阈值;所述挖矿节点若获知所述个数小于所述预设阈值,则向所述区块链网络广播所述区块生效,并将所述区块写入区块链账本中,若获知所述个数大于等于所述预设阈值,则向所述区块链网络广播所述区块无效。3.如权利要求1所述的方法,其特征在于,所述用户证件信息包括:证件号和用户证件名称;所述用户基本信息包括:用户标识和用户名称;所述验证所述用户证件信息与所述用户基本信息是否匹配,包括:验证所述证件号和所述用户标识是否相同,以及验证所述用户证件名称和所述用户名称是否相同。4.如权利要求1所述的方法,其特征在于,在所述计算所述本地时间戳与所述接收时间之间的时间差之后,还包括:所述挖矿节点比较后获知所述时间差不满足预设的时间范围,则向所述区块链网络广播认证失败消息。5.如权利要求1所述的方法,其特征在于,在所述检测所述用户证件信息是否被注册过之后,所述方法还包括:所述挖矿节点获知所述用户证件信息被注册过,则向所述区块...

【专利技术属性】
技术研发人员:路成业王凌
申请(专利权)人:全链通有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1