首页 / 专利库 / 资料储存系统 / 分布式账本 / 支持零知识证明的区块链的互操作性

支持零知识证明的链的互操作性

阅读:716发布:2020-05-14

专利汇可以提供支持零知识证明的链的互操作性专利检索,专利查询,专利分析的服务。并且本公开的 实施例 涉及支持零知识证明的 区 块 链 的 互操作性 。对于屏蔽的加密数据交换互操作,互操作性 节点 与供给方 分布式账本 技术(DLT)网络的供给方参与者节点和接收方DLT网络的接收方参与者节点通信。互操作性节点可以获得屏蔽的交换指令。屏蔽的交换指令可以包括零知识证明、所选令牌无效符、新令牌无效符和新令牌 摘要 。零知识证明可以指示供给方参与者可以 访问 所选令牌标识符。当互操作性节点确定新令牌无效符不存在于接收方区块链上时,互操作性节点可以将屏蔽的交换指令递交给供给方 智能合约 和接收方智能合约。供给方智能合约可以停用供给方区块链上的所选令牌无效符。接收方智能合约可以将新令牌无效符和新令牌摘要插入到接收方区块链。,下面是支持零知识证明的链的互操作性专利的具体信息内容。

1.一种系统,包括:
与供给方分布式账本技术(DLT)网络的供给方参与者节点和接收方DLT网络的接收方参与者节点通信的互操作性节点,其中供给方智能合约被存储在用于所述供给方DLT网络的供给方链上并且接收方智能合约被存储在用于所述接收方DLT网络的接收方区块链上,所述互操作性节点包括处理器,所述处理器被配置为:
获取屏蔽的交换指令,所述屏蔽的交换指令包括零知识证明、所选令牌无效符、新令牌无效符和新令牌摘要,其中所述所选令牌无效符包括所选令牌标识符的哈希,所述新令牌无效符包括新令牌标识符的哈希,并且所述新令牌摘要包括所述接收方参与者节点的至少接收者公钥和新令牌标识符的哈希,其中所述零知识证明指示所述供给方参与者节点具有对所述所选令牌标识符的访问权限;
确定所述新令牌无效符不存在于所述接收方区块链上;以及
在所述新令牌无效符不存在于所述接收方区块链上的确定之后,将所述屏蔽的交换指令递交给所述供给方智能合约和所述接收方智能合约,其中所述供给方智能合约被配置为停用所述供给方区块链上的所述所选令牌无效符,并且所述接收方智能合约被配置为将所述新令牌无效符和所述新令牌摘要插入到所述接收方区块链。
2.根据权利要求1所述的系统,其中为了向所述供给方智能合约和所述接收方智能合约递交所述屏蔽的交换指令,所述互操作性节点的所述处理器还被配置为:
执行所述供给方智能合约的逻辑,其中所述供给方智能合约的逻辑使所述互操作性节点的所述处理器停用所述供给方区块链上的所述所选令牌无效符;以及
执行所述接收方智能合约的逻辑,其中所述接收方智能合约的逻辑使所述互操作性节点的所述处理器将所述新令牌无效符和所述新令牌摘要附加到所述接收方区块链。
3.根据权利要求1所述的系统,其中为了确定所述新令牌无效符不存在于所述接收方区块链上,所述互操作性节点的所述处理器还被配置为:
访问被存储在所述接收方区块链上的无效符组,所述无效符组包括被存储在所述接收方区块链上的多个令牌无效符,所述令牌无效符中的每个令牌无效符;
针对新令牌无效符搜索所述无效符组;
确定所述新令牌无效符不存在于所述无效符组中;以及
向所述供给方参与者节点传达指示所述新令牌无效符不存在于所述无效符组中的结果消息。
4.根据权利要求1所述的系统,其中所述处理器还被配置为:
访问被存储在所述接收方区块链上的无效符组,所述无效符组包括被存储在所述接收方区块链上的多个令牌无效符,所述令牌无效符中的每个令牌无效符;
针对新令牌无效符搜索所述无效符组;
确定所述新令牌无效符是否存在于所述无效符组中;
响应于所述新令牌无效符不存在于所述无效符组中的确定,允许所述屏蔽的交换指令到所述供给方智能合约和所述接收方智能合约的递交;以及
响应于所述新令牌无效符存在于所述无效符组中的确定,限制所述屏蔽的交换指令到所述供给方智能合约和所述接收方智能合约的递交。
5.根据权利要求1所述的系统,其中所述互操作性节点的所述处理器还被配置为:
响应于所述屏蔽的交换指令到所述供给方智能合约和所述接收方智能合约的递交,将递交结果传达到所述供给方参与者节点,其中所述供给方参与者节点被配置为响应于所述递交结果的接收,将对应于所述新令牌无效符的所述新令牌标识符传达到所述接收方参与者节点。
6.根据权利要求1所述的系统,其中所述零知识证明包括非交互零知识证明。
7.根据权利要求4所述的系统,其中所述零知识证明包括零知识简洁非交互知识论证(zk-SNARK)。
8.一种系统,包括:
供给方分布式账本技术(DLT)网络的供给方参与者节点,所述供给方参与者节点与互操作性节点通信以用于有助于所述供给方参与者节点与接收方DLT网络的接收方参与者节点之间的私用令牌交换,其中供给方智能合约被存储在用于所述供给方DLT网络的供给方区块链中,并且接收方智能合约被存储在用于所述接收方DLT网络的接收方区块链中,所述供给方参与者节点包括处理器,所述处理器被配置为:
生成屏蔽的交换指令,所述屏蔽的交换指令包括零知识证明、所选令牌无效符、新令牌无效符和新令牌摘要,所述所选令牌无效符包括所选令牌标识符的哈希,所述新令牌无效符包括新令牌标识符的哈希,并且所述新令牌摘要包括至少接收者公钥和所述新令牌标识符的哈希,其中所述零知识证明指示所述供给方参与者节点具有对所述所选令牌标识符的访问权限;
将包括所述新令牌无效符的验证请求传达到所述互操作性节点;
基于由所述互操作性节点传达的验证响应,确定所述新令牌无效符不存在于所述接收方区块链上;
响应于所述新令牌无效符不存在于所述接收方区块链上的确定,将所述屏蔽的交换指令传达到所述互操作性节点,所述互操作性节点被配置为将所述屏蔽的交换指令递交给在供给方DLT平台上被配置的供给方智能合约以及在接收方DLT平台上被配置的接收方智能合约;
从所述互操作性节点接收响应于所述屏蔽的交换指令到所述供给方智能合约和所述接收方智能合约的递交的递交结果;以及
响应于所述递交结果的接收,将所述新令牌标识符传达到所述接收方参与者节点。
9.根据权利要求8所述的系统,其中所述供给方参与者节点的所述处理器还被配置为:
生成所述新令牌标识符,所述新令牌标识符包括随机数;以及
基于加密哈希函数和所述新令牌标识符,生成所述新令牌无效符。
10.根据权利要求8所述的系统,其中所述零知识证明包括非交互零知识证明。
11.根据权利要求10所述的系统,其中所述零知识证明包括零知识简洁非交互知识论证(zk-SNARK)。
12.根据权利要求8所述的系统,其中所述供给方参与者节点的所述处理器被配置为:
从所述互操作性节点接收递交请求,所述递交请求包括所述屏蔽的交换指令;
响应于所述递交请求的接收,执行所述供给方智能合约,所述供给方智能合约被配置为使得所述处理器:
访问包括多个令牌无效符的无效符组;
在所述无效符组中标识所述所选令牌无效符;以及
将所述所选令牌无效符标记为已停用。
13.根据权利要求12所述的系统,其中所述处理器还被配置为:
响应于第二屏蔽的交换指令包括所述所选令牌无效符、并且所述所选令牌无效符被标记为已停用,而拒绝第二递交请求,所述第二递交请求包括所述第二屏蔽的交换指令。
14.根据权利要求12所述的系统,其中为了将所述所选令牌无效符标记为已停用,所述供给方参与者节点的所述处理器还被配置为:
向所述供给方区块链附加数据块,所述数据块包括所述所选令牌无效符和停用标志之间的关联。
15.一种方法,包括:
获取由供给方分布式账本技术(DLT)网络的供给方参与者节点传达的屏蔽的交换指令,所述屏蔽的交换指令包括零知识证明、所选令牌无效符、新令牌无效符和新令牌摘要,其中所述所选令牌无效符包括所选令牌标识符的哈希,所述新令牌无效符包括新令牌标识符的哈希,并且所述新令牌摘要包括新令牌标识符和接收者公钥的哈希,其中所述零知识证明指示所述供给方参与者节点具有对所述所选令牌标识符的访问权限;
确定所述新令牌无效符不存在于用于接收方DLT网络的接收方区块链上;以及响应于所述新令牌无效符不存在于所述接收方区块链上的确定:
将所述屏蔽的交换指令递交给被存储在供给方区块链上的供给方智能合约,所述供给方智能合约被配置为停用所述供给方区块链上的所述所选令牌无效符,并且将所述屏蔽的交换指令递交给被存储在接收方区块链上的接收方智能合约,所述接收方智能合约被配置为将所述新令牌无效符和所述新令牌摘要附加到所述接收方区块链。
16.根据权利要求15所述的方法,其中确定所述新令牌无效符不存在于用于接收方DLT网络的接收方区块链上,所述方法还包括:
访问被存储在所述接收方区块链上的无效符组,所述无效符组包括被存储在所述接收方区块链上的多个令牌无效符,所述令牌无效符中的每个令牌无效符;
针对新令牌无效符搜索所述无效符组;
确定所述新令牌无效符不存在于所述无效符组中;以及
向所述供给方参与者节点传送指示所述新令牌无效符不存在于所述无效符组中的结果消息。
17.根据权利要求15所述的方法,还包括:
访问被存储在所述接收方区块链上的无效符组,所述无效符组包括被存储在所述接收方区块链上的多个令牌无效符,所述令牌无效符中的每个令牌无效符;
针对新令牌无效符搜索所述无效符组;
确定所述新令牌无效符是否存在于所述无效符组中;
响应于所述新令牌无效符不存在于所述无效符组中的确定,允许所述屏蔽的交换指令到所述供给方智能合约和所述接收方智能合约的递交;以及
响应于所述新令牌无效符存在于所述无效符组中的确定,限制所述屏蔽的交换指令到所述供给方智能合约和所述接收方智能合约的递交。
18.根据权利要求15所述的方法,还包括:
响应于所述屏蔽的交换指令到所述供给方智能合约的递交以及所述屏蔽的交换指令到所述接收方智能合约的递交,将递交结果传达到所述供给方参与者节点,其中所述供给方参与者节点被配置为响应于所述递交结果的接收,将对应于所述新令牌无效符的所述新令牌标识符传达到接收方DLT网络的接收方参与者节点。
19.根据权利要求15所述的方法,其中所述零知识证明包括非交互零知识证明。
20.根据权利要求15所述的方法,其中所述零知识证明包括零知识简洁非交互知识论证(zk-SNARK)。

说明书全文

支持零知识证明的链的互操作性

技术领域

[0001] 本公开涉及密码分布式账本技术,并且具体地涉及屏蔽的密码数据交换互操作。

背景技术

[0002] 分布式账本可以包括跨多个节点的复制的和同步的数字数据的共识。分布式账本的参与者可以应用商定的协议,用于核实、存储、维持和修改被存储在分布式账本中的信息。在许多示例中,分布式账本可以通过在对等网络中实现的一个或多个区块链来实现。特定分布式账本的唯一协议、技术和其他设计考虑可以抑制与其他分布式账本的信息内聚共享、同步和/或转移。附图说明
[0003] 参考以下附图和描述可以更好地理解实施例。图中的部件不必要按比例绘制。此外,在附图中,相同的附图标记在不同视图中表示对应的部件。
[0004] 图1图示了用于分布式账本技术网络之间的屏蔽的互操作性的系统的第一示例;
[0005] 图2图示了屏蔽的交换指令的示例;
[0006] 图3图示了系统的第二示例;
[0007] 图4图示了系统的序列图;
[0008] 图5图示了系统的示例逻辑的第一流程图
[0009] 图6图示了系统的示例逻辑的第二流程图;以及
[0010] 图7图示了系统的执行环境的示例。

具体实施方式

[0011] 分布式账本技术(DLT)可以应用商定的协议以用于与区块链的交互。特定分布式账本的唯一协议、技术和其他设计考虑可以抑制与其他分布式账本和/或非参与者的信息的内聚共享、同步和/或转移。在一些情况下,分布式账本技术可以在区块链上将令牌与令牌的记录的历史屏蔽。在这样的系统中,区块链可以记录各方之间的令牌交换,同时维持所涉及的各方的机密性和转移的令牌数量。加密哈希进一步使独立分发账本平台之间的内聚令牌交换变得复杂,因为被交换的基础数据是模糊的。
[0012] 相应地,公开了用于DLT网络之间的屏蔽的互操作的数字系统和方法。通过介绍性示例,系统可以包括与供给方DLT网络的供给方参与者节点和接收方DLT网络的接收方参与者节点通信的互操作性节点。供给方智能合约可以被存储在用于供给方DLT网络的供给方区块链上。接收方智能合约可以被存储在用于接收方DLT网络的接收方区块链上。
[0013] 互操作性节点可以获得屏蔽的交换指令。屏蔽的交换指令可以包括零知识证明、所选令牌无效符、新令牌无效符和新令牌摘要。所选令牌无效符可以包括所选令牌标识符的哈希。新令牌无效符可以包括新令牌标识符的哈希。新令牌摘要可以包括接收方参与者节点的至少接收者公钥的哈希和新令牌标识符。零知识证明可以指示供给方参与者可以访问所选令牌标识符。
[0014] 当互操作性节点确定新令牌无效符不存在于接收方区块链上时,互操作性节点可以将屏蔽的交换指令递交(submit)给供给方智能合约和接收方智能合约。供给方智能合约可以在供给方区块链上停用所选令牌无效符。接收方智能合约可以将新令牌无效符和新令牌摘要插入接收方区块链。
[0015] 由下面描述的系统和方法实现的技术进步的一个示例可以是:互操作性节点可以有助于两个或更多个独立的和以其他方式不兼容的DLT网络之间的私用令牌交换。例如,互操作性节点可以在独立DLT网络之间发起和执行私用令牌交换,而无需访问所涉及的各方的标识和/或底层令牌的身份或值。例如,互操作性节点可以接收屏蔽的交换指令,该指令包括令牌的哈希值,其模糊了各方的身份和令牌的细节。
[0016] 备选地或另外地,通过以下描述的系统和方法实现的技术进步的另一示例可以是:被包括在屏蔽的交换指令中的零知识证明可以提供证明供给方分布式账本网络的供给方参与者是令牌的拥有者,该令牌针对被提供给接收方DLT网络的接收方参与者的新令牌被交换。用于供给方DLT网络的供给方区块链和用于接收DLT网络的接收方区块链可以各自存储智能合约。每个区块链的智能合约可以核实包含在屏蔽的交换指令中的零知识证明,作为执行私用令牌交换的前提条件。零知识证明可以包括,例如,非交互零知识证明,诸如零知识简洁非交互知识论证(zk-SNARK)。在这种情况下,可以核实零知识证明,而无需与供给方参与者和/或接收方参与者进行附加的通信。相应地,可以减少在独立DLT网络之间执行私用令牌交换所涉及的处理时间和计算资源,因为在供给方DLT网络和接收方DLT网络之间发送的核实消息较少。
[0017] 备选地或另外地,由下面描述的系统和方法实现的技术进步的另一示例可以是:互操作性节点可以避免DLT网络之间的错误的记录重复。例如,屏蔽的交换指令中所包括的一些哈希值可以是已经被存储在供给方区块链或接收方区块链中的哈希值的重复。例如,新令牌无效符(其作为针对接收方区块链的建议的令牌标识符的哈希)可能已经被存储在接收方区块链中。互操作性节点可以避免将重复哈希值递交给接收方DLT,这可以减少对于在接收方区块链上错误地复制信息的可能性。备选地或另外地,可以减少在检测和校正重复哈希值中所涉及的处理时间和网络,因为互操作性节点可以确定在屏蔽的交换指令被错误地递交给供给方DLT和接收方DLT二者之前哈希值是重复的。
[0018] 优于现有市场方法的附加或备选益处、效率和改进在下面描述的系统和方法中变得明显。
[0019] 一般,令牌可以包括数字或物理资产向接收者的提交(commitment)的数字表示。例如,令牌可以包括注释。除了其他信息之外,令牌还可以包括令牌值、令牌接收者和令牌标识符。令牌值可以包括值度量。值度量可以包括对标的资产(诸如货币或商品)的值或数量的测量。令牌接收者可以包括令牌的接收者的标识符。接收者可以是所有者用户或帐户。
接收者的标识符可以包括与接收者可访问的私钥配对的公钥。
[0020] 令牌交换可以包括生成一个或多个新令牌以交换一个或多个现有或所选令牌。指示所选令牌的停用、新令牌的生成和/或所选令牌和新令牌的所有权的状态信息可以被存储在区块链上的数据块中。
[0021] 私用令牌交换可以包括实体之间的令牌交换,其中没有其他实体可以确定事务中所涉及的各方或者确定交换的令牌的细节。在私用令牌交换中,状态信息可以与令牌的哈希版本相关联,使得在没有预像图像令牌的情况下,令牌的接收者和细节是不可检测的。区块链可以存储令牌和/或令牌信息的摘要(哈希值)。摘要可以基于哈希函数来模糊令牌。
[0022] 图1图示了用于DLT网络104、106之间的屏蔽的互操作性的系统100的第一示例。系统100可以包括互操作性节点102。互操作性节点102可以与供给方DLT网络104和接收方DLT网络106通信。供给方DLT网络104可以包括供给方参与者节点108。供给方参与者节点108可以包括供给方DLT平台110和/或供给方区块链112。接收方参与者网络可以包括接收方参与者节点114。接收方参与者节点114可以包括接收方DLT平台116和/或接收方区块链118。互操作性节点102可以有助于供给方DLT网络104的供给方参与者108与接收方DLT网络106的接收方参与者110之间的私用令牌交换。
[0023] 互操作性节点102可以有助于私用令牌交换,其中在供给方区块链112上选择和停用令牌摘要并且在接收方区块链118上生成新令牌摘要(令牌的哈希)。通过示例,供给方DLT区块链112可以存储多个令牌摘要。令牌摘要可以指代令牌的哈希值和/或标识令牌的信息。供给方参与者节点108可以从令牌摘要中选择与供给方参与者节点108可以访问的令牌相对应的令牌摘要。换言之,供给方参与者节点108可以选择基于由供给方参与者选择的哈希函数和预先哈希的令牌生成的令牌摘要。因为供给方参与者节点108可以访问对应于所选令牌摘要的预先哈希的令牌,所以供给方参与者节点108可以基于哈希函数来验证令牌摘要的所有权。
[0024] 互操作性节点102可以使所选令牌摘要在供给方区块链112上被停用,以换取将新令牌摘要附加到接收方区块链118。新令牌摘要可以对应于包括资产数量等于或小于所选令牌摘要的值的新令牌。新令牌包括接收方参与者节点114的公钥。在供给方封并且接收方区块链118被更新之后,供给方参与者节点108可以私下与接收方参与者节点114共享新令牌,例如通过消息收发服务或某种其他通信通道。接收方参与者节点114可以基于新令牌和哈希函数来核实新令牌摘要的所有权。
[0025] 互操作性节点102可以包括屏蔽的交换代理120。屏蔽的交换代理120可以接收屏蔽的交换指令122。屏蔽的交换代理120可以核实和/或递交屏蔽的交换指令122到供给方DLT平台110和/或接收方DLT平台118。除了其他信息之外,屏蔽的交换指令122还包括所选令牌摘要和新令牌摘要。屏蔽的交换指令可以使供给方参与者节点108更新供给方区块链112以反映所选令牌摘要被停用。响应于所选令牌摘被停用,供给方DLT平台110可以拒绝包括所选令牌摘要的未来屏蔽的交换指令。参见图2示出了屏蔽的交换指令122的示例的详细描述。参见图3示出了供给方参与者节点108、互操作性参与者节点102和接收方参与者节点
114的详细描述。
[0026] 一般,DLT网络可以包括多个参与者节点,其分别基于DLT平台进行通信以递交、修改和/或移除被存储在区块链上的信息。DLT网络的参与者节点可以根据由DLT平台实现的共识协议进行通信,以确定如何添加、修改、组织、验证和/或移除被存储在区块链上的信息。例如,DLT网络的参与者节点可以执行DLT平台的共识协议以确定是否用新信息(例如,事务)或对现有信息的修改和移除来更新区块链。共识协议可以使参与者节点与DLT网络的其他参与者通信以确定允许对区块链的改变。DLT网络的(多个)参与者可以响应于在DLT网络的参与者之中达成一致的共识而将该信息附加到区块链。可以根据DLT将新的信息和/或对信息的更新附加到区块链。每个参与者节点可以包括区块链的完整或部分副本。每个参与者节点上的DLT平台可以基于共识协议和/或底层分布式账本技术更新区块链的对应本地副本。
[0027] 除了本文描述的其他特征之外,DLT平台还可以基于DLT的规则、协议和架构实现与区块链的交互。DLT网络的每个参与者可以实现DLT平台的本地实例。在第一参与者节点上配置的DLT平台实例可以与在DLT网络的附加参与者节点上配置的多个DLT平台实例通信。DLT平台可以包括例如ETHEREUMTM平台,并且包括诸如QUORUMTM协议之类的协议以实现屏蔽的事务。备选地或另外地,DLT平台可以包括如本文所述的附加或备选特征。DLT平台可以接收添加、修改或删除被存储在区块链上的信息的请求,在供给方DLT网络的参与者节点之中获得共识,并且然后添加、修改和/或删除关于区块链的信息。
[0028] 区块链可以包括根据DLT被存储、组织和/或实现的账本。区块链可以包括根据密码学而被链接的数据块。数据块的排列和被存储在数据块中的信息之间的关联由DLT建立。例如,区块链可以提供增长的共享数字数据流,其用作DLT网络的参与者节点之间的真实源。根据DLT,区块链的数据块可以包括创始数据块,该数据块是区块链的初始数据块。随着时间的推移,连续的数据块可以被附加到区块链。区块链106可以提供按时间顺序排列的信息账本。取决于DLT,一个或多个连续数据块可以包括先前数据块的哈希、先前数据块的头部的哈希和/或先前数据块的部分的哈希。对区块链中的一个或多个数据块的修改可能导致被存储在连续数据块中的哈希信息的不一致。可以检测到不一致以及DLT网络的参与者节点。参与者节点的共识协议可以防止修改区块链中先前附加的信息或现有信息。在一些DLT中,除非区块链参与者的多数或其他预定义数目的参与者同意修改,否则可以禁止对区块链的修改。
[0029] 如图1所示,系统100可以包括供给方参与者节点108。供给方参与者节点108可以是供给方DLT网络104的参与者。例如,供给方参与者节点108可以包括供给方DLT平台110和供给方区块链112。供给方参与者节点108可以是供给方DLT网络104的节点,至少因为它实现了供给方DLT平台110。因此,不包括供给方DLT平台110的节点可以不是供给方DLT网络104的参与者节点。此外,应当理解,供给方DLT网络104可以包括多个供给方DLT参与者节点。每个供给方DLT参与者可以包括供给方DLT平台110和/或供给方区块链112的被本地存储的或执行的实例。每个供给方参与者节点可以彼此通信以达成关于对被存储在供给方区块链112中的信息的添加、修改和/或删除。
[0030] 系统100还可以包括接收方参与者节点114。接收方参与者节点114可以是接收方DLT网络104的参与者。例如,接收方参与者节点114可以包括接收方DLT平台和接收方区块链118。接收方参与者节点114可以是接收方DLT网络106的节点,至少因为它实现了接收方DLT平台。因此,不包括接收方DLT平台的节点可以不是接收方DLT网络106的参与者节点。此外,应当理解,接收方DLT网络106可以包括多个接收方DLT参与者节点。每个接收方DLT参与者可以包括接收方DLT平台116和/或接收方区块链118的被本地存储的或执行的实例。每个接收方参与者节点可以彼此通信以达成关于对被存储在接收方区块链118中的信息的添加、修改和/或删除。
[0031] 在一些示例中,互操作性节点102可以经由一个或多个供给方参与者节点远程地与供给方DLT平台110通信。备选地或另外地,互操作性节点102可以经由一个或多个接收方参与者节点远程地与接收方DLT平台116通信。在其他示例中,互操作性节点102可以在本地与供给方DLT平台110和/或接收方DLT平台116通信。例如,互操作性节点102可以是供给方DLT网络104、接收方DLT网络106或两者的参与者节点。互操作性节点102可以包括供给方DLT平台110的本地实例、供给方区块链112、接收方DLT平台116和/或接收方区块链118。
[0032] 虽然图1图示了供给方DLT网络104和接收方DLT网络106,但是互操作性节点102可以有助于任何数目的DLT网络之间的私用交换令牌信息。此外,由互操作性节点102访问的供给方DLT网络104、接收方DLT网络106和/或其他DLT网络可以实现相同或不同类型的DLT平台。如本文所述,供给方DLT网络104和接收方DLT网络106可以包括分离的DLT网络。术语“供给方”和“接收方”可以区分每个DLT网络和/或每个网络的参与者。
[0033] 图2图示了屏蔽的交换指令122的示例。屏蔽的交换指令122可以包括多个实体之间的资产交换的数字表示,使得不揭示被转移的内容和/或在转移中涉及的实体的身份。屏蔽的交换指令122可以包括事务信息的哈希(或多个哈希),包括例如各方的相应标识符、在各方之间转移的一个或多个令牌。屏蔽的交换指令122还可以包括事务有效性的零知识证明和/或事务中包括的哈希事务信息的有效性。例如,令牌交换指令可以包括新令牌摘要204、新令牌无效符206和所选令牌无效符208。屏蔽的交换指令122可以可互换地称为屏蔽的事务。
[0034] 新令牌摘要204可以包括令牌的哈希值。备选地或另外地,除了其他信息之外,新令牌摘要204还可以包括被提交(commit)给接收者的令牌值(例如,货币或商品的数量)、新令牌被提交的接收者的公钥以及针对新令牌的新令牌标识符。新令牌标识符可以包括新令牌的标识符。新令牌标识符可以包括随机生成的值,诸如随机数。
[0035] 新令牌无效符206可以包括新令牌标识符的哈希值。所选无效符208可以包括所选令牌标识符的哈希。所选令牌标识符可以包括被选择用于停用以便生成新令牌的令牌标识符。
[0036] 在一些示例中,新令牌的令牌值可以小于用于私用令牌交换的所选令牌的令牌值。屏蔽的交换指令122可以包括对应于为供给方生成的变更令牌的哈希信息。例如,屏蔽的交换指令122可以包括新的变更令牌摘要210、新的变更无效符212和先前的变更无效符214。
[0037] 新的变更令牌摘要210可以包括变更令牌的哈希值和/或与变更令牌有关的各种信息。例如,变更令牌摘要210可以包括除其他信息之外的以下信息的哈希:针对供给方的变更值(例如货币值,商品数量等)、供给方的公钥和变更令牌标识符。变更令牌标识符可以包括变更令牌的标识符。变更令牌标识符可以是随机生成的数字。
[0038] 新变更无效符212可以包括变更令牌标识符的哈希值。先前的变更无效符214可以包括先前变更令牌标识符的哈希值。在许多实现中,处理屏蔽的交换指令122的DLT平台或智能合约可以指定:必须指定现有无效符以生成令牌摘要。相应地,先前的变更无效符214可以包括随机值或空值,因为变更令牌摘要是正被创建的新令牌。
[0039] 屏蔽的交换指令122还可以包括零知识证明216。一般,零知识证明216可以包括指示证明者知道或者可以访问秘密而不揭示秘密的逻辑证明。零知识证明216包括在评估时向核实者证明特定语句为真的信息,而不揭示除语句的有效性之外的任何信息。在示例中,哈希函数可以生成随机数的哈希。零知识证明216可以向核实者证明:证明者可以访问随机数,而不会揭示随机数。
[0040] 换言之,零知识证明216可以证明:供给方参与者拥有一个或多个令牌(或一定量的令牌值)而不揭示可以被用来将一个或多个令牌花费在区块链上的信息。在用于屏蔽的交换指令122的所选令牌的上下文中,零知识证明216可以证明:供给方参与者可以访问所选令牌的预哈希版本。例如,零知识证明216可以证明:供给方参与者可以访问令牌标识符和对应于所选令牌无效符的令牌值。零知识证明216可以证明:所选令牌无效符208存在于区块链上,并且所选令牌无效符208不被停用。零知识证明216可以证明:所选令牌的公钥对应于供给方参与者的私钥。
[0041] 在一些示例中,零知识证明216可以是非交互零知识证明216,诸如zk-SNARK。可以核实由非交互零知识证明216声明的语句,而不与被该语句引用的任何方进行通信。例如,非交互零知识证明216可以被用来核实语句“X方可以访问哈希(Y)的预像值”而无需与X方通信和/或揭示Y的值。
[0042] 图3图示了系统100的第二示例。对参考图2描述的屏蔽的交换指令122的引用贯穿以下的讨论。
[0043] 令牌控制器
[0044] 供给方DLT平台110可以包括供给方令牌控制器302和/或供给方令牌存储库303。接收方DLT平台116可以包括接收方令牌控制器304和/或接收方令牌存储库305。一般,令牌控制器可以利用如私用令牌交换中的令牌或者令牌摘要来提供用以存储、管理、访问和/或执行操作的接口。令牌控制器可以执行与通信、选择和/或管理可用于用户的令牌相关的离线操作。例如,令牌控制器可以使用户能够查看用户拥有的令牌,为私用令牌交换选择令牌和/或为私用令牌交换选择接收者。
[0045] 令牌存储库可以指代与一个或多个特定帐户或用户相关联或可访问的令牌的存储库。例如,令牌存储库可以存储一个或多个令牌和/或令牌信息。备选地或另外地,令牌存储库可以存储令牌标识符、令牌值、令牌的接收者公钥以及与令牌相关的其他信息。
[0046] 供给方令牌存储库303可以存储与供给方令牌控制器302相对应的一个或多个令牌标识符。供给方令牌控制器302可以从供给方令牌存储库303中选择令牌以用于与接收方令牌控制器304的私用令牌交换。例如,在停用所选令牌之后,供给方令牌控制器302可以生成要被传送到接收方令牌控制器304的新令牌。供给方令牌控制器302可以获得屏蔽的交换指令122以将供给方令牌与新令牌交换。在基于屏蔽的交换指令122更新供给方区块链112和/或接收区块链118之后,供给方令牌控制器302可以将新令牌传送到接收方令牌控制器304。因为接收方令牌控制器304现在可以访问新令牌,所以接收方令牌控制器304可以生成具有零知识证明216的第二屏蔽的交换指令122,零知识证明216是:接收方令牌控制器知道新令牌的令牌标识符。由此产生的令牌交换保持私密,因为被存储在供给方区块链112和接收方区块链118上的令牌交换的细节基于密码哈希而变得模糊。
[0047] 屏蔽的交换指令生成器
[0048] 供给方DLT平台110可以包括屏蔽的交换指令生成器(SEI生成器)308。SEI生成器308可以生成屏蔽的交换指令122。例如,SEI生成器308可以接收创建参数,创建参数被用来生成零知识证明216、新令牌摘要204、新令牌无效符206、所选无效符208、变更令牌摘要
210、新变更无效符212、先前变更无效符214、零知识证明216和/或包含在屏蔽的交换指令
122中的任何其他信息。
[0049] SEI生成器308可以接收各种创建参数以生成屏蔽的交换指令122。创建参数可以包括表1中所包括的一些或所有创建参数。
[0050] 表1-针对屏蔽的交换指令的创建参数
[0051]
[0052]
[0053] 一个或多个智能合约可以接收屏蔽的交换指令122以基于屏蔽的交换指令执行私用令牌交换。
[0054] 供给方智能合约和接收方智能合约
[0055] 供给方区块链112可以包括供给方智能合约310。接收方区块链118可以包括接收方智能合约312。一般,智能合约可以包括规定如何将信息存储在区块链上的规则和/或标准、和/或用于将信息更新到各种状态的协议。智能合约可以包括数据结构定义,诸如Merkle树,用于表示在区块链上跨多个块被存储的数据。智能合约还可以包括用于与共识协议通信以引起对区块链的更改的逻辑。例如,智能合约可以将事务递交给共识协议。响应于DLT网络的参与者之中的共识,该事务可以使信息被附加到区块链、被修改和/或删除。智能合约可以被存储在区块链上的一个或多个数据块中。可以基于智能合约地址在区块链内标识智能合约。智能合约地址可以包括存储智能合约的数据块的地址和/或智能合约的标识符。
[0056] 供给方智能合约310可以包括智能合约的示例,其包括用于添加、搜索、移除和/或修改被存储在供给方区块链112上的无效符和/或令牌摘要的规则、标准、数据结构和/或逻辑。例如,供给方智能合约310可以包括处理屏蔽的交换指令122的逻辑。备选地或另外地,供给方智能合约310可以包括用于将数据块附加到供给方区块链112以记录一个或多个DLT网络的参与者节点之间的私用令牌交换的逻辑。
[0057] 接收方智能合约312可以包括智能合约的示例,其包括用于添加、搜索、移除和/或修改存储在接收方区块链118上的无效符和/或令牌摘要的规则、标准、数据结构和/或逻辑。例如,接收方智能合约312可以包括处理屏蔽的交换指令122的逻辑。备选地或另外地,接收方智能合约312可以包括用于将数据块附加到接收方区块链118以记录一个或多个DLT网络的参与者节点之间的私用令牌交换的逻辑。
[0058] 供给方智能合约310和/或接收方智能合约312可以验证和/或处理屏蔽的交换指令122。例如,供给方智能合约310和/或接收方智能合约312可以核实屏蔽的交换指令122中所包括的零知识证明216。在零知识证明216是非交互零知识证明216的示例中,诸如zk-SNARKS,供给方智能合约310和/或接收方智能合约312可以确定零知识证明216的有效性,而不需要与供给方令牌控制器302和/或接收方令牌控制器304通信以证明零知识证明216所声明的语句。在零知识证明216由供给方智能合约310核实之后,供给方智能合约310可以向供给方DLT平台110递交一个或多个事务,其使得一个或多个数据块被附加到供给方区块链112。备选地或另外地,在接收方智能合约312核实零知识证明216之后,接收方智能合约312可以向接收方DLT平台116递交一个或多个事务,其使得一个或多个数据块被附加到接收方区块链118。
[0059] 累加器组
[0060] 供给方区块链112可以存储供给方累加器组314。备选地或另外地,接收方区块链可以存储接收方累加器组316。
[0061] 一般,累加器组可以包括被存储在区块链上的多个令牌摘要。例如,每个令牌摘要可以被存储在区块链上的数据块中。令牌摘要可以与引用被存储在区块链上的其他数据块和/或令牌摘要的参考信息相关联。参考信息可以允许遍历和/或搜索累加器组中包括的令牌摘要。相应地,令牌摘要可以布置在Merkle树或某种其他合适的数据结构中。表2包括示例累加器组的逻辑表示。
[0062] 表2-示例累加器组
[0063]
[0064] 应当理解,表1中的信息表示被存储在区块链中的各种位置处的一系列令牌摘要的逻辑表示。例如,区块链上的令牌提交和/或数据块可以包括各种信息,智能合约可以使用这些信息来创建表示累加器组的数据结构。
[0065] 供给方累加器组314可以包括累加器组的示例,该累加器组包括被存储在供给方区块链112上的一个或多个令牌摘要。接收方累加器组316包括累加器组的示例,该累加器组的示例包括被存储在接收方区块链118上的一个或多个令牌摘要。供给方智能合约310可以独立于接收方累加器组316管理供给方存储器组314。例如,供给方智能合约310可以响应于屏蔽的交换指令122的接收和核实而更新供给方区块链112,但不更新接收方区块链118。
[0066] 无效符组
[0067] 供给方区块链112还可以包括供给方无效符组318。备选地或另外地,接收方区块链118可以包括接收方无效符组320。
[0068] 一般,无效符组可以包括被存储在区块链上的多个无效符。如参考图2所讨论的那样,无效符可以包括令牌标识符的摘要(哈希值)。无效符组的无效符可以被存储在一个区块链中的一个或多个数据块上。无效符可以包括允许在区块链中引用、搜索和/或遍历无效符的参考信息。例如,无效符组可以布置在链表,键值对表和/或任何其他合适的数据结构中。无效符组可以将无效符与停用信息相关联,诸如停用标志。停用标志可以指示是否可以在屏蔽的事务中使用具有与无效符相同的令牌标识符的令牌摘要。表3图示了无效符组的示例。
[0069] 表3-示例无效符组
[0070]H(令牌标识符) 停用标志
0x3AFA30F0234FC204...... 1
0x5B2032891034AFB85...... 0
[0071] 应当理解,表2中的信息表示被存储在区块链上的一个或多个数据块中的无效符的逻辑表示。区块链上的无效符和/或数据块可以包括智能合约可以用来创建表示无效符组的数据结构的各种信息。
[0072] 响应于接收到屏蔽的交换指令122,接收方智能合约312可以使得屏蔽的交换指令122的新令牌摘要204被附加到接收方累加器组316。此外,接收方智能合约312可以使新令牌无效符206将被附加到接收方无效符组320。供给方智能合约310可以将所选无效符208标记为已停用。相应地,接收方区块链118记录新令牌摘要204的创建,并且供给方区块链122记录所选令牌摘要的停用。
[0073] 供给方令牌控制器302可以将令牌和/或令牌信息链外传达到接收方令牌控制器304。例如,供给方令牌控制器302可以将令牌标识符和/或令牌值传达到接收方令牌控制器
304。由于接收方令牌控制器304已经访问了用于接收方令牌控制器304的公钥,因此接收方令牌控制器304可以核实令牌摘要。例如,接收方令牌控制器304可以将所接收的令牌发送到重新生成令牌摘要的哈希函数。接收方令牌控制器304可以将重新生成的令牌摘要与被存储在累加器组中的新令牌摘要204进行比较。如果重新生成的令牌摘要和新令牌摘要相匹配,则接收方令牌控制器304已经核实接收方令牌控制器304拥有新令牌。此外,接收方令牌控制器304可以在将来的私用令牌交换中停用对应于新令牌摘要204的新令牌无效符。
[0074] 在私用令牌交换涉及变更的示例中,供给方智能合约310可以进一步将先前变更无效符214和新变更无效符212添加到无效符组。先前的变更无效符214可以被添加到无效符组,因为供给方智能合约310可以规定当创建令牌摘要时,必须提供预先存在的无效符(要被停用的无效符)和用于令牌摘要的无效符。由于先前的变更无效符214可能不存在于供给方无效符组318中,因此供给方智能合约310可以创建先前的变更无效符214并将其标记为已停用。新变更无效符212可以被标记为未停用,使得变更令牌摘要210可以被包括在未来令牌交换指令中。
[0075] 屏蔽的交换代理
[0076] 屏蔽的交换代理120可以包括预提交验证器322。预提交验证器322可以确定屏蔽的交换指令122是否包括有效信息。例如,已经生成新令牌无效符206而不需要已经被包括在接收方无效符组320中的无效符。预提交验证器322可以确定针对新令牌无效符206的哈希值是否已经被包括在接收方无效符组320中。如果是,则预提交验证器322可以使屏蔽的交换指令122无效。SEI生成器308可以响应屏蔽的交换指令122的无效而重新生成屏蔽的交换指令122,使得新令牌无效符206的哈希值是不同的。
[0077] 互操作性节点102还可以包括提交控制器324。提交控制器324可以将屏蔽的交换指令122递交给供给方DLT平台110和/或接收方DLT平台116。例如,供给方DLT平台110可以暴露供给方智能合约310的逻辑。例如,供给方DLT平台110可以基于供给方智能合约310的地址来标识和/或提供供给方智能合约310。当供给方智能合约310接收到屏蔽的交换指令122时,供给方智能合约310可以更新供给方累加器组314和/或供给方无效符组318。
[0078] 图4图示了针对系统100的序列图。供给方令牌控制器302和接收方令牌控制器304可以交换私用转移信息(402)。私用转移信息可以包括针对令牌的令牌值和/或接收方公钥。在一些示例中,私用转移信息还可以包括接收方智能合约312的地址,其可以被提供给接收方DLT平台116以获得或访问接收方智能合约312。
[0079] 在示例中,第一用户可以私下同意第二用户以执行私用令牌交换。第一用户可以资助将被提供用于私用事务的令牌。可以将与令牌相对应的令牌摘要添加到供给方区块链112,并且可以将令牌添加到供给方令牌存储库303。备选地或另外地,第一用户可以从供给方令牌存储库303中选择用于事务的预先存在的令牌。在其他示例中,供给方令牌控制器
302可以自动选择第一用户拥有的令牌(即,其中已知量和令牌标识符的令牌)。
[0080] 供给方令牌控制器302可以经由供给方智能合约310请求供给方存储器组314(404)。供给方智能合约310可以将供给方存储器组314(或其一部分)返回到供给方令牌控制器302(406)。供给方令牌控制器302可以从供给方累加器组314中选择一个或多个令牌提交(408)。
[0081] 例如,供给方智能合约310可以在供给方区块链112中搜索供给方累加器组314和/或摘要。供给方智能合约310可以返回供给方累加器组314和/或一个或多个令牌摘要。
[0082] 供给方令牌控制器302可以访问对应于令牌摘要的预先哈希的令牌。例如,预先哈希的令牌可以被存储在供给方令牌存储库303中。预先哈希的令牌可以包括令牌值和/或令牌标识符。供给方令牌控制器302可以选择具有等于或大于交换值(从第一用户发送到第二用户的值的量)的令牌值的令牌。供给方令牌控制器302可以标识供给方无效符组318中的所选令牌无效符208。供给方令牌控制器302可以停用所选无效符组并为接收方令牌控制器生成新令牌摘要204。因此,供给方令牌控制器302可以“耗尽”与所选令牌摘要相对应的所选无效符,以换取创建新令牌摘要204。
[0083] 供给方令牌控制器302可以从SEI生成器308请求屏蔽的交换指令122(410)。SEI生成器308可以生成屏蔽的交换指令122(412)。SEI生成器308可以将屏蔽的交换指令122返回到供给方令牌控制器302(414)。供给方令牌控制器302可以用屏蔽的交换代理120验证屏蔽的交换指令122(416)。
[0084] 例如,为屏蔽的交换指令122生成的新令牌无效符206可能已经存在于接收方无效符组320中。如果新令牌无效符206已经存在于接收方无效符组320中,则为新令牌标识符生成的随机数无效。备选地或另外地,为屏蔽的交换指令122生成的新变更无效符212和/或先前变更无效符214可能已经存在于供给方无效符组318中。如果新变更无效符212和/或先前的变更无效符214已经存在于接收方无效符组320中,则屏蔽的交换指令122可能是无效的。
[0085] 在一些示例中,供给方令牌控制器302可以将屏蔽的交换指令122传达到屏蔽的交换代理120以进行验证。在其他示例中,供给方令牌控制器302可以传达被验证的屏蔽的交换指令122的部分,诸如新令牌无效符206。
[0086] 在一些示例中,屏蔽的交换代理120可以接收正被访问的任何智能合约的地址,诸如供给方智能合约310和/或接收方智能合约312。屏蔽的交换代理120可以提供供给方智能合约310的地址到供给方DLT平台110以获得对被存储在供给方区块链112上的供给方智能合约310的身份和/或访问。备选地或另外地,屏蔽的交换代理120可以将接收方智能合约312的地址提供给接收方DLT平台116,以标识和/或访问被存储在接收方区块链118上的接收方智能合约312。
[0087] 屏蔽的交换代理120可以从接收方智能合约312请求接收方无效符组320(418)。接收方智能合约312可以返回接收方无效符组320(420)。屏蔽的交换代理120可以从供给方智能合约310请求供给方无效符组318(422)。供给方智能合约310可以返回供给方无效符组318(424)。供给方智能合约310可以确定屏蔽的交换指令122是否有效(426)。
[0088] 例如,屏蔽的交换代理120可以搜索接收方无效符组320。响应于接收方无效符组320包括新令牌无效符的确定,屏蔽的交换代理120可以确定新令牌无效符无效(并且因此屏蔽的交换指令122无效)。备选地或另外地,屏蔽的交换代理120可以在供给方无效符组
318中搜索变更无效符。响应于供给方无效符组318包括变更无效符的确定,屏蔽的交换代理120可以确定变更无效符是无效的(并且因此屏蔽的交换指令122无效)。在一些实现中,供给方令牌控制器302可以改为确定变更无效符的有效性,因为供给方令牌控制器302可以访问供给方区块链112。如果新令牌无效符不存在于接收方无效符组320中和/或在供给方无效符组合318中不存在变更无效符,则屏蔽的交换代理120可以确定屏蔽的交换指令122是有效的。
[0089] 屏蔽的交换代理120可以将屏蔽的交换指令122递交给接收方智能合约312(428)。接收方智能合约312可以核实屏蔽的交换指令122的零知识证明216(430)。备选地或另外地,屏蔽的交换代理120可以将屏蔽的交换指令122递交给供给方智能合约(432)。供给方智能合约310可以核实屏蔽的交换指令122的零知识证明216(434)。
[0090] 例如,供给方智能合约310和/或接收方智能合约312可以接收零知识证明216。在一些示例中,零知识证明216可以包括非交互零知识证明216,诸如ZK-SNARK。相应地,供给方智能合约310和/或接收方智能合约312可以确定零知识证明216的有效性,而无需从任何节点、任何一方和/或任何系统请求附加信息。零知识证明216可以包括证明供给方令牌控制器302可以访问所选令牌的令牌量和/或令牌标识符。在接收到零知识证明216之后,供给方智能合约310和/或接收方智能合约312可以确定零知识证明216的有效性,而无需进一步与供给方令牌控制器302和/或接收方令牌控制器通信,以证明供给方令牌控制器302可以访问令牌和/或所选令牌的令牌标识符。
[0091] 供给方智能合约310可以更新供给方累加器组314和供给方无效符组318(436)。供给方智能合约310可以将递交(submission)结果返回给屏蔽的交换代理(438)。接收方智能合约312可以更新接收方累加器组316和接收方无效符组320(440)。接收方智能合约312可以将递交结果返回给屏蔽的交换代理120(442)。
[0092] 例如,供给方智能合约310可以使一个或多个数据块被附加到供给方区块链112,其将所选令牌无效符208的停用标志设置为真。备选地或另外地,数据块可以包括将变更无效符添加到供给方无效符组318以及将更改摘要添加到累加器组。
[0093] 接收方智能合约310可以使一个或多个数据块被附加到接收方区块链118,其将新令牌无效符206添加到接收方无效符组320,并将新令牌摘要204添加到接收方累加器组316。
[0094] 屏蔽的交换代理120可以将递交结果返回到供给方令牌控制器302(444)。供给方令牌控制器302可以将新令牌或其部分提供给接收方令牌控制器304(446)。
[0095] 例如,响应于接收到令牌标识符和/或新令牌的令牌量,供给方令牌可以表示并获得被存储在接收方区块链118上的新令牌无效符206和新令牌摘要204。相应地,接收方令牌控制器304可以包括获得新的屏蔽的交换指令122,其在未来的私用令牌交换中停用(耗尽)新令牌无效符206。
[0096] 示例
[0097] 举例来说,假设供给方累加器组314和供给方无效符组318的初始状态分别在表4-表5中被图示。出于说明的目的,表格示出了被存储在供给方累加器组314和供给方无效符组318中的哈希值的预像值。
[0098] 表4-示例供给方累加器组(预像)
[0099]令牌摘要标识符 令牌值 接收者公钥 令牌标识符
1 100 A 92370
2 20 C 4
3 80 A 747578
[0100] 表5-示例供给方无效符组(预像)
[0101]令牌标识符 停用
92370 真
555 真
4 假
747578 假
[0102] 在该示例中,具有公钥A的供给方参与者已经将具有值20的资产发送给具有公钥C的另一供给方参与者。在该事务中,屏蔽的交换指令122可以包括以下内容:
[0103] 所选令牌无效符=H(92370);
[0104] 新令牌无效符=H(4);
[0105] 新令牌摘要=H(4,C,20);
[0106] 新变更令牌=H(747578,A,80);
[0107] 新变更无效符=H(747578);以及
[0108] 先前的变更无效符=H(555)。
[0109] 由于供给方无效符组318包括新令牌无效符,因此在供给方DLT网络104的参与者之间发生交换。
[0110] 假设供给方参与者控制器被指示向接收方令牌控制器304发送具有令牌值75的资产。接收方令牌控制器304可以被包括在接收方DLT网络106的接收方参与者节点114中,其与供给方DLT网络104分离。接收方累加器组316和接收方无效符组320的初始状态在表6-表7中被图示。出于解释的目的,表6-表7包括被存储在接收方累加器组316和接收方无效符组
320中的哈希的预像值。
[0111] 表6-示例接收方累加器组(预像)
[0112]
[0113] 表7-示例接收方无效符组(预像)
[0114]令牌标识符 停用
80 真
556 真
1 假
22 假
[0115] 在供给方DLT网络104和接收方DLT网络106之间的私用令牌交换中,接收方令牌控制器304可以将接收方公钥传达到供给方令牌控制器302。供给方令牌控制器302可以从供给方累加器组合314中选择令牌摘要#3,因为令牌摘要#3具有大于75的令牌值并且未停用无效符H(747578)。
[0116] 供给方令牌控制器302可以与SEI生成器308通信以生成用于该事务的屏蔽的交换指令122。例如,供给方令牌控制器302可以向SEI生成器308提供以下输入,其可以链外生成屏蔽的交换指令122:
[0117] 所选令牌标识符(747578);
[0118] 所选令牌值(80);
[0119] 所选令牌接收者的公钥(A);
[0120] 所选令牌接收者的私钥(A);
[0121] 先前的变更令牌标识符(111);
[0122] 供给方智能合约的合约地址;
[0123] 接收方智能合约的合约地址;
[0124] 接收者的公钥(B);
[0125] 交换的令牌值(75);以及
[0126] 变更令牌值(5)。
[0127] SEI生成器308可以生成具有以下值的屏蔽的交换指令122:
[0128] 新令牌摘要=H(208,B,75);
[0129] 所选令牌无效符=H(747578);
[0130] 新令牌无效符=H(208);
[0131] 新变更摘要=H(94,A,5);
[0132] 新变更无效符=H(94);以及
[0133] 先前的变更无效符=H(111)。
[0134] 互操作性节点102可以接收供给方无效符组318和接收方无效符组320。互操作性节点102可以核实新变更无效符(H(94))和/或先前的变更无效符(H(111))不存在于供给方无效符组318中。互操作性节点102可以核实新令牌无效符(H(208))不存在于接收方无效符组320中。
[0135] 屏蔽的交换指令122或屏蔽的交换指令122的分量被递交给供给方智能合约310和接收方智能合约312。
[0136] 供给方智能合约310可以更新供给方累加器组314和供给方无效符组318。表8-表9示出了在供给方智能合约310已经处理了屏蔽的交换指令122之后的供给方累加器组314和供给方无效符组318:
[0137] 表8-私用令牌交换后的示例供给方累加器组(预像)
[0138]令牌摘要标识符 令牌值 接收者公钥 令牌标识符
1 100 A 92370
2 20 C 4
3 80 A 747578
4 5 A 94
[0139] 表9-私用令牌交换后的示例供给方无效符组(预像)
[0140]令牌标识符 停用
92370 真
555 真
4 假
747578 真
111 真
94 假
[0141] 接收方智能合约312可以更新接收方累加器组316和接收方无效符组320。表10-表11示出了在接收方智能合约312已经处理了屏蔽的交换指令122之后的接收方累加器组316和接收方无效符组320:
[0142] 表10-私用令牌交换后的示例接收方累加器组(预像)
[0143]令牌摘要标识符 令牌值 接收者公钥 令牌标识符
1 60 B 80
2 40 D 1
3 20 B 22
4 75 B 208
[0144] 表11-私用令牌交换后的示例接收方无效符组(预像)
[0145]
[0146]
[0147] 相应地,接收方累加器包括新令牌摘要(H(208,B,75)),并且接收方无效符组320包括新令牌无效符(H(208))。新令牌无效符未被标记为已停用,并且其可以被包括在将来的屏蔽的交换指令中以执行附加地私用令牌交换。供给方无效符组318跟踪到所选无效符(H(747578))已经被停用。因此,所选令牌可能不再用于将来的私用令牌交换。
[0148] 图5图示了针对系统100的示例逻辑的第一流程图。屏蔽的交换代理120可以获得屏蔽的交换指令122(502)。例如,屏蔽的交换代理120可以从供给方令牌控制器302接收屏蔽的交换指令122。
[0149] 屏蔽的交换指令122至少可以包括零知识证明216、所选令牌无效符、新令牌无效符和新令牌摘要。新令牌摘要可以包括至少接收方参与者的接收方公钥和新令牌标识符的哈希。如参考图2所讨论的,所选令牌无效符208可以包括在供给方区块链112上被选择用于停用的令牌的哈希。新令牌无效符可以包括将被提供给接收者以换取所选令牌的新令牌标识符的哈希。零知识证明216可以指示供给方参与者可以访问所选令牌标识符。
[0150] 屏蔽的交换代理120可以获得新令牌无效符206(504)。例如,新令牌无效符206可以被包括在屏蔽的交换指令122中。屏蔽的交换代理120可以从屏蔽的交换代理120中提取新令牌无效符206。在其他示例中,供给方令牌控制器302可以传达新令牌无效符206到屏蔽的交换代理120。备选地或另外地,屏蔽的交换代理120可以通过来自供给方令牌控制器302的通信或者通过解析屏蔽的交换指令122,获得先前的变更无效符214和/或新变更无效符212到屏蔽的交换代理120。
[0151] 屏蔽的交换代理120可以确定新令牌无效符206是否存在于接收方区块链118上(506)。例如,屏蔽的交换代理120可以访问被存储在接收方区块链118上的接收方无效符组320。接收方无效符组320可以包括被存储在接收方区块链118上的多个哈希令牌标识符。屏蔽的交换代理120可以搜索用于新令牌无效符206的接收方无效符组320。屏蔽的交换代理
120可以确定新令牌无效符206是否存在于接收方无效符组320中。
[0152] 响应于新令牌无效符206被包括在接收方无效符组320中(506,是),屏蔽的交换代理120可以获得新的屏蔽的交换指令122(502)。例如,屏蔽的交换代理120向供给方参与者传达指示哈希的先前令牌标识符不存在于无效符组中的结果消息。供给方参与者可以重新生成屏蔽的交换指令122并将屏蔽的交换指令122重新传达到屏蔽的交换代理120。在其他示例中,屏蔽的交换代理120可以通过访问本地配置的或者远程配置的SEI生成器308来重新生成屏蔽的交换指令122。
[0153] 响应于新令牌无效符206未被包括在接收方无效符组320中(506,否),屏蔽的交换代理120可以将屏蔽的交换指令122递交给供给方智能合约310和/或接收方智能合约312(508)。在一些示例中,屏蔽的交换代理120可以响应于确定新令牌无效符206不存在于无效符组中,而允许屏蔽的交换指令122到供给方智能合约310和/或接收方智能合约312的递交。备选地或另外地,屏蔽的交换代理120可以响应于确定哈希的新令牌标识符存在于接收方无效符组320中,而限制屏蔽的交换指令122到供给方智能合约310和/或接收方智能合约312的递交。
[0154] 在一些示例中,屏蔽的交换代理120可以从供给方DLT平台110接收屏蔽的交换指令122。响应于屏蔽的交换指令122向供给方智能合约310和接收方智能合约312的递交,互操作性节点102可以将递交结果传达到供给方DLT平台110。供给方DLT平台110可以响应于确定屏蔽的交换指令122被递交给供给方智能合约310和/或接收方智能合约312而将新令牌无效符206的预先哈希的令牌标识符传达到接收方参与者节点114。
[0155] 图6图示了针对系统100的示例逻辑的第二流程图。供给方DLT平台110可以生成屏蔽的交换指令122(602)。
[0156] 供给方DLT平台110可以将验证请求传达到屏蔽的交换代理120(604)。验证请求可以包括屏蔽的交换指令122或屏蔽的交换指令122的分量。例如,验证请求可以包括新令牌无效符206,新变更令牌无效符和/或先前变更令牌无效符。
[0157] 供给方DLT平台110可以接收针对互操作性平台的验证结果(606)。验证结果可以包括指示以下中的至少一个或多个的结果:新令牌无效符206是否被包括在接收方无效符组320中;先前的变更无效符214是否被包括在供给方无效符组318中;以及新变更无效符212是否被包括在供给方无效符组318中。
[0158] 供给方DLT平台110可以确定屏蔽的交换指令122是否有效(608)。备选地或另外地,供给方DLT平台110可以确定屏蔽的交换指令122的分量是否有效。例如,供给方DLT平台110可以基于验证响应确定新令牌无效符206是否存在于被存储在接收方区块链118上的接收方无效符组320中。如果新令牌无效符206存在于接收方无效符组320中,则屏蔽的交换指令可能无效。备选地或另外地,供给方DLT平台110可以基于验证响应确定先前的变更令牌无效符和/或新的变更无效符是否存在于被存储在供给方区块链112上的供给方无效符组
318中。如果先前的令牌无效符和/或新的变更无效符存在于供给方无效符组中,则屏蔽的交换指令可能无效。
[0159] 响应于确定屏蔽的交换结果无效(608,否),供给方DLT平台110可以生成新的屏蔽的交换指令。例如,供给方DLT平台可以为新令牌标识符重新生成随机数,使得令牌标识符的哈希值不存在于被存储在接收方区块链118上的接收方无效符组320中。备选地或另外地,供给方DLT平台可以为先前的变更标识符和/或新的变更标识符重新生成随机数,使得先前的变更标识符的哈希值和/或新的变更标识符的哈希值不存在于供给方无效符组314上。
[0160] 响应于基于验证结果确定屏蔽的交换指令122有效(608,是),供给方DLT平台110可以将递交请求传达到屏蔽的交换代理120(610)。递交请求可以包括屏蔽的交换指令122。在一些示例中,接收方DLT平台116可能已经将接收方智能合约312的地址链外传达到供给方DLT平台110。递交请求可以包括到屏蔽的交换代理120的接收方智能合约312的地址和/或供给方智能合约310地址。
[0161] 供给方DLT平台110确定递交请求是否成功(612)。例如,供给方DLT平台110可以从互操作性节点102接收递交结果。递交结果可以指示成功或不成功地将屏蔽的交换指令122递交给供给方DLT平台110和接收方DLT平台116。
[0162] 响应于确定屏蔽的交换指令122被成功递交给供给方智能合约310和/或接收方智能合约312(612,是),供给方DLT平台110可以传达新令牌标识符和/或新令牌值到接收方参与者节点114(614)。
[0163] 与所示出的部件相比,系统100可以用附加的、不同的或更少的部件来实现。每个部件可以包括附加的,不同的或更少的部件。备选地或另外地,与所示出的操作相比,流程图和序列图中所示的逻辑可以包括附加的、不同的或更少的操作。所示的操作可以以与所示出的顺序不同的顺序执行。
[0164] 图7图示了针对系统100的执行环境700的示例。执行环境700可以用作系统部件的硬件平台。执行环境可以包括通信接口712,输入接口728和/或系统电路装置714。
[0165] 系统电路装置可以包括处理器716或多个处理器。备选地或另外地,系统逻辑可以包括存储器720。
[0166] 处理器716可以与存储器720通信。在一个示例中,处理器716还可以与诸如通信接口712和/或输入接口728的附加元件通信。处理器716的示例可以包括:通用处理器,中央处理单元,微控制器服务器专用集成电路(ASIC),数字信号处理器,现场可编程阵列(FPGA)和/或数字电路,模拟电路或它们的某种组合。
[0167] 处理器716可以是可操作以执行逻辑的一个或多个设备。该逻辑可以包括被存储在存储器720或其他非瞬态存储器中的计算机可执行指令或计算机代码,计算机可执行指令或计算机代码在由处理器702执行时,使得处理器716执行由供给方参与者节点108、互操作性节点102、接收方参与者节点114、供给方DLT平台110、供给方区块链112、屏蔽的交换代理120、接收方DLT平台116和/或接收方区块链118和/或系统100的逻辑实现的特征。计算机代码可以是包括由处理器716可执行的指令。
[0168] 存储器720可以是用于存储和取回数据或其任何组合的设备。存储器720可以包括非易失性和/或易失性存储器,诸如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)或闪存。备选地或另外地,存储器720可以包括光学、磁(硬盘驱动器)或任何其他形式的数据存储设备。
[0169] 存储器720可以包括供给方参与者节点108、互操作性节点102、接收方参与者节点114、供给方DLT平台110、供给方区块链112、屏蔽的交换代理120、接收方DLT平台116、接收方区块链118和/或系统100中的至少一个。另外,存储器可以包括先前讨论的一个或多个其他部件或子部件和/或本文描述的系统100的其他部件。备选地,供给方参与者节点108、互操作性节点102和/或接收方参与者节点114可以驻留在供给方DLT网络104或接收方DLT网络106特有的其他另一执行环境硬件的存储器中。
[0170] 系统100可以以许多不同方式被实现。例如,系统100的部件可以是硬件或硬件和软件的组合。部件可以包括供给方参与者节点108、互操作性节点102、接收方参与者节点114、供给方DLT平台110、供给方区块链112、屏蔽的交换代理120、接收方DLT平台116、接收方区块链118、系统100和/或本文描述的系统100的其他部件和子部件。例如,每个部件可以包括专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字逻辑电路、模拟电路、分立电路的组合、门或任何其他类型的硬件或它们的组合。备选地或另外地,每个部件可以包括存储器硬件,诸如存储器720的一部分,其例如包括与处理器716或其他处理器一起可执行以实现电路装置的一个或多个特征的指令。当任何一个部件包括包含与处理器716一起可执行的指令的存储器的部分时,该部件可以包括或不包括处理器716。在一些示例中,每个部件可以仅仅是存储器720的一部分或其他物理的存储器(其包括与处理器716或其他处理器一起可执行以实现对应部件的特征的指令),而不需要该部件包括任何其他硬件。因为即使当所包括的硬件包括软件时,每个部件也包括至少一些硬件,所以每个部件可以互换地称为硬件部件。
[0171] 一些特征被示出为被存储在计算机可读存储介质中(例如,作为计算机可执行指令实现的逻辑或者作为存储器中的数据结构)。系统100的全部或部分及其逻辑和数据结构可以被存储在一个或多个类型的计算机可读存储介质上,跨一个或多个计算机可读存储介质分布,或者从中被读取。计算机可读存储介质的示例可以包括硬盘、软盘、CD-ROM、闪存驱动器、高速缓存、易失性存储器、非易失性存储器、RAM、闪存或任何其他类型的计算机可读存储介质或存储介质。计算机可读存储介质可以包括任何类型的非瞬态计算机可读介质,诸如CD-ROM、易失性存储器、非易失性存储器、ROM、RAM或任何其他合适的存储设备。
[0172] 系统100的处理能可以分布在多个实体之中,诸如在多个处理器和存储器之中,可选地包括多个分布式处理系统。参数、数据库和其他数据结构可以被分离存储和管理,可以被合并到单个存储器或数据库中,可以以许多不同的方式在逻辑上和物理上被组织,并且可以用不同类型的数据结构被实现,诸如链表、哈希表或隐式存储机制。诸如程序或电路装置的逻辑可以在多个程序之中进行组合或分开,跨若干存储器和处理器分布,并且可以在诸如共享库(例如,动态链接库(DLL))的库中被实现。
[0173] 无论所描述的特定实现如何,所有讨论本质上都是说明性的,而不是限制性的。例如,尽管实现的所选方面、特征或部件被描绘为被存储在(多个)存储器中,但是系统100或系统的全部或部分可以被存储在其他计算机可读存储介质上,跨其他计算机可读存储介质分布或从其他计算机可读存储介质读取,例如,辅助存储设备,诸如硬盘、闪存驱动器、软盘和CD-ROM。此外,各种模块、电路装置和屏幕显示器功能性仅是这种功能性的一个示例,并且包含类似功能性的任何其他配置都是可能的。
[0174] 可以在计算机可读存储介质上提供用于实现上述过程、方法和/或技术的相应逻辑、软件或指令。可以响应于被存储在计算机可读介质中或上的一组或多组逻辑或指令来执行附图中示出或本文描述的功能、动作或任务。功能、动作或任务独立于特定类型的指令集、存储介质、处理器或处理策略,并且可以由单独或组合操作的软件、硬件、集成电路、固件、微代码等来执行。同样,处理策略可以包括多处理、多任务处理、并行处理等。在一个示例中,指令被存储在可移除介质设备上以供本地或远程系统读取。在其他示例中,逻辑或指令被存储在远程位置以用于通过计算机网络或通过电话线传输。在其他示例中,逻辑或指令被存储在给定计算机、中央处理单元(“CPU”)或系统内。
[0175] 此外,尽管上文描述了特定部件,但本文描述的方法,系统和制品可以包括附加的、更少的或不同的部件。例如,处理器可以被实现为微处理器、微控制器、专用集成电路(ASIC)、分立逻辑或其他类型的电路或逻辑的组合。类似地,存储器可以是DRAM、SRAM、闪存或任何其他类型的存储器。标志、数据、数据库、表格、实体和其他数据结构可以被分离存储和管理,可以被合并到单个存储器或数据库中,可以是分布式的,或者可以以许多不同的方式在逻辑上和物理上被组织。部件可以独立操作或者是执行相同程序或不同程序的同一装置的一部分。部件可以驻留在分离的硬件上,诸如分离的可移除电路板或共享公共硬件,诸如用于实现来自存储器的指令的相同存储器和处理器。程序可以是单个程序的部分、分离的程序或跨多个存储器和处理器分布。
[0176] 可以将第二动作称为“响应于”第一动作,而不管第二动作是直接还是间接地来自第一动作。第二动作可以在比第一动作晚得多的时间发生,并且仍然响应于第一动作。类似地,即使在第一动作和第二动作之间发生介入动作,并且即使一个或多个介入动作直接导致第二动作被执行,也可以说第二动作响应于第一动作。例如,如果第一动作设置标志则第二动作可以响应于第一动作,并且每当设置标志时第三动作稍后发起该第二动作。
[0177] 为了澄清使用和由此向公众提供通知,短语“,…和中的至少一个”或“,...,或其组合中的至少一个”或“,...和/或”由申请人在最广泛的意义上定义,取代上文或下文中的任何其他隐含定义,除非申请人明确声明相反,表示选自包括A,B,...和N的组中的一个或多个元素。换言之,短语是指独自包括任何一个元素的元素A,B,...或N中的一个或多个或一种元素与一种或多种其他元素组合的的任何组合,该一种或多种其他元素也可以组合地包括未列出的附加元素。
[0178] 虽然已经描述了各种实施例,但是对于本领域普通技术人员来说明显的是,更多的实施例和实现是可能的。相应地,这里描述的实施例是示例,而不是唯一可能的实施例和实现。
[0179] 在各种示例中,本文描述的系统和方法可以涉及以下方面:
[0180] 1.一种系统,包括:
[0181] 与供给方分布式账本技术(DLT)网络的供给方参与者节点和接收方DLT网络的接收方参与者节点通信的互操作性节点,其中供给方智能合约被存储在用于供给方DLT网络的供给方区块链上以及接收方智能合约被存储在用于接收方DLT网络的接收方区块链上,互操作性节点包括处理器,处理器被配置为:
[0182] 获取屏蔽的交换指令,屏蔽的交换指令包括零知识证明、所选令牌无效符、新令牌无效符和新令牌摘要,其中所选令牌无效符包括所选令牌标识符的哈希,新令牌无效符包括新令牌标识符的哈希,并且新令牌摘要包括接收方参与者节点的至少接收者公钥和新令牌标识符的哈希,其中零知识证明指示供给方参与者节点具有对所选令牌标识符的访问权限;
[0183] 确定新令牌无效符接收方区块链上;以及
[0184] 在新令牌无效符不存在于接收方区块链上的确定之后,将屏蔽的交换指令递交给供给方智能合约和接收方智能合约,其中供给方智能合约被配置为停用供给方区块链上的所选令牌无效符,并且接收方智能合约被配置为将新令牌无效符和新令牌摘要插入到接收方区块链。2.根据方面1的系统,其中为了向供给方智能合约和接收方智能合约递交屏蔽的交换指令,互操作性节点的处理器还被配置为:
[0185] 执行供给方智能合约的逻辑,其中在供给方智能合约的逻辑中使互操作性节点的处理器停用供给方区块链上的所选令牌无效符;以及
[0186] 执行接收方智能合约的逻辑,其中在接收方智能合约的逻辑中使互操作性节点的处理器将新令牌无效符和新令牌摘要附加到接收方区块链。
[0187] 3.根据方面1至方面2中任一项的系统,其中为了确定新令牌无效符不存在于接收方区块链上,互操作性节点的处理器还被配置为:
[0188] 访问被存储在接收方区块链上的无效符组,无效符组包括被存储在接收方区块链上的多个令牌无效符,令牌无效符中的每个令牌无效符;
[0189] 针对新令牌无效符搜索无效符组;
[0190] 确定新令牌无效符不存在于无效符组中;以及
[0191] 向供给方参与者节点传达指示新令牌无效符不存在于无效符组中的结果消息。
[0192] 4.根据方面1至方面3中任一项的系统,其中处理器还被配置为:
[0193] 访问被存储在接收方区块链上的无效符组,无效符组包括被存储在接收方区块链上的多个令牌无效符,令牌无效符中的每个令牌无效符;
[0194] 针对新令牌无效符搜索无效符组;
[0195] 确定新令牌无效符是否存在于所述无效符组中;
[0196] 响应于新令牌无效符不存在于无效符组中的确定,允许屏蔽的交换指令到供给方智能合约和接收方智能合约的递交;以及
[0197] 响应于新令牌无效符存在于无效符组中的确定,限制屏蔽的交换指令到供给方智能合约和接收方智能合约的递交。
[0198] 5.根据方面1至方面4中任一项的系统,其中互操作性节点的处理器还被配置为:
[0199] 响应于屏蔽的交换指令到供给方智能合约和接收方智能合约的递交,将递交结果传达到供给方参与者节点,其中供给方参与者节点被配置为响应于递交结果的接收,将对应于新令牌无效符的新令牌标识符传达到接收方参与者节点。
[0200] 6.根据方面1至方面5中任一项的系统,其中零知识证明包括非交互零知识证明。
[0201] 7.根据方面1至方面6中任一项的系统,其中零知识证明包括零知识简洁非交互知识论证(zk-SNARK)。
[0202] 8.一种系统,包括:
[0203] 供给方分布式账本技术(DLT)网络的供给方参与者节点,供给方参与者节点与互操作性节点通信以用于有助于供给方参与者节点与接收方DLT网络的接收方参与者节点之间的私用令牌交换,其中供给方智能合约被存储在用于供给方DLT网络的供给方区块链中,并且接收方智能合约被存储在用于接收方DLT网络的接收方区块链中,供给方参与者节点包括处理器,处理器被配置为:
[0204] 生成屏蔽的交换指令,屏蔽的交换指令包括零知识证明、所选令牌无效符、新令牌无效符和新令牌摘要,其中所选令牌无效符包括所选令牌标识符的哈希,新令牌无效符包括新令牌标识符的哈希,并且新令牌摘要包括接收方参与者节点的至少接收者公钥和新令牌标识符的哈希,其中零知识证明指示供给方参与者节点具有对所选令牌标识符的访问权限;
[0205] 将包括新令牌无效符的验证请求传达到互操作性节点;
[0206] 基于由互操作性节点传达的验证响应,确定新令牌无效符不存在于接收方区块链上;
[0207] 响应于新令牌无效符不存在于接收方区块链上的确定,将屏蔽的交换指令传达到互操作性节点,互操作性节点被配置为将屏蔽的交换指令递交给在供给方DLT平台上被配置的供给方智能合约以及在接收方DLT平台上被配置的接收方智能合约;
[0208] 从互操作性节点接收响应于屏蔽的交换指令到供给方智能合约和接收方智能合约的递交的递交结果;以及
[0209] 响应于递交结果的接收,将新令牌标识符传达到接收方参与者节点。
[0210] 9.根据方面8的系统,其中供给方参与者节点的处理器还被配置为:
[0211] 生成新令牌标识符,新令牌标识符包括随机数;以及
[0212] 基于加密哈希函数和新令牌标识符,生成新令牌无效符。
[0213] 10.根据方面8至方面9中任一项的系统,其中零知识证明包括非交互零知识证明。
[0214] 11.根据方面8至方面10中任一项的系统,其中零知识证明包括零知识简洁非交互知识论证(zk-SNARK)。
[0215] 12.根据方面8至方面11中任一项的系统,其中供给方参与者节点的处理器被配置为:
[0216] 从互操作性节点接收递交请求,递交请求包括屏蔽的交换指令;
[0217] 响应于递交请求的接收,执行供给方智能合约,供给方智能合约被配置为使得处理器:
[0218] 访问包括多个令牌无效符的无效符组;
[0219] 在无效符组中标识所选令牌无效符;以及
[0220] 将所选令牌无效符标记为已停用。
[0221] 13.根据方面8至方面12中任一项的系统,其中处理器还被配置为:
[0222] 响应于第二屏蔽的交换指令包括所选令牌无效符、并且所选令牌无效符被标记为已停用,而拒绝第二递交请求,第二递交请求包括第二屏蔽的交换指令。
[0223] 14.根据方面8至方面13中任一项的系统,其中为了将所选令牌无效符标记为已停用,供给方参与者节点的处理器还被配置为:
[0224] 向供给方区块链附加数据块,数据块包括所选令牌无效符和停用标志之间的关联。
[0225] 15.一种方法,包括:
[0226] 获取由供给方分布式账本技术(DLT)网络的供给方参与者节点传达的屏蔽的交换指令,屏蔽的交换指令包括零知识证明、所选令牌无效符、新令牌无效符和新令牌摘要,其中所选令牌无效符包括所选令牌标识符的哈希,新令牌无效符包括新令牌标识符的哈希,并且新令牌摘要包括新令牌标识符和接收者公钥的哈希,其中零知识证明指示供给方参与者节点具有对所选令牌标识符的访问权限;
[0227] 确定新令牌无效符不存在于用于接收方DLT网络的接收方区块链上;以及[0228] 响应于新令牌无效符不存在于接收方区块链上的确定:
[0229] 将屏蔽的交换指令递交给被存储在供给方区块链上的供给方智能合约,供给方智能合约被配置为停用供给方区块链上的所选令牌无效符,并且
[0230] 将屏蔽的交换指令递交给被存储在接收方区块链上的接收方智能合约,接收方智能合约被配置为将新令牌无效符和新令牌摘要附加到接收方区块链。
[0231] 16.根据方面15的方法,其中确定新令牌无效符不存在于用于接收方DLT网络的接收方区块链上,方法还包括:
[0232] 访问被存储在接收方区块链上的无效符组,无效符组包括被存储在接收方区块链上的多个令牌无效符,令牌无效符中的每个令牌无效符;
[0233] 针对新令牌无效符搜索无效符组;
[0234] 确定新令牌无效符不存在于无效符组中;以及
[0235] 向供给方参与者节点传送指示新令牌无效符不存在于无效符组中的结果消息。
[0236] 17.根据方面15至方面16中任一项的方法,还包括:
[0237] 访问被存储在接收方区块链上的无效符组,无效符组包括被存储在接收方区块链上的多个令牌无效符,令牌无效符中的每个令牌无效符;
[0238] 针对新令牌无效符搜索无效符组;
[0239] 确定新令牌无效符是否存在于无效符组中;
[0240] 响应于新令牌无效符不存在于无效符组中的确定,允许屏蔽的交换指令到供给方智能合约和接收方智能合约的递交;以及
[0241] 响应于新令牌无效符存在于无效符组中的确定,限制屏蔽的交换指令到供给方智能合约和接收方智能合约的递交。
[0242] 18.根据方面15至方面17中任一项的方法,还包括:
[0243] 响应于屏蔽的交换指令到供给方智能合约的递交以及屏蔽的交换指令到接收方智能合约的递交,将递交结果传达到供给方参与者节点,其中供给方参与者节点被配置为响应于递交结果的接收,将对应于新令牌无效符的新令牌标识符传达到接收方DLT网络的接收方参与者节点。
[0244] 19.根据方面15至方面18中任一项的方法,其中零知识证明包括非交互零知识证明。
[0245] 20.根据方面15至方面19中任一项的方法,其中零知识证明包括零知识简洁非交互知识论证(zk-SNARK)。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈