1.一种基于区块链的身份认证方法,用于对区块链网络中的节点进行身份认证,其特征在于,所述方法包括:
接收节点发送的携带有用户名的登录请求;
向所述节点发送挑战信息,以供所述节点构建从所述第一区块链账户地址向所述预设的第二区块链账户地址付款的第一交易并将第一交易信息发送到所述区块链网络,其中,所述第一交易信息中包含所述挑战信息;
根据预先存储的用户名与第一区块链账户地址之间的对应关系,获取与所述用户名关联的第一区块链账户地址;
判断所述区块链中是否存在从第一区块链账户地址向预设的第二区块链账户地址付款的第一交易信息且第一交易信息中是否包含所述挑战信息;
若是,则确认用户身份认证成功。
2.根据权利要求1所述的方法,其特征在于,在所述接收节点发送的携带有用户名的登录请求之前,所述方法还包括:
接收所述节点发送的注册请求;
向所述节点发送携带有所述预设的第二区块链账户地址的反馈消息,以供所述节点构建从所述第一区块链账户地址向所述预设的第二区块链账户地址付款的第二交易并将第二交易信息发送到所述区块链网络,其中所述第二交易信息中包含所述用户名;
从所述区块链中获取从所述第一区块链账户地址向所述预设的第二区块链账户地址付款的第二交易信息;以及
将所述第一区块链账户地址和所述用户名关联存储。
3.根据权利要求2所述的方法,其特征在于,在将所述用户名和第一区块链账户地址关联存储之前,所述方法还包括:
根据所述用户名查询数据库中是否存储有与所述用户名相同的用户名;
若否,则将所述用户名与第一区块链账户地址关联存储至数据库,并向所述节点反馈注册成功信息;
若是,则向所述节点反馈注册失败信息。
4.根据权利要求1-3任一项所述的方法,其特征在于,在确认用户身份认证成功之后,所述方法还包括:
构建从所述预设的第二区块链账户地址付款到所述第一区块链账户地址的第三交易并将第三交易信息发送到所述区块链网络,以将所述预设的第二区块链账户地址的款项返回至所述第一区块链账户地址。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述第一交易信息中包含用于下一次登录时进行交易的第三区块链账户地址,所述方法还包括:
将所述第三区块链账户地址与所述用户名关联存储。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
删除所述第一区块链账户地址与所述用户名的关联。
7.一种基于区块链的身份认证方法,用于对区块链网络中的节点进行身份认证,其特征在于,所述方法包括:
向服务器发送携带有用户名的登录请求,以供服务器根据所述用户名获取与所述用户名关联的第一区块链账户地址;
接收所述服务器发送的挑战信息;
构建从所述第一区块链账户地址向预设的第二区块链账户地址付款的第一交易,并在构建完成所述第一交易后将第一交易信息发送至所述区块链网络,以供服务器进行身份认证,其中,所述第一交易信息包括挑战信息。
8.一种服务器,用于对区块链网络中的节点进行身份认证,其特征在于,所述服务器包括:
接收模块,用于接收节点发送的携带有用户名的登录请求;
发送模块,用于向所述节点发送挑战信息,以供所述节点构建从所述第一区块链账户地址向所述预设的第二区块链账户地址付款的第一交易并将第一交易信息发送到所述区块链网络,其中所述第一交易信息中包含所述挑战信息;
区块链账户地址获取模块,用于根据预先存储的用户名与第一区块链账户地址之间的对应关系,获取与所述用户名关联的第一区块链账户地址;
判断模块,用于判断所述区块链中是否存在从第一区块链账户地址向预设的第二区块链账户地址付款的第一交易信息且第一交易信息中是否包含所述挑战信息;
认证模块,用于在判断出所述区块链中存在第一交易信息且第一交易信息中包含所述挑战信息的情况下,确认用户身份认证成功。
9.一种终端设备,所述终端设备为区块链网络的节点,其特征在于,所述终端设备包括:
发送模块,用于向服务器发送携带有用户名的登录请求,以供服务器根据所述用户名获取与所述用户名关联的第一区块链账户地址;
接收模块,用于接收所述服务器发送的挑战信息;
构建模块,用于构建从所述第一区块链账户地址向预设的第二区块链账户地址付款的第一交易,并在构建完成所述第一交易后将第一交易信息发送至所述区块链网络,以供服务器进行身份认证,其中,所述第一交易信息包括挑战信息。
10.一种基于区块链网络的身份认证系统,其特征在于,所述系统包括:权利要求8所述的服务器以及权利要求9所述的终端设备。