一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种区块链地址认证方法、装置及计算机设备与流程

2022-02-20 02:17:48 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种区块链地址认证方法、装置及计算机设备。


背景技术:

2.个人在现实生活中有信用等各种数据,也可享受信用数据带来的各种便利,但因为区块链的匿名性,区块链账户地址没有信用记录等很多数据,这样会影响个人在区块链项目中申请的活动,例如个人的区块链账户与其他区块链账户之间的交易,因此,有个人信息和区块链账户地址的绑定需求。在此之前,需要对区块链账户地址进行认证。
3.目前可以通过判断是否存在从注册成功的区块链账户地址向服务方的区块链账户地址的交易,且该交易包含约定的相关信息的方式,对区块链账户地址进行认证,但是这种方式是通过交易完成的,在区块链网络中的每笔交易都是公开的,因此这种验证方式安全性不高且比较繁琐。为此,如何对区块链账户地址进行安全且便捷的认证,已成为亟待解决的问题。


技术实现要素:

4.本技术实施例提供一种区块链地址认证方法、装置及计算机设备,可以有效提高对区块链地址进行认证的安全性。
5.本技术实施例一方面提供了一种区块链地址认证方法,包括:
6.响应区块链地址认证请求向客户端发送第一验证信息,区块链地址认证请求包括第一区块链地址;
7.根据第一区块链地址查询目标虚拟资源,目标虚拟资源是根据第一验证信息以及第一区块链地址生成的;
8.利用目标虚拟资源对第一区块链地址进行认证。
9.本技术实施例一方面提供了一种区块链地址认证方法,包括:
10.向服务器提交区块链地址认证请求,区块链地址认证请求包括第一区块链地址;
11.接收服务器响应区块链地址认证请求发送的第一验证信息;
12.根据第一验证信息生成目标虚拟资源,目标虚拟资源用于服务器对第一区块链地址进行认证。
13.本技术实施例一方面提供了一种区块链地址认证装置,包括:
14.发送模块,用于响应区块链地址认证请求向客户端发送第一验证信息,区块链地址认证请求包括第一区块链地址;
15.查询模块,用于根据第一区块链地址查询目标虚拟资源,目标虚拟资源是根据第一验证信息以及第一区块链地址生成的;
16.认证模块,用于利用目标虚拟资源对第一区块链地址进行认证。
17.本技术实施例一方面提供了一种区块链地址认证装置,包括:
18.提交模块,用于向服务器提交区块链地址认证请求,区块链地址认证请求包括第一区块链地址;
19.接收模块,用于接收服务器响应区块链地址认证请求发送的第一验证信息;
20.生成模块,用于根据第一验证信息生成目标虚拟资源,目标虚拟资源用于服务器对第一区块链地址进行认证。
21.本技术实施例一方面提供了一种服务器,包括:处理器、存储器以及网络接口;处理器与存储器、网络接口相连,其中,网络接口用于提供网络通信功能,存储器用于存储程序代码,处理器用于调用程序代码,以执行本技术实施例中的区块链地址认证方法。
22.本技术实施例一方面提供了一种终端设备,包括:处理器、存储器、网络接口、输入设备以及输出设备;处理器与存储器、网络接口、输入设备以及输出设备相连,其中,网络接口用于提供网络通信功能,存储器用于存储程序代码,输入设备用于接收用户输入的指令,以产生与终端设备的用户设置以及功能控制有关的信号输入,输出设备用于输出数据信息,处理器用于调用程序代码,以执行本技术实施例中的区块链地址认证方法。
23.本技术实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行本技术实施例中的区块链地址认证方法。
24.相应的,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例中一方面提供的区块链地址认证方法。
25.在本技术实施例中,服务器通过响应提交的区块链地址认证请求,给客户端发送验证信息,客户端根据该验证信息和获取到的区块链地址构建目标虚拟资源,由于区块链地址的唯一性以及验证信息的时效性,这些信息不能被完全复刻,因此根据区块链地址和验证信息构建的目标虚拟资源具有不可替代性,进而利用该目标虚拟资源对提交的区块链地址能够进行更加有效且安全地认证。
附图说明
26.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
27.图1是本技术实施例提供的一种区块链地址认证系统的架构图;
28.图2是本技术实施例提供的一种区块链地址认证方法的流程示意图;
29.图3是本技术实施例提供的一种目标虚拟资源的结构示意图;
30.图4是本技术实施例提供的另一种区块链地址认证方法的流程示意图;
31.图5是本技术实施例提供的一种非同质化代币的结构示意图;
32.图6是本技术实施例提供的另一种区块链地址认证方法的流程示意图;
33.图7是本技术实施例提供的一种区块链地址认证装置的结构示意图;
34.图8是本技术实施例提供的另一种区块链地址认证装置的结构示意图;
35.图9是本技术实施例提供的一种服务器的结构示意图;
36.图10是本技术实施例提供的一种终端设备的结构示意图。
具体实施方式
37.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
38.下面为便于理解,首先对本技术实施例可能涉及的术语进行解释。
39.区块链:包括一系列按照产生的先后时间顺序相互接续的区块(block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
40.区块链钱包:管理区块链节点的密钥和地址的工具,是一个存储加密虚拟资产的软件程序。用于提供进行虚拟资源的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中),当然,钱包还支持查询该地址中剩余的虚拟资源。
41.区块链地址:即区块链账户地址,一般指区块链钱包地址。
42.智能合约:一个计算机化的交易协议,可以执行一个合约的条款。通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的虚拟资源转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
43.请参见图1,图1是本技术实施例提供的一种区块链地址认证系统的架构图,如图1所示,该架构图包括终端设备100、验证服务器101以及虚拟资源创建服务器102,该终端设备100与验证服务器101,以及与虚拟资源创建服务器102之间可以通过有线或无线的通信方式进行连接。
44.终端设备100不仅可以是图1示出的个人电脑,还可以是其他移动设备,例如智能手机、平板电脑、智能可穿戴设备等设备,且与服务器连接的终端设备100的数量在此也不做限制。在该终端设备中可以安装和运行各种功能应用,并由网络中的服务器和服务程序来提供相应的服务,该功能应用可以是一个在线应用,也可以是第三方应用程序(application,简称app)。可选地,功能应用可以包括需要认证区块链地址的网站、app,用户可以通过终端设备100登录到网站、app或者服务器等地方(例如,交易资格认证,参与营销活动认证等),提交认证需求,通过验证服务器101对需要认证的区块链地址进行认证。同时,终端设备100还可以运行区块链钱包这一类管理虚拟资产的工具,该区块链钱包地址(也即区块链账户地址)可以和需要认证区块链地址的网站、app或者服务器等可以进行关联,这样能够服务方的验证服务器101能够根据该区块链地址进行认证。通过终端设备100还可以运行第三方网站,这个第三方式网站用于创建(或生成)目标虚拟资源,可选地,也可以通过工具在终端设备100的区块链钱包内创建目标虚拟资源。
45.验证服务器101可以是服务方自有的,也可以是第三方的。这里的服务方是指提供
认证以及其他邀约服务的企业等机构,例如服务方为某个区块链项目可以利用认证的区块链地址邀约用户参与活动,发放活动奖励等。验证服务器101在接收到终端设备100发送的区块链地址认证请求(自有服务器)或者由服务方的其他服务器转发的区块链地址认证请求(第三方服务器)之后,可以自行启动,并且可以通过网站、短信、微信、站内信息等通讯方式向用户发送验证信息,例如数字验证码或验证代码字段,在此对验证信息的表达形式以及发送方式不做限制。服务方的验证服务器101还可以根据预设规则查询目标虚拟资源,例如根据提交的区块链地址在约定的时间内启动验证或定向查询该区块链钱包内的目标虚拟资源,并利用目标虚拟资源进行认证。
46.虚拟资源创建服务器102对应服务的是在终端设备100中通过第三方应用程序或网站生产虚拟资源的功能,可选地,在终端设备100中可以使用第三方网站工具,并利用该网站中预先生成的虚拟资源框架生成目标虚拟资源。在这个过程中,虚拟资源创建服务器102可以自动获取和填充该虚拟资源框架所需的部分属性信息,包括区块链地址和时间戳的一种或多种,属性信息中包括的验证信息则由用户通过终端设备100的输入设备输出,根据这些信息虚拟资源创建服务器102能够自动生成目标虚拟资源。需要说明的是,在第三方网站或应用程序创建的目标虚拟资源需要经过用户授权转移至用户自己的区块链钱包中。
47.由上可知,该区块链地址认证系统通过终端设备100和功能服务器(包括验证服务器101和虚拟资源创建服务器102中的一种或多种)综合运作来实现对区块链地址的认证。服务方的验证服务器101在接收到区块链地址认证请求之后发送验证信息,用户在终端设备100中利用第三方网站或者是在区块链钱包内根据接收的验证信息以及自动获取的区块链地址创建目标虚拟资源,服务方的验证服务器101通过比对该目标虚拟资源中包括的验证信息和区块链地址可以进行有效且安全地认证。
48.需要说明的是,验证服务器101和虚拟资源创建服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
49.本技术实施例提供的区块链地址认证方案可以由用户终端(例如,上述图1的终端设备100)执行,也可以服务器(如上述图1的验证服务器101)执行。
50.请参见图2,图2是本技术实施例提供的一种区块链地址认证方法的流程示意图。该区块链地址认证方法由上述服务器执行为例进行说明。其中,该区块链地址认证方法包括但不限于以下步骤:
51.s101,响应区块链地址认证请求向客户端发送第一验证信息,区块链地址认证请求包括第一区块链地址。
52.在一实施例中,该第一区块链地址是需要认证的区块链地址。服务器在接收区块链地址认证请求后,可以启动验证服务器,由验证服务器响应区块链地址认证请求向客户端发送的第一验证信息。需要说明的是,服务器发送第一验证信息的目标客户端可以和向服务器发送区块链地址认证请求的客户端不同,也可以相同,即客户端可以是指发送区块链地址认证请求给服务端的终端设备,也可以是其他终端设备。例如由个人电脑提交区块链地址认证请求,但是接收第一验证消息是智能手机。此外,验证服务器可以是第三方的服务器,也可以是提供服务的服务方自有的服务器,服务方可以利用这个认证的区块链地址
来邀约用户参与活动,发放活动奖励等。
53.第一验证信息可以是短信验证码,或者用google的授权app等多个方式向用户发送特别的验证代码字段b,可选地,第一验证信息是具有时效性的,也就是在预设时间(例如60秒)内有效,超过该时间即无效。服务器向客户端发送第一验证信息的方式可以是网站,短信,微信,站内信息等各种通讯方式。对于用户来说,只需要按照提示内容操作即可,而终端设备可以识别用户操作所提交的获取第一验证信息的方式(包括但不限于站内通讯、短信、第三方软件授权),再根据对应的方式使得用户获取第一验证信息,也就是将第一验证信息发送至终端设备中。对于第一验证信息的具体形式以及发送方式在此不做限制。
54.s102,根据第一区块链地址查询目标虚拟资源。
55.在一实施例中,服务器根据提交的区块链地址认证请求中包括的第一区块链地址,可以查询位于第一区块链地址内的目标虚拟资源,可选地,可以根据预设的规则进行查询,例如服务器在某个约定的时间启动验证时查询,也可以每隔预定时间段(如2分钟)定向到第一区块链地址并查询该第一区块链地址内的目标虚拟资源。可选地,目标虚拟资源可以是根据第一验证信息以及第一区块链地址生成的,具体的可以参见图4对应实施例所描述的内容,在此不做详述。
56.s103,利用目标虚拟资源对第一区块链地址进行认证。
57.在一实施例中,此步骤的实现方式可以是:获取目标虚拟资源包括的属性信息,该属性信息包括第二验证信息、第二区块链地址以及时间戳中的一种或多种;根据属性信息对第一区块链地址进行认证。第二验证信息可以是指根据第一验证信息输入终端设备的验证信息,可以是验证码或验证字段,该第二验证信息可能与第一验证信息不同,也可能相同。第二区块链地址是由终端设备或者创建目标虚拟资源的服务器自动获取的区块链地址,可能与提交的第一区块链地址相同,也可能不同,时间戳可以是指目标虚拟资源的生成时间。示例性地,目标虚拟资源可以是区块链上的一个区块,结合上述描述其相应结构可参见图3示出的内容,包括标准块和属性信息,该属性信息包括第二验证信息、第二区块链地址以及时间戳。可以利用属性信息包括的第二验证信息和第二区块链地址对提交的第一区块链地址进行认证,该认证可以理解为身份认证,即证明接收验证信息的用户是该区块链钱包的所有者,具体可参加下述内容。
58.可选地,根据属性信息对第一区块链地址进行认证的方式可以是:将第二区块链地址、第二验证信息与第一区块链地址、第一验证信息进行比对;若第二区块链地址与第一区块链地址相同,且第二验证信息与第一验证信息相同,则确定对第一区块链地址的认证结果为认证通过。也就是说,目标虚拟资源中的属性信息即提交的第一区块链地址和接收到的第一验证信息时,可以说明第一区块链地址的认证成功,进而能够证明该区块链地址和用户是关联的。可选地,目标虚拟资源的属性信息还可以包括时间戳,该时间戳可以用于辅助认证第一区块链地址。示例性地,当有多个区块链地址发送验证请求给服务器且验证信息相同时,该验证请求用于指示服务器对比目标虚拟资源中的属性信息,可以根据最小时间戳选定某个区块链地址的目标虚拟资源,对比该目标虚拟资源内的区块链地址是否是提交给客户端的区块链地址,以及验证信息是否是对应发送的验证信息,这样可以避免一些非法盗用验证信息进行区块链地址认证。此外,如果同一个区块链地址内生成了多个目标虚拟资源,其中包括的验证信息不同,那么可以选用最新的时间戳所在的目标虚拟资源
来比对最新的验证信息,这样通过时间戳直接快速地选定需要比对的目标资源,而不是通过遍历所有验证信息来确定对比的目标虚拟资源,可以提高区块链地址认证结果的确定速度。
59.上述比对属性信息的过程即认证过程,该认证过程可以是服务方自己认证,也可以采用第三方认证,最终目标是确定用户与区块链某个区块链账户地址a的一一对应关系。这个过程类似传统验证的模式,用户提交自己手机号码,获得一个手机验证码,此时可以通过回传验证码验证手机号码。
60.在一实施例中,区块链地址认证请求还包括目标用户的身份信息。该目标用户的身份信息可以是指登录服务方的网站或应用时表示自己身份的信息,例如,身份证号码、手机号码或其他形式的账号信息。可选地,若对第一区块链地址认证通过,则建立第一区块链地址和目标用户的身份信息之间的绑定关系。第一区块链地址认证通过,表明第一区块链地址指示的区块链钱包是登录服务方的目标用户的,将该目标用户视为可信任的用户,可以建立第一区块链地址和该目标用户的身份信息之间的绑定关系,即表示建立区块链钱包和用户之间的一一映射关系。可选地,在具体绑定关系的表现形式上,可以是服务方认证通过后通过服务器在后台建立用户和特定区块链地址的对应数据表,采用这样的方式将区块链钱包与用户身份信息绑定,进而获知用户的个人信用数据。当然,如果通过对比认证没有通过,则需要用户重新登录认证区块链地址的网站或应用,重新提交第一区块链地址,即从步骤s101重新执行。
61.基于上述内容,在实际的应用中,例如当服务方向用户提供虚拟资源借用的服务时,可以凭借用户的个人信用数据对借用虚拟资源这一行为进行担保。此外,如果存在非法盗取他人的虚拟资源等行为,可以不用再专门去交易所追踪虚拟资源流向的区块链钱包的用户具体是哪一个,而是直接根据对应数据表中明确的区块链钱包和用户的身份信息之间的关系来确定。
62.综上所述,本技术至少具有以下优点:
63.服务器通过响应区块链地址认证请求向客户端发送验证信息,其中区块链地址认证请求包括待认证区块链地址(即区块链账户地址),在后续利用目标虚拟资源进行认证的过程中,该待认证区块链地址和服务器发送的验证信息作为服务器已知数据,可以和目标虚拟资源的属性信息包括的区块链地址和验证信息进行匹配,对应查看数据的一致性来完成认证。由于每个区块链地址的不同以及验证信息存在时效性,可以使得对区块链账户地址进行认证安全度更高,并且本技术利用目标虚拟资源验证可以减少区块链账户之间不必要的交易,进而提升区块链地址认证的效率,降低操作复杂度;此外,在认证通过之后绑定区块链账户地址和用户的身份信息,也可以进一步提升查询区块链账户的用户的便捷度。
64.请参见图4,图4是本技术实施例提供的另一种区块链地址认证方法的流程示意图。为便于理解,本实施例以该方法由上述终端设备执行为例进行说明。
65.其中,该区块链地址认证方法包括但不限于以下步骤:
66.s201,向服务器提交区块链地址认证请求,区块链地址认证请求包括第一区块链地址。
67.在一实施例中,该第一区块链地址是指待认证的区块链地址,通常是指区块链钱包地址。客户端(这里指终端设备)通过相应操作可以向服务器提交区块链地址认证请求,
示例性地,用户通过终端设备登录到某个需要认证区块链地址的网站、app、服务器等地方(例如,交易资格认证,参与营销活动认证等),登录成功之后服务器提示和终端设备中的区块链钱包地址a进行连接,当用户授权连接并且连接成功,即表示终端设备向服务器提交区块链地址认证请求,其中包括连接的区块链钱包地址a。后续由服务器响应提交的区块链地址认证请求启动认证,首先是发送第一验证信息给终端设备。
68.s202,接收服务器响应区块链地址认证请求发送的第一验证信息。
69.在一实施例中,终端设备接收到的第一验证信息可以是短信验证码,也可以是用google的授权app等多个方式向用户发送验证代码字段,在此对第一验证信息的形式不做限定。可选地,终端设备接收该第一验证信息的方式可以包括通过网站、短信、微信、站内信息等各种通讯方式,在此也不做限制。需要说明的是,这里提交区块链地址认证请求的终端设备和接收第一验证信息的终端设备也可以是不同的终端设备。
70.s203,根据第一验证信息生成目标虚拟资源,目标虚拟资源用于服务器对第一区块链地址进行认证。
71.在一实施例中,生成目标虚拟资源的实现方式可以是:获取虚拟资源生成对象,虚拟资源生成对象包括属性字段,属性字段包括验证信息字段、区块链地址字段以及时间戳字段中的一种或多种;获取第一区块链地址,并根据属性字段、第一验证信息以及第一区块链地址生成目标虚拟资源。可选地,虚拟资源生成对象是虚拟资源的铸造程序,可简称为虚拟资源框架,这个框架有自定义的一个标准的格式,包括标准部分和扩展部分,标准部分是虚拟资源的原本格式,扩展部分是指新增的属性字段部分,该属性字段可以包括一个或多个且对应的字段值(即属性信息)都是待确定的,其中,区块链字段和时间戳字段的字段值可以由终端设备自动获取和确定,而验证信息字段的字段值则需要根据用户输入的验证信息来确定。
72.当属性字段包括验证信息字段和区块链字段时,目标虚拟资源包括的属性信息有第二验证信息和第二区块链地址,分别为验证信息字段和区块链字段的字段值。终端设备接收到第一验证信息之后,用户可以根据该第一验证信息手动输入验证信息作为验证信息字段的字段值,在此称之为第二验证信息,可选地,接收第一验证信息和运行虚拟资源铸造程序的终端设备为同一个,也可以是终端设备读取到该第一验证信息之后自动填入并由用户确定的验证信息,理论上第二验证信息应和第一验证信息相同,但由于一些客观或主观因素也可能是不同的。终端设备可以自动获取到第一区块链地址,即终端设备中的区块链钱包地址,根据第一区块链地址可以确定区块链字段的区块链地址,即第二区块链地址,第二区块链地址和第一区块链地址也可能相同或不同。综上,最终生成的目标虚拟资源包括第二验证信息和第二区块链地址。更进一步地,当属性字段还包括时间戳字段时,目标虚拟资源包括第二验证信息、第二区块链地址以及时间戳,时间戳可以是由终端设备自动获取目标虚拟资源的生成时间,并将其作为该时间戳字段的字段值,在此将目标虚拟资源包括的三个属性字段对应的字段值也称为属性信息。上述方式可以指通过工具在终端设备的区块链钱包中生成或铸造目标虚拟资源,可选地,可以通过调用支持该虚拟资源的标准协议的智能合约生成该目标虚拟资源。
73.在一实施例中,生成目标虚拟资源的实现方式也可以是:向第三方平台发送虚拟资源生成请求,虚拟资源生成请求包括第一验证信息,该虚拟资源生成请求用于指示第三
方平台在获取第一区块链地址之后,根据第一验证信息以及第一区块链地址生成目标虚拟资源;接收第三方平台发送的目标虚拟资源生成成功的通知消息;当接收到通知消息时,将第三方平台生成的目标虚拟资源转移到第一区块链地址。此方式对应的是目标虚拟资源在第三方平台生成并转移到第一区块链地址内。
74.可选地,第三方平台可以是指第三方应用或网站的后台服务器,而第三方应用和第三方网站在终端设备中运行,可以通过终端设备与其对应的服务器通信。在终端设备接收到第一验证消息之后,需要在第三方平台启动虚拟资源的铸造程序,即向第三方平台发送虚拟资源生成请求,该虚拟资源生成请求中包括的第一验证信息。和前述方式类似,目标虚拟资源的属性信息可以包括第二验证信息和第二区块链地址、时间戳中的一种或多种。第二验证信息可以是根据第一验证信息输入的,与第一验证信息可以相同或不同,对于区块链地址和生成时间戳第三方平台则可以自动获取和填充至铸造程序中。可选地,在这之前第三方平台可以和终端设备的第一区块链地址进行关联,以便后续第三方平台根据第一区块链地址自动获取区块链地址,理想情况下,获取的区块链地址即为第一区块链地址,由于一些影响因素,最终生成的目标虚拟资源中包括的区块链地址也可能是和第一区块链地址不同的第二区块链地址。后续需要由服务器验证目标虚拟资源包括的属性信息,进而确定认证是否能够通过。当目标虚拟资源在第三方平台成功生成之后,可以向终端设备发送通知消息告知用户虚拟资源生成成功,当终端设备接收到该通知消息时,可以将该目标虚拟资源转移到第一区块链地址中,即指终端设备的钱包地址,也就是将目标虚拟资源从第三方区块链转移到目标用户自己的区块链钱包内。在转移的过程中,通常需要用户授权,即对第一区块链地址多做一次认证,例如可以由用户输入钱包地址,点击转移按钮,由第三方平台对用户输入的钱包地址和之前与第三方平台关联的钱包地址进行认证,如果一致,就可以转移到该钱包地址内。当然,也可以由第三方平台自动获取区块链钱包地址,然后由用户确定该地址是否是转移的目标区块链地址来实现转移。综上,目标虚拟资源可以在终端设备的区块链钱包中生成,也可以通过终端设备在第三方平台生成。终端设备获取到目标虚拟资源之后,可以由服务器利用该目标虚拟资源认证第一区块链地址。
75.可选地,上述属性字段对应的属性信息由于在区块链中都可见的,可以进行一次加密,可以在目标虚拟资源生成之间前对第二验证信息加密,加密可以采用通用的sha256算法,是sha-2(secure hash algorithm-2,安全散列算法-2)下细分出的一种算法。可以采用对称加密或者非对称加密的方法,密钥也可以使用发送的第一验证信息本身,在此对算法的种类、加密方式等不做限制。需要说明的是,虽然验证信息、区块链地址等都是公开的,但是区块链地址的唯一性和验证信息的时效性,终端设备中目标虚拟资源和服务器之间约定的信息是不可替代的,即使不加密也能够保证利用目标虚拟资源进行身份验证的安全。
76.可选地,目标虚拟资源包括非同质化数字资产,该非同质化数字资产是独一无二的,不可与其他数字资产互换的虚拟资产。例如非同质化代币nft(non-fungible tokens,不可互换的代币),其具有独一无二且不可分割的属性。下面以目标虚拟资源是nft,第一验证信息是验证码为例,对生成目标虚拟资源的过程进行示例性地说明。
77.在终端设备接收到服务器发送的验证码之后,用户可以在终端设备中启动一个nft铸造程序,也就是生成目标虚拟资源的程序。可选地,可以使用第三方工具,例如第三方免费软件或第三方网站来铸造,也可以通过工具在自己钱包内完成铸造,该钱包是支持铸
造功能的钱包。所谓铸造,是指通过调用支持nft的标准协议的智能合约(例如erc721),自己生产出一个nft。为便于理解,在此以第三方网站工具铸造nft为例,服务方可以在第三方网站工具为用户提供一个预先生成的nft框架(或称之为“验证码nft”框架),也就是上述虚拟资源生成对象,对于大多数用户来说,只需要选择这个“验证码nft”框架,填入获取到的验证码就可以使用,而其他可以有后台服务器自动完成。该框架包括一个定义好的标准格式,其名称可以为标准名,例如“验证nft”,其中包括属性部分,分为三个属性字段:

需要验证的区块链地址,256位;

收到的验证码;

铸造的时间戳。如图5示出了一种非同质化代币的结构示意图。其中包括标准块和扩展属性两部分,均使用支持nft的标准协议的智能合约erc721,扩展属性部分包括区块链地址、验证码以及时间戳。对用户来说,第一个验证的区块链地址可以直接在第三方工具自动后台获取和填充,验证码部分需要输入,时间戳也是自动。
78.需要说明的是,用户在完成这个nft的铸造之后,这个nft需要位于用户自己的区块链地址内,如果是通过钱包功能内置的铸造功能生成该nft,那么这个nft是位于用户自己的钱包地址内的,但如果是在第三方区块链上,也就是通过第三方平台铸造之后位于第三方网站地址上,用户需要做一次转移,申请将这个网站地址上的nft转移到自己钱包内,通过用户授权将nft从第三方网站向自己的钱包地址转移。
79.对于后续利用目标虚拟资源对区块链地址进行认证,仍旧以nft为例进行说明,通常铸造一个nft大约在一分钟或者更短的时间内,因此服务方可以在某个约定时间(例如在验证码发送之后的有效时间结束后)启动验证钱包地址内的nft,或者按照用户提交的地址每隔预设时间(例如2分钟)定向查询是否有nft,若有则启动验证,验证主要是验证获取到的nft的属性,通过对比区块链地址是否和提交的区块链地址相同,填写的验证码是否是发送给该用户的验证码,时间戳是否与约定的时间合理匹配的来验证。可选地,如果这些数据是经过加密的数据,还需要有后台服务器的自动程序解密之后再对比,而这个过程是与用户无关的。如果对比通过,则这个区块链地址绑定成功。服务方在后台建立用户和特定区块链地址的对应数据表。如果对比未通过,则需要重新获取验证码,重新铸造目标虚拟资源来验证。
80.综上所述,本技术实施例至少具有以下优点:
81.客户端通过提交需要认证的区块链地址获取验证信息,并根据该验证信息生成目标虚拟资源,包括在支持创建目标虚拟资源的区块链钱包内或者使用第三方平台生成,其中,利用预先定义好的虚拟资源铸造程序来生成目标虚拟资源,可以提高目标虚拟资源的生成的便捷度和效率,从而降低区块链地址认证的操作复杂度,使得认证过程更加简单高效;此外,利用目标虚拟资源包括的属性信息与客户端和服务器之间约定的信息,对区块链账户地址进行认证,可以提高区块链账户地址认证的安全性。
82.基于上述实施例阐述的内容,对服务器和客户端之间交互的内容进行如下说明,请参见图6,是本技术实施例提供的另一种区块链地址认证方法的流程示意图,包括但不限于以下步骤:
83.s301,提交区块链地址认证请求。具体是由客户端向服务方所在的服务器提交区块链地址认证请求,该区块链地址认证请求包括第一区块链地址,可选地,可以是用户通过客户端登录服务方所在的服务器之后提交该区块链地址认证请求。
84.s302,响应区块链地址认证请求发送第一验证信息。由服务器响应该区块链地址认证请求发送第一验证信息给客户端。客户端接收到服务器响应区块链地址认证请求发送的第一验证信息之后,后续生成目标虚拟资源的方式包括两种:一种可以是在客户端的区块链钱包内生成,另一种则是通过第三方平台生成,该方式下需要客户端与该第三方平台的后台服务器之间交互。这两种方式分别对应后续步骤s303以及步骤s304-s309,在实际应用中可以任意选择一种,且两种方式表述的步骤代号并不构成方式的选择优先顺序。
85.s303,根据第一区块链地址和第一验证信息生成目标虚拟资源。这种对应的是在钱包内生成目标虚拟资源的方式,该目标虚拟资源可以包括第二验证信息和第二区块链地址,第二区块链地址可以是由客户端自动获取的区块链地址,通常该区块链地址是第一区块链地址,但也可能是和第一区块链地址不同的,第二验证信息可以是终端设备获取用户根据第一验证信息输入的,或者终端设备自动识别的第二验证信息,该第二验证信息和第一验证信息可以是相同或不同的。可选地,根据用户在客户端启动的虚拟资源铸造程序以及这些获取到的数据可以生成目标虚拟资源。
86.若采用在第三方平台生成目标虚拟资源的方式,则可以包括以下步骤:
87.s304,发送虚拟资源生成请求。该虚拟资源请求包括用户根据第一验证信息填入的第二验证信息。第三方平台的服务器在响应该虚拟资源生成请求之后,可以执行s305这一步骤,即根据第一区块链地址和第一验证信息生成目标虚拟资源。由于此步骤和在客户端创建目标虚拟资源的内容相似,在此不做赘述,需要说明的是,第一区块链地址是由第三方平台的服务器获取的,具体获取方式可以是通过终端设备登录第三方平台,将区块链钱包与该第三方平台关联,以此可以在用户授权的情况下自动获取到该钱包地址,但该服务器获取到的区块链地址也可能是错误的钱包地址,导致最终生成的目标虚拟资源包括的第二区块链地址与第一区块链地址不相同。当然,无论正确与否,只要有以上数据,都可以生成目标虚拟资源,进而可以执行步骤s306发送目标虚拟资源成功生成的通知消息。具体是由第三方服务器向客户端发送该通知消息,在客户端接收到该通知消息之后,需要将目标虚拟资源转移到区块链钱包内,在此之前需要执行步骤s307授权钱包地址认证,由用户通过终端设备授权,代表用户授权的方式可以是输入转移的钱包地址后点击转移,也可以是服务器在目标虚拟资源生成成功后提示用户是否转移到之前关联的钱包地址内。可选地,当用户授权之后,服务器对获取到的区块链地址和关联的钱包地址进行比对认证,当对比一致时,可以执行s308确定转移的钱包地址认证成功,之后便可以执行s309的转移目标虚拟资源,将目标虚拟资源由第三方平台转移至客户端的钱包地址内。
88.无论通过上述何种方式生成目标虚拟资源,最终目标虚拟资源都是在客户端的钱包内,由此,服务方的服务器可以和客户端交互,执行s310约定时间启动验证或定向查询验证时,确定钱包内是否有目标虚拟资源,进而执行步骤s311获取目标虚拟资源的属性信息(例如第二区块链地址、第二验证信息等)。需要说明的是,步骤s310也可以是服务器获取到第一区块链地址后就执行,即该步骤在生成目标虚拟资源之前或之后执行没有顺序限定,在没有获取到目标虚拟资源之前,可以一直执行s310,直到检测到钱包内有目标虚拟资源。
89.s312,利用目标虚拟资源的属性信息对第一区块链地址进行区块链地址认证。其中,属性信息可以包括第二区块链地址和第二验证信息,通过对比第一区块链地址和第二区块链地址、第一验证信息和第二验证信息是否一致,更进一步地,还可以验证生成时间戳
是否在验证信息的有效时间内,以此确定区块链地址认证的结果。当对区块链地址认证的结果为通过认证时,即执行步骤s313当区块链地址认证通过时,绑定目标用户的身份信息和第一区块链地址。需要说明的是,当区块链地址认证没有通过时,则从步骤s301重新开始。
90.综上所述,本技术实施例至少具有以下优点:
91.客户端通过访问服务方的服务器提交区块链地址认证请求包括的待认证区块链地址之后,服务方的服务器可以向客户端发送的验证信息,其中待认证区块链地址和验证信息均可以作为用户与服务方之间的约定信息,根据这些约定信息可以在终端设备本地或第三方平台的服务器内生成目标虚拟资源,通过对比目标虚拟资源中的属性信息和约定信息的一致性,实现对区块链地址的认证。由于这些约定信息可以唯一标识用户身份,因此利用目标虚拟资源认证区块链账户地址能够更加安全。
92.请参见图7,图7是本技术实施例提供的一种区块链地址认证装置的结构示意图。上述区块链地址认证装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该区块链地址认证装置为一个应用软件;该装置可以用于执行本技术实施例提供的方法中的相应步骤。如图7所示,该区块链地址认证装置70可以包括:发送模块701、查询模块702以及认证模块703。
93.发送模块701,用于响应区块链地址认证请求向客户端发送第一验证信息,区块链地址认证请求包括第一区块链地址;
94.查询模块702,用于根据第一区块链地址查询目标虚拟资源,目标虚拟资源是根据第一验证信息以及第一区块链地址生成的;
95.认证模块703,用于利用目标虚拟资源对第一区块链地址进行认证。
96.在一实施例中,认证模块703,具体用于:获取目标虚拟资源包括的属性信息,属性信息包括第二验证信息、第二区块链地址以及时间戳中的一种或多种;根据属性信息对第一区块链地址进行认证。
97.在一实施例中,认证模块703,具体用于:将第二区块链地址、第二验证信息与第一区块链地址、第一验证信息进行比对;若第二区块链地址与第一区块链地址相同,且第二验证信息与第一验证信息相同,则确定对第一区块链地址的认证结果为认证通过。
98.在一实施例中,区块链地址认证请求还包括目标用户的身份信息,该区块链地址认证装置70还包括绑定模块704,用于:若对第一区块链地址认证通过,则建立第一区块链地址和目标用户的身份信息之间的绑定关系。
99.可以理解的是,本技术实施例所描述的区块链地址认证装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
100.请参见图8,图8是本技术实施例提供的另一种区块链地址认证装置的结构示意图。上述区块链地址认证装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该区块链地址认证装置为一个应用软件;该装置可以用于执行本技术实施例提供的方法中的相应步骤。如图8所示,该区块链地址认证装置80可以包括:提交模块801、接收模块802以及生成模块803。
101.提交模块801,用于向服务器提交区块链地址认证请求,区块链地址认证请求包括
第一区块链地址;
102.接收模块802,用于接收服务器响应区块链地址认证请求发送的第一验证信息;
103.生成模块803,用于根据第一验证信息生成目标虚拟资源,目标虚拟资源用于服务器对第一区块链地址进行认证。
104.在一实施例中,生成模块803,具体用于:获取虚拟资源生成对象,虚拟资源生成对象包括属性字段,属性字段包括验证信息字段、区块链地址字段以及时间戳字段中的一种或多种;获取第一区块链地址,并根据属性字段、第一验证信息以及第一区块链地址生成目标虚拟资源。
105.在一实施例中,生成模块803,具体还用于:向第三方平台发送虚拟资源生成请求,虚拟资源生成请求包括第二验证信息,虚拟资源生成请求用于指示第三方平台在获取第一区块链地址之后,根据第一验证信息以及第一区块链地址生成目标虚拟资源;接收第三方平台发送的目标虚拟资源生成成功的通知消息;当接收到通知消息时,将第三方平台生成的目标虚拟资源转移到第一区块链地址。可选地,目标虚拟资源包括属性信息,属性信息用于服务器对第一区块链地址进行认证,其中,属性信息包括第二验证信息、第二区块链地址以及时间戳中的一种或多种。
106.可以理解的是,本技术实施例所描述的区块链地址认证装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
107.请参见图9,是本技术实施例提供的一种服务器的结构示意图,该服务器900可以包括处理器901、存储器902、网络接口903和至少一个通信总线904。其中,处理器901用于调度计算机程序,可以包括中央处理器、控制器、微处理器;存储器902用于存储计算机程序,可以包括高速随机存取存储器ram,非易失性存储器,例如磁盘存储器件、闪存器件;网络接口903可选的可以包括标准的有线接口、无线接口(如wi-fi接口),提供数据通信功能,通信总线904负责连接各个通信元件。该服务器900可以对应于前文的验证服务器101。
108.其中,处理器901可以用于调用存储器中的计算机程序,以执行如下操作:
109.响应区块链地址认证请求向客户端发送第一验证信息,区块链地址认证请求包括第一区块链地址;
110.根据第一区块链地址查询目标虚拟资源,目标虚拟资源是根据第一验证信息以及第一区块链地址生成的;
111.利用目标虚拟资源对第一区块链地址进行认证。
112.在一实施例中,处理器901具体用于:获取目标虚拟资源包括的属性信息,属性信息包括第二验证信息、第二区块链地址以及时间戳中的一种或多种;根据属性信息对第一区块链地址进行认证。
113.在一实施例中,处理器901具体用于:将第二区块链地址、第二验证信息与第一区块链地址、第一验证信息进行比对;若第二区块链地址与第一区块链地址相同,且第二验证信息与第一验证信息相同,则确定对第一区块链地址的认证结果为认证通过。
114.在一实施例中,区块链地址认证请求还包括目标用户的身份信息,处理器901还用于:若对第一区块链地址认证通过,则建立第一区块链地址和目标用户的身份信息之间的绑定关系。
115.应当理解,本技术实施例中所描述的服务器900可执行前文所对应实施例中对该区块链地址认证方法的描述,也可执行前文图7所对应实施例中对该区块链地址认证装置70的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
116.请参见图10,是本技术实施例提供的一种终端设备的结构示意图。如图10所示,该终端设备1000可以包括输入设备1001、输出设备1002、处理器1003、存储器1004、网络接口1005和至少一个通信总线1006。该终端设备1000可以对应于前文的终端设备100,其中:
117.处理器1003可以是中央处理器(central processing unit,cpu)。处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)等。上述pld可以是现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)等。
118.存储器1004可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器1004也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,ssd)等;存储器1004可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1004可选的还可以是至少一个位于远离前述处理器1003的存储装置。存储器1004还可以包括上述种类的存储器的组合。如图10所示,作为一种计算机可读存储介质的存储器1004中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
119.网络接口1005可以包括标准的有线接口、无线接口(如wi-fi接口),用于提供数据通信功能;通信总线1006负责连接各个通信元件;输入设备1001接收用户输入的指令,以产生与终端设备的用户设置以及功能控制有关的信号输入。
120.在一实施例中,输入设备1001包括但不限于触控面板、物理键盘或虚拟键盘(keyboard)、功能键、鼠标等中的一种或多种;输出设备1002用于输出数据信息,在本技术实施例中对应展示功能客户端界面,例如区块链钱包,铸造目标虚拟资源的第三方平台、服务方的网站等,输出设备1002可以包括显示屏(display)或其他显示设备;处理器1003是终端设备的控制中心,由各种接口和线路连接整个终端设备的各个部分,通过调度运行存储在存储器1004中的计算机程序,执行各种功能。
121.其中,处理器1003可以用于调用存储器中的计算机程序,以执行如下操作:
122.向服务器提交区块链地址认证请求,区块链地址认证请求包括第一区块链地址;
123.接收服务器响应区块链地址认证请求发送的第一验证信息;
124.根据第一验证信息生成目标虚拟资源,目标虚拟资源用于服务器对第一区块链地址进行认证。
125.在一实施例中,处理器1003具体用于:获取虚拟资源生成对象,虚拟资源生成对象包括属性字段,属性字段包括验证信息字段、区块链地址字段以及时间戳字段中的一种或多种;获取第一区块链地址,并根据属性字段、第一验证信息以及第一区块链地址生成目标虚拟资源。
126.在一实施例中,处理器1003具体用于:向第三方平台发送虚拟资源生成请求,虚拟资源生成请求包括第一验证信息,虚拟资源生成请求用于指示第三方平台在获取第一区块
链地址之后,根据第一验证信息以及第一区块链地址生成目标虚拟资源;接收第三方平台发送的目标虚拟资源生成成功的通知消息;当接收到通知消息时,将第三方平台生成的目标虚拟资源转移到第一区块链地址。可选地,目标虚拟资源包括属性信息,属性信息用于服务器对第一区块链地址进行认证,其中,属性信息包括第二验证信息、第二区块链地址以及时间戳中的一种或多种。
127.应当理解,本技术实施例中所描述的终端设备1000可执行前文所对应实施例中对该区块链地址认证方法的描述,也可执行前文图8所对应实施例中对该区块链地址认证装置80的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
128.此外,还应指出,本技术实施例还提供一种存储介质,该存储介质中存储了前述区块链地址认证方法的计算机程序,该计算机程序包括程序指令,当一个或多个处理器加载并执行该程序指令,可以实现实施例一种对区块链地址认证方法的描述,这里不再赘述,对采用相同方法的有益效果描述,也在此不再赘述。可以理解的是,程序指令可以被部署在一个或能够互相通信的多个计算机设备上执行。
129.本技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法的实施例中所执行的步骤。
130.最后,还需说明的是,本技术的说明书和权利要求书及上述附图中的术语,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
131.以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献