掌桥专利:专业的专利平台
掌桥专利
首页

用于分布式计算系统中的交易验证的方法和系统

文献发布时间:2023-06-19 16:08:01



技术领域

本申请涉及用于分布式计算系统(例如,区块链网络)中的交易验证的方法和系统。待验证的交易可以是非金融交易或金融交易(例如,加密货币交易)。

背景技术

无论是以传统货币还是伪货币或加密货币(例如比特币),金融交易和其他交易通常以电子方式进行或促进。对每个交易的验证或认证是重要的。对于加密货币,可以使用工作量证明(Proof-Of-Work,POW)或“权益证明(Proof of Stake)”来实现其验证,以在诸如区块链的分布式账本中实现计算设备对等点之间的共识。在POW中,满足交易区块的工作量证明要求的设备使得该区块被对等点所接受,并且用户接收以加密货币的形式的奖励。这种共识算法用于实现所需的共识,例如在区块链中,但也可以在其他非区块链环境中使用。

美国专利第7,356,696号公开了一种使用在POW中所投入的计算尝试的方法。该方法包括:在多个计算设备之间分配计算任务以在指定的时间间隔内作为POW执行,从实体之一接收与任务相关的POW,使用POW完成任务,以及将POW作为POW分配。

美国专利8,412,952公开了一种计算机实现的方法,用于通过POW协议验证来自运行试用软件的客户端的请求。分析从运行试用软件的客户端接收的请求。如果请求中不包括身份验证令牌,则会生成密码拼图。将该密码拼图传输到客户端。分析从客户端接收的密码拼图的解决方案。如果所接收的密码拼图的解决方案得到验证,则会生成针对该请求的响应。

国际专利申请公开号WO2015/175722公开了一种医保交易验证系统和方法,其中,与个人(例如患者)关联的医保交易被编译成医保交易区块链,构成个人的不断发展的医保记录。当进行交易时,相应的医保参数(例如,输入、输出、临床证据、结果等)被发送到一个或多个验证设备。这些设备建立交易的有效性并通过POW生成新区块。一旦计算出新块,就可以将其附接到个人的医保区块链。

发明内容

本发明的目的是提供一种用于分布式计算系统中的交易验证方法。

以下给出本发明的简化概述,以便提供对本发明的一些方面的基本理解。本概述并不是对本发明的全面概述。它既不是为了识别本发明的关键或关键要素,也不是为了描述本发明的范围。下面的概述仅仅以简化形式呈现本发明的一些概念,作为下面描述的基础。

根据本发明的第一宽泛方面,提供了一种用于分布式计算系统中的交易验证方法,该方法包括:

·将第一参数和第二参数与分布式计算系统的相应用户相关联,该第一参数是基于由相应用户执行的每个验证的增量和由相应用户执行的每个交易验证的减量来确定,该第二参数是基于相应用户的交易历史和验证历史来确定的;

·将多个用户注册为验证用户,该验证用户被授权对分布式计算系统可见的且需要验证的交易进行验证;

·第一用户发起与用户计算设备的交易;

·将与执行验证任务相关的相应验证优先级与第一组验证用户的成员相关联,该第一组验证用户包括验证用户中除第一用户之外的至少一个验证用户,相应验证优先级基于与该第一组验证用户的成员相关联的第一参数和第二参数来确定,验证任务包括:对交易的验证;

·使交易对第一组验证用户的成员中的一个或多个成员的相应计算设备可见;

·第二组验证用户的成员执行验证任务,该第二组验证用户包括:第一组验证用户中的一个或多个验证用户;

·当验证任务完成时,将与第一用户相关联的第一参数减少第一量,并且当验证任务完成时,将与第二组的成员相关联的第一参数增加相应的第二量;以及

·当验证任务完成时,更新与第二组的成员相关联的第二参数。

因此,在广义上,该方法基于互惠性:成员验证其他成员的交易,以换取其他成员来验证他们自身的交易。通过这种方式,只有实际使用网络来验证其交易的成员才有权验证其他成员的交易,因此名称为使用证明。

在一些实施例中,可以通过多个验证用户(即,第二组验证用户)来执行验证,所述多个验证用户可以构成第一组验证用户的所有成员或成员的子集,向第一组验证用户通过使交易可见而提供验证。在允许多个成员进行验证的实施例中,向其提供交易以进行验证的成员在此被称为“验证用户池”。

在一个实施例中,该方法包括使得交易任务对第一组中的具有足够验证优先级的成员的相应的计算设备可见(通常是高于预定的验证优先级阈值的验证优先级。

在一个实施例中,第一量和第二量为:(i)预定义的,或(ii)根据交易的至少一个特征确定的,或(iii)根据交易的大小和/或交易的性质确定的。

在一个实施例中,第一量与第二量具有预定关系。在一个典型示例中,第一量等于第二量的总和。

在一个实施例中,多个第二量相等。在一些实施例中,第二量为基于第二组的成员的第一参数和/或第二参数。

在一个实施例中,对交易的验证包括:将交易分散到区块中,该方法还包括:第二组的成员随后将区块添加到区块链中。

在一个实施例中,该方法包括:基于相应用户的第一参数中的相应增加和相应减少之间的时段,确定第二参数。

在一个实施例中,该方法包括:当第一用户的第一参数不满足第一阈值时,修改该第一用户的第一参数,使得第一用户的第一参数满足第一阈值。

在实施例中,该方法包括:在分布式计算系统上广播交易,使得该交易对第一组的一个或多个成员的相应计算设备可见。在一个示例中,该方法包括:在分布式计算系统上广播交易,使得该交易对所有其他交易验证者的相应计算设备可见。在某些实施例中,该方法包括:向第一组的一个或多个成员广播或分配验证任务以进行验证,该第一组的一个或多个成员各自的优先级满足第三阈值。

在一个实施例中,第一阈值以加密货币的形式表示。

在一些实施例中,验证优先级使得在多个其他交易验证者验证该交易的情况下将该交易的验证记入验证该交易的其他交易验证者中的第一交易验证者。

在实施例中,交易验证方法包括基于预定兑换率将第一用户的第一参数(或分配给第一用户的值)转换为加密货币或其他货币。在比特币的示例中,这种兑换率可以以例如“每单位第一参数x比特币”的形式表示,其中x可以是整的,或者更可能在当前比特币值下是比特币的分数(例如x=0.001)。然后,该方法通常包括从第一用户的第一参数记入转换所需金额,并将适当数量的比特币记入用户。

在某些实施例中,当存在一个验证用户时,第一量等于第二量,并且当存在多于一个验证用户时,第一量等于多个第二量的总和。

在第一量大于第二量(如果存在一个验证用户)或大于多个第二量之和(如果存在一个以上验证用户)的实施例中,第一量和第二量(或多个第二量之和)之间的差值可以相对较小(例如,1%、5%、10%、<1%、<5%或<10%)。同样,在第一量小于第二量(或多个第二量之和)的实施例中,第一量和第二量(或多个第二量之和)之间的差值可以相对较小。该差值可被视为套利的形式,例如在期望维持所有用户或验证用户的第一参数的恒定(或接近恒定)的总和的实现中(尤其是在包括响应于交易验证的条件之外的条件来增加和减少用户的第一参数的那些实施例中)。

在另一实施例中,验证优先级使得在多个其他交易验证者验证交易的情况下,将交易的验证记入与较高验证优先级或最高验证优先级相关联的验证其他交易验证者。

根据本发明的第二宽泛方面,提供了一种交易验证系统,包括:

·成员资格管理器,被配置为:将多个用户注册为验证用户,验证用户被授权对分布式计算系统可见且需要验证的交易进行验证;

·第一参数确定器,被配置为:将第一参数与相应用户相关联,该第一参数由第一参数确定器基于由相应用户执行的每个验证的增量和由相应用户执行的每个验证的交易的减量来确定;

·第二参数确定器,被配置为:将第二参数与相应用户相关联,该第二参数由第二参数确定器基于相应用户的交易历史和验证历史来确定;

·交易优先级确定器,被配置为:将与执行验证任务相关的相应验证优先级与第一组验证用户的成员相关联,该第一组验证用户包括验证用户中除第一用户之外的至少一个验证用户,相应验证优先级基于与第一组验证用户的成员相关联的第一参数和第二参数来确定,验证任务包括:对交易的验证;

·交易分配器,被配置为:使交易对第一组验证用户的成员中的一个或多个成员的相应计算设备可见;以及

·交易验证器,其能够由第二组验证用户的成员控制以执行验证任务,该第二组验证用户包括:第一组验证用户中的一个或多个验证用户;

·其中,第一参数确定器被配置为:响应于所述验证任务的完成而将与所述第一用户相关联的第一参数减少第一量,并且将与第二组的成员相关联的第一参数增加相应的第二量;并且

·第二参数确定器被配置为:响应于验证任务的完成而更新与第二组的成员相关联的第二参数。

在一个实施例中,交易分配器被配置为使交易任务对第一组中的具有足够的验证优先级(通常是高于预定的验证优先级阈值的验证优先级)的成员的相应计算设备可见。

在一个实施例中,第一参数确定器被配置为使用第一量的值和第二量的值,第一量和所述第二量为:(i)预定义的,或(ii)第二参数确定器根据交易的至少一个特征确定的,或(iii)由第二参数确定器根据交易的大小和/或交易的性质确定的。

在一个实施例中,第一量与第二量具有预定关系。在一个示例中,第一量等于多个第二量的总和。在一个实施例中,多个第二量相等。在一些实施例中,第二量基于第二组的成员的第一参数和/或第二参数。

在一个实施例中,交易验证器被配置为通过将交易分散到区块中来验证交易,以随后将该区块添加到区块链中。

在一个实施例中,第二参数确定器被配置为:基于相应用户的第一参数的相应增加和相应减少之间的时段,确定第二参数。在一个实施例中,第一参数确定器被配置为:当第一用户的第一参数不满足第一阈值时,修改该第一用户的第一参数,使得第一用户的第一参数满足第一阈值。

在一个实施例中,交易分配器被配置为:在分布式计算系统上广播交易,使得该交易对第一组的一个或多个成员的相应计算设备可见。在一个示例中,交易分配器被配置为:在分布式计算系统上广播交易,使得该交易对所有其他交易验证者的相应计算设备可见。在某些实施例中,交易分配器被配置为:向第一组的一个或多个成员广播或分配验证任务以进行验证,该第一组的一个或多个成员各自的优先级满足第三阈值。

在一个实施例中,第一阈值以加密货币的形式表示。

在一些实施例中,优先级使得在多个其他交易验证者验证该交易的情况下将该交易的验证记入验证该交易的其他交易验证者中的第一交易验证者。

在一个实施例中,系统被配置为:基于预定兑换率将第一用户的第一参数(或分配给第一用户的值)转换为加密货币或其他货币。在比特币的示例中,这种兑换率可以以例如“每单位第一参数x比特币”的形式表示,其中x可以是整的,或者更可能在当前比特币值下是比特币的分数(例如x=0.001)。然后,系统通常从第一用户的第一参数记入转换所需金额,并将适当数量的比特币记入用户。

在某些实施例中,第一参数确定器被配置为:使得当存在一个验证用户时,第一量等于第二量,并且当存在多于一个验证用户时,第一量等于第二量的总和。

在第一量大于第二量(如果存在一个验证用户)或大于多个第二量之和(如果存在一个以上验证用户)的实施例中,第一量和第二量(或多个第二量之和)之间的差值可以相对较小。同样,在第一量小于第二量(或多个第二量之和)的实施例中,第一量和第二量(或多个第二量之和)之间的差值可以相对较小。

在另一实施例中,验证优先级使得在多个其他交易验证者验证该交易的情况下将交易的验证记入与较高验证优先级或最高验证优先级相关联的验证其他交易验证者。

根据本发明的第三宽泛方面,提供了计算机程序代码,其被配置为当由一个或多个处理器执行时控制一个或多个计算设备以实现第一宽泛方面的方法。根据该方面,还提供了一种包括这种计算机程序代码的计算机可读介质(其可以是非暂时的)。

应当注意,本发明的上述方面中的每一个的各种单独特征中的任一个,以及本文中所描述的实施例(包括在权利要求中)中的各种单独特征中的任一个,可以合适的且根据期望的组合。

附图说明

为了更清楚地理解本发明,现在参考附图以示例的方式描述实施例,(在附图中,相同的附图标记表示相似的元件),在附图中:

图1是根据本发明实施例的使用证明交易验证系统的示意图;

图2是图1的交易验证系统的验证服务器的示意图。

图3是图1的交易验证系统的示例性用户设备的示意图。

图4是在图1的交易验证系统中,针对新成员的情况接收交易验证的交易(例如贷款)的流程的简化示意图。

图5是通过图1的交易验证系统所实现的使用证明验证方法的流程图。

具体实施方式

下面将参考附图进一步描述本发明。应当理解,此处描述的具体实施例仅用以解释本发明,而不用于限制本发明。此外,应当理解,所提供的示例仅代表本发明的许多可能实现方式之一。在不偏离本申请的宽度或范围的情况下,修改和变形鉴于上述教导是可行的或者可以从对本公开的实践中本获得。

还应理解的是,所附权利要求旨在涵盖本文所描述的本发明的所有一般特征和特定特征以及本发明的范围的所有陈述,作为语言本身而言,本发明的范围可被说成介于其间。

除非上下文另有指示,如本文所使用的单数形式,例如,,“一”和“一个”也意在包括多个的形式。另外,术语“包括”、“包括有”、“包含”和“包含有”表示所述元件或步骤的存在,但不排除一个或多个其他元件或步骤的存在或添加。

本文所使用的术语“区块链”是指基于区块链的网络的所有交易的公共账本。一个或多个计算设备可以包括区块链网络,其可以被配置为处理和记录交易作为区块链中的区块的一部分。一旦一个区块完成,该区块将被添加到区块链中,并且从而更新交易记录。在许多情况下,区块链可以是按时间顺序排列的交易的账本,或者可以以可适用于由呈现区块链网络使用的任何其他顺序呈现。在一些配置中,记录在区块链中的交易可以包括目的地地址和交易数额,使得区块链记录多少钱归于特定地址。在一些实例中,交易是金融的,而在另一些实例中,交易不是金融的,或者交易可以包括附加的信息或不同的信息,例如源地址、时间戳等。在一些实施例中,区块链还可替选地包括几乎任何类型的数据作为交易的形式,这些交易被放置或需要被放置在分布式数据库中,该分布式数据库维护不断增长的数据记录列表,这些数据记录是稳固的即使其操作员也不能篡改和修改,并且该分布式数据库可以由区块链网络通过工作量证明和/或与其相关联的任何其他合适的验证技术来确认和验证。在一些情况下,关于给定交易的数据还可以包括附加数据,其被附加到交易数据中而不直接是交易数据的一部分。在一些情况下,将此类数据包含在区块链中可以构成交易。

概述

本实施例的使用证明交易验证方法和系统适于在分布式计算系统上使用,例如采用区块链技术。可以设想,可以采用使用证明方法来验证的交易会包括:采用了诸如在区块链网络中的分布式账本或可以使用诸如在区块链网络中的分布式账本实现的并且可以是金融的交易(例如涉及加密货币),或非金融的交易的任何交易(例如,如下文所示的购买和贷款或其元素)。

“使用证明”被用于验证此类交易,以维护分布式账本的完整性和安全性(正如在背景技术中,工作量证明方法被用以相同的目的)。从广义上讲,分布式计算系统的用户被赋予了如下两个属性:

“验证性能参数(Validation performance parameter)”或VPP。在广义上,该第一参数可以被看作对用户所执行的验证次数与该用户的由其他人验证的交易次数之间的差异的衡量;这是因为当用户验证交易时,用户的VPP将会递增,但是当用户的交易被验证时,用户的VPP将会递减。然而,应当注意,在一些实施例中,此类增量的大小不等于此类减量的大小(如下文所述),因此这仅仅是VPP的广泛性表征。在该实施例中,该参数通常可以为正值或负值,正值对应于用户已验证的交易多于该用户已被其他人所验证的交易的情况,而负值则对应于用户已被其他成员验证的交易多于该用户已验证其他人的交易的情况。

“验证平衡参数(Validation equilibration parameter)”或VEP。该第二参数是对用户增加他/她的验证性能参数(尤其是从负值到非负值)的速度或及时性的衡量。

此外,对于任何需要验证的特定交易,为用户分配一个优先级,该优先级用于控制用户各自的验证他人的交易的权限,并且用于与被给予验证相同交易的权限的其他用户竞争验证任务。换而言之,(i)具有较低验证性能参数的用户优先于具有较高验证性能参数的用户,并且(ii)具有较高验证平衡参数的用户优先于具有较低验证平衡参数的用户。后一准则还使得可以区分竞争相同验证的多个用户,如此,具有较高优先级的用户即使在其他用户之后才对交易进行验证,基于其较高的优先级也可以认为该用户已验证了该交易(例如,采用较高的处理器和/或网络连接速度,或者被更个人化地提示)。

因此,根据本实施例,执行许多验证并且迅速执行的用户将增加他的/她的验证性能参数以及他的/她的验证平衡参数(尤其是在将验证性能参数从负值变为非负值的情况下)。这会影响用户在后续验证中的优先级,如将在下文中更详细地描述的那样。

应该注意的是,特定验证的奖励(即VPP的增量)不需要给予单个用户/成员(如在使用工作量证明方法的情况下)。相反,可以根据每个验证者相应的VPP和/或VEP,在多个验证者之间分配奖励,如将在下文中更详细地描述的那样。在此种实施例中,验证任务被提供给“验证用户池”,其中的一个或多个用户可以是最终验证者。因此,在这些实施例中,验证用户池的成员中的一个或多个成员可以充当单个交易的验证者。从技术上讲,这可能涉及多个用户经由共享计算界面对单个区块进行验证,使得由多个用户执行单个验证。例如,交易验证可被配置为要求每个区块(由其交易集合表示)由验证用户池中的一个以上的成员进行验证,以便于对交易(并因此对区块)的验证过程达成共识。此外,在此种实施例中,系统采用预先的定义或动态定义的验证时间窗口,在该时间窗口期间,验证用户池的成员可以各自验证该交易,并且在该时间窗口之后,如果用户池的成员的必需数量(下文将进行描述)均已验证了该交易,则该交易将被认为是已被验证的。

这并不意味着所有可用的验证者(即,被授权验证交易的那些成员)总是需要验证每个交易。相反,在那些支持由多个验证者进行验证的实施例中,用于任何特定交易的验证者的验证用户池通常包括可用验证者的子集。例如,系统可以被配置为根据一个或多个预定规则(例如,“VPP低于预定阈值的授权验证者的子集”、“VEP高于预定阈值的授权验证者子集”、“VPP低于预定的第一阈值且VEP高于预定的第二阈值的授权验证者的子集)选择用于交易的验证用户池。

此外,一旦限定了验证用户池,则系统可以被配置为:当池中的所有成员已验证交易时,则接受该验证为有效的。可替选地,系统可以被配置为:使得一旦验证用户池已被定义,则在该池的子集已验证交易时,接受该交易验证为有效的。例如,验证用户池可以包含n个成员(例如,n=200),但是,一旦阈值数量m(其中,m

还应当注意,如果由此类池中的一个以上成员执行验证,则在该实施例中,根据实际验证者的相应VEP和/或相应VPP在验证者之间共享对于执行验证的VPP(或“奖励”)的增量。例如,可以通过可称为“瀑布”的方式分配VPP的增量:具有较低VPP和较高VEP的验证者的VPP的增量被限制为不超过(i)区块的总验证成本的50%,或者(ii)针对该区块的、VPP增量器220已使得寻求验证其交易的成员的VPP增加的平均量的50%(参见图4的步骤362)-以较低者为准。这同样适用于具有下一VPP/VEP级别的成员(即,落在VPP的下一最低频带和VEP的下一最高频带中),以此类推。这将有助于避免有能力/有资源的成员控制过程,以提交并验证大量的大型交易,并由此保持高优先级,从而主导验证过程并潜在地获得验证虚假区块的能力。

此外,只有那些实际执行验证的用户才能获得奖励。这也可以促进成员之间的竞争,因为即使被包括在验证用户池中也不能确保接受奖励:用户池的成员必须验证交易以接收VPP的增量。该限制在诸如前文段落中的那些实施例中特别有效。如果只有验证用户池的一个子集验证了交易,则认为该验证生效,在该子集中将存在竞争(例如,通过成为n池的前m个成员来验证交易)。

应进一步注意,系统可被配置为允许或要求对于一个成员的验证。允许但不需要多于一个成员验证的系统等价于采用了如上文所定义的数值为1的参数m。

根据一个实施例,提供了使用证明交易验证系统,如图1中100处的示意图所示,其被描绘为通过系统100提供商品或服务的金融机构的供应商服务器104。系统100包括:区块链网络102形式的分布式计算系统、网络授权的验证服务器106和多个用户设备108a、108b、108c、…108n。供应商服务器104、验证服务器106和用户设备108a、108b、108c、…108n通过区块链网络102进行通信,但另外,供应商服务器104、验证服务器106和用户设备108a、108b、108c、…108n中的一个或多个可以构成区块链网络102的一个部分或多个部分,或者实际上构成区块链网络102的全部。在所有此类实施例中,通信尽管通过区块链网络102也涉及使用合适的通信网络(通常是互联网)。在该实施例中,区块链网络102包括验证服务器106和用户设备108a、108b、108c、…108n,因此用户设备108a、108b、108c、…108n是区块链网络102中的对等节点(或简单地“对等点”)。(然而,需注意的是,只有用户设备108a、108b、108c、…108n充当对等节点以用于验证目的)。此外,用户108a、108b、108c、…108n中的用户构成了用户网络(本文称为“网络”),该用户网络以系统10的许可用户的形式链接。

系统100包括相应用户的多个用户设备108a、108b、108c、…108n。足以使系统100按预期使用的用户设备的最小数量为两个;实际上,最大数量仅受限于各种服务器的容量。应当注意,尽管在图中被描绘为便携式计算设备,但用户设备108a、108b、108c、…108n可以采取被配置为执行本文所讨论的功能的任何合适的形式,例如台式计算机、膝上型计算机、笔记本计算机、平板计算机、移动电话、智能电话、智能电视或可穿戴计算设备。

系统100被配置为促进交易及由其用户进行的对交易的验证。因此,下文描述的交易包括:例如,商品购买、贷款申请、租赁或其他服务,以及从金融机构向用户的资金转移,或从用户向金融机构的资金转移。

图2是系统100的验证服务器106的示意图。参考图2,验证服务器106包括控制器202和用户界面204(其包括图形用户界面GUI 206)。控制器202包括处理器208和存储器210。术语“处理器”用于指代可以处理程序指令(例如以存储在存储器210中的程序代码的形式)的一个或多个任何设备,并且可以包括:微处理器、微控制器、可编程逻辑设备或其他计算设备、通用计算机(例如个人计算机PC)或服务器。通常地,存储器210包括易失性存储器和非易失性存储器以及每种类型的存储器中的一个以上,此类存储器由存储器210统一表示。

验证服务器106的处理器208包括:显示控制器212,用于控制用户界面204的显示;成员资格管理器214,被配置为监控成员资格应用;VPP确定器216形式的第一参数确定器,被配置为确定每个用户的验证性能参数(validation performance parameter,VPP);VEP系统218形式的第二参数确定器,被配置为根据成员交易和验证行为确定每个成员的验证平衡参数(validation equilibration parameter,VEP);VPP增量器220,被配置为在特定情况下增加或减少成员的VPP;用户优先级确定器和分配器226,被配置为确定每个用户的用于接收交易验证任务的优先级并根据每个成员的优先级分配验证任务;以及区块链控制器228,被配置为向区块链网络102上的区块链添加事件。下文中将进一步描述处理器208的这些部件的功能。应当注意,这些部件被配置为在区块链102中的发起事件或发起交易。

存储器210包括:用于实现处理器208的功能的程序代码230和存储处理器208的输出的各种存储器寄存器。因此,存储器210包括:成员的成员资格寄存器232、VPP寄存器234和VEP寄存器236。存储器210还包括:加密密钥存储装置240(用于存储在区块链网络102中访问区块链所需的加密密钥,验证服务器106需要访问该区块链以执行本文所述的功能)、区块链242、数字合同244和设置存储装置246。

成员资格管理器214被配置为监控成员资格申请(即,网络的成员资格申请)。成员资格申请由区块链网络102批准,或者由适当配置的数字合同批准,或者由网络的现有成员批准。实际上,成员资格申请可以在系统100内被视为交易,该交易如果根据该实施例被验证,则向申请用户授予其所期望的成员资格。

控制器208的VPP确定器216被配置为:确认每个用户关于交易验证的VPP。基于由每个成员的验证交易所获得的VPP增量和由该成员验证他的/她的交易所产生的VPP减量,VPP确定器216监控在区块链网络102中执行的验证,并且维护每个成员的验证性能参数的寄存器(位于VPP寄存器234中)。本实施例中的增量和减量是一致的和相同的,但是在其他实施例中,可能会有所不同,例如根据被验证的交易的数额和/或发起交易的成员的VEP。

VEP系统218被配置为:根据相应成员的已验证的交易和他/她对其他成员的交易的验证,来确定成员的相应VEP。通常,VEP系统218基于成员通过验证其他成员的交易来增加他的/她的VPP或通过使他/她自身的交易被验证而造成的VPP减少的速度(且与该速度直接成比例地)来确定成员的VEP。在该特定实施例中,VEP系统218根据及时性来确定成员的VEP,通过该及时性,成员在验证他/她自身的交易之后通过验证其他成员的交易来恢复他/她自身的VPP。VEP系统218可以采用任何合适的方法来基于该准则确定VEP。在该实施例中,成员i的VEP被确定为与VPP减少发生而随后该成员的VPP没有(由于成员i进行的验证活动造成的)相应的增加的时段成反比,。在第一示例中:

其中,t

在该实施例中(以及如果需要的话,在其他实施例中),网络的成员必须保持最小VEP值(例如60%或更高),以便维持在网络内。具有较低VEP分数的成员会失去其成员资格,并且并因表现不佳而被排除在网络之外。

在第三示例中,

其中,t

如将注意到的,在这些示例中,VEP被VEP系统218限制为从0到1(或0%和100%)。例如,某成员进行了一笔交易,而该交易由另一成员所验证,并且该成员在12天后执行验证。该成员在相关VEP核算时段中不涉及其他交易或验证。在第一示例中,VEP系统218确定该成员的VEP为100/(100+12)=0.89。在第二示例中,如果k=10天,则VEP系统218确定该成员的VEP为100/(100+2)=0.98。

如果该成员在相同的VEP核算时段中执行第二次交易和随后的验证,但相隔8天,则VEP系统218确定第一示例中的VEP为100/(100+12+8)=0.83,确定第二示例中的VEP为100/(100+2+0)=0.98,以及确定第三示例中的VEP为100/(100+2-2)=1。

VEP系统218将确定的VEP存储在VEP寄存器236中。

控制器208的VPP增量器220被配置为监控需要由网络的成员验证的类型的成员所发起的交易。当VPP增量器220在区块链网络102上检测到此类交易时,VPP增量器220通过检查该成员的VPP(如被存储在VPP寄存器234中)来响应。例如,在本实施例的一个变型中,如果进行交易的成员因此将具有负VPP,则系统100不允许该交易被验证。因此,在该变型中,如果发起交易的成员的VPP确实太低,则VPP增量器220通过将该成员的VPP增加基于验证所期望的减量,或者增加足以在验证后使得该成员的VPP保持为零的量,来自动响应(如下文中更详细的描述)。可以理解的是,当新成员发起他的/她的第一交易时(例如,尝试进行他的/她的第一次购买时,或,申请他的/她的第一笔贷款时),该成员所具有的VPP可能为零,因此可以设想,在该变型中,新成员通常将要求VPP增量器220首先增加他的/她的VPP。应当注意,VPP增量器220被配置为不增加已经具有足够高VPP的成员的VPP,以在不产生负的VPP的情况下进行交易。还应当注意,在VPP增量器220已经使得成员的VPP增加并且随后检测到该成员具有等于或大于所增加的量之后,VPP增量器220开始将对该成员的VPP减少相同的量。

然而,如果交易已被验证,则VPP增量器220通过将验证者的VPP增加第一量,并将发起交易的成员的VPP减少第二量来响应。在该实施例中,第一量和第二量相等,且由ΔVPP表示。

然而,在某些其他实施方案中,第一量大于第二量(或反之亦然),其差值通常相对较小(例如0.01%、0.05%、0.1%、0.5%、1%、5%、10%、<1%、<5%或<10%)。在期望保持所有用户的或交易验证者的VPP的恒定(或接近恒定)总和的实现方式中,该差值可以被视为套利的形式。这可用于如下实施例中:系统会响应于交易验证的条件之外的条件来增加和减少用户的VPP,例如,将增加VPP不足的成员的VPP,以使该成员具有足够的VPP,来使得他的/她的交易被验证。通常,系统100例如以“稳态”方式运行,因为一个成员VPP的每个增量(由于该成员进行交易验证)都与另一个成员的VPP的相同的减量(由于该成员的交易被验证的有效)相关联。

临时增加交易处理成员的VPP以使得该成员的交易可以被验证,将会中断该稳态,因为其导致所有VPP的总和发生波动。可以选择第一量和第二量之间的差值,来抑制这种波动,尤其是在由系统响应于这种波动而动态地确定该差值的大小(可能在预定的时段内被平均)的情况下。例如,如果系统100最初对第一量和第二量采用相等的值(例如10),但是确定在预定长度的特定核算时段(例如,一天或一周)内,所有VPP的总和将补充10000以便于交易验证,并且在同一时段内,经过验证的交易总数为1000000,则系统100可以被配置为通过减少下一个核算时段内的第二量(以使得该第二量小于第一金额周期)来响应,例如,在该示例中,将第二量减少所补充的VPP量和验证交易数量的比率,在该示例中,10000/1000000=0.01或初始值的0.1%。

在一些实施例中,交易发起器316被配置为是可控的以发起将由VPP增量器220进行的对成员的VPP的减少延迟到成员所选择的或方便的稍后时间。在这样的实施例中,交易发起器316包括:用户可控的延迟器318,使得当成员控制交易发起器316发起交易时,该成员可以同时控制延迟器318向VPP增量器220传输延迟请求。该成员可以控制延迟器318,以便选择对所选时段或结束点的延迟。VPP增量器220被配置为将延迟请求与发起的交易相关联。该延迟请求被存储为延迟标志222和延迟参数224:延迟标志222指示延迟请求的类型,延迟参数224指示延迟请求的持续时间或结束点(如果适用)。例如,延迟标志222和延迟参数224可以如下表示所请求的延迟:

应当注意,对于成员所允许的最大延迟时段是将使得他的/她的VEP达到其最小值的时段的数量。会员不能在该时段之后推迟还款(否则他/她将丧失他的/她的成员资格)。

只有当VPP增量器220以上述方式增加成员的VPP时,VPP增量器220才适时地实现所请求的延迟,如此,VPP增量器220随后将需要减少该成员的VPP。

如果在这样的实施例中,成员控制延迟器318以发起所选时段或结束点(例如,表示为小时数、天数或周数,或表示为特定日期和/或时间)的延迟请求,则VPP增量器220被配置为通过延迟成员的VPP的减少直到VPP增量器220检测到该时段(从没有延迟的情况下会发生减少、从VPP增加时或从另一个合适的时间开始计算)或该结束点已经过去来响应。如果或只要该成员的VPP足以允许该减少,则VPP增量器220通过将延迟标志222设置为(在该示例中)零并减少该成员的VPP来响应。

在这些实施例中,延迟器318也可以可控地发起对延迟请求是否有效和延迟请求的内容以及的延迟请求剩余持续时间(如果有的话)的显示(到图形用户界面306)。通过将延迟限制到超过后成员将失去他的/她的成员资格的最大时段内,延迟功能与互惠特征保持一致。

设置存储装置246包括预定的或动态地设置的第一参数和第二参数,并且用于确定在执行验证时成员的优先级,并且在某些情况下,确定交易是否被允许。在该实施例中,第一参数为“阈值VPP”(或VPP

在该交易的验证(在交易已经被验证之后)将使得该成员的VPP≥VPP

在该交易的验证(在交易已经被验证之后)将使得该成员的VPP

否则,系统100将不允许该交易。

在本实施例的变型中,阈值VPP被定义为使得系统100将允许成员在如下情况下进行交易:

a),在验证该交易之前,该成员的VPP≥(VPP

b),在验证该交易之前,该成员的VPP<(VPP

否则,系统100将不允许该交易。

阈值VPP的值通常取决于当一成员验证另一成员的交易时VPP增加的标准量或典型量(在本实施例中为ΔVPP),因为验证所导致的VPP变动取决于该值。因此,在本实施例中,将阈值VPP表示为ΔVPP的倍数(例如,0×ΔVPP、0.5×ΔVPP或1.0×ΔVPP),并且在该示例中,阈值VPP=0×ΔVPP=0。因此,如果VPP确定器216确定交易的验证将导致交易成员的VPP变为负值,则用户优先级确定器和分配器226通过拒绝将验证任务分配给其他成员来响应,除非交易成员的VEP大于或等于阈值VEP。VEP介于0和1之间,因此在本实施例中,阈值VEP可以是例如0.6、0.7、0.85或等价地60%、70%、85%。如果交易成员未通过该测试,则其交易将不会被验证,因此不能继续进行直到该成员充分地增加他/她的VPP和/或VEP为止。

在可替选实施例中,VEP以符号标记的范围(例如,按字母顺序)表示,因此,与阈值VEP相比,VEP的数值的微小变化不一定会立即改变成员的有效VEP。例如:

在该变型中,如果使用拉丁字母表示阈值VEP且阈值VEP为“B”,而成员的VEP为0.88,因而为B(因此能够满足阈值VEP测试),若该成员VEP的数值下降例如0.05仍会使得使该成员的VEP为B,并且因此仍然能够满足阈值VEP测试(如果需要这样做的话)。

在该实施例中,如上文所介绍的,网络的成员必须保持最小VEP值(例如,60%、D、δ、4等),以维持网络的成员资格。具体较低VEP分数的那些人将会由于表现不佳而失去他们的成员资格,并且被排除在网络之外。然而,由于外部因素(例如,健康状况不佳、事故等),成员的VEP可能会低于最小值。因此,在一些实施例中,如果向网络提供了此类情况的证据并且由网络验证了该证据,则网络可以维持该成员的成员资格,并且在该成员的情况恢复正常之后(并且经过一段正常的宽限期,在此期间会员有时间恢复可接受的表现),则应用成员资格的正常规则。

还应当注意,由于网络是许可网络,所以每个成员的身份均是可验证的。因此,被开除的成员将无法使用不同的身份重新加入。

在本实施例的另一个变型中,如果这样做会给成员带来负VPP(参见图4的360、362、364),则该成员不被授权进行交易。在该变型中,VPP增量器220可以增加交易成员的VPP。这与上文所述的配置相当,即阈值VPP为0。然而,在该变型中,VPP增量器220被配置为不增加成员的VPP,除非该成员的VEP至少等于阈值VEP。

验证服务器106的用户优先级确定器和分配器226被配置为确定每个成员的优先级,根据该优先级,将交易验证任务分配给所选成员,并且因此使得这些所选成员可以进行验证。首先应当注意得是,在本实施例中,在任何单个验证时长或验证周期中,只有没有待处理交易的成员被会分配验证任务。此外,用户优先级确定器和分配器226被配置为使得该用户优先级确定器和分配器226不允许分配与超出区块空间容量的预定比例(例如,存储在设置存储装置246中的40%、50%或60%)的特定成员发起的交易相关的交易验证任务。区块中的其余交易必须来自其他成员。

通过这种方式,系统100防止任何成员将他的/她的交易单独聚集到单个区块中。这是一种安全措施:系统100不允许任何成员提交整个区块,因此成员难以将虚假区块添加到区块链中。

因此,在该实施例中,并且经受上述限制(以及在本文别处讨论的限制),用户优先级确定器和分配器226被配置为根据如下两个主要标准来确定优先级:(i)具有较低VPP(如由VPP确定器216所确定的VPP)的成员的优先级高于具有较高VPP的成员的优先级,以及(ii)具有较高VEP的成员(无论是以数字表示还是以例如字母顺序等标记的范围表示)的优先级高于具有较低VEP的成员的优先级。因此,用户优先级确定器和分配器226最初将需要验证的新交易的预定百分比X

X

在一些实施例中,可以仅为已经在网络上注册了一定时间的成员建立VEP,例如,在注册n天(例如60天)之后。在这些实施例中,系统100将一定百分比的需要验证的新交易分配给尚未建立VEP的新成员(例如,在注册后n天内的成员)。该百分比可以动态地被调整。在这些实施例中,可以设想,在系统使用的早期阶段,较大比例的需要验证的新交易可以分配给新成员(注意,在早期阶段,大多数成员都是新成员)。该百分比然后可能会随着时间的推移而降低。

一旦以这种方式根据VPP分配了新交易,用户优先级确定器和分配器226应用第二准则,即,具有较高VEP的成员的优先级高于具有较低VEP的成员的优先级。例如,如果在特定交易中,评级为A或以上的成员将被分配交易以便于这些成员可以竞争,则这些成员的优先级高于评级为B的成员的优先级。注意,如果第一成员和第二成员具有相等的VPP(但是不同的VEP),则一旦第一成员验证了另一成员的交易,则第一成员将具有比第二成员更高的VPP,从而将他的/她的优先级降低到低于第二成员的优先级。同样,当具有较低VEP的成员提交更多交易以进行验证时,具有较低VEP的该成员的优先级将增加,因为这样做会降低他的/她的VPP。

接下来,一旦用户优先级确定器和分配器226应用了两个准则,用户优先级确定器和分配器226以密码安全的形式(采用密码密钥存储器240)向所有对等用户设备108a、108b、108c、…108n广播新交易,使得随后可以根据成员优先级接受验证。验证任务因此变得可由所有成员/验证者的相应用户设备108a、108b、108c、…108n访问(尽管存在成员不能验证他/她自身的交易的这一限制)。验证者(即,选择执行验证的用户设备108a、108b、108c、…108n的用户)接收广播传输,并且通常从多个用户累积这种潜在的有效交易。根据区块链的设计,区块链上的块(即,交易的集合)可以包含多于一个交易。因此,验证者监控交易并收集尽可能多的交易以适应于区块(受上述由任何单个验证者使用区块的空间容量的限制),但不能包括他们自身的交易:一个或多个其他对等用户必须充当用户的验证者。

在一个可替选实施例中,一旦用户优先级确定器和分配器226应用了这两个准则,用户优先级确定器和分配器226以加密安全的形式将新交易广播到仅在区块链网络102中的优先的成员/验证者,从而根据所确定的优先级来实现这些验证任务的分配。在又一可替选实施例中,用户设备108a、108b、108c、…108n中的每一个包括用户优先级确定器和分配器,使得新交易的广播不是必须的。实际上,在一些实施例中,验证服务器106的所有组件都复制在每个对等用户设备108a、108b、108c、…108n上以便于分散信任功能,使得可以省略验证服务器106。然而,将用户优先级确定器和分配器226定位在中央服务器(验证服务器106)上具有减轻用户设备108a、108b、108c、…108n中的一些或所有用户设备的计算负载的优点。

还应当注意,这里描述的系统100的许多操作可以使用数字合同来实现。数字合同(有时称为“智能合同”)是一种自动执行的合同,其中双方之间的协议条款被写入代码行。其中包含的代码和协议存在于分布式、去中心化计算系统中,区块链网络102是这种网络的示例。因此,例如,本实施例的贷款(虽然不是在所有实施例中)可以是所谓的“智能贷款”的形式,是由区块链网络102上的数字合同管理的贷款。在一些其他实施例中,贷款可能不是智能贷款,而是标准贷款。

因此,验证服务器106的数字合同244中存储有先例数字合同或模板数字合同,适合配置为部署在区块链网络102中以执行系统10的各种功能。例如,由VEP系统218、VPP确定器216以及用户优先级确定器和分配器226发起的功能可以由记录在区块链网络102中的一个或多个此类数字合同来执行。

图3为举例说明用户设备108a、108b、108c、…108n的用户设备108的示意图。用户设备108包括:控制器308和用户界面304(具有图形用户界面(GUI)306)。控制器302包括处理器308和存储器310。处理器308包括:显示控制器312,用于控制用户界面304的显示;成员资格申请发起器314,被配置为可由用户设备108的用户控制以向区块链网络102提交成员资格申请;以交易发起器316形式的交易发起器,被配置为可由用户设备108的用户控制以发起交易(例如,进行购买申请或提交贷款申请);以及验证控制器320,其包括交易显示器322(被配置为控制在用户设备108的用户界面304上显示由等待或排队验证的其他用户进行的交易)和验证发起者324(被配置为由用户设备108的用户控制以选择和发起对由交易显示器322显示为等待或排队等待验证的交易的验证)。处理器308还包括区块链控制器326,被配置为将事件添加到区块链网络102上的区块链中。

存储器310包括用于实现处理器308的功能的程序代码330、密码密钥存储装置332(用于存储访问区块链网络102中的区块链所需的密码密钥,用户设备108需要访问该区块链以执行其如本文所述的功能)、区块链334和设置存储装置336。

成员资格申请发起器可由用户设备108的用户控制以发起成员资格申请,即,向区块链网络102提交成员资格申请,其中该申请将由验证服务器106的成员资格管理器214检测,如上文所述。

交易发起器316可由使用用户设备108的成员控制以发起与供应商服务器104的交易(例如,购买产品、申请贷款或购买服务)。当成员控制交易发起器316发起交易时,交易发起器316通过将该交易添加到区块链网络102中的区块链中的区块来响应,从而向其他成员广播该交易。交易需要由网络中的另一个成员(不能是发起该交易的成员)进行验证,因此交易的提交由VPP增量器220(如上文所述)和用户优先级确定器和分配器226进行检测,其响应过程如上文所述。

验证控制器320的交易显示器322被配置为控制等待或排队等待验证的其他用户进行的交易在用户界面304上的显示,并且验证发起器322被配置为由用户设备108的用户控制,以选择并发起对由交易显示器320显示为等待或排队等待验证的交易的验证(即,通过将该交易分散到区块中)。在该实施例中,每个成员的用户设备108的交易显示器322构造并显示所有待处理交易的队列。因此,所有成员都可以看到所有交易,并且可以尝试验证任何交易(除他们自身的交易之外),其中将根据优先级确定其验证被接受或使之有效的成员。成员可以尝试通过控制验证发起器324(其可以是触摸屏控制器的形式)来验证交易,以选择并发起对任何排队和显示的交易的验证。

然后,验证控制器320通过控制区块链控制器326来响应,以发起区块链网络102中的所选交易的验证,除非另一个或多个成员已经有效地这样做(例如,具有更快的反应或具有更快的网络连接)。交易的验证需要验证控制器320处理一个或多个交易并将其分散到有效区块中,该有效区块然后准备好随后由用户设备108的(在区块链网络102中的)每个对等用户添加到区块链;即,每个对等用户更新其自身的区块链副本。新区块中包含要记录的一个或多个交易,没有这些交易就无法完成。(应该理解的是,一个或多个成员或针对即时交易的验证者不会通过验证交易来确认交易的任何细节:他、她或他们仅仅是促进向区块链添加新区块。交易验证的其他元素(例如成员身份)由其他机制(例如智能合同)促进。)

这些成员因此竞争验证。验证者将尽可能多的交易验证累积到一个区块中,并通过密码验证过程来证明该区块的有效性(即区块中的所有交易)并将其添加到区块链网络102中的先前区块的链中。验证交易的任何一个或多个成员也被记录在区块链网络102的区块链中,因为已经这样做了,并且他或她的(或他们的)VPP增加;即,VPP确定器216通过相应地更新每个验证器的VPP和VPP寄存器234来响应验证。VPP增量(或“奖励”)可以在多个验证者(即,执行特定交易的验证的验证用户池中的成员)之间分配,其中根据相应成员的VPP和/或VEP进行该分配。

图4是在新成员的情况下各个验证性能参数的增加和减少的简化示意图350。通常,新成员352在发起他的/她的第一次交易(例如,进行购买、取出贷款、购买加密货币、接受数字凭证或取出智能贷款)时,可以预期其所具有验证性能参数(VPP)为零。因此,在此种情况下,当该成员的第一个交易被验证(由N个现有成员进行验证)时,该成员的验证性能参数变为负值,从其初始值(VPP=0)减少了ΔVPP。回想一下,对于新成员,可能不会立即计算新成员的VEP。相反,可以使用配给准则来使得新成员可以参加竞争,如上文所述。

ΔVPP的值在一些实现方式中是固定的;即,对于所有交易,验证使得交易成员的VPP和验证成员的VPP分别减少(ΔVPP)和增加(ΔVPP/N)相同的量。在一些其他实现方式中,ΔVPP的值为动态确定的。在一个示例中,ΔVPP的值取决于交易的价值和/或性质。例如,在价值高达$x的交易中,ΔVPP可以是第一值(例如10),而在价值超过$x(并且可能高达$x的某个倍数)的交易中,ΔVPP可以是第二值(例如15),等等。然而,在图4的简单示例中,假设在交易被验证之后的增量ΔVPP和总减量(=N×ΔVPP/N)彼此相同并且对于所有交易相同。

回到图4,网络354的其他成员中的已经执行了交易验证的一个或多个成员使他、她或他们的验证性能参数增加相同的总量ΔVPP。因此,在ΔVPP的验证性能参数中存在从网络354的新成员352到验证成员的名义流(notional flow)356。同样,当网络354的成员(除新成员352之外)发起交易时,成员352′(以前的新成员352)可以验证该交易(可能与其他成员一起)。发起交易的成员的VPP减少标准量,并且成员352′的VPP(以及任何其他验证成员的VPP)增加标准量ΔVPP/N。此外,在ΔVPP的VPP中存在从网络354的成员到执行验证的成员(包括成员352′)的名义流358。通过该机制,成员352′可以在适当的时候实现值为零的VPP,并且在重复验证的情况下可以实现值大于零的VPP,这与成员352′执行此类验证的及时性一同影响了他/她获得进一步进行交易验证的权限。

在本实施例的一个变型中,成员未被授权进行交易,如果成员进行交易会给他们产生负值的VPP。该限制由系统100实施,进一步确保成员在他们希望进行交易时参与交易的验证。因此,在该变型中,处于该位置的成员(例如新成员352)可以首先验证一个或多个交易,从而获得足够正值的VPP以进行他/她自身的交易。可替选地,此种变化使得该成员可以通过网络授权方360(其管理验证服务器106)将他的/她的VPP增加到足以进行他或她自身的交易而他或她的VPP不会变为负值的值。

在该变型的后一种情形中,当验证服务器106检测到一个成员已经发起了交易并且该成员具有不足以确保其维持非负值的VPP时,验证服务器106将该成员的VPP增加到足够大,使得当该成员的交易被(由另一成员)验证时,该成员的VPP保持为非负值。这可以例如通过将成员的VPP增加到将在验证时所减少的值ΔVPP(使得在验证之后该成员的VPP将等于零),或者通过在成员的VPP上增加将在验证时所减少的值ΔVPP(使得在验证之后成员的VPP将为0

然而,一旦网络授权方360检测到成员352′(先前为新成员352)的VPP达到大于或等于VPP所增加的量,则网络授权方360就在成员352′的VPP中发起与增加VPP的量相等的减量,从而在小于或等于ΔVPP的VPP中产生从成员352到网络授权方360的名义流364。该机制可以根据需要多次重复,尽管在某些情况下可能会限制成员利用该机制(例如在利用该机制的优势之间没有验证另一成员的交易,或者在预定的时段内超过预定的次数)。

图5是由系统10实现的使用证明验证方法的流程图380。参照图5,在步骤382,用户申请加入网络,并且在步骤384,网络批准该用户的成员资格申请,使得该用户成为成员。此时,新成员的VPP=0。在步骤386,新成员在区块链网络102上广播交易(在该示例中,该交易包括用于最终提交给金融机构的供应商服务器104的贷款申请),并且在步骤388,确定该成员的VPP(在该场景中等于零)。在步骤390,VPP确定器216在验证新成员的交易之后确定该新成员的VPP是否将大于或等于阈值VPP;如果是,则该过程在步骤392继续,在步骤392处,对应于交易的验证任务被广播给其他成员中的一个或多个。在步骤394,对向其广播交易的那些成员中的一个或多个成员发起交易验证。

在步骤396,通过验证成员发起对交易的一个或多个(=N)验证(即,将交易分散到有效区块中并准备好添加到区块链中)。在一个变型中,如果多个成员发起验证,则系统仅允许N个具有最高优先级或速度的那些成员实际影响验证并将其记录在区块链网络102中。本领域的技术人员将理解,在执行多个验证的某些情况下(尤其是由多个具有相同优先级的成员执行),可能出现区块链分叉;这些可以通过任何合适的技术来处理,例如通过将所得到的链中较长的链视为正确的链。还应当理解到,一旦例如区块链分叉已被解决,则可以稍晚地确定“获胜”验证者。更一般地,验证者的选择可以发生在交易被分散到有效区块之前、同时或者之后。

在步骤398,所选择的区块(即,已添加了分散交易的区块)由对等用户添加到区块链(即,每个对等用户更新其自身的区块链账本的副本以包括所选择的区块),并且在步骤400,VPP增量器220将交易发起成员的VPP减少ΔVPP,并且在该实施例中将每个验证者的VPP增加ΔVPP/N,在步骤402,VPP确定器216确定成员和验证者的VPP,并相应地更新VPP寄存器234。步骤404,VEP系统218确定发起交易的成员和验证者的VEP,并将新的VEP记录在VEP寄存器236中。

在稍后的某个时间,在步骤406,成员验证一个或多个其他成员的交易以增加该成员的VPP,这随后在步骤408提示VPP增量器220增加了该成员的VPP,并将新的VPP存储在VPP寄存器234中。在上文中参照图4的360、362和364描述的变型中,如果在步骤408之后,VPP确定器216确定该成员的VPP至少是VPP增量器220增加该成员的VPP的量,则VPP增量器220通过将该成员的VPP减小该量来响应。

然后过程结束(或者可以返回到步骤406)。

如果在步骤390,VPP确定器216在验证新成员的交易之后确定该新成员的VPP将小于阈值VPP,则该过程在步骤410继续,在410中,用户优先级确定器和分配器226确定成员的VEP是否至少是阈值VEP。如果是,则该过程在步骤392继续(如上文所述);如果不是,则该过程在步骤412继续,在步骤412,用户优先级确定器和分配器226将交易标记为不被分派给其他成员以进行验证,并且实际上避免这样做。该过程在步骤406继续,在步骤406,在稍后的某个时间,成员有机会增加他,/她的VPP和/或VEP。

因此,尽管在该实施例中区块链网络102是许可网络,使得仅合格的成员才被接纳为用户,对交易的验证以基于互惠的共识机制的分散方式执行,被称为使用证明(Proof ofUse,PoU)。如已经看到的,一个成员可以由另一个成员验证其交易,并且对于该服务,VPP将会减少;该成员通过验证其他成员的交易来获取回报,因此增加了他/她的VPP。在上述一个变型中,在必要时通过增加寻求验证的成员的VPP来促进获得验证,使得该成员的VPP将保持在零或高于零;当成员通过验证其他成员的交易而重新获得足够高的VPP时,该过程将被逆转。

系统100可以包括各种可选特征。例如,具有高VPP的成员(例如,由于执行比交易更多的验证)可以将部分或所有VPP转换为加密货币,使得系统100可以包括PoW的优点之一。

在一些实施例中,系统100被配置为减少单个验证成员可支配验证的可能性,即,有垄断验证过程,这将破坏系统100运行的共识原则。如果具有高VPP的成员被允许使用盈余购买其他成员的“验证权”,则可能出现这种支配。因此,系统100可以被配置为使得可被视为在预定的时段(例如,14日)内被看作可协商的成员的VPP的总量不能超过该成员的VPP的预定的量或预定的百分比(例如,10%)。可以通过将用户优先级确定器和分配器226配置为不将此类交易分配给任何成员以进行验证来防止将违反该规则的交易。可替选地,用户优先级确定器和分配器226可以被配置为允许验证否则将违反该规则的交易,但是被配置为使得在交易中增加了他的/她的VPP(即,不是通过交易验证)的成员被视为在不具有用于验证他人的交易的VPP的增加。

总体而言,系统100被设计为激励成员提供互惠验证服务以支持系统的可持续性。参与部分地基于优先级,当成员验证交易并且其交易被验证时,成员的参与会随着时间推移而建立。

作为一种合作机制,使用证明有助于节约能量(因为其不构成常规的“工作量证明”技术),同时给予成员足够的利益以参与验证。成员具有动力竞争以获得更高优先级。尽管如此,优先级标准将竞争控制在合理范围内。

计算机系统体系结构

还应理解,在上述实施例中,计算设备104、106和/或108在其各种变型中可以使用硬件、软件、固件、其上存储有指令的非暂态计算机可读介质或其组合来实现,并且可以在一个或多个计算机系统或其他处理系统中实现。硬件、软件或其任意组合可以体现用于实现本申请中所描述的方法的模块和组件。

当使用可编程逻辑时,该逻辑可以在由可执行软件代码配置的商用处理平台上执行,从而成为专用计算机或专用设备(例如,可编程逻辑阵列、专用集成电路等)。本领域普通技术人员可以理解,可以用各种计算机系统配置来实践所公开的主题的实施例,所述计算机系统配置包括多核多处理器系统、小型计算机、大型机计算机、使用分布式功能链接或集群的计算机,以及可以嵌入到几乎任何设备中的普适或小型计算机。例如,可以使用至少一个处理器设备和存储器来实现上述实施例的计算设备。

本文所讨论的处理器可以是单个处理器、多个处理器或其组合。处理器可以具有一个或多个处理器“内核”。本文所讨论的术语“计算机程序介质”、“计算机可读介质”、“非暂态计算机可读介质”和“计算机可用介质”通常用于指代有形介质。

本发明的各种实施例在所示实施例中进行了描述。在阅读该描述之后,对于相关领域的技术人员来说,如何使用其他计算机系统和/或计算机体系结构来实现本申请将是显而易见的。虽然操作可以被描述为顺序过程,但是一些操作实际上可以并行、并发和/或在分布式环境中执行,并且使用本地或远程存储的用于由单或多处理器机器访问的程序代码来执行。另外,在一些实施例中,在不背离所公开的主题的精神的情况下,可以重新排列操作的顺序。

处理器208、308可以是专门配置为执行本文所讨论的功能的专用处理器或通用处理器。它们可以经由相应的通信控制器可操作地连接到外部电信网络,继而连接到发射器和接收器。电信网络可以是适于执行本文所公开的功能的任何网络,并且可以包括局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、无线网络(例如,WiFi)、移动通信网络、卫星网络、互联网、光纤、同轴电缆、红外光、射频(Radio Frequency,RF)或其任何组合。其他合适的网络类型和配置对于相关领域的技术人员将来说是显而易见的。示例性发射器和接收器包括调制解调器、网络接口(例如,以太网卡)、通信端口、PCMCIA狭槽和卡等。

经由发射器和接收器传输的软件和数据可以是信号的形式,其可以是电子信号、电磁信号、光学信号或其他信号,这对于相关领域技术人员来说是显而易见的。信号可以经由通信路径传播,该通信路径可以被配置为承载信号,并且可以使用电线、电缆、光纤、电话线、蜂窝电话链路、射频链路等来实现。

存储器210和310(例如,随机存取存储器、只读存储器等),并且还可以包括或伴随有包括硬盘驱动器和可移动存储驱动器的存储装置,例如软盘驱动器、磁带驱动器、光盘驱动器、闪存等。在一些实施例中,该存储装置包括用于使得计算机程序或其他指令可以被加载到计算设备104、106和/或108中的替代装置,诸如可拆卸存储驱动器和接口。这种装置的示例可以包括程序盒和盒接口(例如,如在视频游戏系统中发现的)、可移动存储器芯片(例如,EEPROM、PROM等)和相关联的插座、以及对于具有相关领域技术人员显而易见的其他可拆卸存储单元和接口。

存储在计算设备104、106和/或108中的数据可以被存储在任何类型的合适的计算机可读介质上,诸如光学存储装置(例如,光盘、数字多功能光盘、蓝光光盘等)或磁带存储装置(例如,硬盘驱动器)。可以在任何类型的适当数据库配置中配置数据,例如关系数据库、结构化查询语言(Structured Query Language,SQL)数据库、分布式数据库、对象数据库等。对于具有相关领域技术人员而言,合适的配置和存储类型将是显而易见的。

计算设备106和/或108还可以包括输出设备,其被配置为允许在相应设备和用户界面204、304之间传输数据。这种输出设备包括例如高清多媒体接口(High-DefinitionMultimedia Interface,HDMI)、数字视觉接口(Digital Visual Interface,DVI)、视频图形阵列(Video Graphics Array,VGA)等。用户界面204、304可包括用于显示经由输出设备传输的数据的任何合适类型的显示器,例如阴极射线管(Cathode Ray Tube,CRT)显示器、液晶显示器(Liquid Crystal Display,LCD)、发光二极管(Light-Emitting Diode,LED)显示器、电容式触摸显示器、薄膜晶体管显示器等。

用户界面204、304还包括输入设备,例如触摸板、键盘、鼠标、操纵杆、数码相机和麦克风。音频输入设备(如所提及的麦克风)可用于包括语音识别的目的。图像输入设备(如所提及的数字相机)可用于包括姿势识别的目的。

计算机程序代码和计算机可读介质可以指存储器,例如存储器210、310,其可以是存储器半导体(例如DRAM等)。这些计算机程序代码230、330向相应的计算设备106、108提供软件。这种计算机程序代码当被执行时控制设备106、108至少部分地实现本文所讨论的方法。

如上文所述的处理器208、308包括被配置为分别执行计算设备106、108的功能的模块或引擎。每个模块或引擎可以使用硬件来实现,并且在一些情况下,还可以使用软件,例如分别对应于存储在存储器210、310中的程序代码。在这种情况下,程序代码可以在由计算设备106、108的硬件执行之前由处理器208、308(例如,由编译模块或引擎)编译。例如,程序代码230、330可以是以编程语言编写的源代码,其被翻译成较低级语言,例如汇编语言或机器代码,用于由处理器208、308和/或设备106、108的任何附加硬件组件执行。编译的过程可包括使用词法分析、预处理、解析、语义分析、语法定向翻译、代码生成、代码优化,以及可适于将程序代码翻译为适于控制设备106、108以执行本文公开的功能的较低级语言的任何其他技术。对于相关领域的技术人员来说显而易见的是,这种过程导致设备106、108是一个或多个专门配置的计算机系统,该计算机系统被唯一地编程以执行上述功能。

本发明领域的技术人员将理解,在不背离本发明的精神和范围的情况下可以进行许多修改,特别是将显而易见的是,可以采用本发明的实施例的某些特征来形成进一步的实施例。

应当理解,如果在此提及任何现有技术,这种引用并不构成承认现有技术构成任何国家的本领域公知常识的一部分。

技术分类

06120114711952