分布式交易共识网络上数字财产交易的匿名性和可追踪性的制作方法

文档序号:19429760发布日期:2019-12-17 16:18阅读:280来源:国知局
分布式交易共识网络上数字财产交易的匿名性和可追踪性的制作方法

本公开总体上涉及用于提高分布式交易共识网络上的数字财产交易的匿名性和可追踪性的方法和相关系统、装置以及计算机可读介质。



背景技术:

一些加密货币系统具有较高的匿名性和较低的可追踪性,诸如比特币。个人或公司实体可以在不公开任何真实世界标识的情况下开设账户。每个账户通过虚拟钱包地址来标识。然后,账户所有者可以从其他人接收或向其他人汇款加密货币。记录在区块链中的交易包括发送者的虚拟钱包地址、接收者的虚拟钱包地址和汇款金额。由于账户所有者的真实世界标识(诸如姓名、社会保障号码和电话号码)与其虚拟世界标识(虚拟钱包地址)之间没有任何联系或联接,所以这样的系统具有高匿名性和低可追踪性。即使系统被黑客入侵并且交易分户账被盗,也不会发现账户所有者的真实世界标识。追踪交易的真实发送者和接收者几乎是不可能的。结果,这样的系统可能成为易于洗钱的工具。



技术实现要素:

本公开针对用于提高数字财产管理系统的匿名性和可追踪性的方法和相关系统、装置和计算机可读介质,数字财产管理系统使用密码技术处理交易来管理分布式交易共识网络上的数字财产交易。

数字财产管理系统包括多个数字财产管理器,数字财产管理器可以是银行、电信运营商(“电信公司”)等。每个数字财产管理器都有(1)数字财产管理模块(“模块”)以处理其客户(订户)信息和客户的虚拟钱包,并将客户的汇款请求转换为实际的交易,以及(2)交易节点(分布式交易共识网络的节点),以处理交易。

数字财产管理模块包括执行所需功能的各种硬件和软件。当订户以数字财产管理器打开虚拟钱包时,通过其数字财产管理模块创建并维护他/她的个人信息,个人信息包括的可用于识别真实世界中的个人或实体的现实标识(诸如姓名、社会保障号码、和电话号码)以及可用于他/她的虚拟钱包的虚拟标识(诸如虚拟钱包id和虚拟钱包地址)。因此,发送者的数字财产管理模块(“发送者模块”)具有发送者的现实标识和虚拟标识,并且接收者的数字财产管理模块(“收件者模块”)具有接收者的现实标识和虚拟识别。当请求汇款交易时,发送者通常向发送者的数字财产管理模块(“发送者模块”)提供他/她的现实标识、接收者的现实标识和汇款金额。为了提高匿名性,可以使用若干种措施。在一个实施例中,不允许发送者模块使用接收者的虚拟标识,以使得不能轻易地追踪特定的汇款交易。类似地,不允许接收者模块使用发送者的虚拟标识。然而,为了构建汇款交易,发送者的虚拟标识和接收者的虚拟标识必须都被使用。因此,发送者模块和接收者模块必须协同工作,但是同时避免不必要的信息共享以保护个人的交易信息。在一个实施例中,由于发送者模块不能够访问接收者的虚拟标识,所以接收者模块必须向发送者模块提供标志作为接收者的虚拟标识的临时替代者。通过这种方法,即使黑客能够使用分布式交易共识网络的分布式分户账和/或数字财产管理模块的分户账,也不能够追踪特定的汇款交易。同样的,没有单独的数字财产管理模块可以追踪特定的汇款交易,因为它不能既匹配发送者和接收者的现实标识又匹配虚拟标识。

为了进一步提高匿名性和安全性,模块和节点可以在消息上创建签名并且将一起发送它们以证明对消息是真实的。为了避免无关的模块拦截和滥用消息,模块和节点也可以对消息进行加密。

为了避免数字财产管理系统成为易于洗钱的工具,该系统必须提供一种在必要时追踪特定交易的机制。汇款交易可以包括多个子交易(统称为“交易集合”),包括发送交易、管理器间交易和交付交易。发送者模块或接收者模块可以为每个子交易创建一个通过使用追踪秘钥进行加密的标签。标签包括用于标识交易集合中的每个子交易及其顺序的信息)。追踪密钥可以是对称密钥或非对称密钥。在一个实施例中,当追踪密钥是对称密钥时,每个数字财产管理模块创建并保持其自己的对称追踪密钥以加密标签。对称追踪密钥还与网络管理员tbca110或授权/指定的节点共享。执行追踪功能的授权或指定的节点被视为是网络管理员。在另一个实施例中,当追踪是非对称密钥时,网络管理员tbca110或授权/指定的节点创建包括追踪公钥和追踪私钥的追踪密钥对。追踪公钥由数字财产管理模块用来为汇款交易集合中的每个子交易加密标签。网络管理员对追踪私保密。必要时,网络管理员或授权/指定的节点可以解密标签并重建整个汇款交易。

本公开的附加特征和优点将在随后的描述中被阐述,并且部分地将从描述中显而易见,或者可以通过本公开的实践而获知。本公开的目的和其它优点将通过在书面描述及其权利要求以及附图中特别指出的结构和方法来实现和获得。

应当理解,前面的一般描述和下面的详细描述都是示例性和说明性的,并且旨在提供对所要求保护的本发明的进一步解释。

附图说明

图1是示出了分布式交易共识网络的示意图。

图2是示出了上述网络的示例节点的框图。

图3是示出了数字财产管理模块、订户及其相应的虚拟钱包的框图。

图4是示出了区块结构、区块头结构和签名的示例的表。

图5是示出了示例网络设备的示意图。

图6a至图6c是示出了用于两个虚拟钱包之间的汇款交易的数据结构的示例的表。

图7是示出了包括发送交易、管理器间交易和交付交易的汇款交易的示例的表。

图8是示出了在汇款交易中使用标志来临时替代接收者的虚拟钱包地址的示例的示意图。

图9是示出了在汇款交易中使用标志来临时替代接收者的虚拟钱包地址的另一个示例的示意图。

图10是示出了汇款交易中包括两个子交易的交付交易的示例的表。

图11是示出了汇款交易的示例的表,该汇款交易的子交易的输入数字财产为基本金额。

图12是示出了包括用于追踪的交易集合字段的汇款交易数据结构的示例的表。

具体实施方式

在下面给出的描述中使用的术语旨在以其最广泛的合理方式解释,即使其与该技术的某些特定实施例的详细描述结合使用。以下甚至可以强调某些术语;但是,任何旨在以任何受限方式解释的术语将在本具体描述部分中具体定义。

下面介绍的实施例可以通过由软件和/或固件编程或配置的可编程电路实现,或完全通过专用电路实现,或通过这些形式的组合实现。这种专用电路(如果存在的话)可以是例如一个或多个专用集成电路(asic)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)等的形式。

所描述的实施例涉及一种或多种方法、系统、装置和存储有处理器可执行的处理步骤的计算机可读介质,以提高数字财产管理系统的匿名性和可追踪性,该数字财产管理系统基于分布式交易共识网络中的密码技术来管理数字财产交易。可以使用本领域普通技术人员已知的各种密码算法。由于分布式分户账用于记录数字财产交易,所以在分布式交易共识网络中的大量节点上都维护着分布式分户账的完整副本。黑客未经授权的使用分布式分户账中记录的交易信息以及数字财产管理模块中存储的订户和虚拟钱包信息的风险不能够被完全地避免。因此,匿名性是期望的,以避免个人的交易信息被滥用。然而,给于数字财产交易该匿名性特征,这样的分布式交易共识网络可能会成为易于洗钱的工具。因此,数字财产管理系统必须提高匿名性,同时能够同时追踪特定的数字财产交易。

数字财产管理系统包括多个数字财产管理器,数字财产管理器可以是银行、电信运营商(“电信公司”)等。每个数字财产管理器具有(1)数字财产管理模块(“模块”)以处理其客户(订户)信息和客户的虚拟钱包、并将客户的汇款请求转换为实际的汇款交易,以及(2)交易节点(分布式交易共识网络的节点),以处理交易。

数字财产管理模块包括执行所需功能的各种硬件和软件。当订户以数字财产管理器打开虚拟钱包时,通过其数字财产管理模块创建并维护他/她的个人信息,个人信息包括的可用于识别真实世界中的个人或实体的现实标识(诸如姓名、社会保障号码、和电话号码)以及可用于识别他/她的虚拟钱包的虚拟标识(诸如虚拟钱包id和虚拟钱包地址)。因此,发送者的数字财产管理模块(“发送者模块”)具有发送者的现实标识和虚拟标识,并且接收者的数字财产管理模块(“收件者模块”)具有接收者的现实标识和虚拟识别。为了提高匿名性,可以使用若干种措施。在一个实施例中,不允许发送者模块使用接收者的虚拟标识,以使得不能轻易地追踪特定的汇款交易。类似地,不允许接收者模块使用发送者的虚拟标识。

当请求汇款交易时,发送者通常提供具有他/她的现实标识的发送者模块、接收者的现实标识和汇款金额。然而,为了构建汇款交易,发送者的虚拟标识和接收者的虚拟标识必须都被使用。因此,发送者模块和接收者模块必须协同工作,但是同时避免不必要的信息共享以保护个人的交易信息。在一个实施例中,由于发送者模块不能够使用接收者的虚拟标识,所以接收者模块必须向发送者模块提供标志(token)作为接收者的虚拟标识的临时替代者。通过这种方法,即使黑客能够使用分布式交易共识网络的分布式分户账和/或数字财产管理模块的分户账,也不能够追踪特定的汇款交易。同样的,没有单独的数字财产管理模块可以追踪特定的汇款交易,因为它不能既匹配发送者和接收者的现实标识又匹配虚拟标识。

例如,发送者(例如威廉)发起汇款交易以将数字财产转移给接收者(例如史蒂夫)。威廉拥有一个使用att的虚拟钱包,经由他的手机号码(或移动订阅号码,“msn”)从att订购服务。威廉的现实标识是他的手机号码,并且他的虚拟标识是他的虚拟钱包地址。史蒂夫拥有一个使用fet的虚拟钱包,经由他的手机号码从fet订购服务。史蒂夫的现实标识也是他的手机号码,并且他的虚拟标识是他的虚拟钱包地址。发送者的例如att模块的数字财产管理模块(“发送者模块”)从接收者的例如fet模块的数字财产管理模块(“接收者模块”)请求标志,并使用标志作为用于构建临时交易的接收者的虚拟钱包地址的临时替代者。因此,att模块不具有到史蒂夫的虚拟钱包地址的使用途径。即使黑客闯入了att模块的服务器,完成的汇款交易信息仍然能够得到保护。

当汇款交易包括多个子交易时,可以使用若干种措施来断开发送者的虚拟钱包、接收者的虚拟钱包和汇款交易金额之间的连接。在一个实施例中,从发送者到接收者的汇款交易包括三个部分,分别是(a)发送交易—将数字财产从发送者的虚拟钱包转移到发送者模块的虚拟钱包,(b)管理器间交易—将数字财产从发送者模块的钱包转移到接收者模块的钱包,以及(c)交付交易—将数字财产从接收者模块的虚拟钱包转移到接收者的虚拟钱包。每个部分可以构成一个或多个子交易。如果发送交易、管理器间交易和交付交易中的一个或多个可以进一步拆分为两个或多个子交易,则匿名性会进一步提高。在另一个实施例中,为了进一步断开子交易之间的连接,这些子交易的输入数字财产(诸如输入utxo)处于基本金额。

为了提高可追踪性,当汇款交易包括多个子交易时,创建经加密的标签以识别并指定汇款交易集合中的每个子交易的顺序。在一个实施例中,汇款交易包括三个子交易(即,发送交易、管理模块间交易和交付交易),给于每个子交易一个标签以表明它们所属的特定交易集合及其在该集合中它们的顺序。使用追踪密钥对标签进行加密,以使得在解密之后只有网络管理员和/或授权的交易节点能够识别同一交易集合中的三个子交易,以重建集合并追踪虚拟钱包以及与特定的交易连接的金额。

数字财产管理系统使用各种对称和/或非对称密钥算法来提高交易安全性、匿名性和可追踪性。对称密钥算法只具有一个密钥。非对称密钥算法具有包括公钥和私钥的密钥对。例如,可以使用对称密钥算法aes(高级加密标准)和des(数据加密标准)来用于加密;可以使用非对称密钥算法ecdsa(椭圆曲线数字签名算法)来用于签名;可以使用非对称密钥算法rsa(rivest-shamir-adleman)来用于签名和加密。为了提高交易安全性,虚拟钱包具有包括交易公钥和交易私钥的非对称密钥对。为了提高匿名性,订户、数字财产管理模块和交易节点可以分别具有其自己的非对称密钥对,非对称密钥对包括用于签名和/或加密的消息公钥和消息私钥。为了提高可追踪性,可以使用对称密钥对或非对称密钥对来用于加密。当使用非对称密钥对时,网络管理员或其授权/指定的节点具有追踪公钥和追踪私钥。当使用对称密钥时,数字财产管理模块具有与网络管理员或其授权/指定的节点共享的自己的追踪密钥。对于不太复杂的系统,消息密钥对可以与交易密钥对相同。

在一个实施例中,如图1所示,使用密码技术实现了在本公开中称为tbca(区块链联盟)网络的分布式交易共识网络100,以处理数字财产交易。tbca网络100包括多个节点,包括管理员110、交易节点120、130、140、150、共识节点130、140、160、170以及其他的节点180、190。如图2所示,每个节点通常包括:处理器,以执行计算和执行程序;存储器,以存储软件、程序和数据;显示屏,以与用户交流;输入/输出组件以与用户和其他设备进行通信,以及网络组件以通过有线或无线信道与网络连接。

在本公开中称为tbca的管理员110设置规则并管理tbca网络100。管理员110具有虚拟钱包(未示出)以存储由其自身发行的数字费用标志或由其他数字财产管理器发行的数字财产。管理员110可以允许节点加入分布式交易共识网络100(tbca网络)并成为该网络的成员。另外,管理员110(tbca)可以授权数字财产管理器发行各种数字财产,诸如数字货币、数字证券、数字债券、数字期货和数字贵金属。数字财产管理器可以通过其数字财产管理模块或其交易节点(诸如120-150)发行数字财产。管理员110可以授权或指定其他的节点来执行其部分功能,诸如追踪特定的数字财产交易。就此而言,管理员包括其授权和/或指定的节点。

在一个实施例中,交易节点(例如交易节点120、150)可以为其数字财产管理器发行数字财产。交易节点与诸如银行(例如美国银行(boa)或大通银行)、投资/交易机构(例如富达或高盛)、或电信运营商(例如at&tinc.(att)、软银公司(sbt)或中华电信)的数字财产管理器相关联。在一个实施例中,数字财产可以是数字货币、数字证券、数字债券、数字期货、数字贵金属或数字费用代币中的任何一种。如图3所示,发行的数字财产被存储至数字财产管理器的虚拟钱包312、322。这样的虚拟钱包312、322由数字财产管理器的数字财产管理模块310、320管理,虚拟钱包312、322可以存储由其自己的数字财产管理器、其他数字财产管理器或管理员tbca110发行的各种数字财产。每个虚拟钱包具有虚拟钱包id,在一些实施例中,虚拟钱包id可以是虚拟钱包地址。另外,每个虚拟钱包具有交易公钥和交易私钥。为了花费存储在虚拟钱包中的数字财产,必须使用与其虚拟钱包关联的交易私钥来对交易进行签名。

每个交易节点120、150对应于数字财产管理模块(“模块”),数字财产管理模块包括硬件和软件以构造、签名交易并将交易发送到交易节点。在一个实施例中,数字财产管理模块包括钱包服务器、签名服务器、中间件(也称为交易处理引擎)、标志映射数据库、交易节点查找api的消息公钥等,以实现这些功能。

共识节点130、140、160、170可以在分布式分户账(向tbca网络100的成员/节点开放)中提议、验证和记录交易。在一些分布式交易共识网络中,共识节点可以接收用其提供的服务换取的奖励。在这种情况下,共识节点通常称为矿工。奖励可以是由管理员110(tbca)发行的t币和/或由数字财产管理器发行的数字财产,奖励可以存储在矿工的虚拟钱包(未示出)中。在其他的分布式交易共识网络中,共识节点不接收任何奖励。在这种情况下,共识节点经常称为验证者。积极提议新区块的验证者经常称为提议者或区块提议者。

分布式分户帐本质上是可以在各个站点、地理位置或机构中的多个节点的分布式交易共识网络之间共享的数字财产数据库或数据结构。网络中的所有节点可以拥有它们自己的相同的分户账副本。对分户账的任何更改都可以在几分钟或在某些情况下在几秒内反映在所有副本中。通过使用密钥和签名来控制谁可以在分布式分户账内做什么,存储在分户账中的数字财产的安全性和准确性以加密方式维持。在一个实施例中,区块链数据结构被用于分布式分户账。共识节点可以创建新区块来记录经验证的交易,然后将新区块传播到网络的其他节点。然而,分布式分户账可以使用本领域普通技术人员已知的任何其他数据结构。

为了最大化新区块生成的吞吐量以使得tbca网络100可以立即地完成大量的交易,管理员110可以管理共识节点的金额、和/或为共识节点设置规则以相互竞争和/或支持、和/或指定一个或多个共识节点来生成用于记录交易的新区块。交易节点130、140也可以是共识节点。可以允许其他的节点180、190加入tbca网络100以用于其他功能。

数字财产管理器的订户可以打开并拥有一个或多个虚拟钱包,由其数字财产管理模块进行管理。每个用户可以具有一个或多个现实标识,诸如社会保障号码、护照号码、电话号码。类似地,每个订户可以具有一个或多个虚拟标识,诸如虚拟钱包id、虚拟钱包地址等。在一些实施例中,虚拟钱包id是虚拟钱包地址。数据结构将每个订户的现实标识映射到他/她的虚拟标识,该数据结构通过订户的数字财产管理器的数字财产管理模块来创建和维护。

另外,每个订户的虚拟钱包具有交易公钥和交易私钥。为了花费存储在他或她的虚拟钱包中的数字财产,订户必须使用与虚拟钱包相关联的交易私钥来对交易进行签名。在如图3所示的一个实施例中,提供虚拟钱包314、324以为订户(例如个人、投资者和/或交易者)存储、发送、接收和管理数字财产,该数字财产包括多种类型的数字财产、债权和债务,例如数字货币、数字证券、数字债券、数字期货、数字贵金属和数字费用代币。每个虚拟钱包314、324与数字财产管理模块310、320相关联并且可以由虚拟钱包id(例如,lfltaaz5xlhuxrcnlbtmdqcw6o5gnn4xq和16ulzujwvlhzjkfrs8aa9c3xhtjiayytns)、或在一些实施例中由地址来标识。在一个实施例中,虚拟钱包314只能存储、发送、接收和管理由数字财产管理器通过与虚拟钱包314相关联的其数字财产管理模块310发行的各种数字财产,而不是由其他数字财产管理器发行的数字财产。

除了一对交易公钥和交易私钥之外,每个订户还具有一对消息公钥和消息私钥,用于对机密消息进行加密或签名以证明消息是真实的。创建并维护订户与其消息公钥一对一映射的数据库,以使得这样的映射可以由所有的数字财产管理模块使用。每当订户使用数字财产管理器打开虚拟钱包时,应添加映射。

每个交易由共识节点和交易节点记录在向tbca网络100中的其他节点开放的分布式分户账中。在一个实施例中,分布式分户账包括区块链中的区块。图4a至图4c示出了区块结构、区块头结构和签名的实施例。每个区块均由通过sha256加密算法对区块头进行两次散列(hash)形成的区块散列(blockhash)标识。另外,通过区块头中的“先前区块散列”字段,将每个区块引用回先前的区块(称为父区块)。因此,散列序列将每个区块链接至其父区块,以创建一路返回至创建的第一个区块的链。当这些区块彼此堆叠在一起时,反向交易的困难变得会如同指数级般的增长。因此,随着时间的推移,区块中记录的交易变得越来越受信任。根据区块和交易的大小,平均区块可以包含数百笔交易。完整且最新的分布式分户帐存储在管理员、交易节点、共识节点和其它管理员110允许的节点的数据库(或文件)中,以存储这样的分户账(“完整节点”)。一些节点可以选择为仅存储这种分户账的部分。

如图5所示,数字财产管理器的订户可以通过诸如服务器、台式计算机、便携式计算机、平板电脑、手机、陆上通讯线电话和pda的网络设备(通过移动、wifi或有线的信道连接到任何因特网连接)请求交易,以由tbca网络100处理和记录交易。在一个实施例中,数字财产交易的基础构建要素是未花费的交易输出(“utxo”)。utxo是由交易私钥锁定到特定虚拟钱包的数字财产的不可分割区块,其可以是任意值。订户的虚拟钱包可以包括来自记录在数百个区块中的数百笔先前交易的许多utxo。在一个实施例中,订户可以请求汇款交易以将数字财产的特定值转移到饭店,以例如支付一顿饭。交易可以包括来自订户的虚拟钱包的一个或多个交易输入(输入utxo)以及给接收的虚拟钱包的一个或多个交易输出(输出utxo),例如给饭店的餐费以及退还给订户的找零)。交易输入是从先前交易生成的并且从未使用过的指向utxo的指针。交易输出是锁定到接收的虚拟钱包的utxo,将来可以由其所有者花费。作为通常的规则,交易输入价值的总和应等于交易输出价值的总和。在常规的数字财产交易中,不应产生或损失任何价值。

由数字财产管理模块常规地准备交易,然后数字财产管理模块将交易提交至其交易节点,该交易节点是用于在分布式分户账中记录的分布式交易共识网络(诸如tbca网络100)的节点。在一个实施例中,数字财产管理模块包括钱包服务器、签名服务器和中间件,以及一些数据结构/数据库和用于存储的存储器栅格。钱包服务器接收来自订户的交易请求、收集所有必要信息、并将其提交至中间件。中间件使用这些信息来构造由一串字节表示的交易,并将交易发送回钱包服务器,然后钱包服务器将交易传递给签名服务器。在使用虚拟钱包的交易私钥对交易进行签名之后,签名服务器将签名的交易返回给钱包服务器,然后钱包服务器将其传递回中间件。中间件将经签名的交易发送至交易节点(分布式交易共识网络的节点),交易节点将其传播至网络。在接收到经签名的交易之后,分布式交易共识网络上的其他节点(包括交易节点和共识节点)将独立地核实和验证交易,然后将经验证的交易添加至交易池中。每个节点在进一步传播交易之前,使用相同的标准独立地验证每个交易。在使用区块链数据结构的实施例中,共识节点将创建新区块,新区块从交易池中提取交易。在核实和验证新区块之后,共识节点然后将新区块传播至其他节点。在接收到新区块之后,网络上的节点将使用相同的标准独立地核实和验证新区块。一旦节点验证了新区块,然后节点将把新区块连接到其现有的区块链。然后,提交此新区块中的交易。新所有者可以从这些交易花费输出utxo。最终,除非网络被攻击、断开连接或发生故障,否则网络上的每个完整节点都将具有相同的分户账或区块链的副本。要求多个节点达成关于分布式分户账的共识是一种增强交易安全性的机制,多个节点中的每一个独立地验证相同交易和/或具有相同标准的区块。分布式交易共识网络达成共识所需的节点越多,网络越安全。可以通过本领域技术人员已知的各种规则和/或算法来确定是否达成共识。在一个实施例中,当发生分叉时,可以通过比较链中的区块的长度(或深度)、并且具有更长链的分叉获胜来达成共识,诸如通过比特币网络中采用的算法。一个矿工或一组矿工共同拥有的计算能力越强,他们在证明完成工作方式下可以生成的区块就越多。换句话说,共同具有多数计算能力的共识节点所接受的区块将成为以后由其他节点采用的共识。在另一个实施例中,可以通过多数共识节点达成共识。因此,由多数共识节点验证的区块将被传播到其他节点用于验证和记录。作为分布式交易共识网络,tbca网络100需要在每个交易上达成共识,然后每个交易被记录在存储于多个节点中的分布式分户账中。

如前所述,每个虚拟钱包都与特定的数字财产管理模块相关联,数字财产管理模块可以由银行、金融机构、证券交易公司、投资公司、电信运营商(“电信公司”)等操作。每个虚拟钱包在tbca网络100中具有一个唯一的虚拟钱包id。例如,威廉作为订户可以拥有多个虚拟钱包,每个虚拟钱包由一个虚拟钱包id标识,并分别通过一个账号与美国银行(“boa”)、富达或高盛相关联、或通过电话号码与at&tinc.(“att”)、softbankcorp.(“sbt”)或fareastone电信公司(“fet”)相关联。在一个实施例中,每个虚拟钱包只能存储由与虚拟钱包相关联的数字财产管理器发行的数字财产。例如,与美国银行相关联的威廉的虚拟钱包只能存储美国银行发行的数字财产;与att相关联的威廉的虚拟钱包只能存储att发行的数字财产。

每个交易节点可以发行各种不同类型的数字财产,诸如数字货币,例如数字美元、数字日元、数字欧元和数字新台币;数字证券,例如数字苹果股票、数字谷歌股票和数字共同基金;数字贵重金属,例如数字黄金、数字铂金和数字银;以及数字期货,例如咖啡豆、大豆和玉米的数字期货。每种数字财产的特征在于数字财产类型及其数字财产管理器的组合。在一个实施例中,该组合可以是用于数字财产类型的符号、随后是用于数字财产管理器的符号和分隔两个符号的点。在一个示例中,美国银行(其符号为“boa”)可以发行数字美元(其符号为“$usd”)和数字日元(其符号为“$jpy”),在本实施例中,可以被标识为$usd.boa(在本实施例中,1$usd.boa价值为1美元)和$jpy.boa(在本实施例中,1$jpy.boa价值为1日元)。

在一个实施例中,utxo的调节币(“fc”)字段用于指示数字财产的类型及其发行者。作为一个示例,fc等于10表示由fet发行的数字美元($usd.fet);fc等于11表示由fet发行的数字新台币($ntd.fet);fc等于20表示由att发行的数字美元($usd.att);fc等于21表示由att发行的数字新台币($ntd.att)。除了价值(或数字财产的金额或单位)之外,每个输出utxo包括fc字段以指示数字财产的类型及其发行者。

在一个实施例中,从发送者到接收者的汇款交易包括三个部分,分别是(a)发送交易—将数字财产(由发送者的数字财产管理器发行)从发送者的虚拟钱包转移到发送者模块的虚拟钱包,(b)管理器间交易—将数字财产(由发送者的数字财产管理器或接收者的数字财产管理器发行)从发送者模块的虚拟钱包转移到接收者模块的虚拟钱包,以及(c)交付交易—将数字财产(由接收者的数字财产管理器发布)从接收者模块的虚拟钱包转移到接收者的虚拟钱包。为了完成此汇款交易,例如是三个子交易(如果每个部分构成一个子交易)的三个部分(一个交易集合)必须做为一个整体被验证和确认。如果一个子交易被拒绝,则所有三个子交易必须都被拒绝。图6a至图6c示出了汇款交易及其交易输入和输出的数据结构的实施例。在一个实施例中,该实现还符合一种可选的要求,即订户(例如发送者和接收者)的虚拟钱包仅存储由与该订户的虚拟钱包相关联的数字财产管理器发行的数字财产。

在一个实施例中,在美国的威廉想使用存储在他的与att模块(发送者模块)相关联的虚拟钱包中的数字财产向在台湾的具有与fet(收件者模块)相关联的虚拟钱包的史蒂夫汇款。威廉将汇款请求从手机发送到att模块(发送者模块)。汇款请求包括与att关联的威廉的手机号码(也称为移动订户号码,msn)、与fet关联的史蒂夫的手机号码以及要汇款的数字财产的金额和类型,例如60$usd.att(由att发行的数字美元)。然后,att模块(发送者的数字财产管理模块)将与fet模块(接收者的数字财产管理模块)进行通信以收集所有必要信息并协同构建汇款交易,汇款交易包括将要发送到分布式交易共识网络(例如tbca网络100)的att交易节点或fet交易节点的发送交易、管理器间交易和交付交易。

改善匿名性的一种方法是在发送者的数字财产管理模块和接收者的数字财产管理模块之间实现新颖的交互,以使得两个模块在协同构建汇款交易的过程中都无法使用发送者的虚拟钱包id和收件者的虚拟钱包id以追踪特定的汇款交易。例如,发送者的数字财产管理模块具有发送者的手机号码、发送者的虚拟钱包id和接收者的手机号码(由发送者提供),但是无法使用接收者的虚拟钱包id。类似地,接收者的数字财产管理模块具有接收者的手机号码、接收者的虚拟钱包id、发送者的手机号码(由发送者模块提供),但是无法使用发送者的虚拟钱包id。结果,闯入任何数字财产管理模块的黑客不能够获得所有必要信息来追踪任何特定的汇款交易。

图7示出了一个实施例,其中汇款交易包括三个部分(每个部分构成一个子交易)以完成从威廉的虚拟钱包到史蒂夫的虚拟钱包的支付转移。最后,史蒂夫将接收到60$usd.fet(由fet发行的数字美元)。完成汇款交易的这三个子交易统称为交易集合。(请注意,每个子交易可以被tbca网络100视为交易)。在汇款交易之前,威廉的虚拟钱包具有3个utxo,分别为具有金额4、21和50以及类型为$usd.att;att的虚拟钱包具有3个utxo,分别为金额28、36和66以及类型为$usd.att;fet的虚拟钱包具有3个utxo,分别为金额17、48和123以及类型为$usd.fet。史蒂夫的虚拟钱包有1个utxo,金额为100以及类型为$usd.fet。发送交易具有两个输入utxo(从威廉的虚拟钱包中选择的21和50$usd.att)以及两个输出utxo(锁定到att的虚拟钱包的60$usd.att和锁定到威廉的虚拟钱包的11$usd.att(退回给威廉的找零))。管理器间交易具有一个输入utxo(从att的虚拟钱包中选择的66$usd.att)以及两个输出utxo(锁定到fet的虚拟钱包的60$usd.att和锁定到att的虚拟钱包的6$usd.att(退回给att的找零))。交付交易具有两个输入utxo(从fet的虚拟钱包中选择的17和48$usd.fet)以及两个输出utxo(锁定到史蒂夫的虚拟钱包的60$usd.fet和锁定到fet的虚拟钱包的5$usd.fet(退回给fet的找零))。在所有三个子交易都传播到分布式交易共识网络(诸如tbcanetwork100)并被提交之后,威廉的虚拟钱包具有2个utxo(分别地金额为4和11以及类型为$usd.att)、att的虚拟钱包具有4个utxo(分别地金额为6、28、36和60以及类型为$usd.att)、fet的虚拟钱包具有3个utxo(分别地金额为60以及类型为$usd.att,以及金额为5和123以及类型为$usd.fet);史蒂夫的虚拟钱包具有2个utxo(分别地金额为60和100以及类型为$usd.fet)。

在一个实施例中,如图8所示,发送者的数字财产管理模块与接收者的数字财产管理模块协同工作以接收发送者的汇款请求并将其转换为包括用于分布式交易共识网络的以适当格式的三个部分的汇款交易,同时保持汇款交易的匿名性。发送者的数字财产管理模块800包括发送者的钱包服务器802、发送者的中间件804、其自己的一对消息公钥和消息私钥以及查找api,查找api用于检索接收者的交易节点的消息公钥。接收者的数字财产管理模块810包括接收者的钱包服务器812、接收者的中间件814以及其自己的一对消息公钥和消息私钥。

消息公钥与其他数字财产管理模块共享并可以由其他数字财产管理模块使用,并且保持消息私钥是机密的且只能由其所有者使用。消息发送者(是密钥的所有者)使用消息私钥来为使用消息公钥的消息接收者(不是密钥的所有者)在消息上创建签名,以证明它们是未经更改的真实消息。消息发送者(不是密钥的所有者)可以使用消息公钥来创建经加密的消息,以使得只有预期的消息接收者(是密钥的所有者)可以通过使用消息私钥解密消息以得知内容。

在图8的步骤830中,发送者的钱包服务器802从发送者(例如威廉)接收给接收者(例如史蒂夫)用于转移金额(例如60数字美元)的汇款请求。汇款请求至少包括(1)发送者的现实标识(诸如威廉的手机号码),(2)接收者的现实标识(诸如史蒂夫的手机号码)以及用于汇款的数字财产的金额及其类型。发送者的钱包服务器802可以直接从发送者接收发送者的虚拟标识(威廉的虚拟钱包id)或者可以从发送者的数字财产管理模块的数据存储中检索它。

为了完成汇款交易,分布式交易共识网络需要接收者的虚拟标识,史蒂夫的虚拟钱包id。由于发送者的数字财产管理模块不知道接收者的数字财产管理模块是谁,所以必须将发送者的现实标识(史蒂夫的手机号码)传播到所有其他数字财产管理模块,以定位发送者的数字财产管理模块并检索接收者的用于交易的虚拟标识(史蒂夫的虚拟钱包id)。为了改善匿名性,不允许发送者的数字财产管理模块具有接收者的虚拟钱包id,因此,接收者的数字财产管理模块必须向发送者的数字财产管理模块发送标志,该标志最终可以与接收者的虚拟钱包id相关。

在步骤832中,发送者的钱包服务器802向例如由电信运营商(“电信公司”)操作的所有其他数字财产管理模块的钱包服务器发送标志请求,以从接收者的钱包服务器812寻求标志响应,因为发送者的钱包服务器不知道接收者与哪个数字财产管理模块相关联。例如,att不知道fet是与史蒂夫的手机号码相关联的电信公司。标志请求可以通过经加密的网络直接发送到所有其他数字财产管理模块。可选地,标志请求可以被广播到包括所有其他数字财产管理模块的网络,并且依赖对等点传播(peer-to-peergossip)以到达接收者的数字财产管理模块并获得标志响应。在这样的方案中,当接收标志请求的无关的数字财产管理模块不是接收者的数字财产管理模块时,它将标志请求传播到其所有对等点。如果这种无关的数字财产管理模块接收到标志响应,则它将标志响应中继回发送标志请求的对等点。

在一个实施例中,标志请求包括诸如att的发送者的数字财产管理模块(“发送者模块”)的标识、诸如史蒂夫的手机号码的接收者的现实标识、以及通过使用发送者模块的消息私钥在发送者模块的标识和接收者的现实标识的散列或原始数据上创建的签名。结果,接收者的数字财产管理模块(“接收者模块”)可以通过使用发送者模块的消息公钥并比较消息的散列或原始数据来验证标志请求中的消息(例如,att和史蒂夫的手机号码)是真实的。

在接收到标志请求之后,接收者模块验证消息是真实的,然后通过检查他/她的现实标识(诸如史蒂夫的手机号码)来确认接收者是订户。然后,接收者模块生成标志,并创建将标志与接收者的虚拟标识(诸如史蒂夫的虚拟钱包id)相关联的标志映射。在一个实施例中,标志可以是随机生成的字符串。为了防止不相关的数字财产管理模块拦截标志并滥用它,在一个实施例中,接收者模块还使用发送者模块的消息公钥对标志进行加密、或者对标志和接收者模块(诸如fet)的标识进行加密。因此,只有发送者模块可以使用其自己的消息私钥来解密标志。标志可以意思是经加密的标志或者未经加密的标志。

在一个实施例中,当生成了标志时,标志的副本也被放置在有效标志池中。在标志用于构造的交付交易被提交到分布式分户账之后,将其从有效标志池中删除以防止再次被使用。在另一个实施例中,标志包括时间戳以指示标志被生成的时间。在给定的时间段过去之后,标志将被拒绝并且不能够再用于构建交易。

在步骤834中,接收者的钱包服务器812将标志响应直接发送回发送者的钱包服务器802。可选地,标志响应被发送到包括所有其他数字财产管理模块的钱包服务器的网络,然后通过对等点传播中继回到发送者的钱包服务器。标志响应可以包括(1)发送者的数字财产管理模块的标识,例如att,(2)接收者的现实标识,例如史蒂夫的手机号码(3)标志和通过使用发送者的数字财产管理模块的消息公钥进行加密的接收者的数字财产管理模块的标识(例如fet),以及(4)通过使用他/她的消息私钥在上述(l)-(3)项上创建的接收者的签名。接收者的签名使得发送者的数字财产管理模块能够验证接收者的数字财产管理器以及上述(1)-(3)项消息中的信息是真实的,以确保它不是来自于虚假来源并且未被更改。

在接收到标志响应之后,发送者的数字财产管理模块使用接收者的消息公钥检查接收者的签名,以验证标志响应确实来自接收者的数字财产管理模块,接收者的数字财产管理模块是唯一可以代表接收者签名的模块。发送者的数字财产管理模块还必须使用其消息私钥来检索消息(诸如标志和fet),来解密经加密的标志和接收者模块的标识。

在步骤836中,在收集了所有必要信息之后,发送者的钱包服务器802将该信息提供给发送者的中间件804,以构造用于分布式交易共识网络的汇款交易。在一个实施例中,发送者的中间件804试图构建发送交易、管理器间交易和交付交易。为了构建发送交易,发送者的中间件804基于汇款金额(诸如图7中的21和50$usd.att)从发送者的虚拟钱包选择一个或多个utxo。发送交易需要由发送者的交易私钥进行签名。发送者的中间件将其发送回发送者的钱包服务器802,钱包服务器802与签名服务器对接以对发送交易进行签名。然后,签名服务器将经签名的发送交易返回给发送者的钱包服务器802,发送者的钱包服务器802将其返回给发送者的中间件804。类似地,为了构建管理器间交易,发送者的中间件802从发送者的数字财产管理器的虚拟钱包选择一个或多个utxo,诸如图7中的66$usd.att。管理器间交易也需要按照与发送交易相同或相似的过程进行签名。为了构造交付交易,发送者的中间件802使用标志来替代接收者的虚拟钱包id并且构造临时交付交易。

在步骤837中,发送者的中间件804从交易节点查找api806的消息公钥中检索接收者的交易节点的消息公钥。查找api806需要检查存储在两个数据库(数字财产管理器到交易节点缓存807、交易节点到消息公钥缓存808)中的信息,以抽取接收者的交易节点的消息公钥。为了改善匿名性,不允许接收者的数字财产管理模块使用发送者的虚拟标识,诸如虚拟钱包id。因此,发送者的数字财产管理模块通过使用接收者的交易节点的消息公钥对经签名的发送交易进行加密。

出于安全原因,诸如850、860之类的交易节点将定期生成包括消息公钥和消息私钥的新密钥对,将其提交给分布式交易共识网络并将其记录到分布式分户账中。每当生成新密钥对时,交易节点850、860将新消息公钥推送到诸如808、818的节点到公钥缓存中。交易节点850、860将在其存储器中保存当前的消息私钥和上一个的消息私钥。

在步骤838中,发送者的数字财产管理模块的发送者的中间件804将经加密的发送交易、管理器间交易和临时交付交易发送到接收者的数字财产管理模块的接收者的中间件814。接收者的数字财产管理模块会验证管理器间交易,以确认接收者的数字财产管理器的虚拟钱包将接收到来自发送者的数字财产管理器的虚拟钱包的资金转移。接收者模块810通过使用标志和标志映射数据库813来检索接收者的虚拟标识(诸如史蒂夫的虚拟钱包id),以将临时交付交易转换为正常交付交易。接收者的数字财产管理模块还将在构造交付交易之前验证标志是否仍在有效标志池中,并在分布式交易共识网络提交交付交易之后从有效标志池中删除标志。结果,标志将不会被重复使用。接收者模块810还必须从接收者的数字财产管理器的虚拟钱包中选择一个或多个utxo,诸如图7中的17和48$usd.fet,并按照与发送交易相同或相似的过程使用接收者的数字财产管理器的虚拟钱包的交易私钥对其进行签名。

在步骤840中,接收者的中间件814将经加密的发送交易、管理模块间交易和交付交易发送到接收者的交易节点850。接收者的交易节点850通过使用其当前的消息私钥来解密经加密的发送交易。如果当前的消息私钥不起作用,则接收者的交易节点850将使用其上一个的消息私钥进行解密。在解密之后,接收者的交易节点850将发送交易、管理器间交易和交付交易传播到分布式交易共识网络的其他节点。

不同于图8所示的过程,其中接收者的中间件814将所有发送交易、管理器间交易和交付交易发送到接收者的交易节点,在如图9所示的另一个实施例中,发送者的中间件将所有3个子交易发送到发送者的交易节点。步骤930、932、934和936分别与图8所示的步骤830、832、834和836相同。在步骤937中,发送者的中间件904向接收者的中间件914发送管理器间交易和临时交付交易。接收者的数字财产管理模块验证管理器间交易,以确认接收者的数字财产管理器的虚拟钱包将接收到来自发送者的数字财产管理器的虚拟钱包的资金转移。然后,接收者模块通过使用标志和标志映射数据库913将临时交付交易转换为正常交付交易。

在步骤938中,接收者的中间件914从交易节点查找api916的消息公钥中检索发送者的交易节点的消息公钥。查找api916需要检查存储在两个数据库(数字财产管理器到交易节点的缓存917、交易节点到消息公钥的缓存918)中的信息,以抽取发送者的交易节点的消息公钥。为了改善匿名性,不允许发送者的数字财产管理模块使用接收者的虚拟标识,诸如虚拟钱包id。因此,接收者的数字财产管理模块通过使用发送者的交易节点的消息公钥对经签名的交付交易进行加密。

在步骤939中,接收者的数字财产管理模块的接收者的中间件914将经加密的交付交易发送到接收者的数字财产管理模块的发送者的中间件904。

在步骤940中,发送者模块将发送交易、管理器间交易和经加密的交付交易发送到发送者的交易节点。发送者的交易节点使用其当前的消息私钥解密经加密的交付交易。如果它不起作用,则发送者的交易节点将尝试使用其上一个的消息私钥。在解密之后,发送者的交易节点然后将所有交付交易、管理器间交易和交付交易传播到分布式交易共识网络。

在第三个实施例中,前5个步骤与第二个实施例的步骤930、932、934、936、937相同。接收者的数字财产管理模块验证管理器间交易,以确认接收者的数字财产管理器的虚拟钱包将接收到来自发送者的数字财产管理器的虚拟钱包的资金转移。然后,接收者模块通过使用标志和标志映射数据库将临时交付交易转换为正常交付交易。然后,发送者模块将发送交易发送到发送者的交易节点。接收者模块将管理器间交易和交付交易发送到接收者的交易节点。发送交易和交付交易均无需被加密。发送者的交易节点和接收者的交易节点都将交易传播到分布式交易共识网络。

以上两个实施例提供了确保发送者模块不能使用接收者的虚拟标识(诸如史蒂夫的虚拟钱包id)并且接收者模块不能使用发送者的虚拟标识(诸如威廉的虚拟钱包id)的过程。结果,由于发送者模块或接收者模块都不可能追踪和连接记录在分布式分户账中的所有三个发送交易、管理器间交易和交付交易以重建汇款交易,所以大大提高了匿名性。然而,如果某人拥有分布式分户账的副本仔细地分析每个子交易,则仍然可能通过匹配要转移的数字财产的金额在汇款交易集合中连接3个子交易。例如,如图7所示,att知道威廉在发送交易中将60数字美元转移到att的虚拟钱包,att的虚拟钱包在管理器间交易中将60数字美元转移到fet的虚拟钱包。然后,如果att尝试在相同区块或相邻区块中匹配从fet接收到60数字美元的接收者,则它可能会发现史蒂夫的虚拟钱包id并能够重建所有3个子交易。

为了进一步改善匿名性,可以将发送交易、管理器间交易和交付交易中的一个或多个进一步分为两个或多个子交易。例如,可以将交付交易划分为第一交付交易和第二交付交易,它们中的每一个具有不同的待转移金额但总和与原始的交付交易相同。在这种情况下,必须连接4个子交易以重建一个汇款交易。类似地,发送交易可以进一步分为两个或多个子交易,诸如第一发送交易、第二发送交易和第三发送交易。通过使用这种方法,使用发送者模块、接收者模块和/或分布式分户账的黑客不能够轻易地匹配子交易的待转移金额以重建汇款交易。

在如图10所示的第四个实施例中,交付交易进一步被划分为第一交付交易和第二交付交易,而发送交易和管理器间交易仍与图7中的那些相同。第一交付交易具有一个输入utxo(17$usd.fet)和锁定到史蒂夫的虚拟钱包的一个输出utxo(17$usd.fet)。第二交付交易具有一个输入utxo(48$usd.fet)和两个输出utxo(锁定到史蒂夫的虚拟钱包的43$usd.fet和锁定到fet的虚拟钱包的5$usd.fet(找零))。假设子交易中的待转移金额彼此不匹配并且,在某些情况下,发送者模块可能不知道子交易的总金额,那么黑客将不能重建汇款交易。

在提高匿名性的另一种选择中,可以将输入的数字财产金额划分为基本金额的多个片段,每个片段构成一个单独的子交易。分布式交易共识网络、交易节点或数字财产管理模块可以确定要发行的数字财产的基本金额(诸如utxo)。例如,基本金额可以是5、10、20、50、100、200、500等。因此,处于基本金额的多个utxo可以用作多个子交易的输入utxo,用于发送交易、管理器间交易或交付交易。特别的是,将管理器间交易分为处于基本金额的多个子交易将会使得追踪汇款交易更加困难。

为了平衡交易的匿名性和性能的效率,待转移金额可以只被划分为有限数目的片段。本领域普通技术人员可以使用各种算法来尝试优化将待转移的金额划分为基本金额的若干片段。在一些情况下,如果特定基本金额的utxo是不可行的,则可以使用更大金额的utxo。换句话说,为了获得更好的性能,片段的总和可以大于待转移金额并且差值的找零可以返回给发送的虚拟钱包。例如,可以将待转移金额368.46美元划分为1个200美元、1个100美元、1个50美元和1个20美元。可以将1.54美元的找零返回给发送者。

在如图11所示的第五个实施例中,威廉想要向史蒂夫发送16数字美元。发送交易具有一个输入utxo(20$usd.att)和三个输出utxo(分别是锁定到att的虚拟钱包的10$usd.att、锁定到att的虚拟钱包的6$usd.att和锁定到威廉的虚拟钱包的4$usd.att(找零))。管理器间交易包括3个子交易。第一管理器间交易具有一个输入utxo(10$usd.att)和一个输出utxo(锁定到fet的虚拟钱包的10$usd.att)。第二管理器间交易具有一个输入utxo(5$usd.att)和一个输出utxo(锁定到fet的虚拟钱包的5$usd.att)。第三管理器间交易具有一个输入utxo(5$usd.att)和两个输出utxo(锁定到fet的虚拟钱包的1$usd.att和锁定到att的虚拟钱包的4$usd.att(找零))。交付交易包括2个子交易。第一交付交易具有一个输入utxo(10$usd.fet)和一个输出utxo(锁定到史蒂夫的虚拟钱包的10$usd.fet)。第二交付交易具有一个输入utxo(10$usd.fet)和两个输出utxo(锁定到史蒂夫的虚拟钱包的6$usd.fet和锁定到fet的虚拟钱包的4$usd.fet(找零))。结果,从威廉到史蒂夫的16数字美元的该汇款交易包括6个子交易。所有6个子交易必须同时被验证或失败。(请注意,tbca网络100可以将每个子交易视为一个交易)。

可以单独或组合使用上述各种措施来提高交易的匿名性。然而,为了防止分布式交易共识网络(tbca网络100)成为易于洗钱的工具,数字财产管理系统能够追踪特定的数字财产交易是必要的。为了提高可追踪性,当汇款交易包括多个子交易(在一个集合中)时,创建标签以标识和指定同一汇款交易集合中的每个子交易的顺序。在一个实施例中,汇款交易包括三个子交易(一个发送交易、一个管理器间交易和一个交付交易),每个子交易都被赋予一个标签以表明它们所属的特定汇款交易集合以及它们在集合中的顺序。然后,通过追踪密钥对标签进行加密。在一个实施例中,标签被加密并且只有管理员110(tbca)具有追踪私钥来标识同一汇款交易集合中的三个子交易,以重建集合并追踪与特定交易有关的虚拟钱包以及金额。

在一个实施例中,发送者模块或接收者模块可以为每个子交易生成人类可读的(和计算机可分解析的)标签,诸如{set}_1_{nonce},{set}_2_{nonce}和{set}_3_{nonce},其中{set}是交易集合编号以使得汇款交易集合中的所有子交易共享相同的交易集合编号,并且其中{nonce}是一些大的随机数。必须在数字财产管理模块用完所有集合编号之前生成新的随机数,但是可以根据需要频繁地生成新的随机数,例如每个区块可以具有不同的随机数。在一个实施例中,发送者模块的中间件可以随机地生成并持有一个随机数“n”(如果它还没有产生一个或者如果它已经用尽了它已有的随机数可能的集合编号)。同样的,中间件也应持有一个集合编号{set},每次中间件给汇款交易集合标签之后,集合编号{set}以1递增。每当生成新的随机数时,可以将集合编号重置为0。在一个实施例中,可以根据加密算法(例如aes对称密钥算法)的使用来选择集合字段大小。标签的随机数部分可以为约24字节。

在一个实施例中,然后通过具有256位密钥的aes对称算法(https://en.wikipedia.org/wiki/advanced_encryption_standard)来加密每个标签,以生成看似随机且不同的字符串。可以使用其他加密算法,诸如rsa。实际上,本领域普通技术人员可以选择可以平衡安全性和性能需求的任何加密算法。在对称加密方案下,tbca110将为每个数字财产管理模块保留至少1个对称密钥,并且每个模块将持有自己的对称密钥以对汇款交易集合中子交易的标签进行加密。然后,汇款交易集合中的每个子交易将包括交易集合字段并记录在区块链中,该交易集合字段具有其经加密的标签(这些随机出现的字符串中的一个)。在汇款交易包括6个子交易t1、t2、t3、t4、t5和t6的实施例中,在一个汇款交易集合中,当使用对称追踪密钥时,aes(tracingkey,lable)是我们的加密算法。在另一个实施例中,非对称密钥对的追踪公钥可以用于加密标签。生成9个子交易的标签:x_l_n、x_2_n、...x_9_n(x是交易集合编号,n是随机数),然后使用对称追踪密钥或追踪公钥(非对称)进行加密。然后,将这些经加密的标签插入到汇款交易集合中每个子交易的交易集合字段中。然后,除非x已达到其最大值,否则x以1递增。如果x为其最大值,则将x重置为0并生成新的n。如图12所示,每个子交易包括名为“交易集合”的新字段以存储经加密的标签。(请注意,每个子交易可以视为tbca网络100中的一个交易)。

为了恢复汇款交易集合,假设一个区块中有tn个交易,具有经加密的标签ln,并且aes’(tracingkey,ln)=l’n是我们的解密算法:(1)对于每个ln,找到aes’(tracingkey,ln)=l’n;(2)l’n的形式将为{set}_(1、2、3、4、5或6)_{nonce};(3)所有具有相同集合编号的交易都在同一汇款交易中。

当使用非对称追踪密钥时,由于数字财产管理器(包括其数字财产管理模块和交易节点,诸如电信运营商(“电信公司”))没有追踪私钥,所以数字财产管理器不能够恢复汇款交易集合中的经加密的标签以追踪特定汇款交易。当必要时,具有追踪私钥的管理员tbca110或分布式交易共识网络的授权/指定节点可以恢复和追踪特定交易,以识别发送者的虚拟钱包id、接收者的虚拟钱包id和转移的数字财产的金额和类型。当使用对称密钥时,每个数字财产管理器都可以解密为其提供经加密的标签的子交易,但是网络管理员可以解密所有子交易,因为网络管理员具有每个数字财产管理模块使用的追踪密钥的副本。为了真正识别真实世界中的发送者和接收者,网络管理员仍然需要与数字财产管理器协作,数字财产管理器可以将虚拟钱包id与订户的电话号码或其他现实标识(例如社会保障号码)联系起来。

以下是关于匿名性和可追踪性的上述实施例的示例伪代码。

*******************************************************************

电信公司模块功能:

节点功能:

*******************************************************************

表1:伪代码中使用的术语表

在不脱离本发明的精神或范围的情况下,可以对本发明的方法以及相关装置和系统进行各种修改和变化对于本领域技术人员将显而易见的。因此,本发明旨在覆盖落入所附权利要求及其等同物的范围内的修改和变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1