CN111149323A - 使用盲目的结果分散来增加区块链的熵的方法和设备 - Google Patents

使用盲目的结果分散来增加区块链的熵的方法和设备 Download PDF

Info

Publication number
CN111149323A
CN111149323A CN201880059431.1A CN201880059431A CN111149323A CN 111149323 A CN111149323 A CN 111149323A CN 201880059431 A CN201880059431 A CN 201880059431A CN 111149323 A CN111149323 A CN 111149323A
Authority
CN
China
Prior art keywords
node
ciphertext
participating
transaction
propagator
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.)
Granted
Application number
CN201880059431.1A
Other languages
English (en)
Other versions
CN111149323B (zh
Inventor
西尔维娅·巴托鲁奇
波林·贝尔纳特
丹尼尔·约瑟夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nchain Holdings Ltd
Original Assignee
Nchain Holdings Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Priority to CN202311265224.0A priority Critical patent/CN117353925A/zh
Publication of CN111149323A publication Critical patent/CN111149323A/zh
Application granted granted Critical
Publication of CN111149323B publication Critical patent/CN111149323B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0464Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请的实施方案提供了一种用以提高区块链实现的交易的安全性的计算机实现的方法,该交易包括来自多个参与节点的参与,每个参与节点作为消息始发者、选择者和传播者来参与。在参与节点处实现的方法包括:从先前节点接收密文,以及确定参与节点是否是从先前节点接收到的所述密文的选择者节点。当参与节点是所述密文的选择者节点时,该方法包括:选择所述密文的子集,对所述密文的所选子集进行解密以提供选择密文,并且将所述选择密文传输到下一个节点。当参与节点不是所述密文的选择者节点时,该方法包括对从先前节点接收到的所述密文进行解密并将解密后的密文传输到下一个节点。

Description

使用盲目的结果分散来增加区块链的熵的方法和设备
技术领域
本发明总体上涉及区块链交易,并且更具体地涉及用于增加区块链实现的交易的安全性的方法和设备。
背景技术
在本文件中,使用术语“区块链(blockchain)”来包括所有形式的电子的、基于计算机的分布式账本。这些包括但不限于基于共识的区块链和交易链技术、许可及未许可的账本、共享账本及其变型。虽然已经提出并开发了其他区块链实施方案,但是区块链技术最广为人知的应用是比特币账本。虽然出于方便和说明的目的,本文中可能提到的是比特币,但应当指出的是,本发明不限于与比特币区块链一起使用,并且替代性的区块链实施方案和协议也落入本发明的范围内。
区块链是基于共识的电子账本,该账本被实现为由区块构成的基于计算机的去中心化的分布式***,而该区块又由交易构成。每个交易(Tx)是对区块链***中的参与者之间的数字资产或价值的控制的转移进行编码的数据结构,并且每个交易(Tx)均包括至少一个输入和至少一个输出。每个区块均包含前一区块的散列,使得这些区块被链接在一起,以构建对自区块链诞生之始就已被写入区块链的所有交易的永久性不可变的记录。交易包含嵌入其输入和输出中的被称为脚本的小程序,这些小程序指定了如何以及由谁来访问交易的输出。在比特币平台上,这些脚本使用基于堆栈的脚本语言来写入。
接收到新交易的网络节点可能会迅速尝试将该交易推送到网络中的其他节点。在将新交易传输到其他节点之前,新交易可以被“验证”,这意味着可以根据一组标准对其进行检查,以确保该交易符合根据适用的区块链协议进行适当交易的基本要求。
为了将交易写入区块链,采矿节点(“矿工”)将交易结合到区块中,该采矿节点设计为收集交易并将收集的交易形成为区块。然后,矿工尝试针对区块(具体地,区块头)完成“工作量证明”。整个区块链网络中的矿工争抢成为第一个组装交易区块并完成针对该区块的相关工作量证明。成功的矿工将其已确认的区块添加到区块链中,并且该区块通过网络传播,使得维护区块链副本的其他节点可以更新其记录。那些接收到区块的节点还“验证”该块及其中的所有交易,以确保其符合协议的形式要求。
如所描述的,区块链交易可以具有一个或更多个输入和一个或更多个输出。嵌入到输入和输出中的脚本指定了如何以及由谁来访问交易的输出。交易的输出可以是作为交易结果的代币值可以被转移到的地址。然后,该代币值可以与该输出地址相关联作为未花费交易输出。然后,后续交易可以引用该地址作为输入,以花费或分散该值。
区块链交易的一个可觉察优点是通过将代币值与一个或更多个地址相关联来转移该代币值的能力。然而,这些地址在区块链账本上公开发布,使得可能存在下述风险:有关未花费交易输出的信息可能会受到可能参与或可能未参与区块链交易的节点的监视。
例如,针对区块链账本的硬币混合服务的开发侧重于防止监测节点对输入地址与输出地址之间的链接进行识别。然而,尽管这样的硬币混合操作可能使对地址之间的代币运动进行识别或跟踪更加困难,但是监测节点仍可能能够对可公开获得的数据执行数据挖掘操作和机器学习操作,以便确定区块链交易的输入与输出之间的关联,并且因此跟踪代币值与地址之间的关联。一些硬币混合操作涉及第三方的事实会造成其他安全漏洞,这是由于第三方协调器可能会受到威胁,这可能会导致暴露的数据要比从区块链公开获得的数据多。
即使不一定要破坏第三方协调器,区块链上的公共可用信息也可以为监测节点提供足够的数据,以对可归因于与一组地址相关联的特定源的模式进行检测,从而使监测节点能够确定混合交易中涉及的一组特定地址与共同所有者相关联。通过使用机器学习算法等进行大数据分析可以识别公共区块链数据中的这种潜在模式信息。这代表了现有区块链技术的安全和隐私漏洞,即使在使用硬币或价值混合操作来提高安全性和隐私的情况下亦是如此。
***的熵可以是指***中的混乱或不确定性,并且可以与监测节点在观察到若干个区块链交易后可以推断出有关交易地址的信息的概率相关联。***的最大熵可以根据参与者数量N通过二进制对数来提供:
HM=log2N
监测节点观察到的***的熵可以表示为:
Figure BDA0002409721090000031
其中,pi是用户i∈{1,2,..,N}可以是消息的始发者的概率。在最佳情况下(最大熵-可以了解有关***的最小信息),将消息与具有N个节点的***中的特定节点相关联的概率可以为1/N。
由于可以将区块链交易提交给公共账本,因此监测节点可以借助于交易流量分析或时序分析将不同的概率归因于***中的特定节点。匿名度d可以与由监测节点获知的信息相关联,并且可以作为熵的归一化变化进行度量:
Figure BDA0002409721090000032
Figure BDA0002409721090000041
当监测节点可以观察到***中的每个节点或节点子集同样有可能成为消息的始发者时,可以实现最大匿名度(d=1)。
提供了下述的方法和设备将是有利的:该方法和设备提供了***的增加的熵以便提供增加的安全性和私密性并降低暴露潜在于多个交易的数据中的模式的概率。
发明内容
现在已经设计出用于通过区块链实现的交易来分配代币值的这种改进的方法和设备。
本文中所描述的方法涉及盲化结果多样化(BOD)方法的操作,用以减轻本文中所描述的挑战和缺点中的一些挑战和缺点。在一些实施方案中,BOD方法的操作可以通过减小监测节点可以确定值混合交易中输入地址与输出地址之间的链接的概率来提高安全性。该方法可以增加***的熵,以降低监测节点用以确定地址之间的关联并识别多个交易的数据内的模式的能力。该方法可以在用于参与区块链交易的参与节点处实现。多个参与节点中的每个参与节点可以基于公共交易选项和交易值来生成或发起密文。经销商节点可以从多个参与节点中随机地指定选择者节点,并且选择者节点可以选择交易选项中的一个交易选项以包含在区块链交易中。由于对于包含在区块链交易中的特定交易选择者节点可以从参与节点中随机选择以选择交易选项,并且由于包含在区块链交易中的输出地址的数量可能超过输入地址的数量,因此***的熵增加并且监测节点成功识别地址之间的关联的能力降低。
因此,根据本发明,提供了如所附权利要求中限定的方法和设备。
在一方面,本申请可以描述一种用以提高区块链实现的交易的安全性的计算机实现的方法,该交易包括来自多个参与节点的参与。每个参与节点均可以具有其自己的公钥和私钥。每个参与节点均可以作为消息始发者、选择者和传播者来参与。该方法可以包括:从先前节点接收密文;以及确定参与节点是否是从先前节点接收到的所述密文的选择者节点;当参与节点是所述密文的选择者节点时:选择所述密文的子集;使用参与节点的私钥对所述密文的所选子集进行解密,以提供用于传播到下一个节点的选择密文;并且将所述选择密文传输到下一个节点;当参与节点不是所述密文的选择者节点时:使用参与节点的私钥对从先前节点接收到的所述密文进行解密;并且将解密后的密文传输到下一个节点。
在一些实施方案中,当参与节点是选择者节点时,所述密文可以包括两个或更多个加密消息,并且选择所述密文的子集可以包括选择两个或更多个加密消息中的一个加密消息。
在一些实施方案中,本申请可以提供发起密文的操作,该发起密文的操作可以包括:生成至少两个消息,所述至少两个消息包括具有一个输出地址的第一消息和具有两个输出地址的第二消息,其中,交易将向该一个输出地址分配第一值,交易将向所述两个输出地址中的相应的输出地址相应地分配第二值和第三值,其中,第二值和第三值之和是所述第一值;对所述至少两个消息中的每个消息进行加密以提供密文,所述至少两个消息中的每个消息均是交易选项;以及将密文传输到下一个节点。
在一些实施方案中,本申请可以提供对所述至少两个消息中的每个消息进行加密以提供密文包括:从经销商节点接收交易公钥和有序公钥列表,有序公钥列表包括与多个节点中的每个参与节点相关联的公钥,有序公钥列表以降序排列,使得与下一个节点相关联的公钥是有序公钥列表中的最后一个公钥;以及用交易公钥且随后用有序公钥列表对所述至少两个消息中的每个消息进行加密,使得每个加密消息均是该消息的嵌套加密。
在一些实施方案中,本申请可以提供:多个参与节点中的每个参与节点均可以生成具有至少一种指定格式和至少一个指定交易值的交易选项。
在一些实施方案中,本申请可以提供以下操作:从经销商节点接收参与节点是用于源自多个参与节点中的另一节点的密文的传播者节点的指示;生成交易公钥和交易私钥;以及将交易公钥传输到经销商节点,进而传输到另一节点以发起密文。
在一些实施方案中,当参与节点是所述密文的传播者节点时,在使用参与节点的私钥对所述密文进行解密之后,本申请可以描述以下后续操作:使用交易私钥对解密后的所述密文进行解密,以提供与选择密文相对应的未加密所选消息,其中,选择密文由与选择密文相关联的选择者节点提供;当所述未加密所选消息包括第一输出地址时,利用参与节点的公钥对第一输出地址和相关联的第一交易值进行加密,以提供传播者输出;当所述未加密所选消息包括第二输出地址和第三输出地址时,用参与节点的公钥对具有相关联的第二交易值的第二输出地址和具有相关联的第三交易值的第三输出地址中的每一者进行加密,以提供传播者输出;以及将传播者输出转发到后续节点,以混合来自多个参与节点中的每个参与节点的传播者输出。
在一些实施方式中,本申请可以提供以下操作:从经销商节点接收参与节点是源自另一参与节点的密文的选择者节点的指示,其中,参与节点由经销商节点随机地指定为选择者节点。
在一些实施方案中,本申请可以提供:经销商节点将多个参与节点中的一个参与节点指定为传播者节点,并且将多个参与节点中的一个参与节点指定为与所述密文相关联的选择者节点,并且所述传播者节点、所述选择者节点和用于发起所述密文的参与节点是所述多个参与节点中的不同参与节点。
在一些实施方案中,本申请可以描述:经销商节点将多个参与节点中的每个参与节点指定为多个参与节点中的一个其他参与节点的传播者节点。
在一些实施方案中,本申请可以提供:多个参与节点包括至少4个参与节点。
在一些实施方案中,本申请可以提供:参与节点可以作为各自关联密文的消息始发者、选择者和传播者并发地参与,使得多个参与节点中的每个参与节点为该参与节点被指定为传播者节点的关联密文提供传播者输出。
以上关于一个方面或实施方案描述的特征可以与任何其他方面或实施方案结合使用。对于该方法的每个实施方案,提供了布置成实现该方法的对应的计算设备。关于该方法的实现所描述的特征也可以适用于对应的计算设备,反之关于该计算设备的实现所描述的特征也可以适用于对应的方法。
在附加或替代的方面,本申请可以提供一种非暂时性处理器可读介质,该非暂时性处理器可读介质存储处理器可执行指令以提高区块链实现的交易的安全性,其中,处理器可执行指令在由处理器执行时使处理器执行本文中所描述的方法中的任意一种或更多种方法。
附图说明
本发明的这些和其他方面将从本文中所描述的实施方式中变得明显并参照这些实施方式而得以阐明。现在将仅通过示例的方式且参照附图对本发明的实施方式进行描述,在附图中:
图1以框图示出了与区块链相关联的示例区块链网络;
图2示出了来自执行本文中所描述的方法的示例周期Ci的节点;
图3示出了可以由参与节点生成的示例消息;
图4示出了图3的两个或更多个消息中的每个消息的嵌套加密;
图5示出了根据本申请的密文的嵌套解密和针对周期Ci的交易选项的选择的示例实施方案;
图6以流程图形式示出了根据本申请的在参与节点处实现的、用于参与区块链交易的示例方法;
图7以流程图形式示出了根据本申请的在可以被指定为传播者的参与节点处实现的示例方法;
图8示出了根据本申请的从指定为周期C1的传播者的参与节点输出的示例传播者;
图9示出了根据本申请的区块链交易的参与节点,其中,每个参与节点均提供来自相应的周期Ci的传播者输出;
图10示出了根据本申请的基于示例硬币混合方法的传播者节点输出的加密阶段;
图11示出了根据本申请的图10的示例硬币混合方法的解密阶段;
图12示出了根据本申请的本文中所描述的方法的操作之后的作为大量参与节点的函数的一定数量的输出地址的组合的分布;以及
图13以框图形式示出了根据本申请的参与节点的简化示例。
具体实施方式
在本申请中,术语“和/或”旨在涵盖所列元件的所有可能的组合和子组合,包括单独列出的元件中的任何一个元件、任何子组合、或所有元件,而不必排除附加元件。
在本申请中,短语“…或…中的至少一个”旨在涵盖所列出的元件中的任何一个或更多个,包括单独列出的元件中的任何一个元件、任何子组合、或所有元件,而不必排除任何附加元件并且不必需要所有元件。
现在参照图1,其以框图形式示出了与区块链相关联的示例区块链网络100。区块链网络100是任何人都可以加入而无需邀请或无需其他成员同意的点对点开放成员资格网络。执行区块链协议——区块链网络100在该区块链协议下操作——的实例的分布式电子设备可以参与区块链网络100。这样的分布式电子设备可以被称为节点102。区块链协议可以是例如比特币协议或其他加密货币协议。
节点102可以运行区块链协议,并且区块链网络100的节点102可以是各种类型的,包括例如诸如台式计算机、膝上型计算机、平板计算机之类的计算机、服务器、诸如智能电话的移动设备、诸如智能手表的可穿戴计算机、或其他电子设备。
区块链网络100的节点102可以使用合适的通信技术而彼此耦接,所述通信技术可以包括有线通信技术和无线通信技术。在一些情况下,区块链网络100至少部分地在因特网上实现,并且一些单独的节点102可以位于地理上分散的位置。
节点102可以维护区块链上所有交易的总账本。全局账本可以是分布式账本,并且每个节点102可以存储全局账本的完整副本或部分副本。影响全局账本的交易可以由其他节点102进行验证,使得维护全局账本的有效性。本领域普通技术人员将理解:实现和操作区块链网络的细节,比如使用比特币协议的区块链网络的细节。
每个交易可以具有一个或更多个输入和一个或更多个输出。嵌入到输入和输出中的脚本指定了如何以及由谁来访问交易的输出。交易的输出可以是作为交易结果的值所被转移到的地址。然后,该值可以与该输出地址相关联作为未花费交易输出。然后,后续交易可以引用该地址作为输入,以花费或分散该值。
尽管交易可以是伪匿名的,但由于在区块链账本上的交易中不包含个人信息,因此理论上监测设备可能会跟踪或关联交易链中的价值转移,并且在一些情况下,可能会使用外部数据将转移的价值与特定实体相关联。外部数据可以包括从因特网博客站点、社交媒体或其他第三方***提取的例如关于与参与节点相关联的特定用户的信息。针对区块链账本的硬币混合服务的开发侧重于防止监测设备琐碎地将交易输入地址与交易输出地址相关联以用于关联数字资产从一个实体到另一实体的转移。例如,硬币混合***可以包括将资产(例如,比特币)汇集在一起并且随后将汇集的资产分配到备用设备地址的一组设备。这些硬币混合***可能会增加监测设备关联交易输入地址和交易输出地址的难度。
如所描述的,一些硬币混合***可以利用混洗操作来将用于区块链交易的输入地址与输出地址解除关联。然而,常见的混洗操作可以利用伪随机过程来混洗地址的次序,并且伪随机过程可以固有地从确定的数学运算中导出。因此,监测设备可能会尝试“蛮力”型攻击,用以推断有关区块链交易的一个或更多个参与节点的信息。
在本文的描述中,可以使用表达“参与节点”及其“输出地址”。对参与节点的“输出地址”的引用并非旨在指物理节点的网络地址。相反,“输出地址”是在区块链上的交易中指定的具有未花费值的地址,物理节点可以通过拥有与交易中的签名相对应的密钥来要求保护所有权。从这个意义上说,“输出地址”不是参与节点的地址,而是与参与节点相关联的区块链交易输出地址。本文中对参与节点的“输出地址”的任何引用应当被理解为是这样。
本申请可以描述由多个参与者执行的方法。例如,多个参与节点可以包括至少4个参与节点。如本文中所描述的,更多的参与节点可以参与区块链交易。
每个参与节点可以是参与区块链交易的计算设备。计算设备可以作为消息始发者参与生成消息,并且随后对消息进行加密。计算设备也可以作为选择者参与选择密文的子集,其中,该子集可能已经由多个参与节点中的另一参与节点生成。该计算设备还可以作为传播者参与可能已经源自多个参与节点中的又一参与节点的密文。
本申请描述了一种用于分发公钥和私钥的经销商节点。在一些示例实施方案中,经销商节点可以是除参与节点之外的节点,并且经销商节点可以将公钥从一个参与节点转移到另一参与节点。此外,经销商节点可以将特定角色指定给参与节点。例如,每个参与节点均可以是消息始发者。此外,经销商节点可以将每个参与节点指定为源自另一参与节点的密文的选择者并指定为源自又一参与节点的密文的传播者。这里将对针对始发者角色、选择者角色和传播者角色中的每个角色的操作进行描述。
现在参照图2,其示意性地示出了根据本申请的针对示例周期Ci的参与节点的子集。周期Ci通常可以由用于区块链交易的多个参与节点执行的操作来定义。经销商节点210可以随机地将特定参与节点指定为选择者节点,并且将特定参与节点指定为传播者节点。
经销商节点210还可以针对周期Ci定义多个参与节点中的每个参与节点的顺序或位置。每个参与节点均可以与公钥和私钥相关联,并且每个参与节点的公钥可以与其他参与节点中的每个参与节点共享。在一些示例实施方案中,经销商节点210可以:(1)指定每个参与节点的顺序或位置;并且(2)基于每个参与节点对于周期Ci的顺序或位置向每个参与节点发送有序公钥列表。在一些示例中,周期Ci的参与节点中的每个参与节点的顺序或位置可以被随机地确定或以任何其他方式确定。
经销商节点210可以将多个参与节点中的一个参与节点指定为传播者节点,并且将多个参与节点中的一个参与节点指定为选择者节点。也就是说,经销商节点210可以指定选择者230和传播者240分别用于选择和准备来自始发者220的消息。在周期Ci中,始发者220、选择者230和传播者240可以各自是该周期Ci的单独的参与节点。例如,周期C1可以表示由多个参与节点执行的BOD操作,其中,消息可以由节点U1生成,交易选项可以由节点Uj选择,并且选择的交易选项可以由节点Un传播,其中,n可以表示参与节点的数量,并且1<j<n。
经销商节点210可以指定传播者240用以对源自始发者220的消息进行解密。解密的消息可以是待包括在区块链交易中的交易。在一些示例中,区块链交易可以是用于硬币混合操作的交易。传播者240可以针对周期Ci生成交易公钥/私钥(Pi D/Vi D)对。在一些实施方案中,在始发者220生成消息并对消息进行加密之前,传播者240可以将交易公钥(Pi D)传输到经销商节点210,并且经销商节点210可以将该交易公钥(Pi D)传输到始发者220。对于周期Ci,经销商节点210可以将交易公钥(Pi D)发送给始发者220。
经销商节点210可以随机地指定选择者230。选择者230可以是多个参与节点中的任何一个参与节点。如将描述的,选择者230可以从先前的参与节点接收密文,选择接收到的密文的子集,并且使用选择者230的私钥对所选择密文的子集进行解密以提供用于传播到周期Ci中的下一个节点的选择密文。如将从本文中所描述的方法中明显看出,由于选择者230可以被经销商节点210随机选择,并且由于来自参与节点中的每个参与节点的选择机制可以不同,因此可以以较不确定性的方式提供区块链交易的代币值的分布,以改善本文中所描述的一些安全性缺点。
现在参照图3,其示意性地示出了可以由任何参与节点生成的示例消息。当参与节点可以被指定为用于发起密文的始发者220(图2)时,参与节点可以生成至少两个消息,所述至少两个消息包括具有一个输出地址的第一消息和具有两个输出地址的第二消息,其中,交易将向该一个输出地址分配第一值,交易将向所述两个输出地址中的相应的输出地址相应地分配第二值和第三值。第二值和第三值之和可以等于第一值。此外,参与节点可以对至少两个消息中的每个消息进行加密以提供密文,其中,所述至少两个消息中的每个消息可以是交易选项。然后,参与节点可以将生成的密文传输到下一个节点。
为了说明,始发者220可以生成第一消息(r1)350和第二消息(r2)360。第一消息350可以包括第一输出地址356。第二消息360可以包括第二输出地址366和第三输出地址368。在此示例中,始发者220生成两个交易选项,所述两个交易选项包括:(i)将交易的输入值(例如,10比特币)分成两个相同的值(例如,5比特币)的选项,其中,两个值中的每个值可以与相应的输出地址相关联;或者(ii)将整个输入值(例如,10比特币)传输到单个输出地址的选项。两个消息选项中的一个消息选项的选择可以由随机指定的选择器230(图2)来进行。选择者230可以在不知道始发者是谁的情况下选择选项。如将要描述的,由于消息选项中的每个消息选项将经受由交易公钥以及多个参与节点的公钥进行的嵌套加密,因此选择者230可以选择两个或更多个消息选项中的一个消息选项而无需对消息内容(例如,代币值和输出地址)进行任何了解。
可以为周期Ci定义消息选项格式,并且执行用于发起密文的操作的每个参与节点均可以根据针对该周期Ci的规定的消息选项格式来生成消息。也就是说,在一些实施方案中,多个参与节点中的每个参与节点可以生成具有至少一种指定格式和至少一个指定交易值的交易选项。例如,在图3中,规定的消息选项格式可以包括具有第一交易值352(例如,10比特币)和第一输出地址356的第一消息350。消息选项格式也可以规定为包括具有第二交易值362(例如,5比特币)和第三交易值364(例如,5比特币)的第二消息360,其中,第二交易值362可以与第二输出地址366相关联,并且其中,第三交易值364可以与第三输出地址368相关联。消息选项中的每个消息选项可以是周期Ci的交易选项。
始发者220可以对消息选项进行加密以提供密文。例如,始发者220可以从经销商节点210接收交易公钥并接收有序公钥列表。有序公钥列表可以包括与多个参与节点中的每个参与节点相关联的公钥。有序公钥列表可以以相反的顺序或降序排列,使得与下一个节点相关联的公钥是有序公钥列表中的最后一个公钥。此外,始发者220可以使用交易密钥并且随后使用有序公钥列表来对消息选项中的每个消息选项进行加密,使得每个加密消息是该消息的嵌套加密。
在上面的示例中,参与节点可以生成具有两个输出地址的第二消息;然而,在一些实施方案中,第二消息可以包括两个以上的输出地址,交易将向所述两个以上的输出地址中的相应的输出地址相应地分配值,其中,分配的值的总和可以等于第一值。例如,第二消息可以包括三个输出地址,交易将向所述三个输出地址中的相应的输出地址相应地分配第二值、第三值和第四值,并且其中,第二值、第三值和第四值的总和可以等于第一值。也就是说,在一些实施方案中,第二消息可以包括用于与值相关联的任意数量的输出地址。
现在参照图4,其示意性地示出了对于周期Ci由始发者220(图2)生成的两个或更多个消息中的每个消息的嵌套加密。所述两个或更多个消息中的每个消息的嵌套加密可以包括使用交易公钥并使用参与节点的有序公钥列表以周期Ci的降序进行的加密操作。
特别地,图4示出了第一消息(r1)350的嵌套加密450(图3)。始发者220可以使用以下方式对第一消息(r1)350进行加密:(1)交易公钥(例如,由经销商节点210提供并且由传播者240针对该周期Ci生成的交易公钥);以及随后(2)以相反的顺序排列的有序公钥列表。
例如,如果周期Ci包括5个参与节点,则始发者220可以:(1)使用交易公钥对第一消息(r1)进行加密,并且随后2)使用与第五参与节点、第四参与节点、第三参与节点和第二参与节点相关联的公钥相继进行加密。
类似地,图4还示出了第二消息(r2)360的嵌套加密460(图3)。始发者220可以:(1)使用交易公钥对第二消息(r2)进行加密,并且随后(2)使用与第五参与节点、第四参与节点、第三参与节点和第二参与节点相关联的公钥相继进行加密。第一消息(r1)和第二消息(r2)的嵌套加密的组合可以是与该周期Ci的始发者220相关联的密文,并且始发者220可以将该密文传输到多个参与节点中的下一个节点。尽管参照图3和图4所描述的示例包括两个消息选项或交易选项(例如,第一消息(r1)和第二消息(r2)),在一些示例实施方案中,始发者220可以为周期Ci生成两个以上的交易选项。
第一消息(r1)和第二消息(r2)的嵌套加密根据经销商节点210所指定的顺序被相继地传输到周期Ci的参与节点。由于连续参与节点使用其自身的私钥对接收到的密文进行解密,因此第一条消息(r1)和第二条消息(r2)的嵌套加密将被相继取消加密。当密文被最终传输到传播者240(例如,周期Ci的参与节点的最后一个节点)时,传播者240可以使用传播者240的私钥对密文进行解密,并且随后使用交易私钥对由此产生的密文进行解密。交易私钥可以于传播者240先前传输到经销商节点210以传输到周期Ci的始发者220的交易公钥相对应。
现在参照图5,其示意性地示出了根据本申请的密文的嵌套解密和针对周期Ci的交易选项的选择。周期Ci通常可以由多个参与节点执行的操作来定义。周期Ci可以具有8个参与节点502。为了便于说明,各个参与节点502可以被标识为“U1”、“U2”、“U3”、“U4”、“U5”、“U6”、“U7”和“U8”。尽管图5中示出的周期的参与节点包括8个参与节点,但是任意数量的节点都可以参与周期Ci的区块链交易。在一些实施方案中,参与节点的数量可以是大于3个参与节点的任何数量。图5示出了周期C1,其中,节点U1可以发起消息并生成密文。此外,经销商节点可以将节点U6指定为选择者节点,并且可以将节点U8指定为传播者节点。
经销商节点可以指定节点顺序或节点位置。在图5中,经销商节点可以根据升序的节点标识符顺序来指定节点顺序,比如从U1到U8。然而,在一些示例中,经销商节点可以以任何其他方式指定节点顺序,并且该节点顺序可以不按照升序的节点标识符顺序。
通常,始发者220(图2)可以是周期Ci的第一参与节点。传播者240可以是最后的参与节点Un。选择者230可以是中间定位的参与者Uj,其中,n是参与节点的数量,并且1<j<n。经销商节点可以将节点U6指定为选择者节点230(图2)。因此,在图5中,始发者220可以是节点U1,选择者230可以是节点U6,并且传播者240(图2)可以是节点U8。尽管节点U6被指定为选择者230,但是选择者230可以是不是始发者且不是传播者的任何其他节点。在图5中,经销商节点还可以将节点U2、节点U3、节点U4、节点U5或节点U7中的任一者随机地指定为选择者230。
在执行周期C1的操作之前,节点U8可以从经销商节点210接收指示,即,节点U8是用于源于始发者220的密文的传播者240。应当理解的是,在一些实施方案中,传播者240可以不知道哪个参与节点是始发者220。此外,传播者240可能不需要知道哪个参与节点是始发者220。传播者240可能需要知道它可以执行传播者对源自多个参与节点中的另一参与节点的密文的操作。节点U8可以生成交易公钥和交易私钥,并且将该交易公钥传输到经销商节点210以传输到始发者220。
经销商节点还可以将有序公钥列表传输到始发者220。在图5的示例中,经销商节点210可以传输有序公钥列表(例如,与节点U8、U7、U6、U5、U4、U3和U2相关联的公钥)。所传输的公钥的顺序可以基于由经销商节点210指定的参与节点顺序。在图5的示例中,有序公钥列表可以是递减的有序公钥列表,即,与节点U8、U7、U6、…、U3和U2相关联的公钥。从本文的描述中将明显的是,当节点U1生成消息选项并使用嵌套加密操作对消息选项进行加密以提供密文时,密文可以被相继传输到有序参与节点中的下一个节点,从而使用与每个“下一个节点”相关联的相应的私钥来进行相继解密。
在图5中,节点U1可以生成至少两个消息,所述至少两个消息包括第一消息和第二消息。第一消息可以是包括第一输出地址的第一消息选项,交易将向第一输出地址分配第一值。第二消息可以是包括第二输出地址和第三输出地址的第二消息选项,交易将向第二输出地址分配第二值,交易将向第三输出地址分配第三值。当为周期C1提供两个消息时,节点U1可以使用参照图4简要描述的嵌套加密操作分别对第一消息(r1)和第二消息(r2)进行加密。嵌套的加密的第一消息(r1)和嵌套的加密的第二消息(r2)的组合可以是密文,并且节点U1可以将密文传输到节点U2。
现在将同时参照图6,其以流程图形式示出了根据本申请的在参与节点处实现的、用于参与区块链交易的示例方法600。方法600可以包括可以由区块链交易的参与节点中的一个参与节点处的一个或更多个处理器执行的操作。本实施方案假定执行该操作的参与节点不是接收到的密文的始发者节点。
为了说明,假定执行图6的方法600的操作的参与节点是节点U2。在操作610中,处理器可以从先前的节点接收密文。在本示例中,先前节点可以是节点U1,并且密文可以包括嵌套的加密的第一消息(r1)和嵌套的加密的第二消息(r2)的组合。嵌套的加密消息的组合可以是密文。
在操作620中,处理器可以确定参与节点是否是从先前节点接收的所述密文的选择者节点。在图5中,节点U6可以是指定的选择者节点。在操作620中,处理器可以确定节点U2不是从节点U1接收的所述密文的选择者节点。也就是说,参与节点不是从节点U1接收的用于所述密文的选择者节点。
当处理器确定参与节点不是所接收的密文的选择者节点时,在操作660中,处理器可以使用参与节点(例如,节点U2)的私钥来解密所接收的密文。由于节点U1(始发者)使用与指定节点顺序相对应的一系列公钥来执行操作以生成嵌套加密消息,因此节点U2可以对从节点U1接收到的密文504的“当前”状态进行解密。
处理器随后可以将解密密文传输到下一个参与节点(例如,节点U3)。当节点U2使用节点U2的私钥对密文504的“当前状态”进行解密时,原始生成的第一消息(r1)和原始生成的第二消息(r2)被解密,并且密文(在图5中用附图标记506示出)的“随后的当前状态”将使得可能需要更少的公钥来提供密文的未加密版本。如图5所示,一旦节点U2对密文504的“当前”状态进行解密,则解密密文可以是嵌套加密,该嵌套加密要求将剩余的公钥列表用于提供密文的未加密版本。
在操作620中,如果处理器确定出参与节点是所述密文的选择者节点,则在操作630中,处理器可以选择所述密文的子集。
为了说明,现在假定执行图6的方法600的操作的参与节点是节点U6。由于经销商节点可能已将节点U6指定为选择者,因此在操作630中,处理器可以选择嵌套加密的第一消息(r1)和嵌套加密的第二消息(r2)中的一者。当执行操作的参与节点是节点U6时,从先前节点接收到的密文示出为图5中用附图标记508表示的密文。该密文包括用与节点U8、节点U7和节点U6中的每一者相关联的交易公钥和私钥进行加密的第一消息(r1)和第二消息(r2)。在图6中,选择者节点可以选择嵌套加密的第二消息(r2)作为所述密文的子集。在一些实施方案中,可以基于在选择者节点处接收到的输入来选择第一消息(r1)或第二消息(r2)。然而,可以以任何其他方式进行选择。
在操作640中,处理器可以使用与节点U6相关联的私钥对所述密文的所选子集进行解密以提供选择密文。例如,处理器可以使用节点U6的私钥对嵌套加密的第二消息(r2)进行解密以提供选择密文510。
在操作650中,处理器可以将选择密文510传输到下一个参与节点。如图5所示,节点U6将选择密文510传播到节点U7。由于处理器未选择与第一消息(r1)相对应的嵌套加密密文,因此第一消息(m1)可以不被传播到周期C1中的任何随后的参与节点。也就是说,可能永远不会在传播者处接收到与第一消息(r1)相对应的嵌套加密密文,即,节点U8。
在一些示例实施方案中,即使与第一消息(r1)相对应的嵌套加密密文最终将被传播到节点U7,由于节点U6不使用节点U6的私钥对与第一消息(r1)相关联的未选择密文进行解密,因此后续的参与节点可能无法根据加密/解密的嵌套顺序对嵌套的加密密文进行成功解密。
为了进一步说明,现在假定执行图6的方法600的操作的参与节点是节点U7。在操作610中,处理器可以从节点U6接收密文。在本示例中,接收到的密文可以是选择密文510。选择密文510可以是密文的“当前状态”,其中,密文的“当前状态”可以是利用事务公钥以及与第八参与节点和第七参与节点相关联的公钥进行加密的第二消息(r2)。
在操作620中,处理器可以确定参与节点,即,节点U7不是所接收的密文的选择者节点。在第一周期,即,周期C1,选择者节点可以是节点U6,并且节点U7可以位于节点U6之后。
在操作660中,处理器可以使用与节点U7相关联的私钥对接收到的选择密文510进行解密,以提供解密后的密文进而传播到节点U8。在本示例中,解密密文可以是用交易公钥和与节点U8相关联的公钥进行加密的第二消息(r2)。也就是说,解密密文可以是预传播者密文512,如图5所示。因此,在操作660中,处理器可以将预传播者密文512传输到传播者节点,即,节点U8。
现在参照图7,其以流程图形式示出了根据本申请的在参与节点处实现的示例方法700,该方法可以是:(1)除了选择者230(图2)之外;以及(2)由经销商指定为传播者240(图2)。方法700可以包括可以由周期Ci中的区块链交易的参与节点中的一个参与节点处的一个或更多个处理器执行的操作。本实施方案假定执行操作的参与节点不是针对周期Ci的接收到的密文的始发者节点。
在操作760中,处理器可以使用参与节点的私钥对接收到的密文进行解密以提供解密后的密文。图7中示出的操作760可以对应于图6中示出的操作660。
在操作710中,处理器可以确定参与节点是否是传播者240(图2)。如果参与节点不是传播者240,则在操作750中,处理器可以将解密密文传输到下一个节点。为了说明,假定当前参与节点是除选择者之外的参与节点并且是除传播者之外的参与节点。例如,假定参与节点是第二参与节点,即,图5的节点U2。在操作750中,处理器可以将解密密文506传输到周期Ci的参与节点中的下一个节点,比如节点U3。
在操作710中,如果处理器确定参与节点是周期Ci的传播者240,则在操作720中,处理器可以使用交易私钥对解密密文进行解密,以提供与由第二节点所提供的选择密文相对应的未加密所选消息。
为了说明,假定执行图7的方法700的操作的参与节点是节点U8。在操作760中,处理器可以使用节点U8的私钥对接收到的密文进行解密以提供解密后的密文。此外,在操作720中,当参与节点是解密密文的传播者节点时,处理器可以使用交易私钥对解密密文进行解密,以提供与由同选择密文相关联的选择者节点提供的选择密文相对应的未加密所选消息。可以理解的是,由于本文中所描述的操作可能要求传播者使用下述各者在给定的周期Ci上执行解密:(1)与传播者节点相关联的私钥;以及(2)交易私钥,对于参与节点中的任何参与节点(例如,并发地操作为监测节点)来说,推断周期Ci的多个参与节点中的用于将传播者(以及因此传播者输出)与始发者相关联的参与节点链可能更具挑战性。
在图5的本示例周期C1中,选择者节点U6选择了源于节点U1的密文的子集。密文的所选子集包括嵌套加密的第二消息。回忆第二消息(r2)360(图3)可以包括与第二交易值362(例如,5比特币)相关联的第二输出地址366(图3)和与第三交易值364(例如,5比特币)相关联的第三输出地址368(图3)。由于未加密所选消息包括两个输出地址,因此在操作740中,处理器可以使用参与节点(例如,节点U8)的公钥来对每个未加密输出地址和相关联的值进行加密,以提供传播者节点输出。
然而,如果所选择密文的子集包括嵌套加密的第一消息(图5中未示出),则在操作730中,处理器可以用参与节点(例如,节点U8)的公钥来对未加密输出地址和相关联的值进行加密,以提供传播者节点输出。
在本文中所描述的方法中,始发者220可能知道周期Ci的参与节点的排序。然而,始发者220可能不知道哪个参与节点可以是选择者230。始发者220可能知道哪个参与节点是传播者240,然而,传播者240可能不知道哪个参与节点是始发者220,这是由于交易公钥是通过经销商节点210传输到始发者220的。尽管始发者220可能知道哪个参与节点是传播者240,并且可以从传播者240请求交易私钥,这样做将否定由本文中所描述的方法提供的优点。也就是说,如果始发者220试图绕开本文中所描述的周期Ci的操作,则将取消通过使选择过程远离特定参与节点而实现的优点。
现在参照图8,其示出了根据本申请的从节点U8输出的可能的传播者节点。为了说明从操作730或操作740中的每一者输出的可能的传播者节点,图8示意性地示出了从图7中示出的周期C1的节点U8输出的可能的传播者节点。
如果选择者(例如,节点6)选择包括嵌套加密的第一消息(r1)(图5中未示出)的密文的子集,则在操作720(图7)中,处理器可以提供第一未加密所选消息(r1)880,图8中未示出。
如果选择者(例如,节点6)选择包括嵌套加密的第二消息(r2)的密文的子集,则在操作720(图7)中,处理器可以提供第二未加密所选消息(r2)890,图8中示出。
在操作730中,当未加密所选消息包括第一输出地址时,处理器可以使用节点U8的公钥来对第一输出地址和相关联的第一交易值进行加密以提供传播者输出。也就是说,第一未加密所选消息(r1)880可以包括与一个交易值相关联的一个输出地址。在操作730中,传播者输出可以是第一传播者输出885。
在操作740中,当未加密所选消息包括第二输出地址和第三输出地址时,处理器可以使用节点U8的公钥来对第二输出地址和相关联的第二交易值进行加密,并且可以使用节点U8的公钥对第三输出地址和相关联的第三交易值进行加密,以提供传播者输出。也就是说,第二未加密所选消息(r2)890可以包括两个输出地址,每个输出地址与交易值相关联。在操作740中,传播者输出可以是包括两个输出的第二传播者输出895。相应的输出可以表示拆分的交易值。例如,如果选择者(例如,节点6)选择了与将交易输出拆分为两个输出(例如,将10比特币拆分为两个5比特币消息)相关联的密文的子集,则在操作740中,传播者将包括两个输出。
因此,在周期Ci结束时,取决于选择者节点做出的消息选项选择,传播者可以创建具有一个输出地址的单线传播者输出或具有两个输出地址的两个单线传播者输出。如所描述的,在图5中示出的示例性周期C1中,传播者(例如,节点U8)提供两个单线传播者输出,比如图8中示出的第二传播者输出895。
除了图5中示出的第一周期C1之外,与附加周期Ci相关联的操作也可以由参与节点来执行。例如,可以创建周期C2,其中,节点U2可以是始发者,并且其中,经销商节点可以为周期C2随机指定选择者和传播者。类似地,创建周期C3、C4、...和C8,其中,节点U3、节点U4、...和节点U8可以分别是始发者,并且其中,经销商节点可以为相应的周期随机指定选择者和传播者。经销商节点可以为周期Ci中的每个周期在参与节点中随机地指定选择者节点。由于用于Ci中的每个周期的选择者节点被随机指定,因此本文中所描述的方法可能会越来越多地限制监测节点可以推断出决策模式的概率。
本文中所描述的方法假定监测节点可能对将一个或更多个输出地址关联到特定实体感兴趣,使得可以跟踪代币传输。然而,参与节点可能已知的唯一输出地址可以是该节点作为传播者的输出地址。在本文中所描述的方法中,对于给定的周期Ci,传播者可能不了解始发者。为了限制监测节点推断给定周期Ci中哪些参与节点可能是选择者的概率,经销商节点可以将参与节点随机地指定为选择者,其中,一个周期中的随机指定独立于针对另一周期的那些参与节点的任何指定。根据本文中所描述的方法,有可能在若干周期Ci中可以将第一参与节点指定为选择者,而在任何周期Ci中可以不将第二参与节点指定为选择者。
在一些实施方案中,多个参与节点中的每个参与节点均可以被指定为传播者不超过一个周期。例如,一旦节点U8可以被指定为周期C1的传播者(例如,将节点1指定为始发者),则节点U8可以不是其他周期中的任何周期的传播者(例如,节点U8可以不是周期C2、C3、…或C8中的任何周期的传播者)。
在一些实施方案中,对于N个参与节点,可能存在N个周期。如果经销商节点将特定的参与节点指定为N个周期中的每个周期的选择者和传播者,并且如果公共交易密钥和参与节点公钥被交换(例如,参见图2)先验,则可以并行执行N个周期。
现在参照图9,其示意性地示出了根据本申请的在由参与节点902在N个周期上执行的操作可能已经完成之后的传播者节点输出904。在图9的示出示例中,可能有八个参与节点参与区块链交易。因此,可以有八个周期(例如,周期C1、C2、…和C8)。
在图9中,参与节点中的每个参与节点均可能已经被指定为针对源自始发者的密文的传播者。始发者可以是与指定传播者不同的参与节点。在图9中,每个参与节点Ui可以是传播者,并且可以基于由另一参与节点Uj发起的消息来提供一个单线传播者输出或两个单线传播者输出。
为了说明,当节点U8被指定为源自节点U1的消息的传播者时(例如,图5中示出的周期C1),节点U8可以提供两个单线传播者输出,比如传播者输出r和r
在另一说明中,当节点U1被指定为源自节点U7的消息的传播者时,节点U1可以提供两个单线传播者输出,比如传播者输出r和r
在另一说明中,当节点U2被指定为源自节点U6的消息的传播者时,节点U2可以提供单线传播者输出,比如图9中示出的传播者输出r
在本文中所描述的示例实施方式中,在N个周期结束时,每个参与节点均可以提供传播者输出。针对N个周期提供的传播者输出的数量可以大于参与节点的数量,这是因为从统计上来说,N个周期中的每个周期的选择者都可能不选择不拆分输入值的交易选项(例如,将10比特币拆分为本文中所描述的示例中的两个5比特币消息输出)。
因此,为了构建其中多个参与节点可以参与的区块链交易,可以执行改组技术以合并传播者输出,使得传播者节点输出可以以随机顺序进行组装。在选择者可以选择用于拆分输入值的交易选项的情况下(例如,在本文中所描述的示例中,将10比特币拆分为两个5比特币消息输出),在传播者输出经过混洗和合并之后,与拆分输入值相关联的两个输出地址(例如,每个输出地址对应5比特币拆分输入值)可以在混洗/合并的传播者输出集合中不再相邻。
为了对用于混洗和合并传播者输出值的操作进行说明,现在参照图10和图11,图10和图11示意性地示出了用于将参与节点的传播者节点输出混洗和合并到区块链交易的示例周期混洗操作,如本文中所描述的那样。周期混洗操作可以是混洗和合并输出地址的一个示例。然而,任何其他硬币混合方法或操作可以与本文中所描述的BOD操作结合使用。
图10示出了周期混洗操作的加密阶段。图11示出了周期混洗操作的解密阶段。为了便于说明,参照图10和图11所描述的示例周期混洗操作将假定一组4个参与节点,然而,为了理解本文中所描述的操作的优点,可以期望大于4个参与节点。
用于图10的周期混洗操作的加密阶段包括四个参与节点1002。为了便于说明,各个参与节点可以被标识为“U1”、“U2”、“U3”和“U4”。特别地,节点U1可以是节点U3的交易的指定传播者,其中,代币值可以不被拆分。节点U2可以是节点U1的交易的指定传播者,其中,代币值可以不被拆分。节点U3可以是节点U4的交易的指定传播者,其中,代币值可以被拆分。节点U4可以是节点U2的交易的指定传播者,其中,代币值可以被拆分。作为说明性示例,输入值可以是10比特币,并且当参与节点选择拆分输入值时,两个5比特币值可以各自与输出值相关联。当输入值可以被拆分时,选择者230(图2)可能已经选择了用于提供两个单线传播者输出的消息选项。也就是说,两个单线传播者输出可以是两个输出地址,其中,每个输出地址均可以与交易值相关联(例如,参见图3的第二消息(r2)360)。
在图10中,每个参与节点1002均可以使用下一个节点的公钥来对一组混洗选项(SSO)1004进行加密。为了说明,节点U1可以使用与节点U1相关联的公钥来对节点U1的传播者输出(例如,r3α)进行加密,并使用节点U2的公钥来对一组混洗选项(例如,包含加密的传播者输出r3α)进行加密。在一些实施方案中,传播者输出可以与交易值以及与交易值相关联的输出地址相关联。节点U1可以用节点U2的公钥来对SSO进行加密,使得当加密的SSO被传输到节点U2时,节点U2可以对SSO进行解密。也就是说,可能没有与节点U2关联的私钥的节点可能无法解密该SSO。
当节点U2从节点U1接收到加密的SSO时,节点U2可以:(i)解密接收到的加密的SSO;(ii)使用节点U2的公钥对U2的传播者输出进行加密;并且(iii)混洗SSO中包含的加密传播者输出的顺序。一旦加密的传播者输出已经被混洗,则可以使用与节点U3相关联的公钥来对混洗的SSO进行加密。节点U2可以将更新和加密的SSO转发到下一个节点。
在一些实施方案中,当在SSO中进行对加密地址的顺序进行混洗的操作时,参与节点可以利用任何合适的伪随机过程。可以理解的是,可以通过确定的数学过程固有地产生用于混洗地址的伪随机过程。
节点U3可以在从节点U2接收到加密的混洗的SSO时执行类似的操作,并且可以类似地用节点U4的公钥对更新的混洗的SSO进行加密。节点U3可以将更新和加密的SSO转发到下一个节点,即,节点U4。类似地,节点U4可以在从节点U3接收到加密的混洗的SSO之后执行操作,并且可以类似地用节点U1的公钥对更新的混洗的SSO进行加密。节点U4可以将更新和加密的SSO转发到下一个节点,即,节点U1。
遵循图10中示出的加密/混洗操作,在图11中,节点U1接收一组混洗的输出。节点U1可以使用节点U1的私钥对接收到的SSO进行解密,并且在SSO中搜索节点U1的加密的输出地址。当节点U1检索到节点U1的加密传播者输出时,节点U1可以使用节点U1的私钥对传播者输出进行解密,并且随后使用节点U1的公钥对传播者输出进行重新加密。节点U1可以用与下一个可用的参与节点,即节点Ui,相关联的公钥来对更新的SSO进行加密。下一个可用的参与节点,即,节点Ui不一定是节点U2,而可以是参与节点中的另一节点。
此后,节点Ui可以执行下述类似操作:对接收到的加密和更新的SSO进行解密,搜索与节点Ui相关联的传播者输出,使用与节点Ui相关联的私钥对该传播者输出进行解密,以及用节点U1的密钥对地址进行重新加密。节点Ui可以用另一参与节点(例如,集合{U1,U2,…,Un}中的参与节点)的公钥来对更新的SSO进行加密。
一旦每个参与节点搜索并且:(i)在接收到的SSO中找到其加密的传播者输出,就将其替换为其相应的解密值,然后用节点U1的公钥对输出地址进行重新加密,最终更新和加密的SSO可以被传输到节点U1。在该示例实施方案中,最终的更新和加密的SSO可以包括使用节点U1的公钥加密的输出地址。
一旦节点U1接收到最终的更新和加密的SSO,节点U1就可以使用与节点U1相关联的私钥对用于提供输出地址的SSO进行解密。最终SSO的输出地址的置换可以对应于最终排序,在该排序中,输出被包含在目标区块链交易中。
在一些实施方案中,节点U1可以创建具有来自最终更新的SSO的输出地址的区块链交易。可以使用SIGHASH_ANYONECANPAY签名脚本将来自节点U1输入的输入添加至区块链交易,并且任何其他参与节点可以迭代地将输入添加至交易。节点U1可以将交易传输到下一个参与节点,并且下一个参与节点可以检查出该节点的对应输出信息是否正确,可以添加其自己的输入,对交易进行签名,并且将交易转发到另一下一个参与节点。在任意数量的剩余参与节点上执行类似的操作,直到参与节点中的最后一个节点签署交易并将交易提交给区块链为止。
可以理解的是,当为N个参与节点生成用于对具有相同值的值进行转移的区块链交易时(例如,N个参与节点中的每个参与节点均转移与一个或更多个输出地址相关联的10比特币),监测节点可以随时间观察输入地址和输出地址,并且尝试将值的转移正确地关联到特定交易地址。
然而,当使用硬币混合操作结合本文中所描述的BOD操作为N个参与节点产生区块链交易时,m个参与节点可以选择将值转移到一个以上的输出地址。随着传播者输出的数量增加,监测节点基于数据挖掘和机器学习操作将输入地址与输出地址的对应正确组合(或与单个输出地址正确组合)正确关联的概率可能会降低。例如,在m个参与节点可以选择通过区块链交易将代币转移到一个以上的输出地址的情况下,N–m个参与者可以将值转移到单个输出地址,而m个参与者可以将值拆分为k个量。因此,硬币混合交易中包括的输出地址的数量可以是:
N=(N-m)+km
N=N+(k-1)m
此外,监测节点将输入地址与一个输出地址正确关联的概率可以是:
Figure BDA0002409721090000281
在一些实施方案中,在确定监测节点将输入地址与输出地址正确关联的概率时,可以考虑另外的情况:
·当转移值的拆分可以是偶数时,k个输出量可以是相等的。例如,当该值被等分(50/50)时,k个输出量可以是相等的。
·当转移值的拆分是奇数时,被转移的值的输出量可以是不相等的(例如75/25、80/20等)。
当值的转移可以被均等拆分时,对被转移为k个量中的值进行拆分的m个参与者之间的可能组合数量可以通过下式表示:
Figure BDA0002409721090000291
当值的转移不可以被均等拆分时,对其被转移为k个量的值进行拆分的m个参与者之间的可能组合数量可以通过下式表示:
Figure BDA0002409721090000292
在一些实施方案中,可以按如下提供监测节点可以将一个或更多个输出地址正确地关联到参与设备的概率:
·当与输出地址关联的被转移的值可以等于输入(最大)量时,概率可以由以下式提供:
Figure BDA0002409721090000293
·当与输出地址关联的被转移的值可以小于输入(或最大)量时,可以通过下式提供将输出与输入地址关联的概率:
Figure BDA0002409721090000294
·当与输出地址关联的被转移的值可以小于输入(或最大)量时,可以通过下式提供关联若干个输出地址使得被转移的值的总和等于输入(最大)量的概率:
Figure BDA0002409721090000295
因此,在一些实施方案中,可以通过下式提供监测节点将单个输出地址正确关联到单个输入地址的概率:
Figure BDA0002409721090000296
此外,可以由下式提供监测节点将一个或更多个输出地址正确关联到单个输入地址从而将参与节点的完整转移值关联的概率:
Figure BDA0002409721090000301
因此,当执行本文中所描述的BOD操作时,用于转移代币的输出地址的组合数量可以大于可以单独执行硬币混合方法的情况。也就是说,当执行本文中所描述的BOD操作时,监测节点可以将一个或更多个输出地址正确地关联到输入地址的概率可以小于可以单独执行硬币混合方法的情况的概率。因此,本文中所描述的方法旨在以较少确定性的方式来分配代币值,以增加***的整体熵并降低将输入地址与输出地址相关联的概率。
为了说明,请考虑10个参与节点和两种情况:(a)值的均等拆分可以被转移的情况;以及(b)值的奇数拆分(例如,非偶数拆分)可以被转移的情况。如果针对参与节点中的5个参与节点的传播者输出导致将代币值拆分为两个(例如,k=2)输出地址(例如,将10比特币拆分为两个5比特币输出地址),并且如果针对其余5个参与节点的传播者输出不导致代币值的任何拆分,则可以按下述提供组合数量,其中,N=10,m=5,k=2:
(a)针对值的均等拆分可以被转移的情况:
Figure BDA0002409721090000302
(b)针对值的奇数拆分可以被转移的情况:
Figure BDA0002409721090000303
在两个示例中,与不使用交易选项的情况相比,组合数量可以是更大。与独自进行的已知硬币混合方法的操作相比,监测节点将一个或更多个输出地址正确地关联到输入地址的概率可能较小。
现在参照图12,其以图形形式示出了在m=N/2的情况下对于不同的k值和对于偶数或奇数拆分作为参与者数量的函数的输出地址的可能组合数量。可以理解的是,组合数量越大,监测节点可以正确进行关联的概率就越小。也就是说,在一些实施方案中,可以提供将一个或更多个输出地址正确地关联到输入地址的概率作为图12中示出的分布的倒数。可以理解的是,尽管与偶数拆分情况相比,奇数拆分情况可能会导致更少的组合,但是情况中的每种情况可以提供比当单独进行已知硬币混合***的操作时提供的组合更多的组合。
在图12中,第一曲线1210示出了在执行已知硬币混合方法的操作的同时作为参与者数量的函数的输出地址的可能组合数量。第二曲线1220示出了当实现所转移的值的奇数拆分时以及当所转移的值可以被拆分为两个量(例如,k=2)时输出地址的可能组合数量。第三曲线1230示出了当实现所转移的值的奇数拆分时以及当所转移的值可以被拆分为三个量(例如,k=3)时输出地址的可能组合数量。
此外,第四曲线1240示出了当实现所转移的值的均等拆分时以及当所转移的值可以被拆分为两个量(例如,k=2)时输出地址的可能组合数量。第五曲线1250示出了当实现所转移的值的均等拆分时以及当所转移的值可以被拆分为三个量(例如,k=3)时输出地址的可能组合数量。
本文中所描述的盲化结果多样化(BOD)方法的操作可以减轻与在公共账本上分配代币值相关联的一些缺点或安全风险。本文中所描述的操作不依赖于任何集中式实体。特别地,本文中所描述的操作由针对周期Ci的参与节点执行,并且针对每个周期提供传播者输出。通过将参与节点随机地指定为每个周期Ci的选择者,BOD方法的操作可以增加***的熵并且更随机地分配任何特定于节点的偏差,从而降低监测节点可以利用机器学习操作来推断跨多个交易的模式的概率,这些模式揭示了输入地址与输出地址之间的关联。可以理解的是,在一些实施方案中,BOD方法的操作可以要求可能的消息选项的格式,并且代币拆分值可能需要在参与节点之中的针对N个周期的操作开始之前被指定到区块链交易。
在一些实施方案中,根据本文中所描述的方法和计算设备,监测节点可以是周期Ci中的参与节点。例如,监测节点可以是用于区块链交易的参与节点,其可以根据本文中所描述的方法执行操作或者仅观察从参与节点传输到参与节点的消息或密文。此外,监测节点可以是区块链节点,其可以不是周期Ci中的参与节点。然而,在传播者输出可以被添加到区块链交易以提交到区块链之前,参与节点中的每个参与节点均可以对交易进行签名,以验证与其生成的消息相对应的输出是否正确。因此,除非多个参与节点中的每个参与节点均签署了该交易,否则该交易可能不会被验证以提交给区块链。监测节点执行操作或观察消息/密文的影响可能是浪费了根据每个周期执行的操作。在一些实施方案中,为了抵消充当监测节点的参与设备,参与节点可以周期性地改变其输入地址和输出地址。
现在参照图13,其以框图形式示出了参与节点1300的简化示例。参与节点1300可以包括处理器1302、网络接口1304和存储器1306。参与节点1300可以使用具有网络连接性和足够的处理和存储器资源以执行本文中所描述的功能的任何合适的计算硬件来实现。参与节点可以包括处理器可执行指令用以实现本文中所描述的功能。在一些实施方案中,处理器可执行指令可以被称为区块链应用程序1320,尽管应当理解的是,指令可以在一个或更多个模块、应用程序、脚本或其他编程结构中实现,这取决于硬件和操作***。处理器1302可以包括处理器、多核处理器和/或多个处理器。存储器1306可以存储数据,在示例实施方案中,该数据包括本文中所描述的操作的数据。
将理解的是,可以使用标准计算机编程技术和语言来实现本文中所描述的设备和过程以及实现所描述的用于参与区块链交易的方法/过程的任何模块、例程、过程、线程、应用程序或其他软件组件。本申请不限于特定处理器、计算机语言、计算机编程约定、数据结构、或其他这样的实现细节。
应当指出的是,上述实施方式说明而非限制本发明,并且本领域技术人员将能够在不脱离由所附权利要求限定的本发明的范围的情况下设计许多替代实施方式。在权利要求中,置于括号中的任何附图标记不应被解释为限制权利要求。用语“包括”和“包含”等不排除除了在任何权利要求或说明书中作为整体列出的元件或步骤之外的元件或步骤的存在。在本说明书中,“包括”表示“包括或由......组成”,并且“包含”表示“包含或由......组成”。元件的单数引用不排除这些元件的复数引用,反之亦然。本发明可以借助于包括若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的设备权利要求中,这些装置中的若干个装置可以由同一个硬件项实现。在相互不同的从属权利要求中陈述某些手段的仅有事实并不表示这些手段的组合不能用于获益。

Claims (14)

1.一种计算机实现的方法,用以提高区块链实现的交易的安全性,所述交易包括来自多个参与节点的参与,每个参与节点均具有其自己的公钥和私钥,每个参与节点均作为消息始发者、选择者和传播者来参与,所述方法包括:
从先前节点接收密文;以及
确定参与节点是否是接收到的所述密文的选择者节点,所述密文来自所述先前节点;
当所述参与节点是所述密文的所述选择者节点时:
选择所述密文的子集;
使用所述参与节点的所述私钥对所述密文的所选择的所述子集进行解密,以提供用于传播到下一个节点的选择密文;并且
将所述选择密文传输到所述下一个节点;并且
当所述参与节点不是所述密文的所述选择者节点时:
使用所述参与节点的所述私钥对接收到的所述密文进行解密,所述密文来自所述先前节点;并且
发送解密后的密文到所述下一个节点。
2.根据权利要求1所述的方法,其中,当所述参与节点是所述选择者节点时,所述密文包括两个或更多个加密消息,并且,
其中,选择所述密文的所述子集包括选择所述两个或更多个加密消息中的一个加密消息。
3.根据权利要求1所述的方法,还包括:发起密文,其中,发起密文包括:
生成至少两个消息,所述至少两个消息包括具有一个输出地址的第一消息和具有两个输出地址的第二消息,其中,所述交易分配第一值给所述一个输出地址,所述交易分配第二值和第三值给所述两个输出地址中的相应的输出地址,其中,所述第二值和所述第三值之和是所述第一值;
对所述至少两个消息中的每个消息进行加密以提供密文,所述至少两个消息中的每个消息均是交易选项;以及
传输所述密文到所述下一个节点。
4.根据权利要求3所述的方法,其中,所述对所述至少两个消息中的每个消息进行加密以提供密文包括:
从经销商节点处接收交易公钥和有序公钥列表,所述有序公钥列表包括与所述多个参与节点中的每个参与节点相关联的公钥,所述有序公钥列表以降序排列,使得与所述下一个节点相关联的公钥是所述有序公钥列表中的最后一个公钥;以及
用所述交易公钥且随后用所述有序公钥列表对所述至少两个消息中的每个消息进行加密,使得每个加密消息均是对消息的嵌套加密。
5.根据权利要求3所述的方法,其中,所述多个参与节点中的每个参与节点均可生成交易选项,所述交易选项具有至少一种指定格式和至少一个指定交易值。
6.根据前述权利要求中的任一项所述的方法,还包括:
从经销商节点处接收指示,所述指示表示所述参与节点是传播者节点,所述传播者节点用于源自所述多个参与节点中另一节点的密文;
生成交易公钥和交易私钥;以及
传输所述交易公钥给所述经销商节点,从而传输到所述另一节点以发起密文。
7.根据前述权利要求中的任一项所述的方法,还包括:当所述参与节点是所述密文的所述传播者节点时,在使用所述参与节点的所述私钥对所述密文进行解密之后:
使用所述交易私钥对解密后的所述密文进行解密,以提供与所述选择密文相对应的未加密所选消息,其中,所述选择密文由与所述选择密文相关联的所述选择者节点提供;
当所述未加密所选消息包括第一输出地址时,利用所述参与节点的所述公钥对所述第一输出地址和相关联的第一交易值进行加密,以提供传播者输出;
当所述未加密所选消息包括第二输出地址和第三输出地址时,用所述参与节点的所述公钥对具有相关联的第二交易值的第二输出地址和具有相关联的第三交易值的第三输出地址中的每一者进行加密,以提供所述传播者输出;以及
将所述传播者输出转发到后续节点,以混合来自所述多个参与节点中的每个参与节点的传播者输出。
8.根据前述权利要求中的任一项所述的方法,还包括:
从经销商节点处接收指示,所述指示表示所述参与节点是所述选择者节点,所述选择者节点用于源自另一参与节点的密文,其中,所述参与节点由所述经销商节点随机地指定为所述选择者节点。
9.根据前述权利要求中的任一项所述的方法,其中,经销商节点将所述多个参与节点中的一个参与节点指定为传播者节点,并且经销商节点将所述多个参与节点中的一个参与节点指定为与所述密文相关联的选择者节点,并且
其中,所述传播者节点、所述选择者节点和用于发起所述密文的参与节点是所述多个参与节点中的不同参与节点。
10.根据前述权利要求中的任一项所述的方法,其中,经销商节点将所述多个参与节点中的每个参与节点指定为所述多个参与节点中的一个其他参与节点的传播者节点。
11.根据前述权利要求中的任一项所述的方法,其中,所述多个参与节点包括至少4个参与节点。
12.根据前述权利要求中的任一项所述的方法,其中,所述参与节点可作为各自关联密文的消息始发者、选择者和传播者并发地参与,以使得所述多个参与节点中的每个参与节点为该参与节点的关联密文提供传播者输出,该参与节点指定为传播者节点。
13.一种用以增加区块链实现的交易的安全性的计算设备,所述计算设备是多个参与节点中的一个,所述计算设备作为用于发起密文的消息始发者、用于源自另一参与节点的密文的选择者、以及用于源自又一不同参与节点的密文的传播者而参与,所述计算设备包括:
处理器;
存储器;
网络接口,所述网络接口用以向所述多个参与节点中的至少一个其他参与节点提供网络连接性;以及
包含计算机可执行指令的区块链应用程序,所述计算机可执行指令在由所述处理器执行时使所述处理器执行权利要求1至12中的任一项所述的方法。
14.一种非暂时性处理器可读介质,所述非暂时性处理器可读介质存储处理器可执行指令以提高多个参与节点之中的区块链实现的交易的安全性,其中,所述处理器可执行指令在由所述参与节点中的一个参与节点中的处理器执行时使所述处理器执行权利要求1至12中的任一项所述的方法。
CN201880059431.1A 2017-09-15 2018-09-11 使用盲目的结果分散来增加区块链的熵的方法和设备 Active CN111149323B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311265224.0A CN117353925A (zh) 2017-09-15 2018-09-11 使用盲目的结果分散来增加区块链的熵的方法和设备

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB1714907.1A GB201714907D0 (en) 2017-09-15 2017-09-15 Computer-implemented system and method
GB1714907.1 2017-09-15
PCT/IB2018/056906 WO2019053583A1 (en) 2017-09-15 2018-09-11 METHODS AND DEVICES FOR INCREASING ENTROPY OF A BLOCK CHAIN USING DIVERSIFICATION OF MASKED RESULTS

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311265224.0A Division CN117353925A (zh) 2017-09-15 2018-09-11 使用盲目的结果分散来增加区块链的熵的方法和设备

Publications (2)

Publication Number Publication Date
CN111149323A true CN111149323A (zh) 2020-05-12
CN111149323B CN111149323B (zh) 2023-10-20

Family

ID=60159500

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201880059431.1A Active CN111149323B (zh) 2017-09-15 2018-09-11 使用盲目的结果分散来增加区块链的熵的方法和设备
CN202311265224.0A Pending CN117353925A (zh) 2017-09-15 2018-09-11 使用盲目的结果分散来增加区块链的熵的方法和设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202311265224.0A Pending CN117353925A (zh) 2017-09-15 2018-09-11 使用盲目的结果分散来增加区块链的熵的方法和设备

Country Status (6)

Country Link
US (3) US11223608B2 (zh)
EP (4) EP3902201B1 (zh)
JP (3) JP7145937B6 (zh)
CN (2) CN111149323B (zh)
GB (1) GB201714907D0 (zh)
WO (1) WO2019053583A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11049182B2 (en) * 2017-12-28 2021-06-29 Chicago Mercantile Exchange Inc. Secure deterministic tokens for electronic messages
US11100578B2 (en) * 2018-05-16 2021-08-24 Chicago Mercantile Exchange Inc. Secure deterministic tokens for encrypting electronic communications
GB201913667D0 (en) * 2019-09-23 2019-11-06 Nchain Holdings Ltd Computer-implemented system and method
US11621857B2 (en) * 2020-09-03 2023-04-04 Seagate Technology Llc Fingerprint and provenance for movable storage devices
FR3129801A1 (fr) * 2021-11-30 2023-06-02 Banks And Acquirers International Holding procédé de traitement de preuve numérique, système et programme correspondant

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101637854B1 (ko) * 2015-10-16 2016-07-08 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법
US20170005804A1 (en) * 2015-07-02 2017-01-05 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
CN106549749A (zh) * 2016-12-06 2017-03-29 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
US20170243193A1 (en) * 2016-02-18 2017-08-24 Skuchain, Inc. Hybrid blockchain

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266704B1 (en) 1997-05-30 2001-07-24 The United States Of America As Represented By The Secretary Of The Navy Onion routing network for securely moving data through communication networks
WO2015179020A2 (en) 2014-03-27 2015-11-26 Ent Technologies, Inc. Generalized entity network translation (gent)
CN107533700A (zh) 2015-02-17 2018-01-02 西尔维奥·米卡利 验证电子交易
CA2981511C (en) 2015-03-31 2018-08-28 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US9935948B2 (en) * 2015-09-18 2018-04-03 Case Wallet, Inc. Biometric data hashing, verification and security
US10382196B2 (en) * 2016-04-29 2019-08-13 Olympus Sky Technologies, S.A. System and method for secure communications based on locally stored values
GB201709367D0 (en) * 2017-06-13 2017-07-26 Nchain Holdings Ltd Computer-implemented system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170005804A1 (en) * 2015-07-02 2017-01-05 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
KR101637854B1 (ko) * 2015-10-16 2016-07-08 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법
US20170243193A1 (en) * 2016-02-18 2017-08-24 Skuchain, Inc. Hybrid blockchain
CN106549749A (zh) * 2016-12-06 2017-03-29 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JAN HENRIK ZIEGELDORF,FRED GROSSMANN: "CoinParty: Secure Multi-Party Mixing of Bitcoins", 《ACM》 *

Also Published As

Publication number Publication date
EP4369654A2 (en) 2024-05-15
EP3902201B1 (en) 2023-01-25
US11792173B2 (en) 2023-10-17
US20220321547A1 (en) 2022-10-06
CN117353925A (zh) 2024-01-05
JP7145937B6 (ja) 2022-11-28
JP2022177183A (ja) 2022-11-30
JP7145937B2 (ja) 2022-10-03
EP4178151A1 (en) 2023-05-10
GB201714907D0 (en) 2017-11-01
JP2023162393A (ja) 2023-11-08
EP3682592A1 (en) 2020-07-22
EP3682592B1 (en) 2021-07-21
US20240121229A1 (en) 2024-04-11
JP2020533859A (ja) 2020-11-19
EP3902201A1 (en) 2021-10-27
US20200280546A1 (en) 2020-09-03
JP7345612B2 (ja) 2023-09-15
US11223608B2 (en) 2022-01-11
WO2019053583A1 (en) 2019-03-21
CN111149323B (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
CN111149323B (zh) 使用盲目的结果分散来增加区块链的熵的方法和设备
US11431484B2 (en) Blockchain transaction privacy enhancement through broadcast encryption
US20210051001A1 (en) Multiparty secure computing method, device, and electronic device
CN108600227B (zh) 一种基于区块链的医疗数据共享方法及装置
CN110366839B (zh) 计算机实现的***和方法
CN110138802B (zh) 用户特征信息获取方法、装置,区块链节点、网络,及存储介质
CN104160674B (zh) 内容中心网络
KR102618691B1 (ko) 블록체인 네트워크를 이용한 멀티 라운드 토큰 분배 시스템 및 방법
CN111526197B (zh) 一种云端数据安全共享方法
CN110709874A (zh) 用于区块链网络的凭证生成与分发方法和***
KR102028092B1 (ko) 신뢰 양자 서명 장치 및 방법
KR20200019944A (ko) 블록체인 네트워크에서 계층적 토큰 분산을 위한 시스템 및 방법
JP2016526851A (ja) 暗号鍵を共有するためのシステム
JP2020088421A (ja) 通信装置、通信方法、および通信プログラム
CN112039883A (zh) 一种区块链的数据分享方法及装置
US11411720B2 (en) Key distribution system, terminal device, key distribution method, and program
US20200169391A1 (en) Multi-hop security amplification
JP2018037938A (ja) 鍵交換方法、鍵交換システム
KR102149819B1 (ko) 영상데이터를 전송하는 다중 송신원 인증방법
Hwang et al. Quantum entanglement establishment between two strangers
Le Secure and Private Access Control for Systems of Smart Devices
Wang et al. Enabling Re-encryption of Hierarchical Verifiable Permutation Scheme for Bittorrent Chunk Exchanges

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant