CN113994357B - 在终端与支付系统之间直接传输电子硬币数据记录的方法 - Google Patents
在终端与支付系统之间直接传输电子硬币数据记录的方法Info
- Publication number
- CN113994357B CN113994357B CN202080037158.XA CN202080037158A CN113994357B CN 113994357 B CN113994357 B CN 113994357B CN 202080037158 A CN202080037158 A CN 202080037158A CN 113994357 B CN113994357 B CN 113994357B
- Authority
- CN
- China
- Prior art keywords
- coin data
- electronic coin
- data record
- masked
- terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明涉及一种用于在第一终端与第二终端之间直接传输电子硬币数据记录的方法,其中第二终端执行以下步骤:从第一终端接收电子硬币数据记录,其中至少一个电子硬币数据记录包括货币金额和隐藏金额;使用接收的电子硬币数据记录生成修改的电子硬币数据记录;通过对修改的电子硬币记录应用同态单向函数来对修改的电子硬币记录进行掩码,以便获得经掩码的修改的电子硬币记录;向监控实体发送对经掩码的修改的电子硬币数据记录的注册请求。本发明还涉及货币系统和支付系统,包括:分散受控数据库,其中存储有经掩码的电子硬币数据记录;以及直接交易层,其包括至少两个其中可执行方法的终端。
Description
技术领域
本发明涉及一种用于在终端之间直接传输电子硬币数据记录的设备。本发明还涉及一种在至少两个终端与监控实体之间的支付系统。
背景技术
支付交易和相关支付交易数据的安全性意味着保护所交换数据的机密性;以及保护交换数据的完整性;以及保护交换数据的可用性。
常规的基于区块链的支付交易表示对完整性的高度保护。当电子硬币数据记录(也称为“硬币(coins)”)在一种区块链技术中转手时,很多信息被公布。因此,这种支付交易(特别是所交换数据)不是完全保密的。此外,支付交易是非常计算密集的,并且因此很消耗能量。
因此,代替机密数据,仅机密数据的散列值被常规地存储在区块链分类账中。对应的纯文本数据则必须在区块链之外进行管理。到目前为止,这种概念还不适用于电子硬币数据记录,因为它们没有基本控制功能,基本控制功能特别是:(1)识别多重支出方法,也称为双倍支出(double spending);以及(2)识别未覆盖的支付。在情况(1)中,有人试图多次输出相同的硬币数据记录,并且在第二种情况中,有人试图输出硬币数据记录,即使他或她没有信用(不再有信用)。
从DE 10 2009 038 645 A1和DE 10 2009 034 436 A1可知,用于以电子数据记录的形式传输货币金额的系统是已知的,其中,防止用数据记录的副本进行支付,并且提供高度的操纵安全性,同时交换需要复杂的结构以及复杂的加密和签名过程。这些系统证明没有什么实际用途。
WO 2016/200885 A1描述了一种用于加密在区块链分类账中交易的金额的方法,其中,交易的可验证性被保留。隐藏金额被添加到输入值。然后生成输出值并对其加密。输入值和输出值都在一取值范围内,其中该范围内任意两个值的总和不超过阈值。加密输入值和加密输出值的总和可以为零。范围检查(所谓的范围证明)与输入值和输出值中的每一个相关联。这些范围检查证明输入值和输出值都在落在该取值范围内。每个公共密钥可以基于交易中接收方的公共密钥用环签名(ring signature)来签名。该过程需要区块链技术,在接收硬币数据记录后为了验证硬币数据记录必须调用区块链技术。
本发明的目的是提供一种方法和系统,其中,支付交易被配置成安全但简单。特别地,提供了终端(诸如令牌、智能手机以及机器)之间的匿名直接支付。硬币数据记录应在接收到之后立即可用。意图是,多个硬币数据记录可以根据用户的需要彼此组合和/或分割,以便实现灵活交换。所交换的硬币数据记录应该一方面对其他系统参与方保密,但另一方面允许每个系统参与方进行基本的会计检查,特别是允许每个系统参与方识别多次支出尝试和识别以不存在的金额进行支付的尝试。
发明内容
所设置的目的通过独立权利要求的特征来实现。从属权利要求中描述了进一步的有利发展。
特别地,该目的通过一种用于在第一终端与第二终端之间直接传输电子硬币数据记录的方法来实现,其中由第二终端执行以下步骤。从第一终端接收电子硬币数据记录,其中,至少一个电子硬币数据记录包括货币金额和隐藏金额。使用接收的电子硬币数据记录生成修改的电子硬币数据记录。通过对修改的电子硬币记录应用同态单向函数来对修改的电子硬币记录进行掩码(mask),以便获得经掩码的修改的电子硬币记录。向监控实体发送对于经掩码的修改的电子硬币数据记录的注册请求。
注册请求优选地包括作为待注册的经掩码的电子硬币数据记录的经掩码的修改的电子硬币数据记录,以及作为已注册的经掩码的电子硬币数据记录的接收的电子硬币数据记录的经掩码的接收的电子硬币数据记录。
在生成的步骤中
-根据接收的电子硬币数据记录,可以生成待切换的修改的电子硬币数据记录,或者
-接收的电子硬币数据记录可以被分割成至少两个分割的修改的电子硬币数据记录,或者
-可以将接收的电子硬币数据记录作为第一电子硬币数据记录和至少一个第二电子硬币数据记录合并,以形成合并的修改的电子硬币数据记录。
因此,经掩码的修改的电子硬币数据记录可以是经掩码的电子硬币数据记录,其或者被分割、合并,或者待切换。
相应地,注册请求优选地包括:
-恰好一个待注册的经掩码的电子硬币数据记录和恰好一个已注册的经掩码的电子硬币数据记录,或者
-至少两个待注册的经掩码的分割的修改的电子硬币数据记录(和经掩码的接收的电子硬币数据记录),或者
-至少两个已注册的经掩码的电子硬币记录(其中一个是经掩码的接收的电子硬币记录和经掩码的合并的电子硬币记录)。
有利的是,第二终端通过应用同态单向函数从接收的电子硬币数据记录中获得经掩码的接收的电子硬币数据记录。
在生成的步骤中,特别有利的是,针对不同的修改执行以下步骤。待切换的修改的电子硬币数据记录可以从接收的电子硬币数据记录中生成,其中
o使用接收的电子硬币数据记录的接收的隐藏金额为修改的电子硬币数据记录生成隐藏金额,并且
o将接收的电子硬币数据记录的接收的货币金额用作修改的电子硬币数据记录的货币金额。
接收的电子硬币数据记录可以被分割成至少两个电子部分硬币数据记录,其中
o接收的货币金额对应于至少两个电子部分硬币数据记录的货币金额的总和,并且
o特别地,至少两个电子部分硬币数据记录的隐藏金额的总和对应于接收的电子硬币数据记录的隐藏金额。
可以通过以下步骤将接收的电子硬币数据记录作为第一电子硬币数据记录和至少一个第二电子硬币数据记录合并,以形成修改的合并的电子硬币数据记录
o通过形成第一电子硬币数据记录和第二电子硬币数据记录的相应隐藏金额的总和来计算修改的电子硬币数据记录的隐藏金额,以及
o通过形成第一电子硬币数据记录和第二电子硬币数据记录的相应货币金额的总和来计算修改的电子硬币数据记录的货币金额。
在第二终端中接收到(传输的)电子硬币数据记录之后,硬币数据记录相应地被切换、分割或合并。将传输的电子硬币数据记录切换到另一电子硬币数据记录,即待切换的电子硬币数据记录;或者将传输的电子硬币数据记录分割成另一(第二)电子硬币数据记录;或者将传输的电子硬币数据记录与另一电子硬币数据记录合并,以形成另一电子硬币数据记录,即合并的电子硬币数据记录。另一(或修改的)电子硬币数据记录被掩码。在实施例中,在终端中可以仅使用切换或者仅使用分割或合并,但是终端优选地从三个步骤中选择一个。
终端向监控实体发送注册请求,该监控实体为电子硬币数据记录存储有效的经掩码的电子硬币数据记录。诸如第二终端的终端可以替代地或附加地(例如在进一步使用之前)通过在有效性请求中向监控实体发送经掩码的电子硬币数据记录来检查电子硬币数据记录(特别是接收的记录)的有效性。监控实体基于存储的有效的经掩码的电子硬币数据记录来(肯定地或否定地)响应有效性请求。
注册请求的发送(以及因此在监控实体中注册的步骤)优选地在终端连接到监控实体时执行。在替代方案中,所描述的步骤最初也可以在不执行发送注册请求(以及在监控实体处注册)的步骤的情况下执行。接收电子硬币记录和发送注册请求的步骤彼此独立。接收电子硬币数据记录和发送注册请求的步骤可以特别地在不同的时间彼此独立地执行(例如,现在接收和以后注册(明天或后天))。
当切换传输的硬币数据记录时,在一个实施例中,从第一终端传输的电子硬币数据记录的货币金额对应于另一电子硬币数据记录的货币金额。当分割传输的电子硬币数据记录时,在一个实施例中,传输的电子硬币数据记录的货币金额对应于从传输的电子硬币数据记录创建的另外的电子硬币部分数据记录的总货币金额。当合并时,在一个实施例中,传输的电子硬币数据记录和第二电子硬币数据记录的总货币金额对应于合并的电子硬币数据记录的货币金额。
电子硬币数据记录(特别是表示金钱价值(=货币金额)的电子数据记录)通俗地称为“数字硬币”或“电子硬币”。在该方法中,该货币金额从第一终端切换到另一终端。在下文中,货币金额被理解为例如可以被记入金融机构的账户或者可以被交换以用于另一种支付方式的数字金额。因此,电子硬币数据记录表示电子形式的现金。
终端可以具有多个电子硬币数据记录;例如,多个硬币数据记录可以被存储在终端的数据存储装置中。数据存储装置表示例如电子钱包。终端通常将完全自己执行这些步骤,但是它可以调用执行终端的生成、掩码和发送(优选地“生成和掩码”或“掩码和发送”或发送)的步骤中的至少一个(特别是恰好一个或恰好两个或全部三个)的终端服务(外部服务器实体)。
例如,终端可以是无源设备(诸如令牌)、移动设备(诸如智能手机)、平板计算机、计算机、服务器或机器。
一种根据本发明的在监控实体中的方法,监控实体存储有效的经掩码的电子硬币数据记录,每个记录通过将同态单向函数应用于电子硬币数据记录而形成,其中电子硬币数据记录包括货币金额和隐藏金额,该方法具体包括以下步骤:
–接收注册请求,该注册请求包括至少一个待注册的经掩码的电子硬币数据记录和至少一个已注册的经掩码的电子硬币数据记录;
–检查接收的注册请求,其中
○检查注册请求的已注册的经掩码的电子硬币数据记录是否被存储为用于在监控实体中传输的有效的经掩码的电子硬币数据记录,以及
○检查注册请求的经掩码的电子硬币数据记录总体上是否是货币金额中性的;以及
–将待注册的经掩码的电子硬币数据记录存储为有效的经掩码的电子硬币数据记录,其中,先前存储为有效的注册请求的已注册的经掩码的电子硬币数据记录不再有效。
优选地,通过形成经掩码的电子硬币数据记录之间的差值,在不知道金额的情况下,执行检查注册请求的货币金额中性(由于所使用的同态单向函数,这是可能的)。
在优选方法中,监控实体从发行方实体接收创建和/或停用请求,该创建和/或停用请求包括至少一个创建的或待停用的经掩码的电子硬币数据记录,特别是对于由发行方实体新发布的电子硬币数据记录或由发行方实体撤回的电子硬币数据记录的创建和/或停用请求。
对于经掩码的电子硬币数据记录的创建和/或停用请求可以包括经掩码的电子硬币数据记录的发行方的签名,其中,经掩码的新创建的电子硬币数据记录的签名优选地被存储在监控实体中。
通过在监控实体中标记或删除对应的经掩码的电子硬币数据记录,电子硬币数据记录在监控实体中可能变得无效。特别优选地,对应的经掩码的电子硬币数据记录或对应的电子硬币数据记录还在发行方实体中被停用。
特别地,电子硬币数据记录是唯一且无歧义的,从而已经不同于常规的数据记录。它有利地用于安全概念,安全概念可以可选地包括例如签名或加密。原则上,电子硬币数据记录应包含接收实体在验证和向其他实体转发的方面所需的所有数据。因此,当交换电子硬币数据记录时,终端之间的附加通信基本上不是必需的,而是可能使用的。
根据本发明,用于在两个终端之间传输的电子硬币数据记录包括货币金额和隐藏金额,货币金额是表示电子硬币数据记录的货币价值的数据,隐藏金额例如是随机数。此外,电子硬币数据记录可以包括进一步的元数据,例如货币金额表示哪种通货(currency)。电子硬币数据记录由这至少两个数据(货币金额和隐藏金额)唯一地表示。任何能够访问有效硬币数据记录的这两个数据的人都可以使用该电子硬币数据记录进行支付。因此,知道这两个值(货币金额和隐藏金额)相当于拥有数字金钱。该电子硬币数据记录直接在两个终端之间传输,即至少在第一终端与第二终端之间传输。在本发明的一个实施例中,电子硬币数据记录由这两个数据组成,使得对于交换数字金钱来说,仅货币金额和隐藏金额的透明度(transmittance)是必要的。
对应的经掩码的电子硬币数据记录与每个电子硬币数据记录相关联。获知经掩码的电子硬币数据记录并不允许有人分发(dispense)由电子硬币数据记录表示的数字金钱。这表示了经掩码的电子硬币数据记录和(未经掩码的)电子硬币数据记录之间的本质区别,并且是本发明的本质部分。经掩码的电子硬币数据记录是唯一的,并且可以清楚地与电子硬币数据记录相关联,即以1对1的关系。电子硬币数据记录优选地由终端内的终端计算单元进行掩码,该终端也具有至少一个电子硬币数据记录。替代地,可以由接收电子硬币数据记录的终端的计算单元来执行掩码。
通过应用同态单向函数(特别是同态密码函数),获得这个经掩码的电子硬币数据记录。该函数是单向函数,即,从复杂性理论的角度来说“容易”计算但“难”到实际上不可能逆转的数学函数。这里,单向函数也称为这样的函数,对于该函数,已知在合理的时间内通过合理的努力实际上不能进行反转。因此,从电子硬币数据记录计算经掩码的电子硬币数据记录相当于在使用剩余类别组的加密方法中生成公共密钥。优选地,使用这样的单向函数,该单向函数对从对应的密码方法的私钥难以解决离散对数问题的组进行运算,诸如类似于椭圆曲线密码(简称为ECC)的密码方法。反函数(即,从经掩码的电子硬币数据记录生成电子硬币数据记录)非常耗时——相当于在剩余类组上用加密方法从公钥生成私钥。当在本文档中提到总和与差值或其他数学运算时,这些在数学意义上应该理解为对于对应的数学组(例如椭圆曲线上的一组点)的相应运算。
单向函数是同态的,即具有同态属性的密码方法。因此,可以对经掩码的电子硬币数据记录进行数学运算,并且也可以对(未经掩码的)电子硬币数据记录并行进行数学运算,从而将其再现。在同态单向函数的帮助下,可以在监控实体中再现具有经掩码的电子硬币数据记录的计算,而不需要在那里知道对应的(未经掩码的)电子硬币数据记录。因此,对于电子硬币数据记录的某些计算,例如用于处理(未经掩码的)电子硬币数据记录(例如,分割或合并)的计算,也可以与相关联的经掩码的电子硬币数据记录并行验证,例如以用于验证检查或检查相应电子硬币数据记录的合法性。同态属性至少适用于加法和减法运算,使得分割或组合(=合并)电子硬币数据记录也可以借由相应地经掩码的电子硬币数据记录被记录在监控实体中,并且可以由正在请求的终端设备和/或由监控实体在不知道货币金额和正在执行的终端的情况下再现。
因此,同态属性使得在不知道电子硬币数据记录的情况下,即使这些电子硬币数据记录被处理(分割、合并、切换),也可以在监控实体中基于它们的经掩码的电子硬币数据记录来记录有效的和无效的电子硬币数据记录。这确保没有附加的货币金额被创建,或者终端的身份被记录在监控实体中。因此,掩码(masking)允许高度的安全性,而无需对货币金额或终端给出任何洞察。这导致了两层支付系统。一方面,存在检查经掩码的电子数据记录的处理层,并且另一方面,存在至少两个终端传输电子硬币数据记录的直接交易层。
当电子硬币数据记录用于两个终端之间的直接支付时,经掩码的硬币数据记录被注册在监控实体中。
切换传输的电子硬币数据记录的步骤包括以下子步骤:
–根据传输的硬币数据记录,生成在第二终端中待切换的电子硬币数据记录,其中
–使用传输的电子硬币数据记录的传输的隐藏金额,在第二终端中生成待切换的电子硬币数据记录的隐藏金额;以及
–将传输的电子硬币数据记录的传输货币金额用作待切换的电子硬币数据记录的货币金额。
当电子硬币数据记录从第一终端传输到第二终端时,两个终端因此知道电子硬币数据记录。为了防止正在进行发送的第一终端也在另一(第三)终端处使用电子硬币数据记录进行支付,传输的电子硬币数据记录从第一终端切换到第二终端。优选地,当接收到电子硬币数据记录时,可以自动执行切换。此外,这也可以根据请求来完成,例如根据来自第一终端和/或第二终端的命令。
在优选实施例中,生成包括为待切换的电子硬币数据记录创建隐藏金额,优选地使用传输的电子硬币数据记录的隐藏金额的结合新的隐藏金额(例如随机数)。优选地,待切换的电子硬币数据记录的隐藏金额作为传输的电子硬币数据记录的隐藏金额和充当新的(即附加的)隐藏金额的随机数的总和而获得。此外,传输的电子硬币数据记录的货币金额优选地用作待切换的电子硬币数据记录的货币金额。因此,不会生成附加的金钱,并且两个硬币数据记录的货币金额是相同的。
在切换的步骤之后的注册导致由第一终端发送的电子硬币数据记录变得无效,并且在第一终端的第二次支出尝试中被相应地识别为无效。由第二终端生成的(另外的)硬币数据记录在成功完成检查之后变得有效。
当切换(也称为“交换”)时,从第一终端接收的电子硬币数据记录导致新的电子硬币数据记录,其优选地具有相同的货币金额,即所谓的待切换的电子硬币数据记录。新的电子硬币数据记录由第二终端生成,优选地通过使用接收的电子硬币数据记录的货币金额作为待切换的电子硬币数据记录的货币金额来生成。生成新的隐藏金额,例如随机数。在切换之后,接收的电子硬币数据记录和待切换的电子部分硬币数据记录优选地在终端中通过将同态单向函数应用于接收的电子硬币数据记录和待切换的电子部分硬币数据记录被掩码,以便相应地获得经掩码的接收的电子硬币数据记录和经掩码的待切换的电子部分硬币数据记录。此外,在远程监控实体中注册经掩码的电子硬币数据记录的切换所需的附加信息优选地在终端中计算。附加信息优选地包括经掩码的待切换的电子硬币数据记录的范围证明和经掩码的接收的电子硬币记录的范围证明。范围证明是一种证明,其证明电子硬币数据记录的货币价值不为负、电子硬币数据记录是被有效创建的、和/或电子硬币数据记录的货币价值和隐藏金额对于范围证明的创建者是已知的。特别地,范围证明用于提供(多个)所述证明,而不泄露经掩码的电子硬币数据记录的货币价值和/或隐藏金额。这些范围证明也称为“零知识范围证明”。环签名优选地用作范围证明。经掩码的电子硬币数据记录的切换然后被注册在远程监控实体中。
这种切换是必要的,以使从第一终端接收的电子硬币数据记录无效,从而避免双倍支出。这是因为,只要电子硬币数据记录没有被切换,由于第一终端知道电子硬币数据记录并且因此仍然拥有它,第一终端就可以将这个接收的电子硬币数据记录传递给第三设备。例如,通过向接收的电子硬币数据记录的隐藏金额添加新的隐藏金额,从而获得仅第二终端知道的隐藏金额,使得切换变得安全。新创建的隐藏金额必须具有高熵(highentropy),因为它们被用作对应的经掩码的电子部分硬币数据记录的炫目因素(dazzlefactor)。优选地,终端上的随机数生成器用于此目的。这种保护可以在监控实体中被跟踪。
在分割的步骤中,第二终端的电子部分硬币数据记录被分割成第一电子部分硬币数据记录和第二电子部分硬币数据记录。优选地,一方面,通过确定第一电子硬币数据记录的部分货币金额和部分隐藏金额(各自在0与接收的货币金额或隐藏金额之间)来执行分割,并且另一方面,通过将第二电子部分硬币数据记录的货币金额计算为接收的货币金额与第一电子部分硬币数据记录的部分货币金额之间的差值,并且将第二电子部分硬币数据记录的隐藏金额计算为接收的隐藏金额与第一电子部分硬币数据记录的部分隐藏金额之间的差值,来执行分割。在分割之后,通过分别应用同态单向函数,在第二终端中对待分割的电子硬币数据记录、第一电子部分硬币数据记录和第二电子部分硬币数据记录进行掩码,以便相应地获得经掩码的待分割的电子硬币数据记录、经掩码的第一电子部分硬币数据记录和经掩码的第二电子部分硬币数据记录。此外,在终端中计算在远程监控实体中注册经掩码的电子硬币数据记录的分割所需的附加信息。附加信息优选地包括经掩码的待分割的电子硬币数据记录的范围证明、经掩码的第一电子硬币数据记录的范围证明和经掩码的第二电子硬币数据记录的范围证明。范围证明是一种证明,其证明了电子硬币数据记录的货币价值不为负、电子硬币数据记录已经被有效创建、和/或电子硬币数据记录的货币价值和隐藏金额对于范围证明的创建者是已知的。特别地,范围证明用于提供(多个)所述证明,而不泄露经掩码的电子硬币数据记录的货币价值和/或隐藏金额。这些范围证明也称为“零知识范围证明”。优选地,环签名被用作范围证明。经掩码的电子硬币数据记录的分割然后被注册在远程监控实体中。以这种方式,待传输的货币金额可以适应对应的需求。终端所有者不必总是将全部货币金额传递给另一终端。
分割并随后注册的优点在于,至少一个电子硬币数据记录的所有者不必总是一次性传输全部货币金额,而是传送对应的部分金额。只要所有电子部分硬币数据记录具有小于从中进行分割的电子硬币数据记录的货币金额的正货币金额,并且电子部分硬币数据记录的总和等于待分割的电子部分硬币数据记录,货币价值就可以不受约束地进行分割。替代地或附加地,可以使用固定面额。替代地,隐藏金额可以在终端外部生成,并且经由(安全)通信信道获得。优选地,终端上的随机数生成器用于此目的。为了跟踪所有检查,监控实体例如可以在适当的地方注意监控实体的部分步骤,并且还为此目的设置标记(称为标志),以便记录中间阶段。在成功完成与分割命令相关的检查之后,也就是说,如果标记适当地完成,则(经掩码的)第一电子部分硬币数据记录和(经掩码的)第二电子部分硬币数据记录优选地被标记为有效。(经掩码的)待分割的电子硬币数据记录自动变得失效。优选地,监控实体向“命令”终端传送执行分割命令的结果,即在执行分割命令之后所涉及的经掩码的电子硬币数据记录中的哪些是有效的。
在合并电子硬币数据记录的步骤中,从第一电子硬币数据记录和第二电子硬币数据记录中确定另一电子硬币数据记录(合并的电子硬币数据记录)。通过形成第一电子硬币数据记录和第二电子硬币数据记录的相应隐藏金额的总和来计算待合并的电子硬币数据记录的隐藏金额。此外,优选地通过形成第一电子硬币数据记录和第二电子硬币数据记录的相应货币金额的总和来计算所连接的电子硬币数据记录的货币金额。
在合并之后,通过将同态单向函数应用于第一电子硬币数据记录、第二电子硬币数据记录和待合并的电子硬币数据记录,在(第一和/或第二)终端中对第一电子硬币数据记录、第二电子硬币数据记录和待合并的电子硬币数据记录进行掩码,以便相应地获得经掩码的第一电子硬币数据记录、经掩码的第二电子硬币数据记录和经掩码的待合并的电子硬币数据记录。此外,在终端中计算在远程监控实体中注册经掩码的电子硬币数据记录的合并所需的附加信息。优选地,附加信息包括经掩码的第一电子硬币数据记录的范围证明和经掩码的第二电子硬币数据记录的范围证明。范围证明是电子硬币数据记录的货币价值不是负数、电子硬币数据记录已经被有效创建、和/或电子硬币数据记录的货币价值和隐藏金额对于范围证明的创建者是已知的证明。特别地,范围证明用于提供(多个)所述证明,而不泄露经掩码的电子硬币数据记录的货币价值和/或隐藏金额。这些范围证明也称为“零知识范围证明”。优选地,环签名被用作范围证明。然后,两个经掩码的电子硬币数据记录的合并被注册在远程监控实体中。
利用合并的命令或步骤,可以组合两个电子硬币数据记录。货币金额以及隐藏金额相加。如同分割一样,当合并时,也可以执行两个原始硬币数据记录的有效性。
本发明概念与已知解决方案的主要区别特征在于,监控实体仅(即,排他地)保持知道经掩码的电子硬币数据记录,并且可选地保持知道经掩码的电子硬币数据记录的操作或更改的列表。实际的支付交易没有在监控实体中注册,而是直接在终端之间的直接交易层中进行。
根据本发明,提供了一种由直接支付交易层和监控层组成的两层支付系统,直接支付交易层用于(未经掩码的)电子硬币数据记录的直接交换,监控层也可以称为“隐藏的电子数据记录分类账”。支付交易不记录在检查层的监控实体中,而仅仅是为了验证(未经掩码的)电子硬币数据记录的有效性而经掩码的电子硬币数据记录及其操作。这保证了支付系统中参与方的匿名性。监控实体提供关于有效的和无效的电子硬币数据记录的信息,例如以避免同一电子硬币数据记录的多次支出或者验证电子硬币数据记录作为有效发行的电子金钱的真实性。
因此,第一终端和/或第二终端可以向直接支付交易层中的另一终端传输电子硬币数据记录,而不需要连接到检查实体,特别是当终端离线时。
这里,第一终端和/或第二终端可以具有其中安全存储电子硬币数据记录的安全元件。安全元件优选地是特殊计算机程序产品,特别是以终端的操作系统内的安全运行时环境的形式(称为可信执行环境(TEE)),其存储在数据存储装置上(例如移动终端、机器,优选地是ATM)。替代地,安全元件例如被形成为特殊硬件,特别是被称为可信平台模块(TPM)的安全硬件平台模块的形式,或者被形成为嵌入式安全模块、eUICC、eSIM。安全元素提供了可信的环境。
两个终端之间的通信可以以无线或有线方式进行,或者例如也可以以光学方式进行,优选地经由QR码或条形码,并且可以被配置为安全信道。光学方式可以包括例如生成光学编码(特别是2D编码,优选地是二维码)和以光学编码进行读取的步骤。因此,电子硬币数据记录的交换例如通过密码密钥来确保,例如为电子硬币数据记录交换协商的会话密钥或者对称或非对称密钥对。
通过终端之间的通信(例如经由其安全元件),交换的电子硬币数据记录被保护免受盗窃或操纵。因此,安全元件级别补充了已建立的区块链技术的安全性。
此外,有利的是,电子硬币数据记录可以以任何格式传输。这意味着它们可以在任何信道上传送(即传输)。它们不需要以特定的格式或特定的程序来保存。
特别地,移动电信终端(例如智能手机)被视为终端。替代地或附加地,终端也可以是诸如可穿戴设备、智能卡、自动机、工具、自动售货机或集装箱或车辆的设备。因此,根据本发明的终端或者是固定的,或者是移动的。
终端优选地被配置成使用互联网和/或其他公共或私有网络。为此目的,终端使用合适的连接技术(例如蓝牙、Lora、NFC和/或WiFi),并且包括至少一个对应的接口。终端还可以被配置成借由接入蜂窝网络而连接到互联网和/或其他网络。
在一个实施例中,当存在或已经接收到多个电子硬币数据记录时,所示方法中的第一终端和/或第二终端根据它们的货币价值处理来接收的电子硬币数据记录。因此,可以预期具有较高货币价值的电子硬币数据记录在具有较低货币价值的电子硬币数据记录之前被处理。在一个实施例中,第一终端和/或第二终端设备可以被配置成在接收到电子硬币数据记录之后,取决于所附信息(例如通货或面额),将其与已经存在于第二终端设备中的电子硬币数据记录合并,并且相应地执行合并步骤。此外,第二终端还可以被配置成在从第一终端接收到电子硬币数据记录之后自动执行切换。
在一个实施例中,附加信息(特别是元数据,例如通货)在传输期间从第一终端传输到第二终端。在一个实施例中,该信息可以被包括在电子硬币数据记录中。
在优选实施例中,该方法还包括以下步骤:通过将同态单向函数应用于传输的电子硬币数据记录,在第二终端中对传输的电子硬币数据记录进行掩码;以及向远程监控实体发送经掩码的传输的电子硬币数据记录,以用于借由远程监控实体来检查传输的电子硬币数据记录的有效性。在这种情况下,例如,全部货币金额作为电子硬币数据记录的一部分被转移到第二终端。在收款方接受该电子硬币数据记录之前,收款方检查其有效性(如果适用的话)。为此目的,第二终端生成经掩码的传输的电子硬币数据记录,将其发送到监控实体,并且在这样做时,从监控实体查询电子硬币数据记录的有效性。监控实体现在检查经掩码的传输的电子硬币数据记录是否存在,以及它是否仍然有效,即还没有被另一终端使用,以便避免双倍支出。
在一个实施例中,在第二终端中创建证明。证明包括关于传输的电子硬币数据记录的货币金额与待切换的电子硬币数据记录的货币金额之间的对应关系的信息。证明优选地仅包括关于对应关系的信息,而不包括货币金额的信息。
优选地,在注册期间,在监控实体中检查第一终端和/或第二终端的电子硬币数据记录。取决于检查之前的步骤来执行检查,例如是否发生了切换、合并和/或分割的步骤。这里,监控实体可以检查例如被传输和/或被分割和/或第一和第二(经掩码的)电子硬币数据记录的有效性。这使得可以确定电子硬币记录是否是第一次被处理。如果(经掩码的)电子硬币数据记录无效(即,特别是如果它们不存在于监控实体中),则不能成功地进行注册,例如因为终端几次试图输出电子硬币数据记录。
在另一优选实施例中,在终端中执行了切换步骤之后,由终端准备的切换命令被发送到监控实体(作为注册请求)。切换命令优选地包括经掩码的接收的电子硬币数据记录、经掩码的待切换的电子硬币数据记录,并且优选地包括在监控实体中进行检查所需的附加信息。附加信息用于向“命令”终端证明,在不传送值的情况下,优选地借由零知识证明而知道接收的电子硬币数据记录的货币金额和隐藏金额。检查实体检查零知识证明的可确认性、经掩码的接收的电子硬币数据记录的有效性、以及接收的电子硬币数据记录的货币金额等于待切换的电子硬币数据记录的货币金额。为了证明仅新的隐藏金额被添加到接收的电子硬币数据记录的隐藏金额中,但是货币金额保持相同,第二终端可以优选地证明经掩码的接收的硬币数据记录和经掩码的待切换的硬币数据记录之间的差值具有特殊的表示,即公钥的表示。这是通过为具有添加的隐藏金额的经掩码的待切换的电子硬币数据记录生成签名来完成的。然后,可以在监控实体中检查经掩码的待切换的电子硬币数据记录的这个生成的签名,这被认为是第二终端知道添加的隐藏金额的证明。在成功完成与切换命令相关的检查之后,即标记被适当地完成的情况下,(经掩码的)待切换的电子硬币数据记录优选地被标记为有效。先前注册的经掩码的电子硬币数据记录自动变得失效,如果适用的话。替代地,先前注册的经掩码的电子硬币数据记录被标记为无效或删除。监控实体优选地向“命令”终端传送切换命令的执行结果,即在切换命令已经执行之后,所涉及的经掩码的电子硬币数据记录中的哪些是有效的。
在另一优选实施例中,在执行分割步骤之后,由终端准备的分割命令被发送到监控实体(作为注册请求)以用于注册。它包括经掩码的待分割的电子硬币数据记录、经掩码的第一电子部分硬币数据记录、经掩码的第二电子部分硬币数据记录,并且优选地包括在监控实体中进行检查所需的附加信息。附加信息充当“命令”终端的证明,证明在不传送值的情况下,优选地借由零知识证明而知道待分割的电子硬币数据记录的货币金额和隐藏金额。检查实体检查零知识证明的可确认性、经掩码的待分割的电子硬币数据记录的有效性、以及第一电子硬币数据记录的货币金额和第二电子硬币数据记录的货币金额的总和等于待分割的电子硬币数据记录的货币金额(金额中性)。这优选地通过监控实体将经掩码的第一电子部分硬币数据记录和经掩码的第二电子部分硬币数据记录的总和与经掩码的待分割的部分硬币数据记录进行比较来完成。
在另一优选实施例中,在已经执行合并步骤之后,由终端准备的合并命令被发送到监控实体以用于注册(作为注册请求)。它包括第一经掩码的电子硬币数据记录、第二经掩码的电子硬币数据记录和经掩码的待合并的部分硬币数据记录,并且优选地包括在监控实体中进行检查所需的附加信息。附加信息充当“命令”终端的证明,证明在不传送值的情况下,优选地借由零知识证明而知道第一电子硬币数据记录和第二电子硬币数据记录的货币金额和隐藏金额。检查实体检查零知识证明的可确认性、经掩码的第一电子硬币数据记录的有效性、经掩码的第二电子硬币数据记录的有效性、以及第一电子硬币数据记录的货币金额和第二电子硬币数据记录的货币金额的总和等于待合并的电子硬币数据记录的货币金额(金额中性)。这优选地通过监控实体将经掩码的第一电子硬币数据记录和经掩码的第二电子硬币数据记录的总和与经掩码的待合并的部分硬币数据记录进行比较来完成。在与合并命令相关的检查已经成功完成之后,即在标记被适当完成之后,(经掩码的)待合并的电子硬币数据记录优选地被标记为有效。这里,(经掩码的)第一电子硬币数据记录和(经掩码的)第二电子硬币数据记录自动变得无效。替代地,先前注册的经掩码的电子硬币数据记录被标记为无效或删除。监控实体优选地向“命令”终端传送合并命令的执行结果,即在合并命令已经执行之后,所涉及的经掩码的电子硬币数据记录中的哪些是有效的。
在一个实施例中,在传输的电子硬币数据记录被注册在监控实体中之前,对传输的电子硬币数据记录进行掩码并检查其有效性。首先,第二终端发送对于经掩码的接收的电子硬币数据记录的有效性请求,并且仅当接收的电子硬币数据记录有效时才使用它。随后,例如,可以发送注册请求或者可以传递接收的(未修改的)电子硬币数据记录,特别是发送或传递到另一终端或者另一系统参与方,诸如商业银行的服务器实体。
在优选实施例中,监控实体是远程实体。因此,例如,它旨在建立到用于注册电子硬币数据记录的监控实体的通信连接。
监控实体被配置为上级实体。因此,监控实体不必被布置在终端级别或终端层(直接交易层)中。监控实体优选地被提供以用于管理和检查经掩码的电子硬币数据记录。它被布置在发行层和/或独立的监控层中,在发行层中还布置了发行方实体。可以设想,监控实体还管理和检查第一终端与第二终端之间的交易。
监控实体优选地是分散受控数据库,称为分布式分类账技术(DLT),其中经掩码的电子硬币数据记录与经掩码的电子硬币数据记录的相应处理一起注册。在优选实施例中,可以从中推导出(经掩码的)电子硬币数据记录的有效性状态。(经掩码的)电子硬币数据记录的有效性优选地记录在检查实体中并且由检查实体记录。处理或处理步骤的注册还可以涉及注册与电子硬币数据记录的有效性相关的检查结果和中间检查结果。如果处理是最终的,则这例如通过适当的标记或推导出的整体标记来指示。最终处理然后决定电子硬币数据记录是有效还是无效。
此外,该数据库优选地是非公共数据库,但是也可以被实施为公共数据库。该数据库使得可以以简单的方式检查硬币数据记录的有效性,并且防止“双倍支出”,即多次支出,而无需注册或记录支付交易本身。DLT描述了一种用于联网计算机的技术,该技术就某些交易的顺序以及这些交易更新数据达成一致。它对应于去中心化管理系统或分散管理数据库。
在进一步的实施例中,数据库也可以被配置为公共数据库。
替代地,监控实体是集中管理数据库,例如以可公开访问的数据存储的形式或者作为中央和分散数据库的混合形式。
初始电子硬币数据记录优选地由发行方实体专门创建。优选地,切换的、分割的或合并的电子硬币数据记录(特别是电子部分硬币数据记录)也可以由终端生成。货币金额的创建和选择优选地还包括选择具有高熵的隐藏金额。
发行方实体是优选地远离第一终端和/或第二终端的计算系统。发行方实体特别优选地与中央银行相关联。在创建新的电子硬币数据记录之后,通过将同态单向函数应用于新的电子硬币数据记录,在发行方实体中对新的电子硬币数据记录进行掩码,以便相应地获得经掩码的新的电子硬币数据记录。此外,在发行方实体中计算在远程监控实体中注册经掩码的新的电子硬币数据记录的创建所需的附加信息。该附加信息优选地是证明(经掩码的)新的电子硬币数据记录源自发行方实体的证明,例如通过对经掩码的新的电子硬币数据记录签名。在一个实施例中,意图是当生成电子硬币数据记录时,发行方实体可以用其签名来对经掩码的电子硬币数据记录签名。发行方实体的签名优选地被存储在监控实体中。在一个实施例中,可以设想发行方实体还发送具有生成的电子硬币数据记录的范围证明,以便证明电子硬币数据记录的拥有。
发行方实体可以优选地通过用同态单向函数来对待停用的电子硬币数据记录进行掩码并为监控实体准备停用命令或停用请求来停用它所拥有的电子硬币数据记录(即,它知道其货币金额和隐藏金额)。除了经掩码的待停用的电子硬币数据记录之外,停用步骤由发行方实体发起的证明(例如,以签名的经掩码的待停用的电子硬币数据记录的形式)优选地也是停用命令的一部分。作为附加信息,停用命令可以包括经掩码的待停用的电子硬币数据记录的范围证明。经掩码的电子硬币数据记录的停用然后被注册在远程监控实体中。停用的步骤用停用命令来触发。
在另一优选实施例中,停用命令(或停用请求)在发行方实体中进行准备并被发送到监控实体。停用命令包括经掩码的待停用的电子硬币数据记录,以及优选地,在监控实体中进行检查所需的附加信息。附加信息用于证明停用命令是由发行方实体发起的,优选地借助签名的经掩码的待停用的电子硬币数据记录。检查实体检查签名、经掩码的待停用的电子硬币数据记录的有效性,以及可选地,经掩码的待停用的电子硬币数据记录的范围证明。在成功完成与停用命令相关的检查之后,即特别地,在标记被适当地完成的情况下,(经掩码的)待停用的电子硬币数据记录优选地被标记为无效(或删除)。监控实体优选地向发行方实体传送停用命令的执行结果,即在停用命令已经执行之后,(经掩码的)待停用的电子硬币数据记录是无效的。
创建和停用的步骤优选地在安全位置中执行,特别是不在终端中。在优选实施例中,创建和停用的步骤仅由发行方实体执行或发起。这些步骤优选地在安全位置中执行,例如在为在不安全网络中处理敏感数据材料而开发的硬件和软件架构中。停用对应的经掩码的电子硬币数据记录具有这样的效果:对应的经掩码的电子硬币数据记录不再可用于进一步处理,特别是交易,因为它已经在监控实体中且由监控实体标记为无效。然而,在一个实施例中,可以规定停用的经掩码的电子硬币数据记录保持在发行方实体处存档。停用的经掩码的电子硬币数据记录不再有效的事实可以例如使用标志或一些其他编码来识别,或者停用的经掩码的电子硬币数据记录可以被销毁和/或删除。当然,停用的经掩码的电子硬币数据记录也可以被删除。
根据本发明的方法能够对电子硬币数据记录和对应的经掩码的电子硬币数据记录进行各种处理操作。每个处理操作(特别是创建、停用、分割、合并和切换)都在监控实体中注册。处理操作可以以不可更改的形式被附加到各个经掩码的电子硬币数据记录的先前处理操作的列表中。处理操作“创建”和“停用”(其涉及货币金额本身的存在,即创建和删除甚至销毁金钱)需要发行方实体以例如签名的形式进行附加批准,以便在监控实体中注册。其他处理操作(分割、合并、切换)不需要发行方实体或请求方/命令发起方(=支付方,例如第一终端)的任何授权。
直接交易层中的处理仅影响所有权结构和/或硬币数据记录与相应电子硬币数据记录的终端的关联。相应的处理结果被注册在监控实体中。有效的经掩码的硬币数据记录的数据库被相应地适配,例如通过添加和删除经掩码的硬币数据记录。然而,优选地,它借由数据库中的对应列表条目来实施,该数据库包括必须由监控实体设置的多个标记。列表条目的一种可能结构包括,例如,前身硬币数据记录的(多个)列、后继硬币数据记录的(多个)列、发行方实体的签名列和至少一个标记列。标记状态的改变需要监控实体的批准,并且必须不可更改地保存。当且仅当监控实体已经验证了所需的标记时,即,例如,在对应的检查之后状态“0”已经被更改为状态“1”的情况下,改变才是最终的。如果检查失败或时间过长,则改为进行更改,例如,从状态“-”更改为状态“0”。可以设想更多的状态值和/或这里提到的状态值是可互换的。优选地,相应的(经掩码的)电子硬币数据记录的有效性以从注册处理中涉及的每个经掩码的电子硬币数据记录的列中的标记的状态值中进行总结的方式来表示。
在另一示例性实施例中,至少两个、优选地三个、或者甚至所有上述标记也可以由在所有检查已经成功完成时设置的单个标记来代替。此外,前身数据记录和后继数据记录的两列可以各自组合成一列,其中所有硬币数据记录一起列出。这样,每个字段条目可以管理两个以上的电子硬币数据记录,并且因此,例如,可以实施分割成两个以上的硬币。
由检查实体进行的用于检查处理是否是最终的检查已经在上面进行了描述,并且特别是:
–(多个)前身列的经掩码的电子硬币数据记录有效吗?
–检查是否获得正确的检查值?
–经掩码的电子硬币数据记录的范围证明成功吗?
–经掩码的电子硬币数据记录的签名是发行方实体的有效签名吗?
还优选的是,当触发以下检查之一时,经掩码的电子硬币数据记录是无效的:
(1)经掩码的电子硬币数据记录没有被注册在监控实体中;
(2)对经掩码的电子硬币数据记录的最后处理指示存在其前身硬币数据记录,但是该最后处理不是最终的;或者
(3)对经掩码的电子硬币数据记录的最后处理指示存在其后续硬币数据记录,并且该最后处理是最终的;
(4)经掩码的电子硬币记录不是有效的经掩码的电子记录的后继,除非其由发行方实体签名。
这里列出的切换、分割或合并(注册修改)以及创建和停用(初始注册和最终注销)的步骤都是在监控实体中由对应的请求(或命令)(例如对应的创建、切换、分割、合并或停用命令)触发的。
在本发明的一个方面,一种用于交换货币金额的支付系统设置有:会计层,其包括其中存储有经掩码的电子硬币数据记录的数据库(优选地是分散受控数据库,分布式分类账技术(DLT));以及直接交易层,其包括至少两个其中可执行上述方法的终端;和/或发行方实体,用于最初生成或创建电子硬币数据记录。这里,发行方实体可以证明经掩码的生成的电子硬币数据记录是由其生成的,并且发行方实体可以优选地通过签名来识别自己,并且监控实体可以检查发行方实体的签名。在一个实施例中,可以设想发行方实体还发送具有生成的电子硬币数据记录的范围证明,以便证明电子硬币数据记录的拥有。
在优选实施例中,支付系统包括用于生成电子硬币数据记录的发行方实体。这里,发行方实体可以证明经掩码的生成的电子硬币数据记录是由其生成的,并且发行方实体可以优选地通过签名来识别自己,并且监控实体可以检查发行方实体的签名。在一个实施例中,可以设想发行方实体还发送具有生成的电子硬币数据记录的范围证明,以便证明电子硬币数据记录的拥有。
支付系统优选地被配置成执行上述方法和/或至少一个实施例变型。
本发明的另一方面涉及一种通货系统,包括发行方实体、监控实体、第一终端和第二终端,发行方实体被配置成创建电子硬币数据记录。经掩码的电子硬币数据被形成为使得它已经被发行方实体可验证地创建。监控实体被配置成执行上述方法之一,即,特别是注册请求的处理。优选地,终端,即至少第一终端和第二终端,适于执行上述用于传输硬币数据记录的方法之一。
在通货系统的优选实施例中,仅发行方实体被授权以最初创建电子硬币数据记录。处理(例如合并、分割和/或切换的步骤)可以并且优选地由终端执行。优选地,停用的处理步骤可以仅由发行方实体执行。因此,仅发行方实体将被授权使电子硬币数据记录和/或经掩码的电子硬币数据记录无效。
检查实体和发行方实体各自优选地布置在服务器实体中,或者作为服务器和/或计算机上的计算机程序产品可用。
电子硬币数据记录可以以大量不同的形式提供,并且因此可以经由各种通信信道(下文也称为接口)交换。这创建了电子硬币数据记录的非常灵活的交换。
通货系统可以包括另外的硬币所有者实体,特别是服务器实体或计算机实体。像终端一样,硬币所有者实体可以传输电子硬币数据记录,特别是彼此之间或从终端或向终端地传输,并且向监控实体发送对于经掩码的修改的电子硬币数据记录的注册请求。例如,另外的硬币所有者实体可以与商业银行、在线商店或服务提供商相关联。
这里提出的是一种以电子硬币数据记录的形式发行数字金钱的解决方案,这类似于常规(模拟)钞票和/或硬币的使用。数字金钱由电子硬币数据记录表示。与(模拟)钞票一样,这些电子硬币数据记录也可以用于所有形式的支付,包括点对点支付和/或POS支付。知道有效的电子硬币数据记录的所有组成部分(特别是货币金额和隐藏金额)相当于对数字金钱的拥有(所有权)。因此,建议对这些有效的电子硬币数据记录进行保密处理,例如,以将它们存储在终端的安全元件/保险模块中,并且在其中进行处理。为了决定电子硬币数据记录的真实性并防止双倍支出,经掩码的电子硬币数据记录被维护在监控实体中,作为电子硬币数据记录的对应的唯一公开表示。知道或拥有经掩码的电子硬币数据记录不表示拥有金钱。相反,这相当于检查模拟支付方式的真实性。
监控实体存储有效的经掩码的电子硬币数据记录。因此,电子硬币数据记录的接收方将首先生成经掩码的接收的电子硬币数据记录,并且将具有由监控实体确认的经掩码的电子硬币数据记录的有效性。根据本发明的这种解决方案的一个很大的优点是,数字金钱被分发给终端、零售商、银行和系统的其他用户,但是没有数字金钱或其他元数据被存储在监控实体(即共享实体)中。监控实体还可以优选地存储经掩码的电子硬币数据记录的有效性状态和/或包含关于经掩码的电子硬币数据记录的已执行和计划的处理的标记。可以从与处理相关的标记中推导出相应的经掩码的电子硬币数据记录的状态,该状态指示对应的(未经掩码的)电子硬币数据记录是否有效,即是否准备好支付。
提出的解决方案可以集成到现有的支付系统和基础设施中。特别地,根据本解决方案,可以进行模拟支付过程与钞票和硬币以及数字支付过程的组合。支付过程可以用钞票和/或硬币进行,但是零钱或退税可以作为电子硬币数据记录。例如,可以为交易提供具有对应配置(特别是具有合适通信接口)的ATM和/或移动终端。对于钞票或硬币的电子硬币数据记录的交换也是可以设想的。
附图说明
下面参考附图更详细地解释本发明以及本发明的其他实施例和优点,所述附图仅描述了本发明的示例性实施例。附图中相同的组件具有相同的附图标记。这些数字不能被认为是真实的比例;图中的单个元素可能被放大或简化。
在图中:
图1示出了根据本发明的支付系统的实施例;
图2示出了监控实体的实施例;
图3示出了根据本发明的用于分割和切换电子硬币数据记录的支付系统的实施例;
图4示出了根据本发明的用于合并电子硬币数据记录的支付系统的实施例;
图5示出了根据本发明的方法的方法流程图和对应的硬币数据记录的处理步骤的示例性实施例;
图6示出了根据本发明的方法的方法流程图和对应的硬币数据记录的处理步骤的实施例;
图7示出了根据本发明的方法的方法流程图的另一示例性实施例。
具体实施方式
图1示出了根据本发明的包括终端M1和M2的支付系统的实施例。
这里,在发行方实体1(例如中央银行)中生成电子硬币数据记录Ci。对于包括隐藏金额的电子硬币数据记录Ci,生成经掩码的电子硬币数据记录Zi,并将其注册在作为监控实体的数据库中,在这里这可以称为“隐藏电子数据记录分类账”。在本发明的上下文中,分类账被理解为列表、目录,优选地为数据库结构。电子硬币数据记录Ci被输出到第一终端M1。
例如,为此生成真实随机数作为隐藏金额ri。该隐藏金额ri与货币金额υi相关联,然后根据本发明形成第i个电子硬币数据记录:
Ci = {υi; ri} (1)
有效的电子硬币数据记录可以用于支付。因此,两个值υi和ri的所有者已经拥有数字金钱,因为所有者可以使用它进行支付。然而,数字金钱在系统中是由有效的电子硬币数据记录和对应的经掩码的电子硬币数据记录Zi组成的对定义的。根据等式(2)通过应用同态单向函数f(Ci)获得经掩码的电子硬币数据记录Zi:
Zi = f (Ci) (2)
这个函数f(Ci)是公共的,即每个系统参与方都可以调用和使用该函数。这个函数f(Ci)根据等式(3)来定义:
Zi = υi · H + ri · G (3)
其中,H和G是具有生成器G和H的组G的生成器点,其中离散对数问题是困难的,对于G和H,相应的另一底的离散对数是未知的。例如,G和H是椭圆曲线密码(ECC)的生成器点,即ECC的私钥。这些生成器点G和H必须以G与H之间的关系不被公知的方式来选择,使得有:
G = n · H (4)
为了防止货币金额υi被操纵而有效的Zi仍然可以被计算,联系n实际上必须是不可能找到的。等式(3)是“用于ECC的彼得森承诺”,其确保货币金额υi可以被传递到监控实体2(即向监控实体2“承诺”),而不将其泄漏给监控实体2。因此,仅经掩码的硬币数据记录Zi被发送(泄漏)给公共和远程的监控实体2。
即使在本示例中描述了基于椭圆曲线的加密,也可以设想基于离散对数方法的另一种加密方法。
由于隐藏金额ri的熵,等式(3)允许即使在货币金额υi的值的小范围内也能获得在密码方面很强的Zi。这意味着通过简单地估计货币金额υi的简单暴力攻击实际上是不可能的。
等式(3)是单向函数,这意味着从Ci计算Zi是容易的,因为存在有效的算法,而从Zi计算Ci是非常困难的,因为不存在可以在多项式时间内求解的算法。
此外,等式(3)对于加法和减法是同态的,即下式适用:
Zi + Zj = (υi · H + ri · G)+ (υj · H + rj · G) = (υi + υj)· H +(ri + rj)· G (5)
因此,加法运算和减法运算既可以在直接交易层3中执行,也可以在会计层4中并行执行,而不需要会计层4知道电子硬币数据记录Ci。等式(3)的同态属性允许仅基于经掩码的硬币数据记录Zi来说明有效和无效的电子硬币数据记录Ci,并且确保没有创建新的货币金额υj。
由于这种同态属性,硬币数据记录Ci可以根据等式(1)被分割成:
Ci = Cj + Ck = {υj; rj} + {υk; rk} (6)
其中:
υi=υj+υk(7)
ri=rj+rk(8)
以下内容适用于对应的经掩码的硬币数据记录:
Zi = Zj + Zk (9)
例如,利用等式(9),可以以简单的方式检查根据图3的硬币数据记录的“分割”处理或“分割”处理步骤,而不需要监控实体2知道Ci、Cj、Ck。具体地,检查等式(9)的条件以验证分割的硬币记录Cj和Ck,并且使硬币记录Ci无效。图3示出了电子硬币数据记录Ci的这种分割。
以相同的方式,电子硬币数据记录也可以放在一起(合并),参见图4及其解释。
此外,有必要检查是否注册了(不允许的)负货币金额。电子硬币数据记录Ci的所有者必须能够向监控实体2证明处理操作中的所有货币金额υi都在[0,...,n]的值范围内而不通知监控实体2货币金额υi。这些范围的证明也称为“范围证明”。环签名优选地用作范围证明。对于本示例性实施例,电子硬币数据记录的货币价值和隐藏金额都以比特表示来解析,即,对于0≤j≤n和aj“元素”{0;1},υi=∑aj*2j,并且对于0≤j≤n和bj“元素”{0;1},ri=∑bj*2j。优选地,对于每个比特执行Cij=aj·H+bj·G和Cij-aj·H的环签名,其中,在一个实施例中,有可能仅对某些比特执行环签名。
图1中未示出并且将在后面解释的是,例如,新的电子硬币数据记录Ci优选地不直接输出到终端,而是最初输出到商业银行。
在图1中,电子硬币数据记录Ci由发行方实体1生成,并且经掩码的电子硬币数据记录Zi由发行方实体1使用等式(3)计算并被注册在监控实体2中。第一终端M1随后将电子硬币数据记录Ci传输到第二终端M2。在此之前,终端可以可选地执行处理步骤之一(切换、合并、分割)。例如,经由WLAN、NFC或蓝牙进行无线传输。传输还可以通过密码加密方法来保护,例如通过协商会话密钥或使用PKI基础设施。
传输的电子硬币数据记录Ci作为Ci*在第二终端M2被接收。当接收到电子硬币数据记录Ci*时,第二终端M2拥有由电子硬币数据记录Ci*表示的数字金钱。如果两个终端彼此信任,则不需要进一步的步骤来结束该过程。然而,终端M2不知道电子硬币数据记录Ci*是否实际有效。此外,终端M1还可以将电子硬币数据记录Ci传输到第三终端(未示出)。为了防止这种情况,在该方法中提供了进一步的优选步骤。
为了检查接收的电子硬币数据记录Ci*的有效性,在第二终端M2中利用来自等式(3)的公共单向函数计算经掩码的传输的电子硬币数据记录Zi*。经掩码的传输的电子硬币数据记录Zi*然后被传输到监控实体2并在那里被搜索。如果与已注册的且有效的经掩码的电子硬币数据记录相匹配,则接收的硬币数据记录Ci*的有效性被指示给第二终端M2,并且确定接收的电子硬币数据记录Ci*等于已注册的电子硬币数据记录Ci。利用有效性检查,在一个实施例中,可以确定接收的电子硬币数据记录Ci*仍然有效,即它还没有被另一处理步骤或另一交易所使用和/或经历了另一变化。
优选地,获得的电子硬币数据记录然后由第二终端切换。
对于根据本发明的方法来说,重要的是仅知道经掩码的电子硬币数据记录Zi并不授权持有者支出数字金钱。然而,仅知道电子硬币数据记录Ci授权支付,即,以成功地进行交易,特别是在硬币数据记录Ci是有效的情况下。在电子硬币数据记录Ci与对应的经掩码的电子硬币数据记录Zi之间存在1对1的关系。经掩码的电子硬币数据记录Zi被注册在监控实体2(例如公共分散数据库)中。这种注册使得检查数据记录的有效性成为可能,例如是否已经(非法地)创建新的货币金额。
与常规解决方案相比的主要的区别特征在于,经掩码的电子硬币数据记录Zi被存储在监控层4中,并且对电子硬币数据记录Zi的所有处理操作都在那里被注册,而数字金钱的实际传输发生在(秘密的,即不公知的)直接交易层3中。
为了防止多次支出或确保更灵活的传输,现在可以在根据本发明的方法中处理电子硬币数据记录。下表1列出了各个操作,其中指定的命令也执行对应的处理步骤:
| 命令或步骤 | 创建签名 | 创建随机数 | 创建掩码 | 创建范围证明 |
| 创造 | 1 | 1 | 1 | 0或1 |
| 停用 | 1 | 0 | 1 | 0或1 |
| 分割 | 0 | 1 | 3 | 0或1 |
| 合并 | 0 | 0 | 3 | 1 |
| 切换 | 0 | 1 | 2 | 1 |
表1-终端或发行方实体中每处理一个硬币数据记录要执行的操作数量;需要这里未列出的进一步操作;代替列出的实施方式,暗示其他操作的其他实施方式也是可以设想的
上面的表1显示,对于每个硬币数据记录和每个处理操作“创建”、“停用”、“分割”、“合并”和“切换”,可以提供不同的操作:“创建签名”;”创建随机数”;”创建掩码”;“范围证明”,每个处理操作都在监控实体2中注册。它可以以不可更改的形式附加到经掩码的电子硬币数据记录Zi的先前处理操作的列表中。对电子硬币数据记录的“创建”和“停用”的处理操作仅在安全位置中和/或仅由选定的实体(例如发行方实体1)执行,而所有其他处理操作的操作可以在终端M1至M3上执行。
用于各个处理的操作的数量在表1中被标记为“0”、“1”或“2”。数字“0”指示终端或发行方实体1不必为电子硬币数据记录的这种处理执行这种操作。数字“1”指示终端或发行方实体1必须能够为电子硬币数据记录的处理执行一次这种操作。数字“2”指示终端或发行方实体1必须能够为电子硬币数据记录的处理执行两次这种操作。
原则上,在一个实施例中,还可以计划在创建和/或停用期间由发行方实体1执行范围证明。
监控实体2针对各个处理操作所需的操作在下表2中列出:
表2-监控实体中每处理一个硬币数据记录要执行的操作的数量;需要这里未列出的进一步操作;代替列出的实施方式,暗示其他操作的其他实施方式也是可以设想的
表2的所有操作可以在监控实体2中执行,作为可信实体(例如作为分散服务器,特别是分布式可信服务器)的监控实体2确保电子硬币数据记录的足够完整性。
表3示出了优选地要为图1的支付系统中的系统参与方安装的组件:
表3–系统组件中的优选单元
表3示出了在每个系统参与方(即发行方实体1、终端M1和监控实体2)中优选使用的组件的概况。终端M1可以被配置为电子硬币数据记录的钱包,即被配置为电子钱包,即用于终端的数据存储,其中可以存储大量硬币数据记录,并且终端M1可以例如以在零售商、商业银行或另一市场参与方的智能手机或IT系统上的应用的形式来实施,并且发送或接收电子硬币数据记录。因此,如表3所示的终端中的组件被实施为软件。假设监控实体2基于DLT,并且由多个可信的市场参与方操作。
图2示出了来自图1的监控实体2的示例性实施例。在图2中,以表格的形式示出了示例性数据库,其中注册了经掩码的电子硬币数据记录Zi及其可能的处理(如这里所示)。另一方面,在数据库的最简单的实施例中,将仅存储当前有效的经掩码的硬币数据记录Zi。监控实体2优选地被布置在本地远离终端M1至M3的地方,并且被容纳在例如服务器架构中。
用于处理的每个处理操作(创建、停用、分割、合并和切换)被注册在监控实体2中,并且以不可更改的形式附加到经掩码的电子硬币数据记录Zi的先前处理操作的列表中。各个操作或它们的检查结果(即处理的中间结果)被记录在监控实体2中。
“创建”和“停用”的处理(其涉及货币金额υi本身的存在,即金钱的创建和销毁)需要发行方实体1的附加批准,以便在监控实体2中注册(和记录)。其他处理操作(分割、合并、切换)不需要发行方实体1或命令发起方(=付款方,例如第一终端M1)的任何授权。
例如,借由根据图2地数据库中的对应的列表条目,实现了监控实体2中的相应处理的注册。每个列表条目具有另外的记录必须由监控实体2执行的相应处理的中间结果的标记25至28。标记25至28优选地用作辅助,并且在命令完成之后被检查实体丢弃。然后剩下的是关于来自列22a、22b、23a和/或23b的(经掩码的)电子硬币数据记录的有效性的标记(未示出)。当接收到处理命令时,标记例如处于“-”状态,并且在所有检查成功完成之后被设置为“1”状态,并且如果至少一个检查失败,则被设置为“0”状态。硬币数据记录的列表条目的可能结构包括,例如,前身硬币数据记录(O1,O2)的两列22a、22b,后续硬币数据记录(S1,S2)的两列23a、23b,(多个)发行方实体1的签名列24,以及四个标记列25至28。列25至28中的每个条目都具有三个可选状态“-”、“1”或“0”。列25(O标志)指示关于列23a/b中的电子硬币数据记录的有效性检查是否成功。状态“1”意味着有效性检查显示列23a/b中的电子硬币数据记录有效,状态“0”指示有效性检查显示列23a/b中的电子硬币数据记录无效,并且状态“-”指示有效性检查尚未完成。列26(C标志)指示检查经掩码的电子硬币数据记录的金额中性的一个计算是否成功。状态“1”意味着计算成功,状态“0”指示计算不成功,并且状态“-”指示计算尚未完成。
例如,列26中待执行的计算是:
(ZO1 + ZO2) – (ZS1 + ZS2) == 0 (10)
列27(R标志)指示(多个)范围证明的检查是否成功,其中状态“1”意味着有效性检查显示(多个)范围证明是可确认的,状态“0”指示有效性检查显示(多个)范围证明不能被再现,并且状态“-”指示有效性检查尚未完成。列28(S标志)显示签名的验证成功。状态“1”意味着有效性检查显示签名可以被识别为发行方实体的签名,状态“0”指示有效性检查显示签名不能被识别为发行方实体的签名,并且状态“-”指示该有效性检查尚未完成。
其中一个标记(也称为“标志”)的状态变化需要监控实体2的批准,然后必须以不可更改的方式存储在监控实体2中。当且仅当所需的标记25至28已经被监控实体2验证(即已经从状态“0”更改为状态“1”或在对应的检查之后状态为“1”)时,处理才是最终的。
为了确定经掩码的电子硬币数据记录Z是否有效,监控实体2在当前变型中搜索影响经掩码的电子硬币数据记录的最后变化。重要的是,当且仅当经掩码的电子硬币数据记录Z在后续列23a、23b之一中被列出用于其最后处理并且该最后处理具有对应的最终标记25至28时,经掩码的电子硬币数据记录Z有效。同样重要的是,当且仅当经掩码的电子硬币数据记录Z在前身列22a、22b之一中被列出用于其最后处理并且该最后处理失败(即标记25至28的相应地请求状态中的至少一个被设置为“0”)时,经掩码的电子硬币数据记录Z有效。
同样重要的是,经掩码的电子硬币数据记录Z对于所有其他情况来说都是无效的,例如在监控实体2中没有找到经掩码的电子硬币数据记录Z的情况下;或者在经掩码的电子硬币数据记录Z的最后处理被列在后续列23a、23b之一中但是该最后处理从未变成最终处理的情况下;或者在经掩码的电子硬币数据记录Z的最后处理在前置列22a、22b之一中并且该最后处理是最终处理的情况下。
监控实体2检查处理是否是最终处理的检查在列25至28中示出。列25中的状态根据前置列22a、22b指示(多个)经掩码的电子硬币数据记录是否有效。列26中的状态指示例如根据等式(10)的金额中性的计算是否正确。列27中的状态指示是否可以成功检查经掩码的电子硬币数据记录Z的范围证明。列28中的状态指示经掩码的电子硬币数据记录Z的列24中的签名是否是发行方实体1的有效签名。
列25至28中的状态“0”指示检查不成功。列25至28中的状态“1”指示检查成功。列25至28中的状态“-”指示尚未执行检查。状态也可以具有不同的值,只要可以清楚地区分检查的成功/失败,并且清楚是否执行了某项检查。
作为示例,定义了五种不同的处理操作,这些将在这里详细解释。参考图2中对应的列表条目。
例如,一个处理操作是“创建”电子硬币数据记录Ci。发行方实体1在直接交易层3中的创建包括选择货币金额υi和创建隐藏金额ri,如已经用等式(1)描述的。如图2所示,在“创建”过程期间,在列22a、22b、23b和25至27中不需要条目/标记。经掩码的电子硬币数据记录Zi被注册在后继列23a中。该注册优选地在传输到终端M1到M3之前执行,特别是或者已经在发行方实体1的创建期间执行,其中等式(3)在两种情况下都必须执行。经掩码的电子硬币数据记录Zi在其被创建时由发行方实体1签名;该签名被输入到列24中,以确保电子硬币数据记录Ci实际上是由发行方实体1创建的,尽管其他方法也可以用于该目的。如果接收的Zi的签名与列24中的签名相匹配,则在列28中设置标记(从“0”到“1”)。根据列25至27的标记不需要状态变化,并且可以被忽略。不需要范围证明,因为监控实体2信任发行方实体1不发行任何负货币金额。然而,在替代实施例中,它可以由发行方实体1在创建命令中发送,并且由监控实体2检查。
例如,处理操作是“停用”。停用(即金钱的销毁)具有在发行方实体1成功执行停用命令之后经掩码的电子硬币数据记录Zi变得无效的效果。因此,(经掩码的)待停用的电子硬币数据记录不能再在会计层4中进一步处理。为了避免混淆,对应的(未经掩码的)电子硬币数据记录Ci也应该在直接交易层3中停用。当“停用”时,前身列22a被写入电子硬币数据记录Zi,但是不使用后继列23a、23b。当停用时,必须检查经掩码的电子硬币数据记录Zi,以查看签名是否与根据列24的签名相匹配,以便确保电子硬币数据记录Ci实际上是由发行方实体1创建的,尽管也可以使用其他手段进行这种检查。如果与停用命令一起发送的签名的Zi可以被发行方实体1确认为已签名,则设置标记28(从“0”到“1”)。根据列26至27的标记不需要状态变化,并且可以被忽略。根据列25和列28的标记是在适当检查之后被设置的。
例如,处理操作是“分割”。分割(即将电子硬币数据记录Zi分成两个电子部分硬币数据记录Zj和Zk)最初在直接交易层3中执行,如图3所示,其中,生成了货币金额υj和隐藏金额rj。υk和rk由等式(7)和(8)得出。在监控实体2中,设置标记25至27,前身列22a被写入电子硬币数据记录Zi,下一列23a被写入Zj,并且下一列23b被写入Zk。根据列25至27所需的状态变化发生在由监控实体2进行对应的检查并记录相应的检查结果之后。根据列28的标记被忽略。
例如,一个处理操作是“合并”。合并(即合并两个电子硬币数据记录Zi和Zj以形成一个电子硬币数据记录Zm)最初在直接交易层3中进行,如图4所示,其中,计算了货币金额υm和隐藏金额rm。在监控实体2中,设置标记25至27,前一列22a被写入电子硬币数据记录Zi,前一列22b被写入Zj,并且下一列23b被写入Zm。列25至27中的标记需要状态变化,并且监控实体2执行对应的检查。必须提供范围证明,以显示没有创建新的金钱。根据列28的标记被忽略。
例如,一种处理操作是“切换”。如果电子硬币数据记录已经被传输到另一终端,并且传输终端(这里是M1)的更新发行被排除,则切换是必要的。当切换(也称为“交换”)时,从第一终端M1接收的电子硬币数据记录Ck被交换为具有相同货币金额的新的电子硬币数据记录Cl。新的电子硬币数据记录Cl由第二终端M2生成。这种切换是必要的,以便使从第一终端M1接收的电子硬币数据记录Ck无效,从而防止相同的电子硬币数据记录Ck被再次输出。这是因为,只要电子硬币数据记录Ck没有被切换,第一终端M1就可以将该电子硬币数据记录Ck传递给第三终端M3,因为第一终端M1知道电子硬币数据记录Ck。例如,通过向获得的电子硬币数据记录Ck的隐藏金额rk添加新的隐藏金额radd来执行切换,由此获得仅第二终端M2知道的隐藏金额rl。这也可以在监控实体2中执行。为了证明仅新的隐藏金额radd被添加到经掩码的接收的电子硬币数据记录Zk的隐藏金额rk,但货币金额保持相同,因此等式(11):
υk = υl (11)
是有效的,第二终端M2必须能够证明Zl-Zk可以被表示为G的标量倍数,即radd*G。这意味着仅生成隐藏金额radd,并且Zl的货币金额等于Zk的货币金额,即Zl=Zk+radd*G。这是通过用公钥Zl-Zk=radd*G生成签名来完成的。
在图3中,示出了根据本发明的用于分割和切换电子硬币数据记录的支付系统的实施例。在图3中,第一终端M1已经接收到硬币数据记录Ci,并且现在希望不是用全部货币金额υi而是仅用其中的一部分vk进行支付交易。为此,硬币数据记录Ci被分割。为此,首先对货币金额进行分割:
υi = υj + υk (12)
这里,接收金额υj、υk中的每一个必须大于0,因为不允许负货币金额。此外,还推导出新的隐藏金额:
ri=rj+rk(13)
然后根据等式(3)从硬币数据记录Cj和Ck中获得经掩码的硬币数据记录Zj和Zk,并且将其注册在监控实体2中。对于分割,用硬币数据记录Zi描述前身列22a,用Zj描述后继列23a,用Zk描述后继列23b。列25至27中的标记需要状态改变,并且监控实体2执行对应的检查。根据列28的标记被忽略。
然后,硬币数据记录(这里是Ck)从第一终端M1传输到第二终端M2。为了防止双倍支出,切换操作是有用的,以便将从第一终端M1接收的电子硬币数据记录Ck交换成具有相同货币金额的新的电子硬币数据记录Cl。新的电子硬币数据记录Cl由第二终端M2生成。硬币数据记录Cl的货币金额被采用并且不被改变,参见等式(11)。然后,根据等式(14),新的隐藏金额radd被添加到接收的电子硬币记录Ck的隐藏金额rk,
rl = rk + radd (14)
由此获得仅第二终端M2知道的隐藏金额rl。为了证明仅新的隐藏金额radd被添加到接收的电子硬币数据记录Zk的隐藏金额rk,但货币金额保持相同(υk=υl),第二终端M2必须能够证明Zl-Zk可以被表示为G的倍数。这是根据等式(15)使用公共签名Radd来完成的:
Radd = radd · G (15)
=Zl-Zk=(vl-vk)*H+(rk+radd-rk)*G
其中,G是ECC的生成器点。然后,待切换的硬币数据记录Cl借由等式(3)被掩码,以便获得经掩码的硬币数据记录Zl。私有签名radd然后可以在监控实体2中使用,以便例如对经掩码的待切换的电子硬币数据记录Zl签名,这作为第二终端M2仅向经掩码的电子硬币数据记录添加隐藏金额radd且没有附加货币价值(即vl=vk)的证明是有效的。
证明如下:
Zk = υk· H + rk · G (16)
Zl=υl·H+rl·G=υk·H+(rk+radd)·G
Zl–Zk=(rk+radd-rk)·G
=radd·G
图4示出了根据本发明的用于合并电子硬币数据记录的支付系统的示例性实施例。两个硬币数据记录Ci和Cj在第二终端M2中接收。类似于根据图3的分割,现在通过将两个硬币数据记录Ci和Cj的货币金额和隐藏金额相加来获得新的硬币数据记录Zm。然后,对待合并的接收的硬币数据记录Cm进行掩码,并且经掩码的硬币数据记录Zm被注册在监控实体中。
在图3和图4中,再次示出了监控实体2的数据库的变型,其包含经掩码的硬币数据记录的处理操作列表。也可以使用数据库的其他变型,例如具有状态的经掩码的硬币数据记录或仅有效的经掩码的硬币数据记录,如已经参考图2所述。
图5至图7是根据本发明的方法100的方法流程图的每个示例性实施例。下面一起解释图5和图6。
步骤101至104对于进一步的方法是可选的,并且使用终端M1的示例来描述。在可选的步骤101和102中,在创建电子硬币数据记录之后,发行方实体1请求并提供硬币数据记录——在这种情况下提供给第一终端M1。在步骤103中,签名的经掩码的电子硬币数据记录被发送到监控实体2。在步骤103中,接收的电子硬币数据记录Ci根据等式(3)被掩码,如图1中所解释的。然后,在步骤104中,经掩码的电子硬币数据记录Zi被注册在监控实体2中。可以设想,经掩码的电子硬币数据记录仅在被参与方(诸如终端设备或服务器)注册时才在监控实体中有效。替代地,如关于图1所解释的,在步骤102之后,经掩码的电子硬币数据记录Zi可能已经在监控实体2中被注册为有效的经掩码的电子硬币数据记录。可选地,终端M1可以在步骤104切换接收的电子硬币数据记录,如将在步骤108中更详细描述的。
在步骤105中,硬币数据记录Ci在直接交易层3中被传输到第二终端M2。在可选的步骤106和107中,利用先前的掩码执行有效性检查,其中在成功的情况下,监控实体2确认硬币数据记录Zi或Ci的有效性。
在步骤108中,接收的硬币数据记录Ck被切换(接收的硬币数据记录Ci当然也可以被切换)到新的硬币数据记录Cl,由此硬币数据记录Ck变得无效并且双倍支出得以防止。为此,传输的硬币数据记录Ck的货币金额υk被用作“新的”货币金额υl。此外,如已经用等式(14)至(17)解释的,创建隐藏金额rl。附加的隐藏金额radd用于证明第二终端M2没有生成新的金钱(以更高货币金额的形式)。然后,除此以外,经掩码的待切换的硬币数据记录Zl被发送到监控实体2,并且从Ck到Cl的切换被指示。
在步骤108’中,在监控实体2中执行对应的检查。根据图2中的表格,Zk被输入到列22a输入,并且待重写的硬币数据记录Zl被输入到列23b中。然后,检查监控实体2中关于Zk是否(仍然)有效,即Zk的最后处理是否被输入到列23a/b之一中(作为Zk没有被进一步分割、停用或合并的证明)以及对于最后处理的检查是否失败。此外,Zl被输入到列23b中,并且列25、26、27中的标记最初被设置为“0”。现在执行关于Zl是否有效的检查,在这种情况下,可以使用根据等式(16)和(17)的检查。在成功的情况下,列25中的标记被设置为“1”,否则设置为“0”。现在执行检查,根据等式(10)的计算显示Zk和Zl是有效的,并且相应地设置列26中的标记。还检查范围是否一致,然后设置列27中的标记。如果所有三次检查都成功,并且这相应地在监控实体2中被提交,则硬币数据记录被视为被切换。这意味着硬币数据记录Ck不再有效,并且硬币数据记录Cl从此有效。如果第三终端M3向监控实体2询问(双倍配发的)硬币数据记录的有效性,则双倍支出不再可能。
一般来说-不同于图5中的图示-由发行方实体创建的电子硬币数据记录Ci被传输(发行)到商业银行的实体(诸如服务器、计算机……)。商业银行的(服务器)实体为终端提供电子硬币数据记录。在步骤101和102中,终端M1向商业银行的实体请求并接收电子硬币数据记录。特别地,当终端M1向商业银行的服务器请求和接收电子硬币数据记录Ci时,已经在步骤104中切换是有用的。
在步骤109中,两个硬币数据记录Ck和Ci被合并以形成新的硬币数据记录Cm,其结果是硬币数据记录Ck、Ci变得无效并且双倍支出得以防止。为此,货币金额υm由两个货币金额υk和υi形成。为此,隐藏金额rm由两个隐藏金额rk和ri形成。此外,经掩码的待合并的硬币数据记录借由等式(3)而获得,并且它(连同其他信息)被发送到监控实体2,并且合并被请求作为处理。
在步骤109’中,在监控实体2中执行对应的检查。在这种情况下,根据图2中的表格,在列23b中输入Zm。然后,监控实体2检查Zk和Zi是否(仍然)有效,即Zk或Zi的最后处理是否被输入到列23a/b之一中(作为Zk和Zi没有被进一步分割或停用或合并的证明),以及最后处理的检查是否失败。此外,列25、26、27中的标记最初被设置为“0”。现在进行关于Zm是否有效的检查,在这种情况下,可以使用根据等式(16)和(17)的检查。在成功的情况下,列25中的标记被设置为“1”,否则设置为“0”。现在进行检查,并且根据等式(10)的计算显示Zi加上Zk等于Zm,且相应地设置列26中的标记。还检查范围是否一致,然后设置列27中的标记。
在步骤110中,硬币数据记录Ci被分割成两个部分硬币数据记录Ck和Cj,由此硬币数据记录Ci无效,并且两个分割的部分硬币数据记录将有效。为此,货币金额υi被分割成两个货币金额υk和υj。为此,隐藏金额ri被分割成两个隐藏金额rk和rj。此外,借助等式(3)获得经掩码的部分硬币数据记录Zk和Zj,并且将它们与附加信息(例如距离证明)一起发送到监控实体2,并且请求分割作为处理。
在步骤110’中,在监控实体2中执行对应的检查。根据图中的表格,Zj和Zk被输入到列23a/b中。然后,监控实体2检查Zi是否(仍然)有效,即Zi的最后处理是否被输入到列23a/b之一中(作为Zi没有被进一步分割、停用或连接的证明),以及最后处理的检查是否失败。此外,列25、26、27中的标记最初被设置为“0”。现在进行关于Zj和Zk是否有效的检查,在这种情况下,可以使用根据等式(16)和(17)的检查。在成功的情况下,将列25中的标记设置为“1”。现在进行检查,根据等式(10)的计算显示Zi等于Zk加上Zj,并且相应地设置列26中的标记。还检查范围是否一致,然后设置列27中的标记。
图7同样示出了一个序列中的方法步骤101-110’的概述。从第二终端M2的角度来看,接收105由终端M1注册104的电子硬币数据记录。利用该电子硬币数据记录,另一(修改的)电子硬币数据记录被生成并经掩码108-110以用于切换、合并或分割。对应的注册请求被发送到监控实体,监控实体接收并处理它108’-110’。已经充分描述了这些步骤和虚线所示步骤的实施方式,这些步骤在各种变型中是可选的
在本发明的范围内,描述和/或绘制和/或要求保护的所有元素可以根据需要彼此组合。
附图标记列表
1发行方实体
2监控实体
21命令条目
22a,b待修改的电子硬币数据记录的条目(前身)
23a,b修改的电子硬币数据记录的条目(后继)
24签名条目
25有效性检查的标记
26计算检查的标记
27范围证明检查的标记
28签名检查的标记
3直接交易层
4会计层
M1第一终端M2第二终端M3第三终端Ci电子硬币数据记录,净票据Cj,Ck分割的电子部分硬币数据记录,分割的净票据Cl待切换的电子硬币数据记录Cm待合并的电子硬币数据记录Zi经掩码的电子硬币数据记录,经掩码的票据Zj,Zk经掩码的分割的电子部分硬币数据记录,分割的经掩码的票据Zl经掩码的待切换的电子硬币数据记录Zm经掩码的待合并的电子硬币数据记录υi货币金额
υj,υj分割的货币金额υl电子硬币数据记录的货币金额υm已合并或待合并的电子硬币数据记录的货币金额ri隐藏金额,随机数rj,rj分割的电子硬币数据记录的隐藏金额rm已合并或待合并的电子硬币数据记录的隐藏金额Ci*传输的电子硬币数据记录,净票据Cj*,Ck*传输的分割的电子部分硬币数据记录,分割的净票据Zi*经掩码的传输的电子硬币数据记录Zj*,Zk*经掩码的传输的分割的电子硬币数据记录f(C)同态单向函数[Zi]SigI发行方实体的签名
101-108根据示例性实施例的方法步骤。
Claims (22)
1.一种用于在支付系统中的第一终端与第二终端之间直接传输电子硬币数据记录,以及用于由所述第二终端向监控实体注册修改的电子硬币数据记录的方法,包括由所述第二终端执行的以下步骤:
在所述第二终端的计算单元处,从第一终端接收电子硬币数据记录,所述电子硬币数据记录包括以表示电子硬币数据记录的值的数据的形式的货币金额和以与所述货币金额相关联的数据的形式的隐藏金额;
由所述第二终端的计算单元使用接收的电子硬币数据记录生成修改的电子硬币数据记录,所述修改的电子硬币数据记录基于所述货币金额和新的隐藏金额;
由所述第二终端的计算单元通过将同态单向函数应用于所述修改的电子硬币数据记录来对所述修改的电子硬币数据记录进行掩码以便获得经掩码的修改的电子硬币数据记录;以及
由所述第二终端的计算单元向所述监控实体的计算单元发送对于所述经掩码的修改的电子硬币数据记录的注册请求,所述注册请求包括待注册的所述经掩码的修改的电子硬币数据记录,以及用于验证到所述监控实体的所述注册请求的经掩码的接收的电子硬币数据记录,所述经掩码的接收的电子硬币数据记录对应于将所述同态单向函数应用于从所述第一终端接收的所述电子硬币数据记录,其中所述经掩码的接收的电子硬币数据记录已向所述监控实体注册。
2.根据权利要求1所述的方法,其中,所述注册请求是用于切换、分割或合并经掩码的电子硬币数据记录的注册请求。
3.根据权利要求1或2所述的方法,其中,在生成步骤中:
根据所述接收的电子硬币数据记录,生成待切换的所述修改的电子硬币数据记录,或者
将所述接收的电子硬币数据记录分割成至少两个分割的修改的电子硬币数据记录,或者
将所述接收的电子硬币数据记录作为第一电子硬币数据记录和至少一个第二电子硬币数据记录合并,以形成合并的修改的电子硬币数据记录;以及
相应地,所述注册请求包括:
一个待注册的经掩码的电子硬币数据记录和一个已注册的经掩码的电子硬币数据记录,或者
至少两个待注册的经掩码的分割的修改的电子硬币数据记录,或者
至少两个已注册的经掩码的电子硬币数据记录。
4.根据权利要求1或2所述的方法,其中,在生成步骤中:
将所述接收的电子硬币数据记录切换到所述修改的电子硬币数据记录,其中
使用接收的电子硬币数据记录的接收的隐藏金额来生成所述修改的电子硬币数据记录的隐藏金额,并且
将所述接收的电子硬币数据记录的接收的货币金额用作所述修改的电子硬币数据记录的货币金额;或者
将所述接收的电子硬币数据记录分割成至少两个电子硬币部分数据记录,其中
所述接收的货币金额对应于所述至少两个电子硬币部分数据记录的货币金额的总和,以及
所述至少两个电子硬币部分数据记录的隐藏金额的总和对应于所述接收的电子硬币数据记录的隐藏金额;或者
通过以下步骤将所述接收的电子硬币数据记录作为第一电子硬币数据记录和至少一个第二电子硬币数据记录合并,以形成修改的合并的电子硬币数据记录:
通过形成第一电子硬币数据记录和第二电子硬币数据记录的相应隐藏金额的总和来计算所述修改的电子硬币数据记录的隐藏金额,以及
通过形成第一电子硬币数据记录和第二电子硬币数据记录的相应货币金额的总和来计算所述修改的电子硬币数据记录的货币金额。
5.根据权利要求1或2所述的方法,包括通过将所述同态单向函数应用于所述接收的电子硬币数据记录来对所述接收的电子硬币数据记录进行掩码,以便获得经掩码的接收的电子硬币数据记录。
6.根据权利要求1或2所述的方法,其中,所述监控实体存储电子硬币数据记录的有效的经掩码的电子硬币数据记录,使得所述第二终端可以通过向所述监控实体发送所述经掩码的接收的电子硬币数据记录来检查接收的电子硬币数据记录的有效性。
7.根据权利要求1或2所述的方法,还包括创建所述接收的电子硬币数据记录的货币金额等于待切换的所述电子硬币数据记录的货币金额的证明的步骤。
8.一种支付系统中的监控实体中的方法,其中,所述监控实体存储通过将同态单向函数应用于电子硬币数据记录而形成的有效的经掩码的电子硬币数据记录,电子硬币数据记录包括货币金额和隐藏金额,所述方法包括以下步骤:
在所述监控实体的计算单元处,接收注册请求,所述注册请求包括至少一个待注册的经掩码的电子硬币数据记录和至少一个已注册的经掩码的电子硬币数据记录;
由所述监控实体的计算单元检查接收的注册请求,其中
由监控实体的计算单元检查所述注册请求的已注册的经掩码的电子硬币数据记录是否在所述监控实体中被存储为有效的经掩码的电子硬币数据记录,并且
由所述监控实体的计算单元检查所述注册请求的经掩码的电子硬币数据记录是否是货币金额中性的;
由所述监控实体的计算单元将待注册的经掩码的电子硬币数据记录存储为有效的经掩码的电子硬币数据记录,其中,先前被存储为有效的所述注册请求的已注册的经掩码的电子硬币数据记录不再由所述计算单元有效,
其中所述监控实体的计算单元不能确定至少一个所述待注册的经掩码的电子硬币数据记录和至少一个所述已注册的经掩码的电子硬币数据记录的货币金额和隐藏金额。
9.根据权利要求8所述的方法,其中,通过形成所述经掩码的电子硬币数据记录之间的差值,在不知道金额的情况下执行检查由于所使用的同态单向函数而导致的所述注册请求的货币金额中性。
10.根据权利要求8或9所述的方法,其中,所述监控实体从发行方实体接收分别对于由所述发行方实体新发行的电子硬币数据记录和/或由所述发行方实体撤回的电子硬币数据记录的创建和/或停用请求。
11.根据权利要求10所述的方法,其中,对于经掩码的电子硬币数据记录的创建和/或停用请求包括发行方对所述经掩码的电子硬币数据记录的签名。
12.根据权利要求11所述的方法,其中,通过在所述监控实体中标记或删除对应的经掩码的电子硬币数据记录,电子硬币数据记录变得无效。
13.根据权利要求8、9、11中的任一项所述的方法,其中,所述监控实体是被称为分布式分类账技术的分散受控数据库,其中,所述经掩码的电子硬币数据记录被注册有所述经掩码的电子硬币数据记录的对应的处理信息。
14.一种用于交换货币金额的支付系统,其中,执行根据权利要求1至13中任一项所述的方法,所述支付系统包括:
监控层,其包括数据库,并且在所述数据库中存储电子硬币数据记录的有效的经掩码的电子硬币数据记录;以及
直接交易层,其包括至少两个交换电子硬币数据记录的终端。
15.一种货币系统,包括发行方实体、监控实体、第一终端和第二终端,所述发行方实体被配置成创建电子硬币数据记录,其中,所述监控实体被配置成执行根据权利要求8至13之一所述的方法,和/或所述第一终端和所述第二终端被配置成执行根据权利要求1至7之一所述的方法。
16.根据权利要求15所述的货币系统,其中,仅所述发行方实体被授权创建要新发行的电子硬币数据记录。
17.根据权利要求15或16所述的货币系统,其中,所述监控实体执行所述发行方实体对于经掩码的电子硬币数据记录的创建和/或停用请求,以及对于其他实体的经掩码的修改的电子硬币数据记录的注册请求。
18.根据权利要求15或16所述的货币系统,其中,所述货币系统包括另外的服务器实体,所述服务器实体在彼此之间或者从/向终端直接传输电子硬币数据记录,并且向所述监控实体发送对于经掩码的修改的电子硬币数据记录的注册请求。
19.根据权利要求15或16所述的货币系统,其中,步骤由所述第二终端通过在所述终端中执行的步骤来执行,或者通过所述终端调用终端服务来执行,所述终端服务执行所述终端的生成、掩码和/或发送的步骤。
20.根据权利要求15或16所述的货币系统,其中,在检查实体中,当所述经掩码的电子硬币数据记录或其前身源自所述发行方实体时,所述经掩码的电子硬币数据记录被识别为有效,其中,创建的经掩码的电子硬币数据记录的发行方签名被存储在所述监控实体中。
21.根据权利要求20所述的货币系统,其中,所述检查实体和所述发行方实体被实施为服务器实体。
22.根据权利要求15或16所述的货币系统,其中,所述第一终端和/或第二终端被配置为移动终端。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102019002732.9 | 2019-04-15 | ||
| DE102019002732.9A DE102019002732A1 (de) | 2019-04-15 | 2019-04-15 | Verfahren zum direkten Übertragen von elektronischen Münzdatensätzen zwischen Endgeräten sowie Bezahlsystem |
| PCT/EP2020/060446 WO2020212337A1 (de) | 2019-04-15 | 2020-04-14 | Verfahren zum direkten übertragen von elektronischen münzdatensätzen zwischen endgeräten sowie bezahlsystem |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN113994357A CN113994357A (zh) | 2022-01-28 |
| CN113994357B true CN113994357B (zh) | 2026-02-10 |
Family
ID=
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109257182A (zh) * | 2018-10-24 | 2019-01-22 | 杭州趣链科技有限公司 | 一种基于同态的密码学承诺与零知识范围证明的区块链隐私保护方法 |
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109257182A (zh) * | 2018-10-24 | 2019-01-22 | 杭州趣链科技有限公司 | 一种基于同态的密码学承诺与零知识范围证明的区块链隐私保护方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20220215355A1 (en) | Method for directly transmitting electronic coin data records between terminals and payment system | |
| US20230103038A1 (en) | Method for directly transferring electronic coin data sets between terminals, payment system, currency system and monitoring unit | |
| US20220207500A1 (en) | Device for directly transmitting electronic coin data records to another device, and payment system | |
| CN117769707A (zh) | 用于在电子交易系统中传输令牌的方法和交易系统 | |
| US20230259899A1 (en) | Method, participant unit, transaction register and payment system for managing transaction data sets | |
| US20240275600A1 (en) | Secure element, method for registering tokens, and token reference register | |
| AU2017212504A1 (en) | Information transaction infrastructure | |
| US12481969B2 (en) | Method for secure, traceable and privacy-preserving digital currency transfer with anonymity revocation on a distributed ledger | |
| GB2549118A (en) | Electronic payment system using identity-based public key cryptography | |
| US12450615B2 (en) | Method, terminal, and coin register for transmitting electronic coin data sets | |
| CN111523892B (zh) | 一种区块链的跨链交易方法及装置 | |
| US20230259901A1 (en) | Issuing entity and method for issuing electronic coin data sets, and payment system | |
| US20240127233A1 (en) | Blockchain locking mechanism using paper share certificate | |
| US12147952B2 (en) | Method, terminal, monitoring entity, and payment system for managing electronic coin datasets | |
| CN111311260B (zh) | 一种账户私钥的重置方法及装置 | |
| CN119856449A (zh) | 用于安全地生成能发行的通证的方法、用于安全地销毁通证的方法和通证发行器 | |
| US20230091509A1 (en) | Method for directly transmitting electronic coin datasets between terminals, payment system, protection system and monitoring entity | |
| JP2020058007A (ja) | デジタルアセット管理システム | |
| US20250005565A1 (en) | Secure elements and method for managing of different types of electronic token | |
| CN113793149A (zh) | 离线交易认证系统、方法及中心服务器、客户端 | |
| CN113994357B (zh) | 在终端与支付系统之间直接传输电子硬币数据记录的方法 | |
| EP4379631A1 (en) | Digital wallet device and dual offline transaction method thereof | |
| EP4435700A1 (en) | Method for registering of token, a token reference register, secure transaction unit, and electronic payment transaction system | |
| US20240354761A1 (en) | Secure transaction unit, token reference register, electronic payment transaction system and method for registering of token | |
| JP3435682B2 (ja) | 電子現金預け入れ方法、その装置およびプログラム記録媒体 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| TA01 | Transfer of patent application right |
Effective date of registration: 20220314 Address after: Munich, Germany Applicant after: Germany Jiede progress 52 Co.,Ltd. Address before: Munich, Germany Applicant before: GIESECKE & DEVRIENT GmbH |
|
| GR01 | Patent grant |