使用散列链表示标量数字资产的方法和系统与流程

文档序号:32083982发布日期:2022-11-05 08:29阅读:30来源:国知局
使用散列链表示标量数字资产的方法和系统与流程
使用散列链表示标量数字资产的方法和系统
1.相关申请的交叉引用
2.本技术要求2020年3月20日提交的美国临时专利申请no.62/992,219的优先权,该临时申请的内容通过引用包含在本文中。
技术领域
3.本公开一般涉及使用散列链表示标量数字资产,具体地,涉及使用散列链以使离线环境中标量数字资产的可审计的可追溯性成为可能。


背景技术:

4.近年来,与传统的法定货币相比,数字货币的使用率越来越高。许多数字货币利用区块链技术来减少所谓的“双重支付”问题的可能性。双重支付是数字货币可能被可以有利于他/她自己地操纵网络的数字货币持有者支付两次的风险。区块链技术使用不可改变的共享分类账来防止这种“双重支付”问题,在不可改变的共享分类账中,每个交易都由区块链网络按照交易发生的顺序来确认和验证。因此,数字货币的第一次支付会在第二次“双重”支付之前被确认和验证,第二次“双重”支付会被区块链网络识别为无效。然而,为了使这样的双重支付安全机制起作用,目前的技术要求数字货币连接到区块链网络。
5.大多数基于资产的系统固有的技术问题是如何有效地唯一识别各个资产。虽然可以随机地选择唯一的标识符,但是必须有一种方法来检查和避免冲突,如果要传送大量的资产,则数据流可能会变得非常大。从而,需要一种方法来唯一地识别各个资产而不必担心冲突,同时提供按范围或分组等识别可能大量的资产的能力。


技术实现要素:

6.本公开提供了用于使用散列链表示标量数字资产的示例性系统和方法的说明。所述方法和系统可以包括处理器,所述处理器可以从计算设备接收对标量数字资产的一个或多个单元的数据请求。所述处理器可以识别由所述计算设备请求的所述标量数字资产,以及所述标量数字资产的所述一个或多个单元。所述处理器可以验证所述计算设备可访问所述标量数字资产。所述处理器可以生成所述标量数字资产的所述一个或多个单元的散列链,并将包含所述标量数字资产的所述一个或多个单元的散列链的数据响应消息发送到所述计算设备。
附图说明
7.当结合附图阅读时,从以下的示例性实施例的详细说明可以更好地理解本公开的范围。附图中包括以下的图:
8.图1是图解说明用于使用散列链来进行标量数字资产的表示的高级系统架构的框图。
9.图2是图解说明按照示例性实施例的用于使用散列链进行标量数字资产的表示的
图1的系统的计算系统的框图。
10.图3是图解说明按照示例性实施例的在图1的系统中用于使用散列链表示标量数字资产的过程的流程图。
11.图4是图解说明按照示例性实施例的用于使用散列链表示标量数字资产的示例性方法的流程图。
12.图5是图解说明按照示例性实施例的计算机系统架构的框图。
13.根据下文中提供的详细说明,本公开的其他适用性领域将变得明显。应理解的是,示例性实施例的详细说明只是用于举例说明,于是,并不一定限制本公开的范围。
具体实施方式
14.术语表
15.区块链-基于区块链的货币的所有交易的公共分类账。一个或多个计算设备可以构成区块链网络,区块链网络可被配置为处理交易,并将其记录为区块链中的区块的一部分。一旦完成一个区块,该区块就被添加到区块链,并由此更新交易记录。在许多情况下,区块链可以是按时间顺序的交易的分类账,或者可以按适合于由区块链网络使用的任何其他顺序呈现。在一些构成中,记录在区块链中的交易可包括目的地地址和货币量,使得区块链记录多少货币可归于特定地址。在一些情况下,可以捕获附加的信息,比如源地址、时间戳等。在一些实施例中,区块链还可以由通过工作量证明和/或与之关联的任何其他适当验证技术,由区块链网络确认和验证的附加数据(在一些情况下,任意数据)组成。在一些情况下,此类数据可以作为交易的一部分包含在区块链中,比如包含在附加到交易数据的附加数据中。在此类情况下,区块链可能不直接与特定的数字货币、虚拟货币、法定货币或其他类型的货币关联。
16.使用散列链表示标量数字资产的系统
17.图1图解说明用于使用散列链表示标量数字资产的系统100。
18.在系统100中,计算设备102可以起客户端设备作用,并与处理服务器104通信。在示例性实施例中,处理服务器104可以作为但不限于标量数字资产仲裁者(moderator)或监管者。例如,处理服务器104可以作为货币仲裁者,比如但不限于银行或其他金融机构。其他类型的资产会具有其他仲裁者,例如,内容提供商或者许可管理机构。计算设备102和处理服务器104可以是专门配置为进行本文中讨论的功能的任何类型的计算系统,比如如下更详细讨论的图2中图解所示的计算系统200或图5中图解所示的计算系统500。
19.在系统100中,计算设备102可以以电子方式将数据请求106发送到处理服务器104。在示例性实施例中,数据请求106可以针对的是存储在区块链网络110上的标量数字资产。标量资产可以是任何资产,比如但不限于数字货币、虚拟货币、法定货币或其他类型的货币、数据文件、或者可以使用实数量化的任何其他类型的数字资产。标量数字资产能够被分解为组成整个标量数字资产的一个或多个单元。例如,计算设备可以以电子方式向处理服务器104发送对20美元,即,标量数字资产的数据请求106,该标量数字资产可以被分解为美元和美分的单元,例如2张10美元钞票、4张5美元钞票、20张1美元钞票或2000美分,以及它们的混合物等。由于散列链实际上可以是任意长度,因此这些单元可能是最小的面额。此外,数据请求106可以包括与计算设备102关联的凭证,比如但不限于用户名、密码、账号或
任何其他识别信息等。计算设备102可以使用任何适当的通信网络,比如但不限于图5中图解所示的通信基础设施506,以电子方式将数据请求106发送到处理服务器104。
20.在系统100中,处理服务器104可以接收对存储在区块链网络110上的标量数字资产的数据请求106。在示例性实施例中,处理服务器104可以是与区块链网络110关联的节点,并被配置为将区块链交易和/或区块链交易的区块发布到与之关联的区块链。在其他实施例中,处理服务器104可被配置为以电子方式与中间计算设备通信,中间计算设备可以是区块链网络110的节点。处理服务器104与区块链网络110和/或中间计算设备之间的通信可以使用任何适当的通信网络,比如但不限于因特网来进行。
21.处理服务器104可以验证计算设备102可访问存储在区块链网络110上的所请求的标量数字资产。在实施例中,处理服务器104可以查询与处理服务器104关联的存储器,该存储器存储与计算设备102关联的所有资产的记录。在另一个实施例中,处理服务器可以存储与计算设备102关联并且区块链网络110允许处理服务器104访问存储在区块链网络110上的与计算设备102关联的资产的凭证,比如但不限于用户名、账号、私钥和/或公钥。例如,处理服务器104可以起标量数字资产仲裁者和/或监管者作用,从而控制计算设备102对区块链网络110的访问。
22.处理服务器104可以识别在数据请求106中请求的标量数字资产的一个或多个单元。在示例性实施例中,处理服务器104可以识别所请求的数字标量资产的最小单元。继续上面的例子,如果数据请求106针对的是20美元,则处理服务器104可以将表示2000美分,即,美元的最小面额的2000个单元识别为所请求的标量数字资产的一个或多个单元。在另一个实施例中,处理服务器104可以识别所请求的可伸缩资产的定义单元,其中定义单元是比所请求的可伸缩资产的最小单元大的单元。继续上面的例子,如果数据请求106针对的是20美元,则处理服务器104可以识别表示2张10美元钞票的2个单元,表示4张5美元钞票的4个单元,或者表示20张1美元钞票的20个单元等。
23.处理服务器104生成散列链来表示由计算设备102在数据请求106中请求的标量数字资产。散列链是通过获取初始值并应用散列算法生成后续值来创建的,其中散列是单向散列,从而防止任何实体从后续值识别初始值。这个过程被重复很多次,其中所创建的散列值随后被一次一次地散列,从而创建从可能已这样被散列了数千次的初始值开始的链。例如,处理服务器104可以生成初始秘密值x。一旦识别了初始秘密值x,处理服务器104就可以通过对初始值应用散列算法来散列初始值,以获得新的散列值,这里称为h(x0)。散列算法可以是单向加密散列函数,使得没有办法从h(x0)识别x。一旦已获得了散列值h(x0),处理服务器104就可以通过再次散列该值来重复该过程,以获得散列值h(h(x0)),这里也称为h(x1)。计算设备102可以继续重复该过程很多次(n次),以得到看起来会如下所示的散列链中的最终值h(xn):
[0024][0025]
在示例性实施例中,处理服务器104通过获取随机秘密值(x),然后对标量数字资产的每个单元应用约定的散列摘要函数(h),生成计算设备102所请求的标量数字资产的散
列链。随机秘密值(x)可以是随机或伪随机生成的初始值,由计算设备102的用户选择,或者使用任何合适的方法识别。散列摘要函数可以是任何加密散列函数,比如但不限于sha-256。该过程结果产生确定且唯一的连接散列链。继续上面的例子,其中所请求的标量数字资产是20美元,处理服务器104会应用散列摘要函数(h)2000次,结果产生长度为2,000个散列的散列链,每个散列代表1美分。于是,标量数字资产(例如20美元)的每个单元(例如,美分)会在2000个散列的散列链中具有唯一且不可改变的标识符。
[0026]
处理服务器104可以以电子的方式将数据响应消息108与所请求的数据一起发送到计算设备102。在示例性实施例中,数据响应消息108包括所请求的标量数字资产的散列链。例如,在上述例子中,数据响应消息会包括2000个链的散列链,它代表计算设备102所请求的20美元的每一美分。在示例性环境中,处理服务器104将所请求的标量数字资产的散列链发送到计算设备102,以在离线环境中使用。例如,计算设备102可以将标量数字资产的全部或部分发送到其他计算设备。继续上面的例子,计算设备可以发送20美元的所有2000个单元,或者表示20美元的2000个单元中的指定部分,例如,表示10美元的1000个单元,或者表示1美元的100个单元。
[0027]
目前,需要支持其中共享的数字分类账或区块链不可用于提供双重支付保护的离线用例。本文中讨论的方法和系统允许计算设备102以可追溯且可审计的方式在离线环境中将散列链所表示的标量数字资产发送到其他计算设备。由于散列链中的每个散列表示标量数字资产的单个单元,因此标量数字资产的每个单元都将保持其身份,并且将具有唯一且不可改变的起源,即原始秘密值x,而不管每个单元被计算设备102离线转移了多少次。因此,本文中讨论的方法和系统对于使用散列链在离线环境中转移标量数字资产的可审计且可追溯的方式,提供了一种现有技术没有解决的新的解决方案。此外,本文中讨论的方法和系统提供了经由在离线环境中在用户之间直接交换的标量数字资产的散列链对值的单元级追溯。
[0028]
计算系统
[0029]
图2图解说明计算系统200的实施例,计算系统200比如可以充当系统100中的计算设备102和/或处理服务器104。对本领域的技术人员来说,显然图2中图解所示的计算系统200的实施例只是作为例证提供的,不可能穷尽适合于进行本文中讨论的功能的计算系统200的所有可能构成。例如,在图5中图解所示并且下面更详细讨论的计算机系统500可以是计算系统200的适当构成。
[0030]
计算系统200可以包括接收设备202。接收设备202可被配置为借助一种或多种网络协议,通过一个或多个网络接收数据。在一些情况下,接收设备202可被配置为借助一种或多种通信方法,比如射频、局域网、无线局域网、个域网、蜂窝通信网络、蓝牙、因特网等,从计算设备102、处理服务器104、以及其他系统和实体接收数据。在一些实施例中,接收设备202可以由多个设备,比如用于通过不同网络接收数据的不同接收设备,比如用于通过局域网接收数据的第一接收设备和用于经由因特网接收数据的第二接收设备,构成。接收设备202可以接收以电子方式发送的数据信号,其中数据可被叠加或以其他方式编码在数据信号上,并且可以通过接收设备202进行的数据信号的接收,被解码、解析、读取或以其他方式获得。在一些情况下,接收设备202可以包括解析模块,用于解析接收到的数据信号,以获得叠加在数据信号上的数据。例如,接收设备202可以包括解析器程序,所述解析器程序被
配置为接收数据信号,并将接收到的数据信号变换成由处理设备进行的功能的可用输入,以便实现记载在本文中的方法和系统。
[0031]
接收设备202可被配置为接收由计算设备102以电子方式发送的数据信号,该数据信号可以叠加有或以其他方式编码有数据请求106。接收设备202还可被配置为接收由处理服务器104以电子方式发送的数据信号,该数据信号可以叠加有或以其他方式编码有数据响应消息108,数据响应消息108可以包括散列值。
[0032]
计算系统200还可以包括通信模块204。通信模块204可被配置为在计算系统200的模块、引擎、数据库、存储器和其他组件之间发送数据,用于进行在本文中讨论的功能。通信模块204可以由一种或多种通信类型组成,并利用各种通信方法在计算设备内进行通信。例如,通信模块204可以由总线、触针连接器、导线等组成。在一些实施例中,通信模块204还可被配置为在计算系统200的内部组件和计算系统200的外部组件,比如外部连接的数据库、显示设备、输出设备等之间进行通信。计算系统200还可以包括处理设备。对本领域的技术人员来说,显然处理设备可被配置为进行本文中讨论的计算系统200的功能。在一些实施例中,处理设备可以包括和/或由专门配置为进行处理设备的一种或多种功能的多个引擎和/或模块组成,比如查询模块214、验证模块216、生成模块218等。本文中使用的术语“模块”可以是被特别编程,以便接收输入,使用所述输入进行一种或多种处理,并提供输出的软件或硬件。基于本公开对本领域的技术人员来说,各个模块进行的输入、输出和处理将是显而易见的。
[0033]
计算系统200还可以包括存储器206。存储器206可被配置为存储供计算系统200用于进行本文中讨论的功能的数据,比如公钥和私钥、对称密钥等。存储器206可被配置为使用适当的数据格式化方法和模式来存储数据,并且可以是任何适当类型的存储器,比如只读存储器、随机存取存储器等。对本领域的技术人员来说,显然存储器206例如可以包括加密密钥和算法、通信协议和标准、数据格式化标准和协议、处理设备的模块和应用程序的程序代码、以及适合于由计算系统200用于进行本文中公开的功能的其他数据。在一些实施例中,存储器206可以由关系数据库组成,或者可以包括关系数据库,所述关系数据库利用结构化查询语言进行存储在其中的结构化数据集的存储、识别、修改、更新、访问等。存储器206可被配置为存储例如加密密钥、盐、一次性随机数、用于后端系统的通信信息等。
[0034]
存储器206可被配置为存储散列链和与之关联的数据。在计算设备102中,存储器206可以存储一个或多个初始值和与之关联的任何散列链值。在计算设备102中,存储器206可以存储作为发送的数据响应消息108的一部分而接收的散列链,用于标量数字资产的离线转移。此外,在计算设备102中,存储器206可以存储由散列链表示的标量数字资产的一个或多个单元的任何后续转移。在处理服务器104中,存储器206可以存储随机秘密值x,即,用于开始散列链的初始值。处理服务器104的存储器206可以存储与计算设备102关联的公钥和私钥,用于查询区块链网络110以访问计算设备102所请求的标量数字资产。此外,处理服务器104的存储器206可以存储作为发送的数据响应消息108的一部分而创建的散列链,以用于计算设备102对标量数字资产的离线转移。
[0035]
计算系统200可以包括查询模块214。查询模块214可被配置为对数据库执行查询以识别信息。查询模块214可以接收一个或多个数据值或查询字符串,并且可以对所指示的数据库(比如计算系统200的存储器206)执行基于此的查询字符串,以识别存储在所述数据
库中的信息。查询模块214然后可以根据需要,把识别的信息输出到计算系统200的适当引擎或模块。查询模块214例如可以对计算系统200的存储器206执行查询,以识别所请求的标量数字资产,该标量数字资产将被散列成散列链,以便包含在要发送到计算设备102的数据响应消息108中。查询模块214例如还可以对计算系统200的存储器206执行查询,以识别组成与计算设备102关联的标量数字资产的一个或多个单元。
[0036]
计算系统200还可以包括验证模块216。验证模块216可被配置为作为本文中讨论的功能的一部分,为计算系统200进行验证。验证模块216可以接收指令作为输入,所述指令可以包括待验证的数据和/或验证中要使用的数据。验证模块216可以按照请求进行验证,并且可以将验证结果输出到计算系统200的其他模块或引擎。验证模块216例如可被配置为验证计算设备102可以访问存储在区块链网络110上的所请求的标量数字资产。
[0037]
计算系统200还可以包括生成模块218。生成模块218可被配置为生成供计算系统200用于进行本文中讨论的功能的数据。生成模块218可以接收指令作为输入,可以基于指令生成数据,并且可以将生成的数据输出到计算系统200的一个或多个模块。例如,生成模块218可被配置为通过对初始值应用散列摘要函数来生成散列链,比如用于表示标量数字资产,以便发送到计算设备102。
[0038]
计算系统200还可以包括发送设备220。发送设备220可被配置为借助一种或多种网络协议,通过一个或多个网络发送数据。在一些情况下,发送设备220可被配置为通过一种或多种通信方法,局域网、无线局域网、蜂窝通信、蓝牙、射频、因特网等,将数据发送到计算设备102、处理服务器104、区块链网络110和其他实体。在一些实施例中,发送设备220可以由多个设备,比如用于通过不同网络发送数据的不同发送设备、比如用于通过局域网发送数据的第一发送设备和用于经由因特网发送数据的第二发送设备组成。发送设备220可以以电子方式发送数据信号,该数据信号叠加有可由接收计算设备解析的数据。在一些情况下,发送设备220可以包括用于叠加、编码或者将数据格式化成适合于发送的数据信号的一个或多个模块。
[0039]
发送设备220可被配置为以电子方式向处理服务器104发送数据信号,该数据信号叠加有或其他方式编码有数据请求106,数据请求106可以包括在本文中讨论的功能中使用的数据。发送设备220还可被配置为以电子方式向计算设备102发送数据信号,该数据信号可以叠加有或以其他方式编码有数据响应消息108,比如可以包括响应于数据请求106而发送到计算设备102的表示标量数字资产的一个或多个单元的散列链或任何其他信息。
[0040]
用于使用散列链表示标量数字资产的过程
[0041]
图3图解说明用于使用散列链表示标量数字资产的在图1的系统100中执行的示例性过程。
[0042]
在步骤302,计算设备102可以使用任何适当的通信方法,以电子方式向处理服务器104发送(例如,经由发送设备220)数据请求106,以开始与处理服务器104的通信会话。在步骤304,处理服务器104可以接收(例如,经由接收设备202)数据请求106,其中数据请求可以包括对存储在区块链网络110上的标量数字资产的一个或多个单元的请求。
[0043]
在步骤306,处理服务器104可以识别(例如,经由查询模块214所执行的查询)计算设备102通过数据请求106在区块链网络110上所请求的标量数字资产。此外,在步骤308,处理服务器可以识别(例如,经由查询模块214执行的查询)所请求的标量数字资产的一个或
多个单元。应注意的是,散列值的总数可以用范围来识别,例如,在一个例子中“x1-x4”会识别4美分,从而避免了识别x1、x2、x3、x4的需要。这通过使用相对较小的一组数据值,大大减少了传送大量资产的需要。
[0044]
在步骤310,该处理可以验证(例如,经由查询模块214所执行的查询)计算设备102可访问所请求的存储在区块链网络110上的标量数字资产。
[0045]
在步骤312,处理服务器可以(例如,经由其生成模块218)通过将使用随机初始值的散列摘要函数应用于所请求的标量数字资产的每个单元,生成所请求的标量数字资产的一个或多个识别单元的散列链。
[0046]
在步骤314,处理服务器可以向计算设备102发送(例如,经由发送设备220)数据响应消息108。在步骤316,计算设备102可以接收(例如,经由其接收设备202)数据响应消息108,数据响应消息108包含表示在数据请求106中所请求的标量数字资产的散列链。
[0047]
用于使用散列链表示标量数字资产的示例性方法
[0048]
图4从图1的系统100中的处理服务器104的角度图解说明了用于使用散列链表示标量数字资产的方法400。
[0049]
在步骤402,处理服务器(例如,处理服务器104)的接收器(例如,接收设备202)可以从计算设备(例如,计算设备102)接收数据请求(例如,数据请求106)。数据请求可以针对的是由处理服务器104仲裁和/或监管的存储在分布式分类账(例如,区块链网络110)上的标量数字资产的一个或多个单元。
[0050]
在步骤404,处理服务器(例如,经由查询模块214执行的查询)可以在分布式分类账上识别计算设备(例如,计算设备102)所请求的标量数字资产。
[0051]
在步骤406,处理服务器可以通过处理器(例如,经由查询模块214执行的查询)识别客户端设备所请求的标量数字资产的一个或多个单元。处理服务器可以识别标量数字资产的若干最小单元或者标量数字资产的指定单元大小。
[0052]
在步骤408,处理服务器可以通过处理器(例如,验证模块216)验证计算设备可以访问所请求的存储在分布式分类账上的标量数字资产。
[0053]
在步骤410,处理服务器可以通过处理服务器的处理器(例如,生成模块218),通过使用随机初始值将散列摘要函数应用于标量数字资产的所述一个或多个单元来生成散列链。这通过将使用随机初始值的散列摘要函数应用于所请求的标量数字资产的每个识别单元,结果产生表示所请求的标量数字资产的散列链。
[0054]
在步骤412,处理服务器的发送器(例如,发送设备220)可以向计算设备发送数据响应消息(例如,数据响应消息108),该数据响应消息包含标量数字资产的所述一个或多个单元的散列链。
[0055]
计算机系统架构
[0056]
图5图解说明其中可以作为计算机可读代码地实现本公开的实施例,或其各个部分的计算机系统500。例如,图1的计算设备102和处理服务器104以及图2的计算系统200可以在计算机系统500中使用硬件、在硬件上执行的软件、固件、上面存储有指令的非临时性计算机可读介质、或者它们的组合来实现,并且可以在一个或多个计算机系统或其他处理系统中实现。硬件、软件或它们的任意组合可以具体体现用于实现图3-图4的方法的模块和组件。
[0057]
如果使用可编程逻辑,则此类逻辑可以在可从市场上获得的处理平台上执行,所述处理平台由可执行软件代码配置成为专用计算机或专用设备(例如,可编程逻辑阵列、专用集成电路等)。本领域的普通技术人员会意识到所公开主题的各个实施例可以利用各种计算机系统构成来实践,包括多核多处理器系统、小型计算机、大型计算机、功能分布的链接或群集计算机、以及可以被嵌入几乎任何设备中的普适或微型计算机。例如,可以使用至少一个处理器设备和存储器来实现上述实施例。
[0058]
本文中所述的处理器单元或设备可以是单个处理器、多个处理器、或者它们的组合。处理器设备可以具有一个或多个处理器“核心”。本文中所述的术语“计算机程序介质”、“非临时性计算机可读介质”和“计算机可用介质”通常用于指的是诸如可移动存储单元518、可移动存储单元522、和安装在硬盘驱动器512中的硬盘之类的有形介质。
[0059]
利用本示例计算机系统500说明了本公开的各个实施例。在阅读本说明之后,对本领域的技术人员来说,如何使用其他计算机系统和/或计算机架构来实现本公开将变得明显。尽管操作可能被描述为顺序处理,不过一些操作事实上可以并行地进行,同时地进行,和/或在分布式环境中进行,同时程序代码被本地存储或远程存储,以便由单处理器或多处理器机器访问。另外,在一些实施例中,各个操作的顺序可以被重排,而不脱离所公开主题的精神。
[0060]
处理器设备504可以是专门配置为进行本文中讨论的功能的专用或通用处理器设备。处理器设备504可以连接到通信基础设施506,比如总线、消息队列、网络、多核消息传递方案等。网络可以是适合于进行本文中公开的功能的任何网络,可以包括局域网(lan)、广域网(wan)、无线网络(例如,wifi)、移动通信网络、卫星网络、因特网、光纤、同轴电缆、红外、射频(rf)、或者它们的任意组合。其他适当的网络类型和构成对本领域的技术人员来说将是显而易见的。计算机系统500还可以包括主存储器508(例如,随机存取存储器、只读存储器等),并且还可以包括辅助存储器510。辅助存储器510可以包括硬盘驱动器512和可移动存储驱动器514,比如软盘驱动器、磁带驱动器、光盘驱动器、闪存等。
[0061]
可移动存储驱动器514可以以公知的方式,读取和/或写入可移动存储单元518。可移动存储单元518可包括可以由可移动存储驱动器514读写和写入的可移动存储介质。例如,如果可移动存储驱动器514是软盘驱动器或者通用串行总线端口,则可移动存储单元518可以分别是软盘或便携式闪存驱动器。在一个实施例中,可移动存储单元518可以是非临时性计算机可读记录介质。
[0062]
在一些实施例中,辅助存储器510可以包括允许计算机程序或其他指令被加载到计算机系统500中的备选装置,例如可移动存储单元522和接口520。此类装置的例子可以包括程序盒和盒式接口(例如,如在视频游戏系统中所见的)、可移动存储芯片(例如,eeprom、prom等)和关联的插口,以及对本领域的技术人员来说显而易见的其他可移动存储单元522和接口520。
[0063]
存储在计算机系统500中(例如,主存储器508和/或辅助存储器510中)的数据可以存储在任何适当类型的计算机可读介质上,比如光存储装置(例如,光盘、数字通用光盘、蓝光光盘等),或者磁带存储装置(例如,硬盘驱动器)。可以在任意适当类型的数据库结构,比如关系数据库、结构化查询语言(sql)数据库、分布式数据库、对象数据库等中配置数据。对本领域的技术人员来说,适当的构成和存储装置类型是显而易见的。
[0064]
计算机系统500还可以包括通信接口524。通信接口524可被配置为允许在计算机系统500和外部设备之间传送软件和数据。示例性通信接口524可以包括调制解调器、网络接口(例如,以太网卡)、通信端口、pcmcia插槽和卡等。经由通信接口524传送的软件和数据可以是信号的形式,所述信号可以是电信号、电磁信号、光信号、或者对本领域的技术人员来说显而易见的其他信号。信号可以经由通信路径526传播,通信路径526可被配置为运送信号,可以利用导线、电缆、光纤、电话线、蜂窝电话链路、射频链路等来实现。
[0065]
计算机系统500还可以包括显示接口502。显示接口502可被配置为允许在计算机系统500和外部显示器530之间传送数据。示例性显示接口502可以包括高清多媒体接口(hdmi)、数字视频接口(dvi)、视频图形阵列(vga)等。显示器530可以是用于显示经计算机系统500的显示接口502传送的数据的任何适当类型的显示器,包括阴极射线管(crt)显示器、液晶显示器(lcd)、发光二极管(led)显示器、电容式触摸显示器、薄膜晶体管(tft)显示器等。
[0066]
计算机程序介质和计算机可用介质可以指的是存储器,比如主存储器508和辅助存储器510,它们可以是半导体存储器(例如,dram等)。这些计算机程序产品可以是用于向计算机系统500提供软件的工具。计算机程序(例如,计算机控制逻辑)可以存储在主存储器508和/或辅助存储器510中。计算机程序也可以经由通信接口524来接收。此类计算机程序当被执行时,可以使计算机系统500能够实现如本文中所述的方法。特别地,计算机程序当被执行时,可以使处理器设备504能够实现如本文中所述的图3-图4图解所示的方法。因而,此类计算机程序可以表示计算机系统500的控制器。在使用软件实现本公开的情况下,软件可以存储在计算机程序产品中,并利用可移动存储驱动器514、接口520和硬盘驱动器512,或者通信接口524被加载到计算机系统500中。
[0067]
处理器设备504可以包含配置为进行计算机系统500的功能的一个或多个模块或引擎。每个模块或引擎都可以利用硬件来实现,而在一些情况下,也可以利用软件,比如对应于存储在主存储器508或辅助存储器510中的程序代码和/或程序的软件。在此类情况下,程序代码在由计算机系统500的硬件执行之前,可以由处理器设备504(例如,由编译模块或引擎)编译。例如,程序代码可以是用编程语言编写的源代码,所述源代码被翻译成低级语言,比如汇编语言或机器代码,以便由计算机系统500的处理器设备504和/或任何其他硬件组件执行。编译处理可以包括词法分析、预处理、句法分析、语义分析、语法制导翻译、代码生成、代码优化、以及适合于将程序代码翻译成适合于控制计算机系统500进行本文中公开的功能的低级语言的任何其他技术的使用。对本领域的技术人员来说,显然此类处理导致计算机系统500是被独特地编程,以进行上面所讨论功能的专门配置的计算机系统500。
[0068]
除了其他特征以外,与本公开一致的技术提供用于使用散列链对客户端设备进行认证的系统和方法。虽然上面说明了所公开的系统和方法的各种示例性实施例,不过应理解的是,它们只是出于举例说明而非限制的目的提供的。上述说明不是详尽的,并不将本公开局限于公开的具体形式。鉴于上述教导,各种修改和变化都是可能的,或者可以从本公开的实践中获得各种修改和变化,而不脱离本公开的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1