掌桥专利:专业的专利平台
掌桥专利
首页

抗Sybil攻击身份的生成

文献发布时间:2023-06-19 11:17:41


抗Sybil攻击身份的生成

本申请是申请号为201880048468.4、发明名称为“抗Sybil攻击身份的生成”的中国专利申请的分案申请。

相关申请的交叉引用

本申请是要求2018年5月8日提交的美国临时申请号62/668,633的优先权的PCT申请,该申请以引用方式并入本文。

背景技术

许多去中心化系统依赖于可信的第三方来为系统的参与者生成抗Sybil攻击身份的集合。在没有此类参与方的情况下,在保留所需安全属性的同时建立此集合变得极具挑战性。虽然最近有著作提出了解决此问题的方法,但是所有已知方案都具有较大的通信和计算开销。

其他去中心化系统依赖于共识协议,该共识协议允许其参与者集体决定协议结果,而无需任何可信的参与方。此类共识协议实质上提供了一种投票机制,在由系统“唯一地标识”为单个实体之后,通过该投票机制为每个参与者分配一个投票。此类标识机制用于阻止双重投票,并且一般来讲用于阻止Sybil攻击,在这种攻击中,敌对方可以通过接管多数身份并且因此获得多数投票来恶意影响系统的集体决策。

本发明的实施方案单独地或共同地解决了这些和其他问题。

发明内容

本发明的一个实施方案涉及一种方法,包括:由多个节点中的一个节点执行身份集合生成过程;由该节点确定领导节点;由该节点从多个节点中的每个节点向所述多个节点扩散身份集合;并且由该节点确定多数集合,该多数集合包括在该身份集合的至少一半中出现的身份,其中该领导节点将该领导节点的多数集合扩散到所述多个节点。

本发明的另一个实施方案涉及身份集合生成过程。该身份集合生成过程包括:由节点生成公共密钥、私有密钥和随机质询字符串;由该节点将该随机质询字符串传输到多个节点;由该节点从所述多个节点接收多个随机质询字符串;由该节点生成包括所述多个随机质询字符串和该随机质询字符串的质询集合;由该节点确定求解工作量证明的随机数;由该节点将包括公共密钥、随机数、来自工作量证明的哈希值和质询集合的元组传输到所述多个节点;由该节点从所述多个节点接收多个元组;并且由该节点验证所述多个元组,其中如果所述多个元组中的一个元组有效,则将与该元组相关联的公共密钥存储在身份集合中。

本发明的另一个实施方案涉及节点,该节点包括:处理器;存储器设备;以及耦接到处理器的计算机可读介质,该计算机可读介质包括能由所述处理器执行以实现方法的代码,该方法包括:由多个节点中的一个节点执行身份生成集合过程;确定领导节点;将身份集合从多个节点中的每个节点扩散到所述多个节点;以及确定包括在身份集合的至少一半中出现的身份的多数集合,其中该领导节点将该领导节点的多数集合扩散到所述多个节点。

关于本发明的实施方案的其他细节可见于具体实施方式和附图。

附图说明

图1示出根据本发明实施方案的示出节点网络的系统的框图。

图2示出根据本发明实施方案的节点的部件的框图。

图3示出根据本发明实施方案的例示身份集合生成过程的流程图。

图4示出根据本发明实施方案的生成身份集合的方法。

图5示出根据本发明实施方案的例示共识过程的流程图。

图6示出根据本发明实施方案的执行共识过程的方法。

具体实施方式

在讨论本发明的实施方案之前,可以进一步详细描述一些术语。

“密钥对”可以包括一对链接的加密密钥。例如,密钥对可以包括公共密钥和对应的私有密钥。在密钥对中,第一密钥(例如,公共密钥)可以用于加密消息,而第二密钥(例如,私有密钥)可以用于解密加密的消息。另外,公共密钥可能能够认证用对应的私有密钥创建的数字签名。公共密钥可以分布在整个网络中,以便允许对使用对应的私有密钥签名的消息进行认证。公钥和私钥可以是任何适当格式,包括基于RSA或椭圆曲线密码学(ECC)的格式。在一些实施方案中,可以使用非对称密钥对算法来生成密钥对。然而,如本领域的普通技术人员将理解的那样,也可以使用其他方式来生成密钥对。在一些实施方案中,私有密钥可以被称为保密密钥。

“服务器计算机”可以包括功能强大的计算机或计算机集群。举例来说,服务器计算机可以是大型主机、小型计算机集群或像单元一样工作的一组服务器。在一个实例中,服务器计算机可以是耦合到网络服务器的数据库服务器。服务器计算机可耦合到数据库,且可包含用于服务来自一个或多个客户端计算机的请求的任何硬件、软件、其他逻辑或前述内容的组合。服务器计算机还可以是云中的计算机集合的形式,其服务一个或多个客户端计算机的请求。

术语“节点”可以指连接点。在一些实施方案中,节点可以是能够创建、接收或传输数据的物理电子设备。在一些实施方案中,节点可以是网络内的计算设备。在一些实施方案中,节点可以是服务器计算机。在其他实施方案中,节点可以是计算设备上的软件模块,该软件模块是通信网络中的连接点。“诚实节点”可以是诚实地执行操作的节点。诚实节点可以不被敌对方或恶意参与方操作。

“领导节点”可以包括被其他节点选择和/或确定为领导的节点。在一些实施方案中,领导节点可以是已经从工作量证明确定与其他节点所确定的哈希值相比最低哈希值的节点。领导节点可以说是在轮次中领导其他节点。领导节点能够在轮次中将领导节点的多数集合扩散到多个节点。

“身份集合”可以包括节点身份的组。每个节点可以存储身份集合。该身份集合可以包括节点当前认为是诚实的身份。在一些实施方案中,一个节点的身份集合可以不同于另一个节点的身份集合。一旦所有诚实节点在相同或基本相同的身份集合上达成一致,诚实节点就可以获知其他每个诚实节点的身份。

“身份”可以包括标识节点的任何合适的标识符。节点可以在本地创建随机字符串,该随机字符串可以是公共/私有密钥对的随机生成的公共密钥。在一些实施方案中,公共/私有密钥对可以是节点的身份。在其他实施方案中,节点的身份,也被称为ID

“多数集合”可以是包括在由节点获得的身份集合的至少一半中出现的节点身份的集合。领导节点可以将领导节点的多数集合扩散到多个节点。

“质询集合”可以是包括随机质询字符串的集合。节点可以在接收多个随机质询字符串之后创建质询集合。随机质询字符串可以是由节点确定的随机值。随机质询字符串可以在任何合适的范围内,例如在{0,1}

“工作量证明”和/或“工作过程证明”可以包括比验证解决方案在计算上更难以解决的问题。执行工作过程证明可以是低概率的随机过程,使得在生成有效的工作量证明之前,平均执行多次尝试错误。工作量证明可以通过哈希函数建模。对哈希函数的输入可以包括公共密钥、质询集合、随机数和/或其他合适的数据。哈希函数的输出可以是哈希值。例如,工作过程证明可以是h

“随机数”可以包括任何数字、字符串、位序列或其他数据值。随机数可以用于工作过程证明,以改变对哈希函数的输入,以便获得针对特定输入的哈希,其中该哈希满足要求,诸如低于难度值。

“哈希值”可以包括哈希函数的输出。哈希函数可以是工作过程证明的一部分。哈希值可以是任何合适的范围,例如(0,1)的范围内的实数。可以通过加密算法诸如工作过程证明来处理数据,并且生成唯一的数值—哈希值。如果以任何方式修改了输入数据,则哈希值也可以明显地变化。

“元组”可以包括元素的序列和/或有序列表。元组可以包括任何合适的数据,例如公共密钥、随机数、哈希值、质询集合等。在一些实施方案中,元组可以包括身份,例如ID

“轮次”可以包括重复发生的事件序列。在一些实施方案中,轮次可以是连续时间步长的序列,其中由诚实节点发送的每个消息可以在序列结束时到达其预期的一个或多个接收方(即,一个或多个其他节点)。时间步长可以包括在任何合适的信道上传输一个位所花费的最短时间。这可类似于同步轮次的标准定义,其中每个节点可以执行以下三个步骤:(1)从其他节点接收消息;(2)必要时执行一些本地计算;以及(3)发送消息至其他节点。对于任何给定的轮次,这三个步骤可以是原子性的。不涉及求解计算谜题的本地计算可以被认为是瞬时的。

身份集合可以被分到存储桶中。“存储桶”可以包括数据单元。在一些实施方案中,存储桶可以包括身份集合的分区和/或部分。例如,在一些实施方案中,身份集合S

“处理器”可以指任何合适的一个或多个数据计算设备。处理器可包括一起工作以实现所要功能的一个或多个微处理器。处理器可以包括CPU,该CPU包括至少一个高速数据处理器,该高速数据处理器足以执行用于执行用户和/或系统生成的请求的程序组件。CPU可以是微处理器,诸如AMD的Athlon、Duron和/或Opteron;IBM和/或Motorola的PowerPC;IBM和Sony的Cell处理器;Intel的Celeron、Itanium、Pentium、Xeon和/或XScale;以及/或者类似的一个或多个处理器。

“存储器”可以是可以存储电子数据的任何合适的一个或多个设备。合适的存储器可包括非暂时性计算机可读介质,其存储可由处理器执行以实现所要方法的指令。存储器的示例可以包括一个或多个存储器芯片、磁盘驱动器等。此类存储器可以使用任何合适的电、光和/或磁操作模式来操作。

I.引言

本发明的实施方案可以允许参与者(即,系统中的节点)在身份集合上达成一致,该身份集合可以在存在计算上受限的拜占庭式敌对方的情况下包含系统中所有诚实节点的身份,而无需对最初可能希望加入系统的节点数量的任何知识。诚实节点可以是行为诚实的非恶意节点。在本发明的一些实施方案中,最终的身份集合可以包括一定分数的敌对身份,其中最终身份集合中敌对身份的分数至多等于敌对方的总计算哈希能力。此外,本发明的实施方案可以处理节点的动态到达和离开,同时在每个轮次中保留对于高达线性数量的扰动所需的安全性和带宽保证。

与先前的著作不同,根据本发明实施方案的方法可以以期望的恒定的轮次数量运行,并且允许诚实节点以高概率(在安全性参数中)就诚实节点的身份集合达成共识。对于可以容忍对数数量的轮次的应用,本发明的实施方案可以以高概率(在节点数量中)允许诚实节点就其身份集合达成共识。在这两种情况下,诚实节点可以每轮发送~O(n)位,并且可以在此过程中求解一次计算谜题(例如,工作量证明)。

去中心化系统通常依赖于某种共识协议,该共识协议允许其参与者集体决定协议结果,而无需任何可信的参与方。此类共识协议实质上提供了一种投票机制,在由系统“唯一地标识”为单个实体之后,通过该投票机制为每个参与者分配一个投票。此类标识机制用于阻止双重投票,并且一般来讲用于阻止Sybil攻击,[John Douceur,“The Sybilattack”,收录在《Proceedings of the Second International Peer-to-Peer Symposium(IPTPS)》中,2002年],在这种攻击中,敌对方可以通过接管多数身份并且因此获得多数投票来恶意影响系统的集体决策。虽然无法完全避免Sybil攻击,但是可以限制其速率,使得每个共识轮次中恶意身份的数量受到限制,从而使得共识问题可以解决,参见[M.Pease,R.Shostak和L.Lamport,“Reaching agreements in the presence of faults”,《Journalof the ACM》,27(2):228–234,1980年4月]。

对参与者的抗Sybil攻击标识可能需要花费大量的资源,特别是在缺少可信的权威机构诸如第三方的情况下。每个参与者可以执行一些“艰巨的任务”,诸如求解计算谜题,参见[Cynthia Dwork和Moni Naor,“Pricing via processing or combatting junkmail”,收录在《Advances in Cryptology—CRYPTO’92:12th Annual InternationalCryptology Conference Santa Barbara,California,USA August 16–20,1992Proceedings》中,第139页至第147页,Berlin,Heidelberg,1993年,Springer BerlinHeidelberg],或CAPTCHA,参见[Luis Von Ahn、Manuel Blum、Nicholas J.Hopper和JohnLangford,“Captcha:Using hard ai problems for security”,收录在《Proceedings ofthe22Nd International Conference on Theory and Applications of CryptographicTechniques》中,EUROCRYPT’03,第294页至第311页,Berlin,Heidelberg,2003年,Springer-Verlag],使得具有实际上有限的资源的敌对方难以进行Sybil攻击。遗憾的是,当每个节点执行速率限制任务时,此类速率限制技术通常会给系统的节点带来很大的开销。通过为系统中的每个节点分配对于多个会话有效的证书(称为身份),可以在多个共识会话中分摊该成本。拥有证书可以证明完成了速率限制任务。

身份生成问题本身可以是一种共识问题,被称为交互一致性(IC),[MarshallPease、Robert Shostak和Leslie Lamport,“Reaching agreement in the presence offaults”,《Journal of the ACM》(JACM),27(2):228–234,1980年],其中节点在没有任何可信的权威机构的情况下共同地在其输入(例如,身份)的单个向量上达成一致。遗憾的是,现有的IC解决方案[Marshall Pease、Robert Shostak和Leslie Lamport,“Reachingagreement in the presence of faults”,《Journal of the ACM》(JACM),27(2):228–234,1980年],包括可用于解决IC的共识问题的其他变体的解决方案(例如,Paxos[LeslieLamport,“The part-time parliament”,《ACM Transactions on Computer Systems》,16(2):133–169,1998年5月]和PBFT[Miguel Castro和Barbara Liskov,“Practicalbyzantine fault tolerance”,收录在《Proceedings of the Third Symposium onOperating Systems Design and Implementation》中,OSDI’99,第173页至第186页,1999年]),不能直接用于解决身份生成问题,因为所有这些解决方案都假定已建立了身份。

比特币,参见[Satoshi Nakamoto,“Bitcoin:A peer-to-peer electronic cashsystem”,2008年,可访问网址https://bitcoin.org/bitcoin.pdf获得],是最受欢迎的去中心化系统之一,该系统通过经由计算上困难的谜题(被称为工作量证明(PoW))限制Sybil攻击的速率来避免身份生成问题,参见[Cynthia Dwork和Moni Naor,“Pricing viaprocessing or combatting junk mail”,收录在《Advances in Cryptology—CRYPTO’92:12th Annual International Cryptology Conference Santa Barbara,California,USAAugust 16–20,1992Proceedings》中,第139页至第147页,Berlin,Heidelberg,1993年,Springer Berlin Heidelberg]。所有参与者都试图求解由至少一个参与者在每个共识难度调节周期所揭示的谜题。经由工作量证明过程生成的证明可以在短时间内被视为参与者的身份。在比特币中,PoW还用作分布式彩票协议,以在每个轮次中选取无法预测的领导节点,该领导节点帮助完成共识过程。领导者的不可预测性允许比特币可以保护其共识协议免受完全自适应的敌对方的攻击,这些敌对方可以在每一轮次开始时选择已损坏节点的集合,从而提前损坏领导者。然而,实际上,敌对方通常被认为是轻度适应性的,参见[Eleftherios Kokoris-Kogias、Philipp Jovanovic、Linus Gasser、Nicolas Gailly、EwaSyta和Bryan Ford,“Omniledger:A secure,scale-out,decentralized ledger viasharding”,《Cryptology ePrint Archive,Report 2017/406》,2017年,https://eprint.iacr.org/2017/406]。

由于随机性问题,即使是现有的区块链协议也不能用于无偏性身份。虽然最近有著作提出了解决此问题的方法,但遗憾的是,所有已知方案都具有大量的通信和计算开销,因此是不切实际的。许多去中心化协议都假定存在可信的设置协议,该设置协议可以生成用于认证其参与者身份的公共密钥基础结构或用于引导协议的公共参考字符串。

根据本发明实施方案的方法对诚实节点进行寻址,这些诚实节点在假定不存在可信设置的设定中,有效地生成抗Sybil攻击身份(ID)的集合并且就此达成共识。诚实节点可以在ID的集合上达成一致,使得ID的集合可以包含(1)所有诚实节点的ID,以及(2)系统中每个不诚实节点的最多一个ID。在一些实施方案中,这些ID可以由单个节点随机生成,这些节点可以使用密钥生成算法来产生密钥对(pk,sk),包括公共密钥和私有密钥,每一者的长度可以为κ位。密钥生成阶段可以在每个节点的本地,并且敌对方可以忽略诚实节点的私有随机位。因此,一旦敌对方的公共密钥为所有节点所知,敌对方可能就无法假冒任何诚实节点,除了κ中的概率可以忽略不计以外。此外,敌对节点可以自由选择密钥对(pk,sk)。因此,敌对节点的密钥对不能被视为无偏随机字符串。

A.问题陈述

一个示例性系统可以包括多个节点。可以存在n个节点,P

身份生成(IG)协议可以是具有以下属性的共识协议:一致性、有效性、可验证性和可终止性。协议属性可以意指所有诚实节点可以在相同的身份集合S上达成一致。有效性属性可以意指如果节点P

IC协议和IG协议之间可存在两个主要区别:(1)IC协议可能不需要提供可验证性属性;以及(2)IC协议可以输出向量而不是集合。在IC协议中,由于可以假定节点已建立了身份,所以可能定义身份的有序集合(即,向量)。

B.模型

图1示出根据本发明的一些实施方案的包括许多部件的系统100的框图。该系统包括许多诚实节点102和许多恶意节点104。多个节点106可以包括诚实节点102和恶意节点104。多个节点106中的每个节点可以与附近的其他节点进行操作性通信。在一些实施方案中,多个节点106中的每个节点可以与多个节点106中的每个节点进行操作性通信。

在不失一般性的情况下,每个诚实节点102和每个恶意节点104可以配备有一个单元的计算哈希能力,这可以允许节点执行等量的工作量证明(PoW)。根据标准随机预言机假设,可以在单个轮次中将PoW建模为计算谜题,参见[Cynthia Dwork和Moni Naor,“Pricingvia processing or combatting junk mail”,收录在《Advances in Cryptology—CRYPTO’92:12th Annual International Cryptology Conference Santa Barbara,California,USA August 16–20,1992Proceedings》中,第139页至第147页,Berlin,Heidelberg,1993年,Springer Berlin Heidelberg]。哈希能力可以是特定节点所具有的计算能力。例如,功能更强大的计算机具有较高的哈希能力。然而,应当理解,每个节点可以具有不同量的计算哈希能力。

接下来,将描述恶意节点104的威胁模型。可能存在拜占庭敌对方,该拜占庭敌对方可以任意地偏离协议,但可能不能更改或延迟由诚实节点102发送的消息。该敌对方可以控制许多恶意节点104。该敌对方可以配备有高达多个节点106的总哈希能力的f<1/3分数的哈希能力。换句话讲,敌对哈希能力的总量可以为

接下来,将描述网络模型。网络中的每一对相邻节点可以经由同步可靠信道连接。为了通过Lamport[Marshall Pease、Robert Shostak和Leslie Lamport,“Reachingagreement in the presence of faults”,《Journal of the ACM》(JACM),27(2):228–234,1980年]和[Michael J Fischer、Nancy A Lynch和Michael Merritt,“Easyimpossibility proofs for distributed consensus problems”,《DistributedComputing》,1(1):26–39,1986年]规避下限,这些信道可以提供可靠的消息扩散和达成共识所需的最小认证功能性。由于根据本发明实施方案的方法可以允许节点求解PoW,因此,由于最近发布的不可能性结果,参见[Rafael Pass和Elaine Shi,“Rethinking large-scale consensus”,收录在《Computer Security Foundations Symposium(CSF),2017IEEE30th》中,第115页至第129页,IEEE,2017年]和[Juan Garay、Aggelos Kiayias和NikosLeonardos,“The bitcoin backbone protocol:Analysis and applications”,收录在《Annual International Conference on the Theory and Applications ofCryptographic Techniques》中,第281页至第310页,Springer,2015年],同步通信的假设是不可避免的。可以传递由任何诚实节点102广播的消息。在一些实施方案中,此类广播机制可以通过扩散来实现,例如,参见[R.Karp、C.Schindelhauer、S.Shenker和B.Vocking,“Randomized rumor spreading”,收录在《Proceedings of the 41st Annual Symposiumon Foundations of Computer Science》中,FOCS’00,第565页–,Washington,DC,USA,2000年,《IEEE Computer Society》]。

图1中所示的实体、提供者、网络和设备之间的消息可以使用安全通信协议进行传输,诸如但不限于文件传输协议(FTP);超文本传输协议(HTTP);安全超文本传输协议(HTTPS)、安全套接字层(SSL)、ISO(例如,ISO 8583),等等。通信网络可以包括任何合适的通信介质。通信网络可以是以下项中的一者和/或它们的组合:直接互连;互联网;局域网(LAN);城域网(MAN);将任务作为互联网上的节点进行操作(OMNI);安全的自定义连接;广域网(WAN);无线网络(例如,采用协议,诸如但不限于无线应用协议(WAP)、I-模式等),等等。

根据本发明实施方案的方法可以按轮次进行。轮次可以是连续时间步长的序列,其中由诚实节点102发送的每个消息可以在序列结束时到达其预期的一个或多个接收方(即,一个或多个其他节点)。时间步长可以被定义为在任何合适的信道上传输一个位所花费的最短时间。这可类似于同步轮次的标准定义,其中每个节点可以执行以下三个步骤:(1)从其他节点接收消息;(2)必要时执行一些本地计算;以及(3)发送消息至其他节点。对于任何给定的轮次,这三个步骤可以是原子性的。可能不涉及求解计算谜题的本地计算可以被认为是瞬时的。

图2示出根据本发明实施方案的节点的部件的框图。节点200包括处理器202、计算机可读介质204、输出元件206、安全存储器208、网络接口210,以及输入元件212。计算机可读介质204可以包括许多模块,诸如身份集合生成模块204A和共识模块204B。

计算机可读介质204可以包括代码,该代码可由处理器202执行以实现一种方法,该方法包括:由多个节点中的一个节点执行身份集合生成过程;由该节点确定领导节点;由该节点从多个节点中的每个节点向所述多个节点扩散身份集合;以及由该节点确定多数集合,该多数集合包括在身份集合的至少一半中出现的身份,其中领导节点将该领导节点的多数集合扩散到所述多个节点。

身份集合生成模块204A可以包括软件代码,该软件代码可以生成公共密钥、私有密钥和随机质询字符串;将该随机质询字符串传输到多个节点;从多个节点接收多个随机质询字符串;生成包括所述多个随机质询字符串和该随机质询字符串的质询集合;确定求解工作量证明的随机数;将包括公共密钥、随机数、来自工作量证明的哈希值和质询集合的元组传输到多个节点;从所述多个节点接收多个元组;并且验证所述多个元组,其中如果所述多个元组中的一个元组是有效的,则将与该元组相关联的公共密钥存储在身份集合中。

共识模块204B可以包括软件代码,该软件代码可以确定领导节点;将身份集合从多个节点中的每个节点扩散到所述多个节点;并且确定多数集合,该多数集合包括在身份集合的至少一半中出现的身份,其中领导节点将该领导节点的多数集合扩散到所述多个节点。

输出元件206可以包括可以输出数据的任何合适的一个或多个设备。输出元件206的示例可以包括显示屏、扬声器和数据传输设备。

安全存储器208可以安全地存储加密的访问数据、密钥标识符、公共密钥和任何其他相关数据。安全存储器208可以是安全元件、硬件安全模块或任何其他合适形式的安全数据存储的形式。

网络接口210可以包括可以允许节点200与外部计算机通信的接口。网络接口210可以使节点200能够与另一个设备(例如,其他节点)进行数据通信。网络接口210的一些示例可以包括调制解调器、物理网络接口(诸如以太网卡或其他网络接口卡(NIC))、虚拟网络接口、通信端口、个人计算机存储卡国际协会(PCMCIA)插槽和卡等。由网络接口210启用的无线协议可以包括Wi-Fi

经由网络接口210传输的数据可以是信号的形式,这些信号可以是能够由外部通信接口接收的电气、电磁、光学或任何其他信号(统称为“电子信号”或“电子消息”)。这些电子消息(其可以包含数据或指令)可以通过通信路径或渠道在网络接口210与其他装置之间提供。如上所述,可以使用任何合适的通信路径或渠道,比方说例如电线或电缆、光纤、电话线、蜂窝链路、射频(RF)链路、WAN或LAN网络、互联网或任何其他合适的介质。

输入元件212可以包括能够将数据输入到节点200中的任何合适的一个或多个设备。输入设备的示例包括按钮、触摸屏、触摸板、麦克风等。

II.相关著作

Douceur[John Douceur,“The Sybil attack”,收录在《Proceedings of theSecond International Peer-to-Peer Symposium(IPTPS)》中,2002年]相对于需要准入控制来管理某些公共资源使用的应用和最近对无需许可的系统的研究,参见[Elaine Shi和Rafael PAss,“Feasibilities and infeasibilities for achieving responsivenessin permissionless consensus”,《DISC》,2017年],讨论了对抗Sybil身份的问题,在无需许可的系统中参与的用户可以随意加入和离开。一种受欢迎的方法是使用建模为随机预言机或其体现的计算谜题,以防止恶意节点通过利用其有限的计算能力来向系统添加多个身份。这种想法是由Dwork和Naor的开创性著作[Cynthia Dwork和Moni Naor,“Pricing viaprocessing or combatting junk mail”,收录在《Advances in Cryptology—CRYPTO’92:12th Annual International Cryptology Conference Santa Barbara,California,USAAugust 16–20,1992 Proceedings》中,第139页至第147页,Berlin,Heidelberg,1993年,Springer Berlin Heidelberg]、[Cynthia Dwork、Moni Naor和Hoeteck Wee,“Pebblingand proofs of work”,收录在《CRYPTO》中,第5卷,第37页至第54页,Springer,2005年]所激发的,即使用计算谜题来对抗垃圾邮件。Aspnes等人[James Aspnes、Collin Jackson和Arvind Krishnamurthy,“Exposing computationally-challenged byzantineimpostors”,《Department of Computer Science,Yale University,New Haven,CT,Tech.Rep》,2005年]提出了一种协议,该协议无需假定任何公共随机设置即可创建抗Sybil攻击身份的集合。然而,对于属于不诚实节点的身份,其算法可以导致诚实节点之间相对于其输出集合产生不一致。对它们的方法中存在的问题将在下面进一步详细讨论。有几篇后续论文(参见[Jonathan Katz、Andrew Miller和Elaine Shi,“Pseudonymous broadcastand secure computation from cryptographic puzzles”,《Cryptology ePrintArchive,Report 2014/857,2014》,https://eprint.iacr.org/2014/857]、[MarcinAndrychowicz和Stefan Dziembowski,《PoW-Based Distributed Cryptography with NoTrusted Setup》,第379页至第399页,Springer Berlin Heidelberg,Berlin,Heidelberg,2015年]、[Lisa Eckey、Sebastian Faust和Julian Loss,“Efficient algorithms forbroadcast and consensus based on proofs of work.Technical report”,《CryptologyePrint Archive,Report 2017/915,2017》]、[Guido Urdaneta、Guillaume Pierre和Maarten Van Steen,“A survey of dht security techniques”,《ACM ComputingSurveys(CSUR)》,43(2):8,2011年]和[Diksha Gupta、Jared Saia和Maxwell Young,“Proof of work without all the work”,《arXiv preprint arXiv:1708.01285》,2017年])提出了在各种设定中针对该问题的不同类型的解决方案。

针对该问题可存在两种解决方案:一种是假定存在可信设置,诸如PKI(公共密钥基础结构),然后尝试阻止Sybil IP地址访问共享资源,参见[Guido Urdaneta、GuillaumePierre和Maarten Van Steen,“A survey of dht security techniques”,《ACMComputing Surveys(CSUR)》,43(2):8,2011年]、[Diksha Gupta、Jared Saia和MaxwellYoung,“Proof of work without all the work”,《arXiv preprint arXiv:1708.01285》,2017年]、[Diogo Monica,“Thwarting the Sybil attack in wireless ad hocnetworks”,《INSTITUTO SUPERIOR TECNICO(IST)》,2009年]、[Satoshi Nakamoto,“Bitcoin:A peer-to-peer electronic cash system”,2008年,可访问网址https://bitcoin.org/bitcoin.pdf获得]、[Nikita Borisov,“Computational puzzles as Sybildefenses”,收录在《Sixth IEEE International Conference on Peer-to-PeerComputing,2006》,P2P 2006,第171页至第176页,IEEE,2006年]、[Frank Li、PrateekMittal、Matthew Caesar和Nikita Borisov,“Sybilcontrol:practical Sybil defensewith computational puzzles”,收录在《Proceedings of the seventh ACM workshop onScalable trusted computing》中,第67页至第78页,《ACM杂志》,2012年]、[HosamRowaihy、William Enck、Patrick Mcdaniel和Thomas La Porta,“Limiting Sybilattacks in structured peer-to-peer networks”,《Technical report,Network andSecurity Research Center,Department of Computer Science and Engineering,Pennsylvania State University,USA》,2005年],以及[A.Kate、Y.Huang和I.Goldberg,“Distributed key generation in the wild”]。虽然另一种解决方案试图设计技术来提供一种本质上抗Sybil攻击的基础结构,使得可以将其用于引导其他(经过许可的)系统,参见[Jonathan Katz、Andrew Miller和Elaine Shi,“Pseudonymous broadcast and securecomputation from cryptographic puzzles”,《Cryptology ePrint Archive,Report2014/857,2014》,https://eprint.iacr.org/2014/857]、[James Aspnes、Collin Jackson和Arvind Krishnamurthy,“Exposing computationally-challenged byzantineimpostors”,《Department of Computer Science,Yale University,New Haven,CT,Tech.Rep》,2005年]、[Marcin Andrychowicz和Stefan Dziembowski,“PoW-BasedDistributed Cryptography with No Trusted Setup”,第379页至第399页,SpringerBerlin Heidelberg,Berlin,Heidelberg,2015年]、[Lisa Eckey、Sebastian Faust和Julian Loss,“Efficient algorithms for broadcast and consensus based on proofsof work.Technical report”,《Cryptology ePrint Archive,Report 2017/915》,2017年]、[Tuyet Duong、Lei Fan、Thomas Veale和Hong-Sheng Zhou,“Securing bitcoin-likebackbone protocols against a malicious majority of computing power”,《IACRCryptology ePrint Archive》,2016:716,2016年]、[Ruomu Hou、Irvan Jahja、Loi Luu、Prateek Saxena和Haifeng Yu,“Randomized view reconciliation in permissionlessdistributed systems”,收录在《IEEE Conference on Computer Communications(INFOCOM)》中,IEEE,2018年],以及[Juan A Garay、Aggelos Kiayias、Nikos Leonardos和Giorgos Panagiotakos,“Boot-strapping the blockchain-directly”,《IACRCryptology ePrint Archive》,2016:991,2016年]。本发明的实施方案可涉及第二目标。

Katz等人[Jonathan Katz、Andrew Miller和Elaine Shi,“Pseudonymousbroadcast and secure computation from cryptographic puzzles”,《CryptologyePrint Archive,Report 2014/857,2014》,https://eprint.iacr.org/2014/857]、Andrychowicz和Dziembowski[Marcin Andrychowicz和Stefan Dziembowski,“PoW-BasedDistributed Cryptography with No Trusted Setup”,第379页至第399页,SpringerBerlin Heidelberg,Berlin,Heidelberg,2015年],以及Hou等人[Ruomu Hou、IrvanJahja、Loi Luu、Prateek Saxena和Haifeng Yu,“Randomized view reconciliation inpermissionless distributed systems”,收录在《IEEE Conference on ComputerCommunications(INFOCOM)》中,IEEE,2018年]描述了彼此相似的协议。然而,存在一些明显的差异。Katz等人的著作[Jonathan Katz、Andrew Miller和Elaine Shi,“Pseudonymousbroadcast and secure computation from cryptographic puzzles”,《CryptologyePrint Archive,Report 2014/857,2014》,https://eprint.iacr.org/2014/857]假定存在随机信标,以确保敌对方无法预先计算计算谜题。然后,它描述了一组节点如何根据可公开获得的随机信标共同创建(抗Sybil攻击的)PKI。根据本发明实施方案的方法可以使用基于PoW解决方案的可靠广播,但是,实施方案不像现有技术中那样假定公共可用的随机信标。

Andrychowicz和Dziembowski的论文[Marcin Andrychowicz和StefanDziembowski,“PoW-Based Distributed Cryptography with No Trusted Setup”,第379页至第399页,Springer Berlin Heidelberg,Berlin,Heidelberg,2015年]通过实现诚实节点的输出之间的一致性,提供了利用随机信标的解决方案。然而,它们的算法相当复杂,并且涉及对来自每个诚实节点的多个计算谜题的解决方案,从而使它们的方法在实践中不可行。本发明的实施方案可以通过每个节点使用一次PoW来改善该结果,因此,实施方案实际上是有效的。

最后,Hou等人的著作[Ruomu Hou、Irvan Jahja、Loi Luu、Prateek Saxena和Haifeng Yu,“Randomized view reconciliation in permissionless distributedsystems”,收录在《IEEE Conference on Computer Communications(INFOCOM)》中,IEEE,2018年]将该问题描述为观点分歧问题,并且提供了一种随机化的解决方案,适用于敌对哈希能力的分数高达总哈希能力的四分之一、总轮次复杂度为Θ(logN/loglogN)的情况。本发明的实施方案可以通过提供可以以恒定的轮次数量运行的算法来改善该结果,该算法可以以安全性参数中的高概率确保共识,并且可以将对敌对哈希能力的弹性提高到总哈希能力的三分之一。

III.阶段I

根据本发明实施方案的方法可以分两个阶段进行。在高级别处,本发明的实施方案可以首先允许诚实节点为所有节点本地计算身份集合,使得与任意两个诚实节点相对应的集合在不诚实节点的身份上可以不同。接下来,根据本发明实施方案的方法可以使用可以为随后的轮次选择领导者的分桶算法,每个轮次可以使诚实节点更接近在其身份集合上达成一致。

该过程的第一阶段可以被称为几乎处处身份一致阶段,其灵感来自几乎处处拜占庭一致的概念,参见[C.Dwork、D.Peleg、N.Pippenger和E.Upfal,“Fault tolerance innetworks of bounded degree”,收录在《Proceedings of the eighteenth annual ACMsymposium on Theory of computing》中,第379页,《ACM杂志》,1986年],其中并非所有但几乎所有诚实参与方都必须达成一致。每个节点可以创建ID的集合,S

在一些实施方案中,如果哈希函数H的输出小于某个已知难度参数d,则PoW可以成功。可以根据网络延迟和安全性参数的边界来设置难度参数d。一旦确定对PoW的成功的解决方案,每个诚实节点都可以将其解决方案及其公共密钥扩散到多个节点中的其他节点。在从某个节点P

图3示出根据本发明实施方案的例示身份集合生成过程的流程图。图3包括第一节点302、第二节点304和第三节点306。虽然以特定顺序示出了步骤,但是应当理解,本发明的实施方案可以包括具有以不同顺序进行的步骤的方法。另外,可以省略或添加步骤,并且这些步骤仍然可以在本发明的实施方案内。在图3中,多个节点中的一个节点可以执行身份集合生成过程。

在步骤1之前,多个节点中的每个节点可以生成随机的公共密钥/私有密钥对(pk

在步骤1处,每个节点可以在身份集合S

在步骤2处,在每个节点从多个节点中的每个其他节点接收随机质询字符串c

在确定第一质询集合C

在步骤3处,在从多个节点P

下面的协议1描述了上面图3中所示的身份集合生成过程的示例性伪代码。

接下来,将讨论该阶段的属性。首先,每个公共密钥的长度可以为Θ(logn)位,因此,由每个诚实节点发送的位的总数可以为

引理1:令S

引理2:令P

推论3:令

建立了有关身份集合S

图4示出根据本发明实施方案的生成身份集合的方法。将在包括多个节点的系统的上下文中描述图4中所示的方法。然而,应当理解,本发明可以应用于其他情况(例如,在希望防止Sybil攻击的系统或网络中,等等)。虽然以特定顺序示出了步骤,但是应当理解,本发明的实施方案可以包括具有以不同顺序进行的步骤的方法。另外,可以省略或添加步骤,并且这些步骤仍然可以在本发明的实施方案内。

当初始化节点的网络时,可以发生步骤S402。每个节点可能不会存储与将在网络中的节点的总数相关的数据。在步骤S402处,多个节点中的每个节点可以生成公共密钥、私有密钥和随机质询字符串。本领域的技术人员将理解,可以使用适用于本发明的任何方法来生成公共密钥/私有密钥对。如本文所述,随机质询字符串可以随机生成,并且可以具有集合{0,1}

在步骤S404处,在生成公共密钥、私有密钥和随机质询字符串之后,多个节点中的每个节点可以将该随机质询字符串传输到多个节点中的其他节点。

在步骤S406处,多个节点中的每个节点可以从多个节点中的其他节点接收多个随机质询字符串。每个节点可以从其他每个节点接收一个随机质询字符串。然而,在一些情况下,恶意节点可以将随机质询字符串传输到一些节点,而不传输到其他节点。由于这种恶意活动,每个节点可以接收不同数量的随机质询字符串。

在步骤S408处,多个节点中的每个节点可以生成包括多个随机质询字符串的质询集合。例如,在一些实施方案中,每个节点可以通过级联每个所接收的质询字符串来生成质询集合。

在步骤S410处,在生成质询集合之后,多个节点中的每个节点可以确定求解工作量证明的随机数。对工作量证明的输入可以包括公共密钥、质询集合和随机数,如本文所述,例如,h

每个节点可以通过确定正确的随机数x

在步骤S412处,在确定随机数之后,每个节点可以将元组传输到多个节点中的其他节点。元组可以包括公共密钥、随机数、质询集合和哈希值。这样,元组可以包括对哈希函数的输入(即,公共密钥、随机数和质询集合),以及哈希函数的输出(即,哈希值)。接收元组的第二节点可以验证对哈希函数的输入是否导致哈希函数的输出,因此,第二节点可以验证该节点正确执行了工作量证明。在步骤S414处,多个节点中的每个节点可以接收多个元组。给定节点可以从多个节点中的不同节点接收多个元组中的每个元组。

在接收多个元组之后,在步骤S416处,多个节点中的每个节点可以验证多个元组。节点可以通过确定与元组相关联的公共密钥、随机数和质询集合是否求解哈希函数,使得与该元组相关联的所得哈希值小于预先确定的难度参数d来验证该元组。如果节点验证元组,则该节点可以将与该元组相关联的公共密钥存储在身份集合中。如果未验证元组,例如,如果所得哈希值大于预先确定的难度参数d,则节点可以确定不在身份集合中存储与该元组相关联的公共密钥。每个节点都可以验证其已接收的每个元组。在每个节点验证每个元组之后,每个节点处的身份集合可以针对每个诚实节点包含一个身份,然而每个节点可以存储不同的身份集合。下面的阶段II描述了节点如何在相同的身份集合上达成共识。

IV.阶段II

在该部分中,将描述第二阶段。首先,将描述一些用于在节点的身份集合S及其问题上达成共识的稻草人方法。然后,将描述根据本发明实施方案的方法。

A.稻草人解决方案

第一稻草人解决方案可以包括本地身份生成。第一稻草人解决方案根据基于剪切-选择技术达成共识的想法。该稻草人解决方案的主要思想可以如下:(1)每个节点P

虽然此方法从S

接下来,将讨论另一种稻草人解决方案。该稻草人解决方案包括在每个节点上的Bracha广播。每个诚实节点P

另一种稻草人解决方案可以包括集合的并集。该草人解决方案可以依据推论4,并且诚实节点会仔细计算其集合的并集以在S

B.阶段II(完全一致)

该过程的第二阶段可以被称为处处身份一致。获得本地集合S

在该部分中,将讨论共识阶段。共识阶段可以允许诚实节点在ID的集合S上达成一致。在第一阶段中获得本地集合S

图5示出根据本发明实施方案的例示共识过程的流程图。虽然以特定顺序示出了步骤,但是应当理解,本发明的实施方案可以包括具有以不同顺序进行的步骤的方法。另外,可以省略或添加步骤,并且这些步骤仍然可以在本发明的实施方案内。

在步骤1之前,节点可以将在第一阶段中确定的本地集合S

引理3:对于分别具有本地集合S

在不失一般性的情况下,假定|S

现在,根据引理1,|S

在由每个节点执行分桶之后,从每个存储桶中,节点可以将PoW值最小的身份确定为该存储桶的领导节点。例如,节点可以基于哈希值来确定领导节点。在轮次中可以对每个存储桶进行处理。因此,从第一存储桶开始,可以运行与存储桶的领导节点的同步共识协议的多轮,以在S上达成一致。可以使用所有S

为了确定领导节点,每个节点可以将哈希值传输到多个节点中的每个其他节点。在一些实施方案中,每个节点可能已经具有来自阶段I中所述的每个其他节点的(在元组中接收的)哈希值。然后,每个节点可以确定从多个节点接收的多个哈希值中的最小哈希值。

由于元组包含哈希值和公共密钥两者,因此每个哈希值与一个公共密钥相关联。公共密钥可以是节点的身份。每个节点可以确定与最小哈希值相关联的身份,并且可以选择与最小哈希值和身份相关联的节点(例如,第二节点)作为该轮的领导节点。在一些实施方案中,节点可以确定它是领导节点。

在图5的步骤1处,在节点确定领导节点之后,节点可以将其自身的本地身份集合S

在步骤2处,在从多个节点中的每个节点接收身份集合之后,每个节点可以创建身份集合的集合

在创建身份集合的集合

在步骤3处,在确定多数集合T

在步骤3之后,不是领导节点的每个节点可以验证所接收的多数集合T

在节点确定最终身份集合之后,该节点可以知道哪些其他节点是诚实节点。该节点然后可以与其他诚实节点进行交互。例如,在一些实施方案中,该节点可以与身份在最终身份集合中的节点通信。这两个节点可以经由任何合适的加密协议安全地通信,并且知道接收方节点是诚实的。

由每个诚实节点所存储的最终身份集合确定的诚实节点可以执行由多个诚实节点执行的任何合适的过程。在一些实施方案中,均存储包括另一方的身份的最终身份集合的两个节点可以执行交互,诸如交易。例如,两个节点可以在知道它们正在与诚实节点执行交易的情况下执行交易。第一节点可以联系第二节点以执行交易。第一节点和第二节点可以在节点以及任何其他商品和/或服务之间待转移的金额上达成一致。

在其他实施方案中,具有包括在最终身份集合中的身份的节点可以投票。例如,每个诚实节点可以给新领导节点投票以使其领导进一步的处理。

在一些实施方案中,在确定最终身份集合之后,节点可以创建包括交易、合同、事件和/或其他合适数据的区块链。节点可以读取和/或写入区块链。每个节点可能能够维护区块链的副本,并且可以验证存储在区块链上的先前区块。例如,多个节点可以接收交易,并且可以验证该交易是否有效(例如,节点可以验证是否存在足够的资金用于该交易)。多个节点能够对是否接受交易进行投票。如果多个节点投票接受交易,则多个节点可以将交易写入区块链上的区块。

下面的协议2描述了如上面在图5中所述的抗Sybil攻击身份的生成协议的阶段II的示例性伪代码。

在图6中进一步描述了协议2,其中示出了根据本发明实施方案的执行共识过程的方法。如本文所述,将在已经执行阶段I的系统的背景中描述图6中所示的方法。然而,应当理解,本发明可以应用于其他情况(例如,确定对数据集合达成共识的系统等)。虽然以特定顺序示出了步骤,但是应当理解,本发明的实施方案可以包括具有以不同顺序进行的步骤的方法。另外,可以省略或添加步骤,并且这些步骤仍然可以在本发明的实施方案内。

在步骤S602处,多个节点中的每个节点可以执行身份集合生成过程,如本文所述。在步骤S604处,在执行身份集合生成过程之后,每个节点可以存储身份集合。多个节点中的每个节点可以确定领导节点。在一些实施方案中,如本文所述,节点可以通过首先确定身份集合要被分到的存储桶的数量来确定领导节点。在将身份集合分到存储桶中之后,每个节点可以确定该存储桶中的身份集合的多个哈希值中的最小哈希值。然后,每个节点可以确定与最小哈希值相关联的身份集合的身份。在一些实施方案中,节点可以确定它是领导节点。在其他实施方案中,一个节点可以确定多个节点中的另一个节点是领导节点。

节点可以使用最小哈希值来确定领导节点,因为该最小哈希值是每个节点可以确定的方便的值。然而,应当理解,节点可以使用不同的规则和/或逻辑来选择与领导节点相关联的特定哈希值,诸如但不限于最大哈希值、中值哈希值,等等。

在步骤S606处,在确定领导节点之后,每个节点可以将身份集合扩散到多个节点。每个节点可以从多个节点中的每个其他节点接收一个身份集合。然而,在一些情况下,恶意节点可以将身份集合传输到一些节点,而不是传输到其他节点。在这种情况下,节点可以接收的身份集合的数量少于多个节点中的节点的数量。每个节点可以创建包括每个所接收的身份集合的身份集合的集合。可以使用本文所述的任何合适的方法来构造身份集合的集合。

在步骤S608处,多个节点中的每个节点可以确定多数集合,该多数集合包括在身份集合的集合中的至少一半的身份集合中出现的身份。通过接收多个身份集合并且确定多数集合,节点可以确定多个节点中至少1/2的哪些身份被认为是诚实节点。

在一些实施方案中,在步骤S608之后,领导节点可以将领导节点的多数集合扩散到多个节点。例如,一个节点(例如,领导节点)可以接收三个身份集合。第一身份集合可以包括来自节点1、2和3的身份。第二身份集合可以包括来自节点1和2的身份。第三身份集可以包括来自节点1、2和4的身份。节点可以确定包括节点1和节点2的身份的多数集合,因为这些身份出现在所接收的身份集合中的至少一半中。然后,领导节点可以将多数集合传输到多个节点。多个节点中的每个节点可以接收领导节点的多数集合。

在从领导节点接收多数集合之后,每个节点可以验证领导节点的多数集合。每个节点可以验证所接收的多数集合中的每个身份(即,公共密钥)是否在由该节点存储的身份集合的集合中的身份集合的至少一半中出现。如果节点验证领导节点的多数集合,则节点可以基于领导节点的多数集合更新其自身的身份集合。

现在,每个节点可以存储轮次的多数集合,其中包括诚实节点的身份。每个节点可以针对先前通过将身份集合分到存储桶而确定的每个轮次重复先前的步骤。

C.安全性分析

接下来,将讨论根据本发明实施方案的方法的安全性。在一些实施方案中,敌对方可能使不同的诚实节点相信给定轮次中谁是领导者的不同顺序。以下引理可以帮助确立诚实节点领导能力的相对顺序在所有诚实节点之间可以是一致的。

引理4:令P

现在,在不失一般性的情况下,n

现在,因σ

(在领导节点可能是敌对的情况下)为了处理哪个节点是领导节点的观点上的不一致问题,PoW谜题的解决方案可以在其中具有足够的熵。在一些实施方案中,以上由每个节点计算的PoW的谜题可涉及由诚实节点新近生成的质询。

在下面的引理中,将描述一个类比,以得出到达第一轮次所需的轮次数的边界,在该第一轮次中,所有诚实节点可以在哪个节点是领导节点上达成一致。此类轮次(被称为良好轮次)可以始终具有对领导节点的一致观点。良好轮次的特征可以表述为与该轮次相对应的间隔只可以具有诚实节点对PoW谜题的解决方案。所有诚实节点可以就唯一领导节点达成一致,并且由Ren等人提出的协议,参见[Ling Ren、Kartik Nayak、Ittai Abraham和Srinivas Devadas,“Practical synchronous byzantine consensus”,CoRR,abs/1704.02397,2017年],可以在这一轮次结束之前终止。因此,系统对ID的集合达成了共识。

引理5:对于给定的常数ε∈(0,1),考虑将nε个红球和n(1-ε)个蓝球分别随机且均匀地丢入(标号为1到n的)n个箱中。然后,在具有n中的高概率的情况下,在前O(logn)箱中可以存在只有红球的箱。X

对于ε>2/3(f<n/3时也是如此),引理5指出,给定的箱仅包含红球的概率为约0.342。因此,期望每3个箱中的一个可以只包含红球,因此,可以期望前四轮包含算法的良好轮次,并且在具有n中的高概率的情况下,前log(n)轮也可以包括该良好轮次。对于上面描述的协议的任何给定轮次r,

引理6:令S

引理7:(安全性)在任何轮次r中,由所有这些身份集合的并集形成的

在第一种情况下,P

在第二种情况下,节点P

引理8:令r为第一良好轮次的索引。则对于每对诚实节点P

在第一种情况下,P

引理9:(活性)如果存储桶为空或包含至少一个不诚实节点,则协议的共识部分可进行下一轮次(即,下一个存储桶)。针对存储桶可以存在以下四种情况:(1)一个恶意领导者:该恶意领导者可以遵循Srini的证明;(2)一些诚实领导者和一些恶意领导者:在最坏的情况下,所有诚实节点可以继续到下一个存储桶;(3)全部为恶意领导者:因为某些恶意领导者可以诚实地执行动作,因此可以从情况2中减少这种情况;(4)空存储桶:此情况可以被减少到情况1,因为恶意领导者可以在该轮次中保持沉默,也可以遵循Srini的证明。

引理10:(完整性)对于所有轮次r′>r和每个诚实参与方P

定理1:(一致性)在具有n中的高概率的情况下,所有诚实节点在

定理2:(带宽)由每个诚实节点发送的位总数在第一阶段为O(n

V.结论

根据本发明实施方案的方法可以允许节点的集合在其他节点的身份集合上达成一致,使得Sybil身份的数量被最小化。本发明的实施方案在简单性、带宽,以及由节点执行的针对PoW谜题的解决方案的数量方面可以是有效的。终止可以以高概率发生在对数数量的轮次中。

本发明的实施方案具有许多优点。例如,节点可以确定所有诚实节点的身份集合,而无需对最初可能想要加入系统的节点数量的知识,也不需要初始可信设置。另外,本发明的实施方案允许节点的动态到达和离开,同时在每个轮次中保留所需的安全性和带宽。另一个优点是,本发明的实施方案可以以恒定的轮次数执行。

本申请中描述的任何软件组件或功能可被实现为要使用例如Java、C、C++、C#、Objective-C、Swift的任何合适的计算机语言或例如Perl或Python的脚本语言,使用例如常规的或面向对象的技术由处理器执行的软件代码。软件代码可作为一系列指令或命令存储在计算机可读介质上以供存储和/或传递,合适的介质包含随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器或软盘的磁性介质,或例如光盘(CD)或数字通用盘(DVD)的光学介质、闪存存储器等等。计算机可读介质可以是此类存储或传输设备的任何组合。

此类程序还可以使用适应于经由包括互联网的符合多种协议的有线、光学和/或无线网络进行传输的载波信号来编码和传输。因此,根据本发明的实施方案的计算机可读介质可以使用以此类程序编码的数据信号来创建。以程序代码编码的计算机可读介质可与兼容设备一起封装或与其他设备分开地提供(例如,经由因特网下载)。任何此类计算机可读介质可以驻留于单个计算机产品(例如,硬盘驱动器、CD或整个计算机系统)上或内,且可存在于系统或网络内的不同计算机产品上或内。计算机系统可以包含用于将本文中所提及的任何结果提供给用户的监视器、打印机或其他合适的显示器。

以上描述是示意性的不是限制性的。在所属领域的技术人员阅读了本公开后,本发明的许多变化将变得显而易见。因此,本发明的范围不应参考以上描述来确定,而是应参考待决的权利要求以及其完整范围或等效物来确定。

在不脱离本发明的范围的情况下,任何实施方案的一个或多个特征可与任何其他实施方案的一个或多个特征组合。

如本文所用,除非明确指示有相反的意思,否则“一个”、“一种”或“该”的使用旨在表示“至少一个”。

相关技术
  • 抗Sybil攻击身份的生成
  • 抗Sybil攻击身份的生成
技术分类

06120112877489