用于价值转移的基于代币的系统的制作方法

未命名 10-18 阅读:77 评论:0

用于价值转移的基于代币的系统
1.相关申请的交叉引用
2.本技术是pct申请,该pct申请要求2021年2月18日提交的美国临时专利申请63/150,971的优先权和权益,该美国临时专利申请以引用方式并入本文中。


背景技术:

3.在实体之间进行价值转移可能会很复杂并且可能花费时间。
4.传统银行系统通常被视为异构分布式系统。资金从源银行到目的地银行的移动最好使用两者之间的最短路径来执行。首先,考虑只有两个节点进行交易的情况。交易开始于用户a发起交易,从而以电子和远程方式向用户b支付金额x。用户a将请求他的家庭银行a执行账本交易,该账本交易被插入到发送交易消息中。银行a又会将所有未决交易发送到中枢以便清算和结算。假设用户b的家庭银行b与中枢相关联,中枢会将目标交易插入到给银行b的接收交易消息中。银行b然后向用户b提供支付。
5.在大多数情况下,尤其是在跨境交易的情况下,使用多个节点来移动资金。也就是说,发送方银行和接收方银行使用相同中枢的情况并不常见。它们通常可以使用不同的中枢,并且在发送方银行和接收方银行的中枢之间可以有许多中间银行。这可能导致交易缓慢,并且还可能导致错误,因为支付交易在到达其最终目的地之前可能会经过许多节点。
6.解决这些问题的一种方式是使用诸如比特币的加密货币进行转账。然而,常规加密货币交易存在若干问题。例如,诸如比特币的常规加密货币交易不能离线进行。如果诸如比特币的常规加密货币可以用于进行离线交易,则这将导致潜在的重复花费的问题。此外,诸如比特币的常规加密货币交易与法定货币没有严格的联系,并且因此不太可能被接受和普遍使用。
7.本公开的实施方案单独地以及共同地解决此问题和其他问题。


技术实现要素:

8.一个实施方案包括一种方法。该方法包括:由与发送方相关联的发送方设备或发送方计算机在与参数相关联的代币(token)空间中生成基础代币,其中基础代币包括参数内的代币属性和金额;由发送方设备或发送方计算机对基础代币进行签名,以形成经创造代币;以及由发送方设备向接收方设备传输包括经创造代币的转账请求。
9.另一实施方案包括一种设备,该设备包括:处理器;以及非暂时性计算机可读介质,该非暂时性计算机可读介质包括可由处理器执行以执行操作的指令,该操作包括:在与参数相关联的代币空间中生成基础代币,其中基础代币包括参数内的代币属性和金额;对基础代币进行签名以形成经创造代币;以及向接收方设备传输包括经创造代币的转账请求。
10.另一实施方案包括另一种方法。该方法包括:由与接收方相关联的接收方设备从与发送方相关联的发送方设备接收转账请求,该转账请求包括处于与参数相关联的代币空间中的经创造代币,其中经创造代币包括参数内含有的代币属性;由接收方设备通过检查
经创造代币的代币属性处于代币空间的参数内来验证经创造代币;由接收方设备修改经创造代币的状态以形成经修改代币;以及由接收方设备对经修改代币进行签名以形成经清算代币。
11.参考以下详细描述和附图,可以获得对本发明的实施方案的本质和优点的更好理解。
附图说明
12.图1示出了根据实施方案的分布式和分层式基于可信代币的数字货币系统的框图。
13.图2a示出了图示根据实施方案的代币的生命周期的框图。
14.图2b示出了图示根据实施方案的账本系统的框图。
15.图3示出了根据实施方案的三维子空间模型的图示。
16.图4示出了根据实施方案的使用三个代币子空间进行通信的发送方设备和接收方设备的框图。
17.图5示出了图示根据实施方案的通过多个代币子空间进行通信的发送方设备和接收方设备的框图。
18.图6示出了分区模型的框图。
19.图7示出了图示根据实施方案的通过多个代币子空间和子空间分区进行通信的多个用户的框图。
20.图8示出了根据实施方案的发送方计算机建立代币空间的流程图。
21.图9示出了根据实施方案的针对在线创造和清算流程的流程图。
22.图10示出了根据实施方案的针对离线创造和清算流程的流程图。
23.图11示出了根据实施方案的用户设备的框图。
24.图12示出了根据实施方案的授权实体计算机的框图。
具体实施方式
25.在论述本公开的实施方案之前,可以进一步详细描述一些术语。
[0026]“用户”可以包括个人。在一些实施方案中,用户可以与一个或多个个人账户和/或移动设备相关联。在一些实施方案中,用户可以是发送方或接收方。
[0027]“用户设备”可以是由用户操作的设备。用户设备的示例可以包括移动电话、智能手机、卡、个人数字助理(pda)、膝上型计算机、台式计算机、服务器计算机、薄客户端设备、平板式pc等。此外,用户设备可以是任何类型的可穿戴技术设备,诸如手表、耳机、眼镜等。用户设备可包括能够处理用户输入的一个或多个处理器。用户设备还可包括用于接收用户输入的一个或多个输入传感器。如本领域中已知的,存在能够检测用户输入的多种输入传感器,例如加速度计、相机、麦克风等。由输入传感器获得的用户输入可以来自多种数据输入类型,包括但不限于音频数据、视觉数据或生物特征数据。用户设备可以包括用户可以操作的任何电子设备,所述电子设备还可以提供与网络的远程通信能力。远程通信能力的示例包括使用移动电话(无线)网络、无线数据网络(例如,3g、4g或类似网络)、wi-fi、wi-max,或者可提供对网络(诸如互联网或专用网络)的访问的任何其他通信介质。在一些实施方案
中,用户设备可以被称为发送方设备或接收方设备。
[0028]“授权实体”可以是对请求授权的实体。授权实体的示例可以是发行方、政府机构、文件存储库、访问管理员等。授权实体可以操作授权实体计算机。“发行方”可以指发行并任选地维护用户账户的商业实体(例如,银行)。发行方也可以向消费者发行存储在诸如蜂窝电话、智能卡、平板计算机或膝上型计算机的用户设备上的支付凭证。
[0029]“处理器”可以指任何合适的一个或多个数据计算设备。处理器可以包括一起工作以实现所要功能的一个或多个微处理器。处理器可以包括cpu,所述cpu包括至少一个高速数据处理器,所述高速数据处理器足以执行用于执行用户和/或系统生成的请求的程序成分。cpu可以是微处理器,诸如amd的athlon、duron和/或opteron;ibm和/或motorola的powerpc;ibm和sony的cell处理器;intel的celeron、itanium、pentium、xeon和/或xscale;和/或类似处理器。
[0030]“存储器”可以是能够存储电子数据的任何合适的一个或多个设备。合适的存储器可以包括非暂时性计算机可读介质,其存储可以由处理器执行以实施期望方法的指令。存储器的示例可以包括一个或多个存储器芯片、磁盘驱动器等。此类存储器可以使用任何合适的电、光和/或磁操作模式来操作。
[0031]“代币”可以是持有价值的数据结构。代币可以是持有一定金额的数字货币的数据结构,并且由若干代币属性和审计信息来描述。“代币属性”描述代币的各种特性。代币属性的示例包括:价值、发送方标识符、接收方标识符、生存时间等。例如,“价值”可以描述代币中数字货币的金额,并且“生存时间”可以描述代币的寿命。
[0032]“审计信息”是可用于审计代币的信息。审计信息可用于跟踪代币的寿命。审计信息的示例包括:发送方标识符、接收方标识符、源账本地址(例如,账号、表示账户的公钥等)、目的地账本地址、清算方标识符、时间戳等。代币的审计信息可用于跟踪代币的寿命。例如,创建方标识符和时间戳标识谁创造了代币以及何时创建了代币,并且发送方标识符和接收方标识符可以用于跟踪代币的移动。
[0033]“代币空间”可以是含有代币的空间。可以使用参数集来划分代币空间。该参数集可以限制可处于代币空间中的代币,并且可以形成“代币子空间”。代币子空间可以包含具有满足一个或多个参数的一个或多个属性的代币的集合。例如,参数集可以包括“价值小于100”、“发送方标识符=1111”和“生存时间小于10秒”。对代币空间的所得划分可以创建代币子空间,该代币子空间可以包括由发送方标识符“1111”发送的价值小于100并且生存时间小于10秒的代币。代币空间和代币子空间可以使用区块链或常规数据库来实现。
[0034]“账本”可以是账户的记录。账本的示例可以包括本地账本、源账本、目的地账本等。“本地账本”可以是靠近用户(例如,在由用户操作的用户设备上,而不是在云端)的账本。“源账本”可以是提供资金来源的用户账户。“源账本”可以是“本地账本”,或者可以是由服务器计算机管理的账本。源账本的示例可以包括银行账户、信用账户等。“目的地账本”可以包括旨在接收来自源账本的价值(例如,资金、代币等)的账本。
[0035]“创造”可以包括对货币的创建。创造算法可以包括在代币空间中创建基础代币,将来自源账本的价值添加到基础代币,设定代币属性,将基础代币的状态设定为“经创造”,以及对基础代币进行数字签名以形成经创造代币。经创造代币可以被发布到账本,使得账本含有新创造的代币。“经创造代币”持有源自源账本的价值。例如,源账本可能含有usd,并
且经创造代币可能含有usdc。可以在交易中使用经创造代币,其中将经创造代币传输到接收方使得将代币的价值传输到接收方。
[0036]“清算”可以包括清算代币的过程。清算算法可以包括将来自经创造代币的价值存入到目的地账本,将经创造代币的状态从“经创造”改变为“经清算”,例如,通过改变经创造代币本身中的位或标志以形成经修改代币,并且然后对所得经修改代币进行签名以形成“经清算代币”。作为清算算法的一部分,经清算代币可以被发布到账本,使得账本含有新清算的代币。
[0037]
数字货币是以数字或电子形式存在的货币形式。由于其低成本、高可用性和一致性,数字货币在数字支付和数字银行计划中发挥着广泛的作用。
[0038]
正常情况下,数字货币可以被区分为分散式数字货币和集中式数字货币。在分散式数字货币系统(例如,比特币、以太坊等)中,数字货币系统是在分散式控制下实现的,这意味着不需要中央授权机构。在集中式数字货币系统中,存在控制数字货币在数字货币系统中的移动的中央授权机构。通常,中央授权机构是发行和监管数字货币的货币授权机构。
[0039]
可以基于在兑换数字货币时所需的验证形式进行附加的分类。数字货币可分类为基于代币的数字货币或基于账户的数字货币。为了使用基于账户的数字货币,需要验证支付者的身份。为了使用基于代币的数字货币,需要使用于支付的对象的有效性生效。
[0040]
一种类型的集中式数字货币是中央银行数字货币(cbdc)。与其他类型的加密货币相比,cbdc由中央授权机构(诸如中央银行)控制。cbdc的移动可以在类似于其他现有区块链数字货币的分布式系统上实现。
[0041]
许多数字货币在分布式系统中实现,该分布式系统是包括位于不同计算机上的多个部件的数字货币系统,该多个部件彼此通信和协调以执行操作。为了满足数字货币的性能要求,专门设计了分布式系统。分布式系统设计应支持多个异构系统的集成。另外,分布式系统设计应实现高可用性,该高可用性包括高正常运行时间、低延迟和一致性。分布式系统设计的另一特性是防止重复花费数字货币的能力。
[0042]
在分布式系统中,用于分析分布式系统的性能的广泛应用的原理是cap定理。根据cap定理,任何分布式系统可以具有三个期望特性中的至多两个期望特性:一致性(例如,每个数据读取接收最近的数据写入或错误)、可用性(例如,每个数据请求得到无错误响应,而不保证它具有最近的写入)以及分区容错性(例如,分布式系统通过将网络分割成不相交的子网络的通信故障继续操作)。在抽象层面上,重复花费是分布式系统中违反一致性的具体示例。
[0043]
提出了一种用于防止重复花费的基于代币的数字货币系统。所提出的基于代币的数字货币系统被构建为可信网络,其中系统中的所有各方识别网络中的代币,并且同意网络的规则。另外,即使代币可能与具体的代币空间相关联,系统中的所有各方也都同意在被请求时将有效代币兑换成法定货币。例如,交易中的代币可以具有诸如以下各项的属性:(i)$1,(ii)给交易接收方a,以及(iii)用设备b进行,并且可以处于为代币设立的代币空间中,该代币(a)限于少于$5的交易金额,(b)限于交易接收方a,并且(c)限于与某一类型的用户设备(诸如用户设备b)进行的交易。尽管此代币具有有助于防止重复花费的某些限制,但是它仍然可以由接收方经由接收方的金融机构兑换成$1的常规法定货币。因此,通过这种协议,代币可以充当受限的法定货币。
[0044]
在传统系统中,双方之间的法定货币兑换包括若干步骤,该若干步骤包括初始交易和后续结算,其中资金从一个账户转移到另一个账户。在基于代币的数字货币系统中,代币本身持有价值(因为它可以兑换成法定货币)并在交易中使用,因此不再需要后续结算。在本发明的实施方案中,代币用于在结构上隔离网络中的转账请求,这使各方的独立性最大化。代币还可以分离创造代币和清算代币的操作,使得它们彼此独立。
[0045]
图1示出了根据实施方案的分布式和分层式基于可信代币的数字货币系统的框图。数字货币系统是基于代币的异构分布式系统。操作中央授权机构计算机804的中央授权机构(例如,中央银行)可以维护分布式账本100。中央授权机构可以确定可发行数字货币账户的实体。例如,中央授权机构可以确定发送方计算机104和接收方计算机108可向用户发行数字货币账户。发送方计算机104可以是由实体(例如,诸如银行的授权实体)操作的发送方金融机构计算机,该实体向操作发送方设备102(例如,移动电话、膝上型计算机)的发送方或其他发送方发行数字货币账户。类似地,接收方计算机108可以是由实体操作的接收方金融机构计算机,该实体向操作接收方设备106(例如,访问设备、计算机等)的接收方和其他接收方发行数字货币账户。
[0046]
图1和以下附图中的任何附图中的基于代币的数字货币系统中的部件可以通过任何合适的通信介质彼此进行操作性通信。通信介质的合适示例可以是以下各项中的任一项和/或组合:直接互连;互联网;局域网(lan);城域网(man);作为互联网节点的运行任务(omni);安全定制连接;广域网(wan);无线网络(例如采用诸如但不限于无线应用协议(wap);i-模式等协议)等。图1的计算机、网络和设备之间的消息可以使用安全通信协议传输,诸如但不限于文件传输协议(ftp);超文本传输协议(http);以及安全超文本传输协议(https)。
[0047]
根据本发明实施方案的基于代币的数字货币系统可以含有代币api,诸如代币创造api和代币清算api。这类api可以驻留在分布式账本110和/或中央授权机构计算机804以及发送方计算机104和接收方计算机108之间。
[0048]
在根据本发明实施方案的基于代币的数字货币系统中,代币可以有效地分离分布式系统,使得用户可以在在线或离线环境中操作。
[0049]
根据本发明实施方案的代币数字货币网络中的代币的示例性原理可以如下:基于代币的数字货币系统中的所有各方需要兑现经创造代币,并且执行与代币相关联的加密操作;经创造代币需要从现有账户进行创造;经创造代币需要利用现有账户来清算。在下表1中总结了在以下描述中使用的若干变量和函数。
[0050][0051]
表1:变量和函数的表
[0052]
下面描述示例性代币创造算法。在示例性代币创造算法中,存在可与发送代币相关联的发送方账户as(例如,与发送方设备102相关联的数字货币账户)。还可以存在与接收代币相关联的接收方账户ar(例如,与接收方设备106相关联的数字货币账户)。价值为v的代币从发送方账户as中被创造,并且被发送到接收方账户ar。
[0053]
代币创造算法总结如下:
[0054][0055]
在代币创造算法中,价值v从发送方账户as中被扣除。在扣除价值v后,初始化代币t空代币t。代币t空代币t可以是预定的结构化数据文件。该文件可以含有空数据字段,以用于向代币填充诸如代币属性的数据。在初始化代币t空代币t后,将代币的价值设定为价值v。代币的价值可以被填充到文件的数据字段中的一个数据字段中。此时,其他代币属性(例如,发送方标识符、接收方标识符、时间戳等)可以包括在代币中。在一些实施方案中,数据字段中的一个或多个数据字段可以含有代币标识符,该代币标识符可以是与代币相关联的
唯一价值。代币标识符可以是随机值、系统值或有意选择的值。另外,代币的状态t
state
可以设定为“经创造”或“1”。然后,通过将代币添加到经规划代币空间中的代币空间操作set()将代币t放置在代币空间ω中。然后,通过代币空间操作r
a publish(t)将代币发布到审计日志进行记录。将代币t发布到审计日志用作检查代币的价值v与从发送方账户as中扣除的价值相等的证据。该检查可以在发布代币时执行,或者异步执行。
[0056]
下面描述示例性代币清算算法。代币清算过程可以被视为与代币创造过程相反。清算代币可以将资产放入接收方账户(例如,接收方的银行、信用、贷款或其他账户)中。
[0057][0058]
在清算算法中,接收方账户ar使用代币空间操作deposit()从代币t接收价值v。然后,通过使用代币空间操作test_set(),将代币t的状态设定为“经清算”。在一些实施方案中,代币t的状态可以是代币本身中的变量,或者可以是代币所驻留的代币空间中的变量。例如,如果状态在代币本身中实现,则test_set()操作可以通过将代币中的变量从“1”(其指示经创造代币)改变为“0”(其指示经清算代币)来改变代币的状态。在下一步骤中,将经清算代币t发布到审计日志。与代币创造算法类似,审计日志可以用作检查代币t的价值v与存入到接收方账户的价值相等的证据。该检查可以在发布代币时执行,或者异步执行。清算算法可以以提交操作结束,该提交操作可以最终确定接收方账户ar的余额。
[0059]
在将代币t的状态设定为“经清算”后,代币t(或代币t的任何克隆币)不再持有任何价值。利用代币清算算法和代币创造算法,数字货币在系统中的各方之间移动。系统中涉及的任何数字货币都在整个代币兑换过程中得以保存。在一些实施方案中,数字货币通过基于代币的数字货币系统的移动不会创造“新”价值,也不会“移除”系统中的任何价值。
[0060]
如代币创造算法中所述,代币创造操作与账本操作配对,以从来源中扣除价值。在数字货币的使用案例中,代币的来源可以是多种多样的。来源的示例可以包括个人银行账户、个人贷款账户、商业银行账户或来自发行新面额或不同面额的货币进入流通的中央授权机构的决定。
[0061]
在创造代币后,经创造代币不以任何方式改变。由于经创造代币现在是价值的载体,所以它记录关于在基于代币的数字货币系统中进行的转账请求的信息。如果代币的信息允许改变,则在基于代币的数字货币系统中保持价值守恒可能需要跟踪系统中的所有代币。作为示例,比特币区块链是允许将“比特币”无限分割成许多部分的典型系统。比特币区块链允许完全自由地将比特币的所有部分混合在一起。因此,比特币系统中的所有各方都需要访问比特币数据库的完整副本。虽然比特币不是严格的基于代币的系统,但是如果图1的基于代币的数字货币系统的代币允许改变,则接收代币的任何一方都需要类似的要求。
[0062]
图2a示出了图示根据实施方案的代币的生命周期的框图。一旦代币被创造,则代币属性(其为代币特性的不变性)简化了代币的生命周期或状态转换。代币创造算法可用于生成经创造代币200。经创造代币200的代币属性可以包括价值、发送方地址、代币的生存时间等。在经创造代币200被创建后,经创造代币200可以被临时转换或存储。在此中间时段期
间,加密保护向经创造代币200提供不变性。代币清算算法可用于将经创造代币200转变成经清算代币202。例如,发送方可以将经创造代币200传输到接收方以转移价值。代币清算算法可以允许接收方检索经创造代币200中的价值,并且将经创造代币200转变成经清算代币202。状态转换的简单性(例如,从“经创造”到“经清算”)有助于设计出具有受保证的一致性和高可用性的代币清算算法。
[0063]
图2b示出了图示根据实施方案的账本系统的框图。该系统包括授权实体计算机210、用户设备220和中央授权机构计算机230。授权实体计算机210可以是发送方计算机或接收方计算机。用户设备220可以是发送方设备或接收方设备。中央授权机构计算机230可以维护分布式账本235,该分布式账本可以是含有代币空间中的所有代币的账本。授权实体计算机210可以包括在线账本215,该在线账本可以含有多个用户的多个源账本(例如,多个银行账户)。授权实体计算机210可以使用代币模块212创造或清算代币。代币模块212可以与在线账本215通信(例如,从用户的账户余额中移除或存入价值)以在代币空间中创造或清算代币。用户设备220可以包括本地账本225。例如,本地账本225可以是在线账本215的离线副本,即使该离线副本没有连接到授权实体计算机210,它也可以被用户设备220访问。用户设备220可以使用代币模块222来创造或清算代币。代币模块222可以与本地账本225通信以创造和清算代币。用户设备220可以向授权实体计算机210提交本地账本225中的变化,使得这些变化可以被包括到在线账本215中。
[0064]
在许多互联网代币中,自毁经常被用作一种机制。互联网代币可以具有生存时间(ttl)作为代币的属性。处理代币的任何一方都可以验证ttl是否仍然有效(例如,当前时间是否处于由ttl确定的范围内)。可以调配加密操作来确保ttl是不能被改变的原始值。然而,对于价值移动,代币的销毁不能依赖于代币的ttl。在本发明的实施方案中,一旦接收方通过代币清算算法清算了经创造代币,则经创造代币可以是无效的。在理想情况下,当可靠且一致的全局可达存储装置可用时,代币的销毁可以通过更新全局存储装置中代币的状态来实现。然而,由于cap定理,实现具有一致性和可用性两者的全局存储装置是困难的。
[0065]
在基于代币的数字货币系统中,价值移动的一致性要求基本上等同于实时消息传递系统中的“恰好一次”。在实时消息传递系统中,通常希望具有“恰好一次”特性。相反,许多系统选择实现“至少一次”或“最多一次”,以平衡实时消息传递系统中的一致性和可用性。然而,在价值移动中,这两个选项(例如,“至少一次”或“最多一次”)都是不可接受的。关于“至少一次”,代币可以被消费或创造[1,2,

,n]次,其中“n使得n》1”次意味着单个代币被使用或清算多次,从而将价值添加到系统。关于“最多一次”,代币可以被消费{0,1}次,其中0意味着代币被创造但从未被使用,并且1意味着代币被清算。利用(例如,如在代币创造和清算算法中引入的)审计日志,价值不会丢失,因为它可以被验证并追踪到价值的来源(例如,发送方账户),并且如果代币丢失,则价值可以被恢复。
[0066]
针对“恰好一次”的根本挑战是由异构分布式系统中的网络分区引起的。根据cap定理,该挑战在分布式系统中是基本的。通过按照规划方案使网络分区,有可能同时实现高可用性和强一致性。可以通过定位价值移动中涉及的各方,以及通过设计避免全局存储装置的方法(例如,在一致性与可用性之间进行横向折衷)来执行网络分区。
[0067]
在某些情况下,价值移动是本地化活动。价值移动中的许多使用案例发生在两方(发送方和接收方)之间。可能需要中枢(例如,中间方)来连接发送方与接收方。在基于代币
的系统中,代币本身扮演着中枢的角色。因此,决定代币在系统中被清算的次数是由特定接收方执行的本地化操作。如果保证系统中没有其他方可以清算同一代币,则代币清算就不需要全局共识。这种保证可以允许接收方管理较小的代币集。
[0068]
代币可以组织到代币空间中。代币空间可以支持若干原子操作,包括:set(),其将代币添加到经规划代币空间中;test_set(),其修改代币或代币空间中的代币状态(例如,从值“1”或“经创造”到值“0”或“经清算”);以及load(),其检查给定代币是否处于经规划代币空间中。这三种操作的示例具体实现在以下伪代码中示出:
[0069][0070]
为了保证在基于代币的数字货币系统中,代币只可以由特定接收方清算,提出了代币空间的定义和猜想。
[0071]
定义1:代币空间ω是具有属性a并且可以由一个或多个清算方进行清算的代币的集合。示出了代币空间ω的示例性表示法:
[0072][0073]
其中t表示代币,ta表示代币的属性,并且a是属性集。
[0074]
代币可以属于一个或多个代币空间。例如,如果a是所有可能属性值集,则所有代币属于一个代币空间。代币空间提供了在代币空间中创造的代币以及有资格在代币空间中被清算的代币的全局视图。
[0075]
猜想1:代币清算访问代币空间以清算代币“恰好一次”。两种具体情况可以用于验证这个猜想。一种情况涉及利用序列号来进行代币清算,而另一种情况涉及通过了解代币的唯一id来进行代币清算。
[0076]
对于第一种情况,使用序列号执行代币清算。现在代币空间被减小以存储序列号,然而,代币清算是连续的。例如,如果当前序列号是“10”,则清算方需要在处理序列号“12”之前处理序列号“11”。这导致代币空间与处理速度之间的折衷。为了简化证明,可以假设属性“ttl”处于代币空间中。使用序列号进行清算的过程可以提供如下:
[0077]
[0078]
其中,last seq是序列号的前一个值,并且threshold是低于代币的指定生存时间的时间。该过程将等待直到代币的状态号是“队列中的下一代币”(例如,在“11”被清算之后,待清算的下一代币是“12”),并且该代币还没有超过其生存时间(例如,该代币还没有自毁)。如果满足这两个条件,则代币标识符可以被添加到ω
.
之后,可以运行代币清算算法使得代币被清算,这导致提交操作,该提交操作最终确定包括被清算的代币的价值的更新的账户余额。
[0079]
对于第二种情况,使用代币的唯一标识符。利用唯一标识符进行清算的过程给出如下。
[0080][0081]
该过程可以首先检查代币标识符t
id
当前是否不处于ω中
.
。如果代币标识符t
id
不是ω的一部分,则可以将代币标识符添加到ω。之后,可以运行代币清算算法使得代币被清算。
[0082]
使用上述内容,提出两个命题。命题1:假设a方具有清算存储装置sa,并且b方具有清算存储装置sb,如果sa和sb是网络分区的,则代币可以被清算多于一次。命题2:根据猜想1,代币应仅在一个且仅一个存储装置中被清算,以支持恰好一次。
[0083]
为了完全独立于全局存储装置或目录,代币本身理想地具有足够的信息,以向一个且仅一个经授权的清算方对本身进行自我标识。
[0084]
可以提出两个另外的命题。命题3:每个代币只可以被分类到一个且仅一个代币空间中以被正确清算。命题4:如果全局存储装置不可行或不被使用,则代币被分区到彼此不相交的分离子空间中。
[0085]
可以提供用于划分代币空间以及与代币相关联的操作的若干属性。代币的示例性属性可以包括以下各项中的一项或多项:创造者id(例如,与创造方相关联的标识符,诸如发送方计算机104的标识符)、发送方id(例如,与发送方相关联的标识符,诸如发送方设备900)、接收方id(例如,与接收方相关联的标识符,诸如接收方设备106)、价值(例如,代币中所包括的cbdc的金额)、生存时间(例如,代币将在其后自毁的时间)和/或站id(例如,与用于创建或处理代币的设备相关联的id)。例如,发送方id与接收方id之间的对可以将代币空间网络划分成不相交的代币子空间集。代币的价值也可以用作用于划分网络的属性。例如,对于作为阈值的预设值,可以将代币空间划分成两个代币空间;一个代币空间可以接受价值大于阈值的代币,并且第二代币空间可以接受价值小于阈值的代币。属性的组合可用于划分代币空间。例如,发送方id、接收方id和ttl可用于构建三维代币子空间。
[0086]
对于代币的审计(例如,跟踪代币),审计信息可以包括在代币中。除了代币属性中所包括的发送方id和接收方id之外,代币还可以含有源账本地址(例如,诸如发送方银行账号的源账本地址)、目的地账本地址(例如,诸如接收方银行账号的目的地账本地址)、清算方标识符(例如,接收方计算机或接收方设备标识符)和时间戳(例如,何时创造代币和/或何时清算代币)的信息。如果希望跟踪代币的移动,则可以包括审计信息。然而,如果发送方/接收方在转账请求期间更偏好匿名,则可以从代币中排除审计信息。
[0087]
在基于代币的数字货币系统中,可以对代币执行若干加密和/或验证操作。示例性加密和/或验证操作可以包括:完整性检查,其检查代币在被创造后是否已经改变;真实性检查,其通过使用创造者id来验证代币是从何处创造的;有效性检查,其使得使用代币执行的转账请求有效;以及清算时间检查,其确定代币的寿命是否超过代币的生存时间。实现完整性检查的加密操作可以通过使用公钥/私钥加密生成并验证代币上的数字签名来实现。例如,发送方设备可以使用公钥/私钥对的私有加密密钥来生成经创造代币上的数字签名。一旦接收方设备接收到经创造代币,接收方设备就可以检索与私有加密密钥相关联的公共加密密钥,以验证经创造代币的数字签名。在这样做时,接收方设备可以验证经创造代币的完整性(例如,通过检查经签名的经创造代币的代币属性与经创造代币中的代币属性相同)。实现真实性检查的加密操作可以通过将代币的属性集中的创造者id与预期的创造者id进行比较来实现。例如,在转账中,接收方设备可以从发送方设备接收经创造代币。经创造代币可以包括代币属性中的创造者id。接收方设备可以将代币属性中的创造者id与预期的创造者id进行比较(例如,预期的经创造id可以包括来自先前转账请求的先前接收的经创造id)。
[0088]
图3示出了根据实施方案的三维子空间模型的图示。可以使用发送方id、接收方id和生存时间的属性来创建代币子空间。这三种属性可以充当三维坐标系。例如,接收方id 302轴、发送方id 304轴和生存时间306轴。代币空间可以被划分以创建子空间308。例如,子空间308可以包括从具体发送方到具体接收方并且生存时间在具体范围内的代币,。对于子空间308中的代币,代币只可以在由生存时间决定的具体时段内由具体接收方接受。尽管示出了三维代币子空间,但是该示例可以外推到多维。例如,可以使用n个参数来形成n维代币子空间,该n个参数包括发送方id、接收方id、生存时间、价值、设备类型等中的一者或多者。
[0089]
图4示出了根据实施方案的使用三个代币子空间进行通信的发送方设备和接收方设备的框图。操作发送方设备402的发送方和操作接收方设备408的接收方不限于访问单个代币子空间。发送方和接收方被准许访问由代币属性建模的多个代币子空间。例如,第一代币子空间410可以将代币限制为包括具有属性的代币,该属性包括低于60秒的生存时间以及小于1,000的价值。第一代币子空间410基本上陈述了只有当代币的价值小于1,000并且生存时间小于60秒时,代币才可以由接收方设备408接受。第二代币子空间420将代币限制为包括具有属性的代币,该属性包括发送方设备402的发送方id和接收方设备408的接收方id以及低于60秒的生存时间。第三代币子空间430可以将代币限制为包括具有属性的代币,该属性包括低于60秒的生存时间和大于1,000的价值。对于第一代币子空间410和第三代币子空间430,对代币属性中所包括的发送方id和接收方id没有限制。这意味着任何一对发送方设备和接收方设备都可以访问这两个代币子空间。然而,在第二代币子空间420中,代币被约束为具有包括发送方设备402的发送方id和接收方设备408的接收方id的属性。
[0090]
如果将一些代币子空间与代币空间的其余部分进行分区(例如,由离线或通信故障导致),则审计日志不能实时跟踪代币。跟踪所有代币可以使用可在全局代币空间的维度中拟合代币子空间的存储器来完成。例如,离线操作的接收方设备406可以处理所描述的三个代币子空间中的代币,并且能够识别子空间中的代币以防止重复花费。离线操作的代币创造者在预先约定的代币子空间中为接收方创造代币,使得接收方可以接收和处理该代币。例如,发送方设备402和接收方设备406可以就用于定义代币子空间的代币属性达成一
致。发送方设备402可以在预先约定的代币子空间中创造代币,使得接收方设备406可以接收该代币,并且清算预先约定的代币子空间中的代币。在设备返回到在线操作后,离线模型中的每个代币被发布到审计日志以实现一致性。
[0091]
图5示出了图示根据实施方案的通过多个代币子空间进行通信的多个用户的框图。多个用户可以是多个发送方(例如,操作相应发送方设备的第一发送方502、第二发送方512、第三发送方522和第n发送方532)和接收方(操作相应接收方设备的第一接收方506、第二接收方516、第三接收方526和第n接收方536),该多个用户可以使用一个或多个代币子空间(例如,第一代币子空间500、第二代币子空间510、第三代币子空间520和第n代币子空间530)彼此通信。例如,类似于图4,第一发送方502可以使用第一代币子空间500和第二代币子空间520与第一接收方506通信。另外,第一发送方502可以使用第二代币子空间510与第二接收方516通信。图5所示的其他发送方可以使用预先约定的代币子空间与其他接收方通信。
[0092]
可以执行对代币空间的预先规划。当不存在对子空间的分区时,基于代币的数字货币系统中的所有各方可以成功地彼此连接。因此,通过构建用于记录针对代币的转账请求的全局审计日志,有可能在线跟踪所有代币。使用代币属性,基于代币的数字货币系统可以被划分成代币子空间。因此,系统的全局代币空间被划分成代币子空间,该代币子空间中的每个代币子空间彼此不相交。在每个代币子空间中,与全局代币空间相比,操作复杂度降低,因为代币子空间的大小被减小到更小的规模。
[0093]
图6示出了分区模型的框图。图6的分区模型可以对应于许多传统的分布式系统。分布式系统中的网络分区可能由于通信故障而发生。为了在分区期间维持分布式系统的可用性和一致性的性能保证,需要管理分区。分区模型可以包括三个步骤,包括检测分区,进入具有受限操作的分区模型,以及一旦在线通信恢复就发起分区恢复。具体地,系统600可以处于初始状态。如果系统600中的设备失去连接,则该设备可能引起分区,从而导致系统600被分割成第一并发系统602(例如,系统600的副本)和第二并发系统604(例如,系统600的随后可以由离线设备修改的副本)。当系统
.
检测到分区时,该分区的两侧进入分区模型。当分区结束时,可以开始分区恢复。一旦设备返回在线,分区恢复模块606就可以合并第一并发系统602和第二并发系统604以形成后续系统608。
[0094]
这种设立需要高计算复杂度来记住第一并发系统602和第二并发系统604。例如,分区恢复模块606可以将第一并发系统602与第二并发系统604进行比较。分区恢复模块606可以通过将最近的数据包括在第一并发系统602和第二并发系统604两者中来形成后续系统608。对于具有许多设备的系统,若干设备离线可能引起大量分区。因此,分区恢复模块606负担将许多并发系统进行比较。
[0095]
图7示出了图示根据实施方案的通过多个代币子空间(例如,第一代币子空间700、第二代币子空间710、第三代币子空间720和第n代币子空间730)和子空间分区(例如,第n代币子空间分区740)进行通信的多个用户(例如,操作相应发送方设备的第一发送方702、第二发送方712、第三发送方722和第n发送方732,以及操作相应接收方设备的第一接收方706、第二接收方716和第三接收方726以及第n接收方736)。
[0096]
图7的系统包括第n代币子空间分区740。第n代币子空间分区740可以是第n代币子空间730的分区。图7的系统可以被视为图6的分区模型的具体示例。第n发送方732和第n接
收方736可以尝试使用第n代币子空间730来执行基于代币的转账请求或价值转移。第n代币子空间730中可能发生通信错误,从而导致第n发送方732和第n接收方736离线操作。第n发送方732和第n接收方736可以通过本地连接彼此通信,以检查是否存在可用于通信的替代代币子空间。如果存在替代代币子空间,则第n发送方732可以从第n代币子空间730迁移到第n代币子空间分区740,以将经创造代币传递到第n接收方736。分区期间的操作可被限制。可被限制的操作的示例可以包括代币的接收方不能够立即清算所接收的代币,以防止重复花费并维持系统的一致性。一旦重新建立了在线通信,则通过第n代币子空间分区740传递的经创造代币可以由第n发送方732和第n接收方736两者发布到审计日志。一旦审计日志验证了代币的有效性(例如,使用加密操作),则第n接收方736可以要求代币中所包括的价值。
[0097]
与图6所示的分区模型相比,图7的代币子空间分区提供了许多改进。图7所示的代币子空间是不相交的子空间。例如,第n代币子空间730中的代币仅存在于第n代币子空间730中。因此,当创建第n代币子空间分区740时,添加到第n代币子空间分区740的任何另外的代币确实需要添加到其他代币子空间。
[0098]
在设计基于代币的数字货币系统的代币空间时存在折衷,以用于平衡重复花费代币的风险与在代币空间中使用代币的灵活性。首先,考虑在子空间规划中没有使用发送方id和接收方id的极端情况。在这种情况下,代币的代币属性可能仅含有创造者id、价值和生存时间,这可以使代币像法定货币一样工作。因此,全局代币空间可以被视为全局货币空间。由于对发送方和接收方没有限制,因而对代币的使用具有很高的灵活性。然而,在这种场景下,重复花费的风险也是巨大的,因为数字货币系统中的任何一方都可以复制代币,并且与多个接收方重复使用。另外,与维护这种全局货币空间相关联的运营成本也较显著。作为第二示例,考虑具有包括发送方id、接收方id、创造者id和生存时间的参数的代币空间。在此第二示例中,由于对每个代币的使用都受到严格限制,因此针对此空间中的代币的重复花费的风险较低。然而,使用此空间中的代币的灵活性较低,因为每个代币只可以由单个接收方接受。
[0099]
图8示出了根据实施方案的针对发送方计算机802建立代币空间的流程图。发送方计算机802可以在成为数字货币账户的发行方之前执行图8的步骤。例如,发送方计算机104和接收方计算机108可以在它们能够分别向发送方设备900和接收方设备106发行数字货币账户之前执行图8的步骤。中央授权机构计算机804可以由中央授权机构操作,该中央授权机构管理对基于代币的数字货币的访问,并且维护保持对所有代币的跟踪的分布式账本。
[0100]
在步骤s800中,发送方计算机802可以向中央授权机构计算机804传输成为代币操作者的请求。发送方计算机802可以由诸如发行方银行计算机的金融机构计算机操作。发行方银行计算机可以管理与操作发送方设备800的发送方相关联的账户。发送方设备800可以是诸如移动电话或膝上型计算机的设备。操作发送方设备800的发送方可以是希望向操作接收方设备的接收方转移价值(例如,汇款)的发送方。
[0101]
在步骤s802中,在接收到来自发送方计算机802的请求后,中央授权机构计算机804可以选择批准或拒绝该请求。例如,中央授权机构计算机804可以基于任何数量的因素来确定发送方计算机802被批准,这些因素包括操作发送方计算机802的发送方的财务状况或可信度。
[0102]
在步骤s804中,在批准发送方计算机802后,中央授权机构计算机804可以向发送
方计算机802传输根密钥。根密钥可用于对代币进行操作(例如,创造和清算)。例如,当发送方计算机802对代币执行操作时,诸如将数字签名应用于代币,该发送方计算机可以使用根密钥。在此示例中,根密钥可以是验证/签名密钥对,其中签名密钥用于生成数字签名。数字签名可以证明经创造代币的真实性(例如,数字签名可以证明该代币由发送方计算机802创造)。可使用任何合适的安全加密密钥交换协议(诸如diffie-hellman)将根密钥传输到发送方计算机802。在一些实施方案中,发送方计算机802可以使用根密钥来生成导出密钥。例如,发送方计算机802可以是计算机网络中的第一计算机。发送方计算机802可以使用所接收的根密钥来为计算机网络中的第二计算机生成导出密钥。因此,导出密钥可用于标识代币由第二计算机创造。
[0103]
在步骤s806中,在向发送方计算机802提供根密钥后,中央授权机构计算机804可以向发送方计算机802传输唯一标识符。唯一标识符可以是作为例如创造方和/或清算方标识符的标识符。唯一标识符可以呈包括预定或随机字符串的任何合适的形式。
[0104]
在步骤s808中,在接收到根密钥和唯一标识符后,发送方计算机802可以开始发行数字货币账户。发送方计算机802可以存储根密钥和唯一标识符,并且可以在向用户发行数字货币账户时使用它们。
[0105]
在步骤s810中,在被批准发行数字货币账户后,发送方计算机802可以与代币空间计算机806通信以设立新代币空间。发送方计算机802可以包括定义新代币空间的参数。新代币空间可用于生成包括参数集内的代币属性的代币。例如,发送方计算机802可能希望创建由参数定义的新代币空间,该新代币空间将允许处理具有包括针对发送方设备800的发送方标识符、小于24小时的生存时间以及小于$500的价值的属性的代币。
[0106]
在步骤s812中,在设立新代币空间后,发送方计算机802可以向中央授权机构计算机804传输设立新代币空间的请求。该请求可以包括新代币空间的参数(例如,包括针对发送方设备800的发送方标识符、小于24小时的生存时间以及小于$500的价值)。
[0107]
在步骤s814中,在从发送方计算机802接收到设立新代币空间的请求后,中央授权机构计算机804可以审阅新代币空间的参数。中央授权机构计算机804可以确保如由请求中的参数所定义的新代币空间不与现有代币空间重叠。例如,中央授权机构计算机804可以搜索包括所存储的代币空间的数据库。
[0108]
在步骤s816中,在验证新代币空间不与现有代币空间重叠后,中央授权机构计算机804可以验证发送方计算机802已经建立了维护新代币空间的能力。例如,中央授权机构计算机804可以验证发送方计算机802能够为数字货币账户的持有者维护源账本,将代币的细节传输到审计计算机,操作代币空间计算机或与代币空间计算机通信,创造和清算代币等。中央授权机构计算机804可以通过检查发送方计算机802的硬件和软件特征来做到这一点。
[0109]
在步骤s818中,在验证发送方计算机802能够维护新代币空间后,中央授权机构计算机804可以向发送方计算机802传输代币空间操作根密钥。代币空间操作根密钥可用于代币空间的加密操作。例如,代币空间操作根密钥可以是公钥/私钥对,并且可用于验证在新代币空间中创造的代币的完整性。私钥可用于在经创造代币上生成数字签名。此后,通过将经创造代币与数字签名进行比较(例如,使用公钥来解密数字签名,并且将经创造代币与经解密数字签名进行比较),可以使用公钥来验证经创造代币没有被改变。
[0110]
在步骤s820中,在向发送方计算机802提供代币空间操作根密钥后,中央授权机构计算机804可以向分布式账本(诸如图1中的分布式账本100)发布新代币空间和参数。此后,发送方计算机802可以使用新代币空间来创造代币。
[0111]
在步骤s822中,在发布新代币空间后,操作发送方设备800的发送方可以向发送方计算机802传输提供本地代币空间的请求。此后,发送方设备800可以接收本地代币空间的参数。例如,该发送方设备可以接收诸如以下的参数:(i)小于$5(ii)给接收方a,以及(iii)来自用于本地空间的设备类型b。在其他示例中,发送方设备800可以接收包括本地代币空间的参数的代币模板。代币模板可以是空代币(例如,没有价值的代币),其包括针对本地代币空间的参数中的至少一些参数的数据字段。在获得本地代币空间后,发送方设备800可以通过将源账本的离线副本维持在发送方设备800上而离线操作。本地代币空间可以是存储由发送方设备800创造和清算的代币的代币子空间。
[0112]
在步骤s824中,在从发送方设备800接收到提供本地代币空间的请求后,发送方计算机802可以验证本地代币空间。例如,发送方计算机802可以验证本地代币空间不与其他本地代币空间重叠。发送方计算机802也可以生成本地代币空间密钥。在一些实施方案中,本地代币空间密钥可以使用从中央授权机构计算机获得的根密钥来生成或从该根密钥中导出。本地代币空间密钥可以类似于步骤s818的代币空间操作根密钥。本地代币空间密钥可用于执行本地代币空间的加密操作(例如,验证代币的完整性)。
[0113]
在步骤s826中,在生成本地代币空间密钥后,发送方计算机802可以向发送方设备800传输本地代币空间密钥。
[0114]
在步骤s828中,在接收到本地代币空间密钥后,发送方设备800可以维护本地代币空间。本地代币空间可以与源账本的离线副本通信以创造代币。例如,本地代币空间可以从本地账本中提取价值以添加到基础代币。当发送方设备800具有与发送方计算机802的连接时,可以更新本地账本以匹配由发送方计算机802所维护的源账本。
[0115]
尽管参考发送方、发送方设备800和发送方计算机802描述了图8的流程图,但是该过程也可以由接收方、接收方设备和接收方计算机执行。
[0116]
图9示出了根据实施方案的针对在线创造和清算流程的流程图。图9的系统包括操作发送方设备900的发送方。发送方可能希望向操作接收方设备906的接收方传输数字货币代币(例如,用于转账请求)。发送方设备900可以与为发送方维护数字货币账户的发送方计算机902进行在线通信。发送方计算机902可以是持有发送方设备900的发送方的账户的金融机构计算机。类似地,接收方设备902可以与为接收方维护数字货币账户的接收方计算机908进行在线通信。审计计算机904可以与代币通信,并且接收关于代币的信息。代币空间计算机910可以管理由参数集定义的代币空间。例如,代币空间可以是满足特定参数集的代币的空间。代币空间可以由代币空间计算机910通过区块链或数据文件来实现。代币空间计算机910可以由操作发送方计算机902的授权实体来管理,或者可以是管理代币空间的独立实体。
[0117]
在步骤s900中,发送方设备900可以与接收方设备906建立通信信道,以开始转账请求。发送方设备900可以从接收方设备906获得待用于代币创造过程的接收方标识符ar。类似地,接收方设备906可以从发送方设备900获得待用于代币清算过程的发送方标识符as。在一些实施方案中,发送方设备900另外可以从接收方设备906接收指示一个或多个优
选代币空间的代币模板。例如,代币模板可以包括处于优选代币空间的参数内的代币属性集。作为说明,优选代币空间的参数可以包括小于24小时的生存时间、小于$500的金额、针对接收方设备906的接收方标识符以及针对发送方设备900的发送方标识符。代币模板可以包括满足参数的代币属性,该参数诸如12小时的生存时间、$5的金额以及接收方906的接收方标识符。在其他实施方案中,发送方设备900可以从接收方设备906获得指示一个或多个优选代币空间的代币空间标识符。发送方设备900可以利用上述示例属性或附加属性(例如,发送方标识符)中的一者或多者来填充代币模板。
[0118]
在步骤s902中,在确定将用于发送方设备900与接收方设备906之间的转账请求的优选代币空间后,发送方设备900可以向发送方计算机902传输创造代币的请求。在一些实施方案中,该请求可以包括代币模板,该代币模板包括待用于代币的代币属性集,诸如待从源账本(例如,发送方的银行账户)中扣除并且被设定到代币的金额v、发送方标识符as和接收方标识符ar。在一些实施方案中,创造代币的请求可以包括代币空间标识符。
[0119]
在步骤s904中,在接收到代币创造请求后,发送方计算机902可以与代币空间计算机910通信,以在由代币空间计算机910所管理的代币空间中创建基础代币。在一些实施方案中,发送方计算机902可以使用代币空间标识符来标识代币空间计算机910。在一些实施方案中,基础代币最初被创建为空代币。发送方计算机902可以从与操作发送方设备900的发送方相关联的源账本中扣除金额v,并且将该金额分配到基础代币。在一些实施方案中,代币空间计算机910可以向发送方计算机902提供代币模板。在一些实施方案中,(例如,在步骤s902或步骤s904中)所接收的代币模板可用于更新基础代币。例如,代币模板可以包括待被设定到基础代币的代币属性集。代币空间的参数可以包括代币模板中的代币属性集(例如,代币空间可以要求代币包括等于ar的接收方标识符,并且代币空间还可以要求代币的价值v大于/小于阈值等)。发送方计算机902可以将代币的状态设定为“经创造”(例如,通过将代币中或与代币相关联的代币空间中的状态指示符设定为等于“经创造”,诸如t
state
=1)。
[0120]
代币空间可以存储代币的状态、代币id、创造方id(例如,与创建代币的一方相关联的标识符——例如,发送方标识符)、清算方id(例如,与清算代币的一方相关联的标识符——例如,接收方标识符)、时间戳以及/或者基础代币或经创造代币的任何其他合适的信息。
[0121]
在步骤s906中,发送方计算机902可以向审计计算机904发布代币。这可以在已将代币添加到代币空间后直接完成,或者可以异步完成。审计计算机904可以维护充当公共代币账本的审计日志,该审计日志可以存储代币的审计信息。审计信息可以包括发送方id、接收方id、源账本地址(例如,发送方的银行账号)、目的地账本地址(例如,接收方的银行账号)、清算方标识符(例如,与接收方计算机908相关联的标识符)、时间戳(例如,创造和/或清算代币的时间)等。审计日志可以由任何第三方访问,以验证使用与给定代币id相关联的代币执行的转账请求(例如,第三方可以向审计计算机904提供代币id,并且接收创造方id,第三方与审计计算机可以根据该创造方id进行通信以请求对与代币id相关联的转账请求数据的访问)。在一些实施方案中,可以改为在于步骤s908中形成经创造代币后执行步骤s906。
[0122]
在步骤s908中,发送方计算机902可以通过利用公钥/私钥对的私钥(例如,步骤
s814的代币空间操作根密钥的私钥)对基础代币进行签名以在基础代币上产生数字签名来最终确定基础代币。通过对基础代币进行签名,发送方计算机902形成经创造代币。在已由发送方计算机902对基础代币进行签名后,基础代币是经创造代币,该经创造代币是不可变的代币,这意味着代币的信息(例如,代币属性)不能被改变(例如,发送方设备900已将金额提交给代币)。
[0123]
在步骤s910中,在已形成经创造代币后,发送方计算机902可以将经创造代币传输到发送方设备900。经创造代币可以包括被设定到基础代币的代币属性。
[0124]
在步骤s912中,在从发送方计算机902接收到经创造代币后,发送方设备900可以向接收方设备906传输包括经创造代币的转账请求消息。该转账请求消息可以包括经创造代币本身以及任何其他合适的转账请求数据。
[0125]
在步骤s914中,响应于接收到转账请求,接收方设备906可以验证经创造代币。该验证可以经由若干加密算法来完成(例如,验证代币的完整性、验证代币的真实性等)。例如,接收方设备906可以通过使用与用于在经创造代币上产生数字签名的私钥相关联的公钥来验证经创造代币上的数字签名(例如,将数字签名的经签名代币属性与经创造代币的代币属性进行比较),从而验证代币的完整性。接收方设备906随后可以验证经创造代币的代币属性(例如,可以检查ttl以确定该代币是否仍然有效)。接收方设备906可以访问代币空间计算机910。代币空间计算机910可用于确保经创造代币没有被清算超过一次。代币空间计算机910可用于检查经创造代币的状态,使得接收方设备906可以确认该经创造代币可供使用。例如,当如表1中所示由二进制位t
status
实现经创造代币的状态时,接收方设备906可以确认t
status
具有等于“1”的值,该值指示代币“经创造”。如果代币具有“经创造”状态,则代币空间计算机910可以将经创造代币的状态修改为“经清算”。例如,如果代币状态处于代币本身中,则接收方设备906可以将二进制位t
status
修改为具有等于“0”的值,该值指示代币“经清算”。在另一示例中,如果代币状态不在代币本身内,则接收方设备906可以向代币空间计算机910传输更新,以将代币的状态更新为“经清算”。
[0126]
在步骤s916中,在从发送方计算机902接收到经创造代币后,接收方设备906可以生成验证消息,并且将该验证消息传输到审计计算机904。此步骤可以在已使用代币空间计算机910验证经创造代币后直接执行,或者可以异步执行。接收方设备906可以将代币id传递到审计计算机904。类似于步骤s914,接收方设备906可以使用由审计计算机904维护的审计日志来验证经创造代币的信息。例如,接收方设备906可以从审计计算机904检索对应于经创造代币的第二经创造代币(例如,经创造代币的副本)。接收方设备906可以将经创造代币的信息与从审计日志接收的第二经创造代币进行比较。
[0127]
在步骤s918中,在接收方设备906验证经创造代币后,接收方设备906可以向接收方计算机908传输清算经创造代币的请求。该请求可以包括经创造代币本身。接收方计算机908可以由操作接收方设备906的接收方的金融机构来操作。金融机构可以持有操作接收方设备906的接收方的账户。
[0128]
在步骤s920中,在接收到经创造代币后,接收方计算机908可以向代币空间计算机910查询代币的状态。该查询可以包括代币id,并且代币空间计算机910可以确认该状态已被设定为“经清算”。在确认代币的状态被设定为“经清算”后,接收方计算机908可以将经清算代币中所包括的价值存入到与接收方设备906相关联的账户(例如,接收方的银行账户)
中。由于代币本身持有价值(例如,代币可以在任何时间点兑换成法定货币),所以接收方计算机908可以将价值直接存入到与接收方设备906相关联的账户中,而无需发生结算过程。
[0129]
在步骤s922中,在代币数据已存储在目的地账本中后,接收方设备906可以向发送方设备900传输汇款信息,以确认所完成的转账请求的细节。
[0130]
图10示出了根据实施方案的针对离线创造和清算流程的流程图。图10的系统可以类似于图9所示的系统。操作发送方设备900的发送方可能希望与操作接收方设备906的接收方一起执行转账请求。然而,在图10所描述的流程中,发送方设备和/或接收方设备可能不具有与发送方计算机902或接收方计算机908的在线连接。在图10的系统中,因为发送方设备900和接收方设备906都在不与其他设备通信的情况下操作,所以由图9中的代币空间计算机910所执行的功能改为在接收方设备906处执行。因此,代币空间可以是存储在接收方设备906上的本地代币空间。
[0131]
在步骤s1000中,发送方设备900可以与接收方设备906建立通信信道,以开始转账请求。发送方设备900可以从接收方设备906获得待用于代币创造过程的接收方标识符ar。类似地,接收方设备906可以从发送方设备900获得待用于代币清算过程的发送方标识符as。在一些实施方案中,发送方设备900另外可以从接收方设备906接收指示一个或多个优选代币空间的代币模板。例如,代币模板可以包括处于优选代币空间的参数内的代币属性集。作为说明,优选代币空间的参数可以包括小于24小时的生存时间、小于$500的金额、针对接收方设备906的接收方标识符以及针对发送方设备900的发送方标识符。代币模板可以包括满足参数的代币属性,该参数诸如12小时的生存时间、$5的金额以及接收方906的接收方标识符。在其他实施方案中,发送方设备900可以从接收方设备906获得指示一个或多个优选代币空间的代币空间标识符。
[0132]
在步骤s1002中,发送方设备900可以向发送方计算机902传输代币创造请求以创造代币。发送方计算机902可以是持有发送方设备900的发送方的账户的金融机构计算机。该请求可以包括待在代币上设定的若干代币属性,诸如待从本地账本(例如,发送方的账户的离线副本)中扣除并且被设定到代币的金额v、发送方标识符as和接收方标识符ar。然而,发送方设备900可接收连接失败响应(例如,发送方设备900可能不具有与发送方计算机902通信的在线连接)。
[0133]
在步骤s1004中,响应于代币创造请求失败,发送方设备900可以在本地代币空间中生成基础代币。在步骤s1000中,发送方设备900可以在与接收方设备906所指示的代币属性集相关联的本地代币空间中生成基础代币。发送方设备900随后可以从与发送方相关联的本地账本中扣除金额v,并且将该金额分配到基础代币。基础代币可以并且将代币的状态设定为“经创造”(例如,t
status
=1)。本地代币空间可以存储代币的状态、代币id、创造方id、清算方id、时间戳以及与代币相关联的任何其他合适的转账请求数据。
[0134]
在步骤s1006中,发送方设备900可以通过利用私钥(例如,步骤s824的本地代币空间密钥)对基础代币进行签名以在基础代币上产生数字签名来最终确定基础代币。通过对基础代币进行签名,发送方设备902形成经创造代币。在已由发送方设备902对基础代币进行签名后,基础代币是经创造代币,该经创造代币是不可变的代币,这意味着代币的信息(例如,代币属性)不能被改变(例如,发送方设备900已将金额提交给代币)。
[0135]
在步骤s1008中,在形成经创造代币后,发送方设备900可以向接收方设备906传输
转账请求。该转账请求可以包括经创造代币本身和任何其他合适的转账请求数据。
[0136]
在步骤s1010中,作为对接收到转账请求的响应,接收方设备906可以验证经创造代币处于在步骤s1000中由接收方设备906所指示的代币空间中。该验证还可以包括经由若干加密算法来验证代币(例如,验证代币的完整性、验证代币的真实性等)。例如,接收方设备906可以通过使用与用于在经创造代币上产生数字签名的私钥相关联的公钥来验证经创造代币上的数字签名(例如,将数字签名的经签名代币属性与经创造代币的代币属性进行比较),从而验证代币的完整性。接收方设备906随后可以验证经创造代币的代币属性(例如,可以检查ttl以确定该代币是否仍然有效)。
[0137]
在步骤s1012中,在验证经创造代币后,接收方设备906随后可以清算经创造代币。例如,当如表1中所示由二进制位t
status
实现经创造代币的状态时,接收方设备906可以确认t
status
具有等于“1”的值,该值指示代币“经创造”。如果代币具有“经创造”状态,则代币空间计算机910可以将经创造代币的状态修改为“经清算”。例如,接收方设备906可以将二进制位t
status
修改为具有等于“0”的值,该值指示代币“经清算”。接收方设备906随后可以使用私有/公共对的私钥(例如,步骤s824的本地代币空间密钥)来对经清算代币进行签名,以在经清算代币上生成清算签名。
[0138]
在步骤s1014中,在清算经创造代币后,接收方设备906可以向发送方设备900传输经清算代币和清算签名。
[0139]
在步骤s1016中,一旦发送方设备900可以与发送方计算机902建立在线连接,发送方设备900就可以将本地代币空间和本地账本中的变化传输到发送方计算机902。更新可以包括来自由发送方设备900在离线时所完成的一个或多个转账请求的转账请求细节(例如,经清算代币和清算签名)。
[0140]
在步骤s1018中,在从发送方设备900接收到离线更新后,发送方计算机902可以验证清算签名。例如,发送方计算机902可以检索与用于生成清算签名的私钥相关联的公钥。发送方计算机902随后可以更新与发送方相关联的在线账本。对在线账本的更新可以包括从与发送方设备900相关联的在线账本中扣除经清算代币的价值v。
[0141]
在步骤s1020中,发送方计算机902可以向审计计算机904发布代币。这可以在已将经清算代币的价值添加到本地账本后直接完成,或者可以异步完成。审计计算机904可以维护充当公共代币账本的审计日志,该审计日志可以存储代币的审计信息。审计信息可以包括发送方id、接收方id、本地账本地址(例如,发送方的银行账号)、目的地账本地址(例如,接收方的银行账号)、清算方标识符(例如,与接收方计算机908相关联的标识符)、时间戳(例如,创造和/或清算代币的时间)等。审计日志可以由第三方访问,以验证使用与给定代币id相关联的代币执行的转账请求(例如,第三方可以向审计计算机904提供代币id,并且接收创造方id,第三方与审计计算机可以根据该创造方id进行通信以请求对与代币id相关联的转账请求数据的访问)。
[0142]
类似地,在步骤s1022中,一旦接收方设备906可以与接收方计算机908建立在线连接,接收方设备906就可以向接收方计算机908传输经清算代币。
[0143]
在步骤s1024中,在接收到经清算代币后,接收方设备906可以将经清算代币中所包括的价值存入到与接收方设备906相关联的账户(例如,接收方的银行账户)中。由于代币本身持有价值(例如,代币可以在任何时间点兑换成法定货币),所以接收方计算机908可以
将价值直接存入到与接收方设备906相关联的账户中,而无需发生结算过程。
[0144]
在步骤s1026中,在存入价值后,接收方计算机908随后可以向审计计算机904发布经清算代币。这可以在将价值存入后直接完成,或者可以异步完成。在步骤s1020中,接收方计算机908可以传输与发送方计算机902相同或不同的审计信息。例如,可以更新一些审计信息,诸如时间戳或清算方id,以包括关于如何清算代币的信息。
[0145]
图11示出了根据实施方案的用户设备1100的框图。用户设备1100可以包括处理器1102,该处理器可以耦接到存储器1104、网络接口1106和计算机可读介质1108。用户设备1100的示例可以是发送方设备或接收方设备。
[0146]
存储器1104可以含有代币,诸如经创造或经清算代币、账本的离线副本等。存储器1104可以在内部或在外部耦接到处理器1102(例如,经由基于云的数据存储装置),并且可以包括易失性存储器和/或非易失性存储器(诸如ram、dram、rom、闪存存储器或任何其他合适的存储器设备)的任何组合。
[0147]
网络接口1106可以包括可允许用户设备1100与外部计算机和/或设备通信的接口。网络接口1106可以使用户设备1100能够向另一设备和从另一设备(诸如授权实体计算机、审计计算机等)传送数据。网络接口1106的一些示例可以包括调制解调器、物理网络接口(诸如以太网卡或其他网络接口卡(nic))、虚拟网络接口、通信端口、个人计算机存储卡国际协会(pcmcia)插槽和卡等。由网络接口1106启用的无线协议可包括wi-fi。经由网络接口1106转移的数据可以呈信号的形式,该信号可以是电学的、电磁的、光学的,或者能够由外部通信接口接收的任何其他信号(统称为“电子信号”或“电子消息”)。可以包括数据或指令的这些电子消息可以经由通信路径或信道在网络接口1106与其他设备之间提供。如上所述,可以使用任何合适的通信路径或信道,诸如电线或电缆、光纤、电话线、蜂窝链路、射频(rf)链路、wan或lan网络、互联网,或任何其他合适的介质。
[0148]
对于发送方设备,计算机可读介质1108可以包括可由处理器1102执行的用于方法的代码,该方法包括:在与参数相关联的代币空间中生成基础代币,其中基础代币包括参数内的代币属性和金额;对基础代币进行签名以形成经创造代币;以及向接收方设备传输包括经创造代币的转账请求。
[0149]
或者,对于接收方设备,计算机可读介质1108可以包括可由处理器1102执行的用于方法的代码,该方法包括:由与接收方相关联的接收方设备从与发送方相关联的发送方设备接收转账请求,该转账请求包括与参数相关联的代币空间中的经创造代币,其中经创造代币包括参数内含有的代币属性;由接收方设备通过检查经创造代币的代币属性处于代币空间的参数内来验证经创造代币;由接收方设备修改经创造代币的状态以形成经修改代币;以及由接收方设备对经修改代币进行签名以形成经清算代币。
[0150]
计算机可读介质308可以包括若干软件模块,包括但不限于代币模块1108a、转账请求应用程序1108b和通信模块1108c。
[0151]
代币模块1108a可以包括使得处理器1102管理基于代币的数字货币的代码。例如,代币模块1108a可以包括允许用户设备1100维护数字货币账户的代码。代币模块1108a可用于创造和清算代币。另外,代币模块1108a可以创建账本(例如,源账本和目的地账本)的离线副本,并且向由授权实体计算机所维护的在线账本提供更新。
[0152]
转账请求应用程序1108b可以包括使得处理器执行转账请求的代码。例如,转账请
求应用程序1108b可以允许用户设备1100执行与另一用户设备的转账请求。例如,转账请求应用程序1108b可以将发送方设备连接到接收方设备,并且通过所建立的连接来接收代币模板。转账请求应用程序1108b可以与代币模块1108a通信,以将基于代币的数字货币转移到其他用户的账户,从而完成转账请求。
[0153]
通信模块1108c可以包括使得处理器1102生成消息、转发消息、对消息进行重新格式化以及/或者以其他方式与其他实体通信的代码。
[0154]
图12示出了根据实施方案的授权实体计算机1200的框图。授权实体计算机1200可以包括处理器1202,该处理器可以耦接到存储器1204、网络接口1206和计算机可读介质1208。授权实体计算机1200的示例可以是发送方计算机或接收方计算机。
[0155]
存储器1204和网络接口1206可以具有与先前描述的存储器1104和网络接口1106相同或不同的特征。
[0156]
计算机可读介质1208可以包括可由处理器1202执行的用于方法的代码,该方法包括:由授权实体计算机向中央授权机构计算机传输成为代币操作者的请求;由授权实体计算机从中央授权机构计算机接收与授权实体计算机相关联的根密钥和唯一标识符;由授权实体计算机向代币空间计算机传输设立新代币空间的请求;由授权实体计算机向中央授权机构计算机传输设立包括新代币空间的参数的新代币空间的请求,其中中央授权机构计算机验证新代币空间与现有代币空间不相交;由授权实体计算机从中央授权机构计算机接收代币空间操作根密钥。
[0157]
计算机可读介质1208可以包括若干软件模块,包括但不限于代币模块1208a、代币空间模块1208b和通信模块1208c。
[0158]
代币模块1208a可以包括使得处理器1202管理基于代币的数字货币的代码。例如,代币模块1208a可以包括允许授权实体计算机1200为多个用户发行数字货币账户的代码。代币模块1208a可用于创造和清算代币。
[0159]
代币空间模块1208b可以包括使得处理器1202管理代币空间的代码。例如,代币空间模块1208b可以包括允许授权实体计算机1200建立代币空间的代码。代币空间模块1208b可用于创建代币空间的分区。
[0160]
通信模块1208c可以包括使得处理器1202生成消息、转发消息、对消息进行重新格式化以及/或者以其他方式与其他实体通信的代码。
[0161]
本发明的实施方案具有若干优点。本发明的实施方案提供了具有高一致性、可用性和分区容错性的基于代币的数字货币系统。本发明的实施方案提供了克服如由cap定理描述的分布式系统的限制的改进。例如,通过应用预先约定的代币子空间,基于代币的数字货币系统提供了分区容错性的改进。另外,本发明的可以使用代币空间的实施方案可以允许用户离线执行转账请求,同时防止或大大减少重复花费的机会。例如,可以为代币设立代币空间,该代币(a)限于小于$5的交易金额,(b)限于交易接收方a,并且(c)限于利用诸如用户设备b的特定类型的用户设备进行的交易。具有满足这些参数的属性的代币可以存在于代币空间中,并且这种代币只可以用于进行交易并且被清算一次。由于根据实施方案的代币不能被清算两次,所以欺诈者重复花费的能力被大大减轻或消除。
[0162]
本技术中描述的软件部件或功能中的任一者可以实现为待由处理器使用诸如例如java、c、c++、c#、objective-c、swift的任何合适的计算机语言或者诸如perl或python的
脚本语言使用例如常规的或面向对象的技术执行的软件代码。该软件代码可以作为一系列指令或命令存储在计算机可读介质上以供存储和/或传输,合适的介质包括随机存取存储器(ram)、只读存储器(rom)、磁性介质(例如硬盘驱动器或软盘),或者光学介质(例如光盘(cd)或数字通用光盘(dvd))、闪存存储器,等等。计算机可读介质可以是此类存储装置或传输设备的任何组合。
[0163]
这类程序还可以使用适于经由包括互联网在内的符合多种协议的有线网络、光学网络和/或无线网络进行传输的载波信号来编码和传输。因此,根据本发明的实施方案的计算机可读介质可以使用用此类程序编码的数据信号来创建。用程序代码编码的计算机可读介质可以与兼容设备一起封装或者与其他设备分开提供(例如,经由因特网下载)。任何此类计算机可读介质可驻存在单个计算机产品(例如,硬盘驱动器、cd或整个计算机系统)之上或之内,并且可存在于系统或网络内的不同计算机产品之上或之内。计算机系统可以包括监视器、打印机,或用于向用户提供本文所提及的任何结果的其它合适的显示器。
[0164]
以上描述是说明性的而不是限制性的。在阅读了本公开之后,本发明的许多变型形式对于本领域的技术人员将变得显而易见。因此,本发明的范围不应当参考上面的描述来确定,而是应当参考未决的权利要求连同其完整范围或等同物来确定。
[0165]
在不偏离本发明的范围的情况下,来自任何实施方案的一个或多个特征可与任何其他实施方案的一个或多个特征进行组合。
[0166]
如本文所用,除非明确指示有相反的意思,否则使用“一个”、“一种”或“所述”旨在意指“至少一个/种”。

技术特征:
1.一种方法,所述方法包括:由与发送方相关联的发送方设备或发送方计算机在与参数相关联的代币空间中生成基础代币,其中所述基础代币包括所述参数内的代币属性和金额;由所述发送方设备或所述发送方计算机对所述基础代币进行签名,以形成经创造代币;以及由所述发送方设备向接收方设备传输包括所述经创造代币的转账请求。2.如权利要求1所述的方法,其中所述发送方计算机对所述基础代币进行签名,并且将所述经创造代币传输到所述发送方设备。3.如权利要求1所述的方法,其中所述发送方设备对所述基础代币进行签名,并且其中所述接收方设备在接收到所述经创造代币之后,修改所述经创造代币在所述代币空间中的状态以生成经清算代币。4.如权利要求2所述的方法,其中所述代币空间是存储在所述接收方设备上的本地代币空间,并且其中所述方法还包括:由所述发送方设备从所述接收方设备接收经清算代币;以及由所述发送方设备向所述发送方计算机传输所述经清算代币。5.如权利要求1所述的方法,其中所述发送方计算机由中央授权机构计算机授权以在所述代币空间中创造和清算代币。6.如权利要求1所述的方法,所述方法还包括:由所述发送方设备从所述接收方设备接收清算签名;以及由所述发送方设备向所述发送方计算机传输所述清算签名,其中所述发送方计算机验证所述清算签名。7.如权利要求1所述的方法,所述方法还包括:由所述发送方设备从所述接收方设备接收包括所述代币属性中的至少一些代币属性的代币模板。8.如权利要求1所述的方法,其中在所述接收方设备接收到所述经创造代币之后,所述接收方设备对所述经创造代币执行完整性检查或真实性检查。9.如权利要求1所述的方法,其中所述代币空间是n个参数的n维空间,其中所述n个参数包括发送方id、接收方id、生存时间、价值或设备类型中的一者或多者。10.如权利要求1所述的方法,其中所述基础代币由所述发送方计算机签名,并且其中在由所述发送方计算机对所述基础代币进行签名以形成所述经创造代币之后,所述方法还包括:由所述发送方计算机向审计计算机传输所述经创造代币,其中所述经创造代币包括审计信息,所述审计信息包括发送方标识符、接收方标识符、源账本地址、目的地账本地址、时间戳或清算方标识符中的一者或多者。11.如权利要求1所述的方法,其中所述发送方设备和所述接收方设备是在线的。12.如权利要求1所述的方法,所述发送方计算机生成所述基础代币,并且从所述发送方的源账本中借记所述金额。13.如权利要求1所述的方法,其中所述接收方设备和所述发送方设备是移动电话。14.如权利要求1所述的方法,其中所述发送方设备和所述接收方设备在离线并且在不
连接到任何其他设备或计算机的情况下操作。15.一种设备,所述设备包括:处理器;以及非暂时性计算机可读介质,所述非暂时性计算机可读介质包括能够由所述处理器执行以执行操作的指令,所述操作包括:在与参数相关联的代币空间中生成基础代币,其中所述基础代币包括具有所述参数的代币属性和金额;对所述基础代币进行签名以形成经创造代币;以及向接收方设备传输包括所述经创造代币的转账请求。16.一种方法,所述方法包括:由与接收方相关联的接收方设备从与发送方相关联的发送方设备接收转账请求,所述转账请求包括与参数相关联的代币空间中的经创造代币,其中所述经创造代币包括所述参数内的代币属性;由所述接收方设备通过检查所述经创造代币的代币属性处于所述代币空间的所述参数内来验证所述经创造代币;由所述接收方设备修改所述经创造代币的状态以形成经修改代币;以及由所述接收方设备对所述经修改代币进行签名以形成经清算代币。17.如权利要求16所述的方法,其中所述经创造代币是使用与所述发送方相关联的所述发送方设备或发送方计算机的加密密钥来签名的代币。18.如权利要求16所述的方法,其中修改所述经创造代币的所述状态包括将所述经创造代币的状态更新为经清算状态。19.如权利要求16所述的方法,所述方法还包括:由所述接收方设备更新目的地账本,以将价值包括所述经创造代币中。20.如权利要求16所述的方法,所述方法还包括:由所述接收方设备向所述发送方设备传输包括所述代币属性中的至少一些代币属性的代币模板。

技术总结
公开了一种方法。该方法包括由与发送方相关联的发送方设备或发送方计算机在与参数相关联的代币空间中生成基础代币。该基础代币能够包括该参数内的一个或多个代币属性和金额。然后能够由该发送方设备或该发送方计算机对该基础代币进行签名,以形成经创造代币。该方法然后可以包括由该发送方设备向接收方设备传输包括该经创造代币的转账请求。传输包括该经创造代币的转账请求。传输包括该经创造代币的转账请求。


技术研发人员:徐明华 金杉
受保护的技术使用者:维萨国际服务协会
技术研发日:2022.02.17
技术公布日:2023/10/11
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐