没有合适的资源?快使用搜索试试~ 我知道了~
比特币网络中基于局部性的聚类方法研究及对优化事务传播延迟的影响
阵列15(2022)100221比特币网络Muntadher Sallala,Ruairí de Fréinb,Ali Malikb,Mr. J.,Benjamin Azizca联合王国伯恩茅斯大学计算和信息学系b爱尔兰都柏林科技大学电气与电子工程学院c联合王国朴茨茅斯大学计算机学院A R T I C L E I N F O保留字:比特币区块链集群信息传播安全性能A B S T R A C T人们越来越需要数字加密货币更加安全和稳健,以满足以下业务要求:(1)低交易费用和(2)用户隐私。如今,比特币正在获得牵引力和广泛采用。许多知名企业已经开始接受比特币作为金融支付的一种手段。然而,比特币网络对信息传播延迟的敏感性,增加了比特币网络对攻击的脆弱性,并降低了其吞吐量性能。本文介绍并分析了一种新的网络聚类方法--基于局部性的聚类(LBC), 基于Ping时间的方法(PTBC)、基于超级节点的聚类(SNBA)和基于主节点的聚类(MNBC)。所提出的方法旨在通过减少比特币的信息传播延迟来减少执行成功的双重支出攻击的机会。这些方法体现了对标准比特币协议的接近度感知扩展,其中接近度是在地理上和延迟方面测量的。我们通过一组仿真实验验证了我们提出的方法,研究结果显示了所提出的方法如何运行及其对优化事务传播延迟的影响。此外,这些新的方法进行评估的角度来看,比特币网络的抵抗分区攻击。数值结果,这是建立通过广泛的模拟实验,演示了如何扩展运行,以及它们的影响,优化事务传播延迟。我们利用这些研究结果,建议有前途的未来研究方向的优化交易传播延迟。1. 介绍比特币是第一个吸引主流商业社区和私人关注的数字货币。 它是一个虚拟的、分散的软件和基于密码的系统。它的主要优点是没有人负责它,它不被任何硬资产或政府跟踪[1]。它在点对点网络上运行,其中比特币的价值通过密码学来保护,这是由对等点通过暴力强制双SHA-256哈希函数来执行的。比特币依赖于一种分布式信任机制,这种机制是通过在整个比特币节点网络中共享的公开分布式账本来实现的[2,3]。这种机制充当了一种监控技术,跟踪可用比特币的数量。在本文中,比特币一词指的是实际货币,而比特币指的是整个比特币系统。要成功运作,需要满足两个主要要求:(i)交易验证必须以分布式方式进行,以确保交易的有效性,以及(ii)成功处理的交易必须迅速向每个人宣布,以保证区块链的状态是一致的[4,5]。由于交易是根据区块链进行验证的,因此在区块链上实现一致的状态是实现分布式交易验证过程的基本要求。一旦交易被验证,它需要被广播到所有节点在网络中,以便就交易的有效性达成共识。最终,共识反映在区块链上。比特币网络最紧迫的问题是尽快将比特币信息传播到整个网络。提高这个过程的速度会增加区块链达到全局状态的可能性,这会受到比特币信息向所有节点公布的速度的显著影响。在交易验证过程中经历的信息传播延迟可能会导致区块链不一致,并使比特币容易受到攻击。∗ 通讯作者。电子邮件地址:msallal@bournemouth.ac.uk(M.Sallal),ruairi. tudublin.ie(R.de Fréin),ali. tudublin.ie(A.Malik),benjam.aziz@ port.ac.uk(B.Aziz)。https://doi.org/10.1016/j.array.2022.100221接收日期:2022年2月9日;接收日期:2022年6月24日;接受日期:2022年7月2日在线预订2022年7月6日2590-0056/© 2022作者。爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表阵列期刊主页:www.elsevier.com/locate/arrayM. Sallal等人阵列15(2022)1002212比特币点对点网络拓扑不考虑节点之间的物理隔离或通信延迟方面的邻近性标准。在加入比特币网络时,比特币节点随机连接到网络中的其他节点。 这可以在物理网络中的节点之间创建长距离链路。这些长距离链接的后果是比特币信息不必要地遍历网络跳数,这导致了交易验证过程的延迟[2,6]。 这种延迟引入了节点之间关于什么构成真实交易历史的冲突的可能性,这可能导致在缓慢网络中难以检测到的成功的双重支出攻击。与有效性有关的冲突减少了在同一个区块链头上达成共识的机会,这可能会导致区块链分叉。区块链分叉是在同时创建两个区块时创建的,其中每个区块都可以添加到相同的子链[7,8]。在比特币受到区块链分叉的特殊情况下,攻击者可能能够更新自己的交易历史,可能重写他们发送的交易,以便成功执行双重支出攻击。攻击者可以秘密地挖掘一个包含交易的分支,该交易在传播商家交易的同时将支付逆转给自己。由于区块链分叉是由延迟引起的[2],因此减少比特币网络中的传播延迟至关重要,即使在许多情况下,各方之间就真实交易历史达成协议的概率很高[11,12]。本文旨在解决传播延迟问题,通过调查的假设,网络覆盖,考虑地理位移和节点之间的延迟将减少信息传播延迟。具体地说,本文提出并分析了几种新的网络聚类方法:基于局部性的聚类(LBC)、基于Ping时间的聚类(PTBC)、基于超级节点的聚类(SNBA)和基于主节点的聚类(MNBC)。我们证明了所提出的协议减轻了信息传播延迟问题,从而降低了成功的双重支出攻击发生的机会。为了完成我们对这些协议的安全评估,我们研究了形成有组织的低信息传播延迟网络和提供对分区式攻击的鲁棒性之间的内在紧张关系。我们提出了一个分析这些协议的安全含义,并表明这些协议可以应用在比特币网络中,而不会显着损害安全。论文的其余部分组织如下。第2节、战略讨论了加速信息传播的方案。第3节提出了问题,并列出了贡献。我们在第4节和第5节中描述了比特币网络和提出的集群协议。实验装置和性能评价结果见第6节。在第7节中,提出的协议的安全性评估。我们在第8节中总结并概述了未来的研究方向。2. 相关工作我们讨论了在四个标题下减轻比特币网络中的信息传播延迟的相关工作:最小化验证时间,流水线信息传播,增加连接性和双重支出攻击缓解。2.1. 最大限度地缩短验证时间一些工作已经考虑通过最小化完成信息(交易或块)验证所花费的时间来减少信息传播延迟。当一个节点接收到一个transac- tion,它验证它是否是有效的或没有。如果交易有效,节点将其转发给其邻居。或者,丢弃无效事务。在[2]中采用了减少块验证时间的思想作者提出了最小化验证协议,加快信息传播速度。该协议改变了比特币节点的行为。每个节点只执行块验证过程的第一部分。 当节点接收到块时, 它检查“工作量证明困难”并将区块转发给其邻居,而不是暂停中继,直到完成对区块中所有交易的验证。然而,这种行为变化可能会引入安全风险,例如,放弃交易验证过程将允许攻击者用无效交易淹没网络。这种类型的攻击通常被称为分布式拒绝服务(DDoS)攻击。 节点行为的变化没有考虑事务传播延迟,这意味着事务将按照原始信息广播场景进行传播。因此,该变化对整体信息传播延迟没有显著的积极影响。[13]提出的方法侧重于区块链作为减少交易验证时间的主要因素。由于交易是根据区块链进行验证的,区块链包含所有交易的历史,并且随着每一个新交易的增加而增加,作者声称,通过减少交易历史, 在每个节点,这将在减少交易验证时间方面发挥重要作用。在[13]中提出了一种被称为BASELINE的算法,其中区块链在比特币网络的每个节点上被划分为多个部分。然后将这些部分分发给 在每个节点的几台本地计算机上。由于所有部分都代表同一个用户,因此所使用的公钥/私钥对于所有这些部分都是相同的。另一方面,每个部分都有公共账本的不同部分。[13]中的结果表明,如果在五台计算机上的给定节点上划分区块链,则验证时间可以减少71.42%。据推测,信息的改善传播延迟可以实现时,分区的数量在每个节点处,建议的基线算法是不太可能被采用作为一个部署的解决方案,由于昂贵的要求,在网络中的每个节点都应该保持几个本地计算机。在[8]中提出了一项研究,该研究专注于加速信息传播并最大限度地减少区块链的大小。这种方法通过使用矿工提高链下区块的安全性来提高区块链的可扩展性。在这种方法中,矿工负责跟踪和保护链接到主区块链的软分叉。矿工被认为是可信的第三方,这种方法为他们提供了对比特币网络的更多控制。这种方法与比特币的去中心化概念相反;它会导致安全意识的降低。这种软分叉由于其降低的哈希率而受到所谓的51%攻击。在[14]中引入了Blinkchain方法,该方法专注于最大限度地减少交易验证时间,旨在减少共识延迟Blinkchain方法基于将区块链拆分为本地化的碎片,每个地理位置一个区块链。每个区块链都与附近的一些验证器相关联。这减少了每个区块链的交易历史,从而加快了交易验证时间。这种方法降低了区块链对51%攻击的抵抗力,因为这些区块链提供了降低的哈希率。它不支持互操作性,这意味着碎片区块链不能相互交互[15]的作者还引入了一种名为Rapidchain的分片方法在Rapidchain中,区块链网络被划分为随机数量的分片,每个分片随机选择一个领导节点。Rapidchain中的分片不是基于邻近度定义的,仍然需要网络信息长途旅行Rapidchain中的Shard leader不会被迫满足特定的要求,从安全的角度来看,这是网络的一个重大缺陷。M. Sallal等人阵列15(2022)10022132.2. 流水线信息传播在[6]中引入的模型旨在通过流水线信息传播来实现更快的信息传播,这减少了网络中节点之间的往返延迟。具体来说,节点可以立即将包含所传播的交易的散列的INV消息转发给其他节点,而不是等待接收实际的交易数据。这意味着接收到的事务可以立即传播到请求它并且已经发送了GETDATA消息作为对INV消息。因此,网络初始化了等待GETDATA消息的节点通常使用的空闲时间。流水线传播协议的关键问题是,当节点请求一个不可用的交易时,比特币网络的全局状态可能会变得不一致。这增加了成功执行双重支出攻击的机会。流水线传播协议在每个节点上需要无限的内存,目的是保持事务直到GETDATA消息到达,或者保持GETDATA消息直到事务到达。作者认为,这一点的影响微乎其微, 信息传播延迟,因为交易仍然需要通过随机的、非本地化的连接传播到整个比特币网络的节点。在[16]中引入了另一种称为紧凑块中继(CBR)的流水线方法,以减轻传播延迟问题。仅包括块中交易的散列的紧凑块被通告给其他节点。在接收到紧凑块时,只有缺失的交易被传输到接收方,而不是整个块。即使CBR方法改善了传播延迟,节点在转发之前仍然需要手头上的紧凑块。CBR方法有可能导致大延迟,特别是在传输大尺寸的紧凑块时。最后,Falcon是[17]中提出的一种传播协议,它试图通过遵循剪切转发策略来最小化传播延迟,其中并行处理紧凑块的接收和转发。然而,Falcon并不依赖于现有的比特币节点,而是部署中继节点来实现直通转发协议。此外,Falcon是一种商业协议,缺乏深入的公开分析。2.3. 网络连接区块发起者和节点之间的网络距离[2]中的研究声称,信息传播延迟可以通过增加网络连接来改善这可以通过创建星型子图拓扑来实现,星型子图拓扑在节点之间形成中央通信枢纽。在[2]中提出了一种新的网络拓扑,其中每个节点维护一个连接池,能够维护多达4000个开放连接。在这种设置中,节点通常连接到每个通告的地址.信息通过较少的跳数,这解释了观察到的减少的信息传播时间比特币协议允许节点保持多达8个传出连接,以防止网络被恶意节点控制[18]。不幸的是,所提出的网络拓扑结构引入了严重的安全风险,由于节点被允许保持许多连接到其他节点的事实。这可能使恶意节点能够干扰和控制网络。在建立连接时最大化邻近度是[6]中提出的方法的目标。这一变化通过使用几个协调器节点(称为CDN比特币客户端)来增加比特币网络的地理连接性。然后,这些CDN比特币客户端在整个比特币网络中战略性地分布。他们的作用是根据地理位置搜索和推荐比特币网络节点。CDN客户端测量发现的节点与其他CDN之间的地理距离客户.通过这样做,CDN客户端可以建议哪些节点在地理上最接近其他CDN客户端。与[2]中提出的协议相比,CDN客户端被允许保持多达100个到被认为在地理上接近的节点的传出连接。这种解决方案的主要缺点是任何节点都可以成为CDN客户端,这降低了比特币对某些类型攻击的抵抗力。恶意节点可以很容易地冒充CDN客户端的角色,并保持与网络中许多节点的连接这导致恶意节点能够控制网络的大部分。由此产生的比特币网络容易受到DDoS和分区攻击。提出的另一个问题是,该解决方案相对集中;任何CDN客户端都可以用作协调器节点,而无需满足任何要求或通过网络节点达成协议如果由有限数量的未良好连接的节点来实现,在[19]中引入了一个被称为Fiber(快速互联网比特币中继引擎)的传输协议层,以减少信息传播延迟。Fiber专注于通过前向纠错减少UDP层中发生的数据包丢失造成的延迟。Fiber通过使用数据压缩来减少网络流量。本文中的方法介绍了一种易于与光纤集成的比特币网络协议。最后,[20]中提出的优化协议通过利用地理邻近聚类来增加网络连接。该算法用于将邻近节点聚集成簇。然而,他们的论文没有进行安全评估来测试所提出的聚类协议是否会危及安全性。相反,在本文中,我们评估了几个全新的聚类协议的安全性。据我们所知,这是第一个工作中,这样的贡献2.4. 双重支出攻击缓解在两种情况下,0-确认和0-确认,减轻双重支出攻击,在文献中受到了很大的关注。在验证确认的情况下,[2]通过开发比特币的分析模型来测量执行成功攻击的概率。作者在[2]中观察到传播延迟和消息大小之间的一些相关性。 由于区块链的对抗性分叉仍然可以引入双重支出的可能性,[8,9]中的贡献表明,减少意外分叉的可能性将有助于避免双重支出攻击。对于0-确认的情况,[9,21]的作者提出了修改交易传播协议作为一种可能的解决方案,以减轻快速支付中的双重支出攻击。在[9]中提出了一个模型,它允许供应商接收冲突的交易,���诚实和诚实的交易,然后发送到供应商,零售商,几乎在同一时间。该方法允许供应商在交付产品之前在正确的时间发现双重支出攻击。节点将事务添加到其池中,并在第一次接收到事务时将其转发给其他节点。在已经看到接收到的事务的情况下,节点转发事务而不将其添加到其池中。这使得接收 在产品交付之前,由供应商对冲突的交易进行确认���然而,这种模式的缺点是网络可能会被不必要的流量淹没,导致比特币性能下降。最后,[21]提出了一个原型系统来克服自动售货机中的双重支出攻击。 该系统实现 通过使用跟踪交易的服务器,快速支付发生双重支出攻击的概率为0.088。当一笔交易被分发到超过40个节点时,服务器会发出一个信号,表明该交易已经被区块链确认。这种解决方案是有限的,因为攻击者M. Sallal等人阵列15(2022)10022143. 问题陈述信息传播延迟是当前比特币网络中的一个严重问题。已有几种模型被引入来克服它,以前的尝试更新网络拓扑结构没有考虑到聚类方法的好处。他们考虑通过保持网状网络拓扑来增加网络连接性[2],或者依赖于多个协调器节点来基于网络中节点的接近度来增加连接性,而这是在不注意所涉及的安全风险的情况下完成的[6]。我们考虑“比特币网络中的集群是否本文的主要贡献可归纳如下:性能评估:我们研究了集群在比特币网络中的作用,以减少对等点之间信息传递的平均延迟,而不影响安全性。我们提出并评估了四种聚类方法:(1)基于位置的聚类(LBC),(2)基于比特币聚类的Ping时间协议(PTBC),(3)基于比特币聚类的超级节点(SNBA),最后,(4)基于主节点的聚类(MNBC)。LBC协议旨在通过优先考虑节点之间地理上接近的连接来改善比特币网络中的连接。PTBC方法寻求通过创建不同但连接的对等体集群来优化覆盖拓扑,这些对等体具有在某个集群内阈值下指定的对等体2对等体(P2P)延迟。SNBA方法的目的是生成一组地理上多样化的集群。MNBC协议依赖于几个节点,称为主机,以实现基于互联网邻近和随机对等选择的完全连接的集群。安全性评估:由于在比特币网络中进行聚类不同于其他类P2P网络中的聚类,由于严格的安全要求,本文研究了聚类是否可以安全地进行,而不会增加某些类的可能性。具体来说,就是分区攻击。分区攻击的影响,建议的协议,以及对比特币网络进行评估。模拟:为了评估所提出的集群协议,使用[22]的模拟模型开发了几个模拟。为了对仿真模型进行参数化,执行了对真实比特币网络中的客户端的可靠性和信息传播具有直接影响的真实比特币网络参数的大规模测量。比特币网络中的交易传播延迟的测量。这些测量是使用一种方法来收集的,该方法确保准确地测量事务传播延迟。这些测量提供了一个机会来验证开发的模拟器对真实的比特币网络。4. 背景比特币网络是指一组支持比特币协议的节点。我们概述了这种分散的结构。4.1. 比特币网络结构去中心化是比特币的关键特征之一。维护分布式协议以支持系统[23]。每个节点运行比特币协议,并通过TCP通道与其他节点连接[24]。由于比特币网络的拓扑结构不是建立在 在邻近度上,随机地选择与哪些对等体连接。要求每个节点最多保持8个到对等体的传出连接,并接受多达117个连接[25]。节点可以随时加入和离开网络。当一个节点重新加入时,它会向其他节点请求新的区块来完成区块链的本地副本[26,27]。为了减轻DoS攻击,只有有效的交易和块才能在网络上传播[28]。比特币节点根据功能在网络中扮演不同的角色他们支持的钱包服务,路由等,因为比特币依赖于 关于分布式验证,一个基本功能是以分布式方式验证交易。这个角色由网络中的所有节点执行[25]。要参与比特币网络,所有节点都必须支持路由功能。此功能包括事务的验证和传播,以及维护与其他节点的连接。4.2. 比特币网络发现当一个节点首次加入比特币网络时,一个不考虑任何邻近标准的分布式机制会在网络中找到其他节点。���至少有一个现有的比特币节点需要被节点发现,以发现更多的节点[29]。然后,在该节点和被发现的节点之间建立更多的连接。���建立与其他节点的连接是在不考虑节点邻近度的情况下完成的,因为比特币网络拓扑不是基于邻近度建立的[2,6]。为了建立TCP连接,通过发送包含基本标识信息的版本消息来处理与已知对等体的握手对等体通过发送verack消息来响应版本消息。每个对等体缓存连接到它的对等体的IP地址为了阻止节点的行为不端,每个节点都会为连接到它的每个节点分配一个惩罚分数当宣布不可靠的行为时,分数增加当分数达到100时,具有相关联的行为不当IP地址的节点被处理惩罚分数的节点禁止每个节点维护一个事务池,其中包括等待验证并中继到相邻节点的事务[24]。现在描述网络中的第一节点的发现。该网络包含稳定节点,这些稳定节点充当种子节点。他们的身份在新的比特币客户端中被列为网络中的建议节点[25]。需要由新节点处理的引导需要至少一个节点在建立到种子节点的连接之后,然后发起到其他节点的进一步引入。一旦与其他节点建立了更多的连接,新节点将断开与 种子节点。连接到其他节点有助于新节点发现更多节点。这可以通过发送Addr消息来完成,该Addr消息包括发送方节点的IP地址。新连接的节点可以通过向其他节点发送Addr消息来向其他节点通告其自己的IP。它的邻居。这有助于其他节点找到新节点。另一方面,新节点可以通过发送向它的邻居发送一个IP地址请求消息,并且邻居节点通过公开它们的IP地址来响应。即使每个节点都建立了与其他节点的连接,该节点也应该继续发现更多的节点,并在新节点加入网络时向它们通告其存在[24]。这是因为路径可能是不可靠的,因为节点可以以计划外的方式加入和离开网络。连接到其他节点的节点并不保证这些连接永远不会丢失。发现其他节点的过程会继续进行,这样比特币网络中就有了不同的路径。当节点重新启动时,它可以重新加入网络,而无需再次引导网络,因为它记住了最近成功的节点连接;节点尝试通过发送连接请求重新建立与这些节点的连接。如果没有响应,则节点再次开始引导网络。在丢弃连接方面,如果超过90分钟没有传输流量,则连接被丢弃[29]。4.3. 比特币网络中的DNS种子节点Bitcoin DNS seeder是一个服务器,它帮助节点发现Bitcoin网络中的活跃节点。DNS seeder通过发起包含IP地址列表的消息来响应DNS查询。 可以附加到邮件的IP地址的最大数量受到DNS约束的限制约4000条信息M. Sallal等人阵列15(2022)1002215������2������2可以通过单个DNS查询返回[25]。在比特币网络中,有六个DNS种子定期爬取整个网络以获取活动IP地址。在两种情况下,其他节点会查询DNS种子。第一种情况是当一个节点第一次加入网络时,尝试连接到活动的IP地址。在第二种情况下,DNS种子由重新启动并尝试重新连接到新对等体的节点查询。在这种情况下,DNS查询在节点尝试重新连接后11秒初始化,并且如果它具有少于两个传出连接[25]。4.4. 比特币协议与信息传播比特币协议中的分布式验证机制依赖于由网络矿工共同维护的复制区块链。复制的账本监控所有比特币用户的地址余额。比特币用户可以生成任意数字发送和接收比特币的地址与这些地址相关联的比特币的所有权可以通过椭圆曲线数字签名算法(ECDSA)密钥对来证明。公共账本中的交易是由将比特币发送给一个或多个比特币接收者的用户生成的交易[24]。公共账本交易由接收者的公钥以及前一交易日每笔交易都由一个输入和一个输出组成,输入引用了之前其他交易的资金,输出指示了转移的比特币以及比特币的新所有者。转移的比特币所有输出的总和应小于或等于所有输入的总和[25,30]。通过传播交易和区块,节点同步公共账本的副本。为了避免将事务发送到已经接收到它的节点,一旦事务已经被验证,事务可用性首先被通知给节点,如图1所示。这可以通过将包含所传播交易的散列的INV消息转发到其余节点来实现[31]。如果之前没有接收到事务,则节点通过发送请求实际事务的GETDATA消息来响应INV消息。响应于接收到GETDATA消息,节点通过发送事务来响应。有效的接收交易由生成区块的节点收集并包括在区块中。然后,块的可用性被通知给其他节点,如图1所示。1,遵循事务可用性通知的相同机制。然而,这种信息传播方式导致交易传播的延迟[6]。5. 拟议的分组办法我们介绍了集群技术,以减少传播延迟,包括LBC,PTBC,SNBC和MNBC。5.1. 局部聚类以前的方法专注于基于比特币网络中节点的接近度建立连接,容易受到重大安全问题的影响。使用这一原则形成网络违背了比特币架构的去中心化原则。它通过允许每个节点保持超过8个传出连接来增加网络被控制的机会。此外,先前的方法是由有限的节点实现的,这些节点没有很好地连接,并且这导致对信息传播延迟的低水平影响。我们提出了一个基于位置的聚类协议,命名为基于位置的聚类(LBC),克服了以前的方法的安全性和性能限制,目的是最大限度地接近节点时,在比特币网络中建立连接,而不影响安全性。为了克服这些限制,Fig. 1. 通过传播交易和区块,节点同步公共账本的副本:说明了节点a和b之间的信息传播机制。因为没有单个节点完全了解网络拓扑。为了评估在形成连接时最大化地理接近度对比特币网络中的信息传播延迟的影响,LBC协议基于其IP前缀的地理接近度这有助于最小化对等点之间的网络延迟,从而改善信息传播延迟。在LBC协议中,节点的IP地址被用作定义比特币网络内部局部区域的基础。LBC协议是基于测量的,并且可以动态地改变网络布局并连接地理上更接近的对等体。网络中的每一个节点都连接到同一地理位置内的其他节点,并形成一个集群。 图 2、在每个集群内保持短距离链路。集群通过其边界节点完全连接,以支持来自集群外部的可用信息的可见性,并避免网络分区。两个簇之间的边界节点是指属于两个不同簇的两个最近的节点。5.1.1. 局部簇生成LBC协议由每个节点使用关于发现的节点和本地邻居的信息独立地运行。网络被划分为集群。位于同一位置的节点属于同一群集。它要求每个节点上都有一个额外的功能,负责向其邻居推荐邻近节点邻近度是基于两个节点的地理位置来定义的。它依赖于一个距离阈值,该阈值标识聚类的数量和聚类的大小。节点计算其邻居与新发现的节点之间的网络地理距离考虑两个比特币网络节点,分别为x1和x2。这些节点在地理上接近,如果:中国���,���中国(1)���其中������,���是节点与节点之间的距离������,������并且是距离阈值。为了测量地理距离,LBC协议使用半正矢公式[32],该公式通过利用两个节点的经度和纬度来计算两个节点之间的真实距离。节点和的经度和纬度分别为和,������������������������为方便起见,我们将节点和节点之间的经度和纬度差定义为=−和= −。���������������������������������������harversine公式是:由所有节点使用LBC协议实现,该协议建立了���= sin������2(������������������������以分布式方式进行拓扑。 这提高了安全M. Sallal等人阵列15(2022)1002216图二. 使用LBC协议创建基于位置的集群:黑色虚线节点表示集群之间的边界节点。黑色和白色节点表示两个群集。其中,是地球然后使用以下公式计算以米为单位的距离即使当新加入节点被迫连接到攻击者节点时,也会带来显著的安全风险。原因是,������,=距离(,)= 2 ×2(������������,101−102������(三)加入的节点通常从比特币DNS节点学习一个对等体,然后节点可以使用比特币网络的正常发现机制MaxMind GeoLite City数据库用于检索特定节点IP的纬度例如,当节点R1发现接近R2的邻居R2的另一节点R2时������������在接收到IP地址时,节点C1连接到节点C2,然后验证节点C3是否也靠近其邻居。LBC协议要求当从其邻居收到推荐节点时,整个比特币节点集重复此过程它通过使用边界节点来确保生成的集群完全连接。这是通过选择每对集群之间的边界节点来实现的。边界节点被选择为属于两个单独集群的最接近的节点对这确保实现集群之间的有效信息传播,因为集群之间有许多传输通道可用。增加簇之间的边界节点的数量增加了对网络进行分区攻击的难度设={1,2,��������� ={1,2���,表示������两个集群的成员,并让和表示它们的边界节点,其中∈和∈,那么对于所有其他集群对,我们有:���������������������distance(距离,距离)���������������使得,(4)���������������������������������������5.1.2. 本地化群集维护比特币网络结构表现出一定程度的流失;对等节点在任意时间进入和退出网络。网络中现有的节点集群受到比特币网络结构动态的影响。需要一种处理节点动态的机制,以避免响应于每个节点进入和/或退出而重新聚类整个网络。由于节点频繁地加入和离开网络,重新聚类是不切实际的,因为集群没有机会稳定[35]。一旦一个节点加入比特币网络,它就会从DNS服务接收一个可用比特币节点的列表。在接收到来自该节点的查询时,DNS服务探测该节点,以通过利用在第5.1.1节中描述的相同方法来计算距离,来确定其地理位置。���根据探测���如果没有找到,则返回随机对等点。如果DNS服务靠近节点DNS,它将返回所有靠近自己的对等体。基于在距离阈值上,节点RNC通过测量到每个发现的节点的距离来确定所发现的节点的基于位置的顺序。在此之后,JOIN请求消息由节点101发送到所发现的节点的集合中的最近节点102。������在连接到节点X1之后,节点X2仅连接到属于X1与节点相同的群集。���当节点去寻找更多的节点来连接5.2. Ping基于时间的方法地理位置接近的节点实际上可能在互联网上彼此相距很远,反之亦然。 例如,当接近度仅考虑网络节点之间的链路延迟时,通过光纤直接连接的主机最有可能非常“接近”,即使它们在物理上彼此远离。接近度可以使用不同的标准来测量,例如物理位置和对等体之间的链路延迟[36]。我们提出了一个基于邻近的延迟感知协议,命名为PTBC。我们评估的安全性和性能的影响,连接建立的基础上的节点的接近度,这是衡量使用ping lasting,在比特币网络。基于往返ping延迟,节点检测并断开大多数低效和冗余的逻辑链路,并选择更近的节点作为其直接邻居。然而,每个集群内的对等体通过短链路链路高度连接。 这提供了更快的信息传播,导致比特币信息在网络上更好地分布,这有助于比特币网络实现一致的状态。为了最大化关于网络分区的安全意识以及确保集群之间的有效信息分发,PTBC中的集群使用边界节点完全连接。边界节点的选择使用与LBC协议中描述的边界节点选择相同的策略第5.1.1节有一个区别。与使用两个节点之间的距离(distance(λ,λ))不同,两个节点之间的距离(λ,λ)由链路延迟Lλ,λ =延迟(λ,λ)来测量���������5.2.1. 距离计算在PTBC协议中,遵循分布式算法原理。每个节点根据从本地邻居和发现的节点收集的邻近信息独立地运行该协议。每个节点通过计算自身与其发现的比特币节点之间的互联网距离来收集关于所发现节点的邻近度知识这可以通过测量两个节点之间的往返延迟来完成。如果���在两个节点之间测量的延迟L,���L小于阈值L,则认为它们在互联网上是接近的:L���,������L(5)往返延迟测量了往返延迟之间的延迟它使用计算两个节点之间的延迟的效用函数来测量。当覆盖改变时,通过重新运行延迟函数来更新节点延迟信息。 延迟计算如下:������������他离开了网络。从安全的角度来看,DNS节点不L���,=10 + 2+1(6)M. Sallal等人阵列15(2022)1002217其中,P1和P2表示两个比特币网络节点,P2表示ping消息长度(以字节为单位)。传输速率是两个节点之间可以传输的数据总量,���给定的时间范围,100 kB/h。表示传输时间。 它是信号穿过连接两点的传播介质所花费的时间。我们做了一个简单的假设,即传播时间乘以2可以得到往返时间的合理估计。传播速度为:=(七)节点之间的传播介质长度������为���。光速是。 我们使用近似值,3×108 m scins用于自由空间传播(使用Wi-Fi互联网),2 scin 3 × 3 × 108 m scins用于引导传播介质,例如铜缆。预约时间为:图三. SNBA中的超级节点集群创建:黑色虚线节点表示超级节点 在每个集群中。黑色和白色节点表示不同的群集。���=���������������−���������������其中,Pms是以每秒ping为单位的到达率5.2.2. PTBC集群维护(八)集群SNBA中的超级节点可以被赋予额外的功能,例如基于特定标准对节点进行分组。通过根据地理位置的接近程度对对等体进行分组,我们可以进一步加快信息的传输速度当新节点与DNS服务交互时,可以应用不同类型的邻近度准则来影响节点发现机制。一个新加入的节点,BTC,从DNS服务中了解网络中可用的比特币节点。节点发现机制考虑到DNS服务可能提供次优对等体。节点应该在接收到的列表中对对等体进行排名,并且应该基于该排名来决定连接到哪个节点。DNS服务节点在向新加入的节点推荐对等体时考虑物理地理位置的接近度。���根据LBC协议中使用的地理距离计算方法,DNS服务会推荐距离节点最近的可用节点。���为了基于链路延迟阈值获得所发现的节点的邻近度排序,节点RNC计算到每个所发现的节点的距离。在基于邻近度确定排序之后,节点R1连接到最近的节点,���在DNS服务提供的节点集中,在连接到节点时,节点使用比特币网络发现机制定期发现网络中的其他节点,而不再依赖DNS服务[25]。���当发现新节点时,通过使用第5.2.1节中描述的距离计算机制,SNMP决定这些节点是否在物理上接近。当节点退出网络时,不需要与LBC协议类似,比特币DNS服务不构成这是一个严重的安全风险,因为新加入的节点通常在连接到DNS服务提供的至少一个5.3. 基于超级节点的方法对等体之间的跳数是影响P2P网络中节点邻近度测量的因素之一[36]。使用超级对等点的思想的方法可以有助于最小化对等点之间的中间跳数。由于比特币网络是一种需要对主动攻击具有弹性的金融工具,因此这项工作中引入的超级对等方法增强了以前的超级对等解决方案[37,38],同时还考虑了安全意识。首先,它不需要任何网络节点具有整个网络拓扑的全部知识。这个属性支持比特币的去中心化概念。 其次,超级节点的选择是基于以分布式方式实现几个条件。如果恶意节点试图冒充超级节点,它必须克服这些条件带来的挑战。在本文中,我们提出了一个超级对等点的方法,命名为SNBA,其中的覆盖网络的设计是由几个集群的对等点。它选择对等点成为超级对等点,并且该超级对等点成为簇头,在网络中播放。一个分层的比特币覆盖网络,聚集附近的对等点,可能会实现比原始比特币系统更快的信息传播。在本文中,超级对等体的概念被应用到比特币网络中,以增加在地理意义上接近的对等体之间的SNBA结合了两种特性:(1)任何两个对等体之间的中间跳数的减少,以及(2)地理上接近的对等体之间的连接性的增加。SNBA协议的最终目标是通过使用超级对等点技术将比特币网络随机划分为几个地理上不同的集群。在SNBA中,每个集群选择一个节点作为超级节点,这是一个维护集群并在比特币网络中广播信息的角色。这是第一篇将基于聚类的超级节点技术应用于比特币网络的论文。图SNBA协议选择多个节点作为超级节点。每个超级节点连接到地理上最近的节点并形成一个集群。网络中的所有超级对等点都是完全连接的,并且彼此都知道。SNBA减少了事务通过的跳数,从而减少了传播延迟。5.3.1.超级节点选择算法由于安全要求,SNBA中的超级节点选择算法依赖于选择标准,这是从以前的工作中提出的选择标准不同。[39]中的超级节点选择方法依赖于节点的唯一ID。具有最低ID的节点更有可能被选为超级节点。超级同行选择方法 在SNBA中,基于权重,正实数,其被分配给每个节点。权重是根据两个特征计算的:每个节点在线的时间和每个节点花费的比特币数量。将这些输入用于选择标准使得超级对等点的模仿具有挑战性。具有最高权重的节点更有可能被选为超级对等点。在SNBA方法中使用奖励来鼓励比特币网络中的信息传播。传播有效交易并诚实行事的超级对等点将获得奖励。 该奖励充当节点赢得超级对等点角色的激励。当超级对等点离线时,每个集群选择一个备份对等点,该备份对等点定期从超级对等点复制整个集群状态信息。使用与超级对等点选择相同的机制和标准来节点稳定性是计算每个节点权重时的关键参数之一。 一个点球是基于 一个节点已经在线,计算每个节点通过其连接的节点。当节点离线时,节点的惩罚分数由其连接的节点增加1。在此之后,超级对等点从增加分数的那些节点发送更新的分数。一旦超级对等点的记录被更新,超级对等点就将更新的分数循环到其所有连接M. Sallal等人阵列15(2022)1002218||������||| |算法1:SupINV处理程序函数设Rollas:最近的超级节点(),权重更大让我们来看看:当前的超级同行如果你不介意,���=���������������������中文(简体)���������������������(���������)其他���������������������(���������)端解决BCBSN协议的安全性和性能限制[40]。正如[27]中所讨论的,SNBA协议旨在通过利用超级对等技术在比特币网络中生成一组地理上不同的集群。在每个集群中,SNBA协议分配一个节点作为超级对等节点。该节点负责维护集群并在比特币网络中
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功