没有合适的资源?快使用搜索试试~ 我知道了~
区块链:研究与应用3(2022)100048比特币网络中基于主节点协议的信誉区块链的安全性和性能评估Muntadher Sallala,*,Gareth Owensonb,c,Dawood Salmand,Mo Addaca伯恩茅斯大学,Poole,Dorset,BH 12 5BB,英国bCyber Espion Ltd.,Port Solent,Hampshire,PO6 4TY,UKc朴茨茅斯大学,朴茨茅斯,汉普郡,PO1 2UP,英国d伊拉克纳杰夫省库法,库法大学A R T I C L E I N F O保留字:信息传播延迟网络聚类比特币网络信誉区块链A B S T R A C T比特币是一种基于点对点网络的数字货币,用于传播和验证交易。比特币比以往任何加密货币都获得了更广泛的采用然而,对等点随机选择逻辑邻居而不了解底层物理拓扑的机制可能会导致信息传播中的延迟开销,这使得系统容易受到双重攻击。针对比特币协议的传播延迟问题,提出了一种基于主节点的聚类(MNBC)协议,并对该协议进行了扩展。所提出的协议的最终目的是基于如何制定集群以及节点如何定义其成员资格,以改善比特币网络中的信息传播延迟在MNBC协议中,通过基于物理互联网接近性分配节点负责维护集群,增加了物理互联网连接此外,基于信誉的区块链协议与MNBC协议集成,以便为每个集群安全地分配主节点。我们通过一组仿真实验验证了我们提出的方法,结果显示了所提出的方法如何运行及其在优化事务传播延迟方面的影响1. 介绍比特币是第一个吸引主流、企业和人们 比特币是一种虚拟的、分散的加密技术,没有人负责它,也没有任何硬资产或政府跟踪它。相反,比特币依赖于一个点对点(P2P)网络,该网络通过加密技术保护比特币的价值,该加密技术由通过暴力强制双SHA-256哈希函数挖掘比特币的同行执行。比特币的概念是由一位匿名的程序员提出的,他使用的是中本聪[1]。由于比特币的优势,如没有中间商及其去中心化的架构,比特币现在被许多企业和公司部署为货币。比特币执行全球交易,允许不可退款,合理快速的资金转移到世界任何地方[2]。基于由整个社区共享的公开分布式账本,比特币网络节点,实现了分布式信任机制[3]。这种机制被认为是一种监控技术,通过这种技术,比特币中可用的比特币数量将被跟踪。为了实现这种机制,需要满足两个主要要求:(i)交易验证过程必须以分布式方式实现,以确保交易的有效性;(ii)成功处理的交易必须迅速向每个人宣布,以保证区块链的一致状态[4]。由于交易是根据区块链进行验证的,因此在区块链上达到一致的状态被认为是实现分布式交易验证过程的基本要求。在完成交易验证过程后,比特币交易必须广播到网络中的所有节点,目的是就哪些交易是有效的达成共识。最终,这一共识将被记录在区块链中。由于在区块链中达到全局状态的概率主要受比特币信息传输速度的影响* 通讯作者。电子邮件地址:msallal@bournemouth.ac.uk(M. Sallal),Einth.owenson@ port.ac.uk(G. Owenson),Dawood. uokufa.edu.iq(D. Salman),mo.adda@port. ac.uk(M. Adda)。[1]术语https://doi.org/10.1016/j.bcra.2021.100048接收日期:2020年12月19日;接收日期:2021年9月15日;接受日期:2021年12月6日2096-7209/©2021作者。由Elsevier B.V.代表浙江大学出版社出版。这是CC BY许可证下的开放获取文章(creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表区块链:研究与应用杂志主页:www.journals.elsevier.com/blockchain-research-and-applicationsM. Sallal等人区块链:研究与应用3(2022)1000482当比特币网络中的每个节点都被宣布(交易/区块)时,比特币网络的主要目标是尽可能快地将比特币信息传播到整个节点不幸的是,在交易验证过程中会经历信息传播的延迟,这导致区块链不一致这使得比特币容易受到某些类型的攻击。由于比特币网络拓扑结构没有定义接近性,因此与其他节点的连接是随机的,不考虑任何接近性标准。换句话说,在构建比特币物理网络拓扑时,没有考虑到长距离链接。 这增加了信息通过的非强制性跳数。此外,交易或区块的起源与其他节点之间的绝对距离会导致交易验证过程的延迟[3,5]。这种延迟增加了执行成功的双重支出攻击的可能性,由于节点之间关于交易历史的冲突,关于给定交易的有效性的不确定性降低了在同一区块链头部上达成共识的机会,这将导致区块链分叉。当两个区块可以同时创建时,就会创建分叉,每个区块都可以添加到同一个子链中。根据Refs。[1,6],交易可以出现在区块链的两个不同正如参考文献中所讨论的那样[7],在比特币受到区块链分叉的特殊情况下,攻击者可能能够强加自己的交易历史,可能是为了逆转他们发送的交易,以便成功执行双重支出攻击[8]。具体来说,攻击者可以秘密地挖掘一个分支,其中包括将付款返回给自己的交易,同时传播商家的交易。然而,区块链分叉是由信息传播的延迟开销引起的[3]。因此,比特币网络中节点之间的传播延迟至关重要,即使就交易历史达成协议的概率很高[9,10]。为了找到这些问题的最佳解决方案,我们在以前的工作中提出,实现 和 评 估 了 一 种 新 的 网 络 聚 类 协 议 , 称 为 基 于 主 节 点 的 聚 类(MNBC)。为了提供全面的实施和评估,在本文,我们扩展了我们以前的工作[11],将MNBC协议与新提出的基于信誉计划的区块链集成在一起。信誉机制的目的是提高主节点选择过程的安全性,在这个过程中,信任节点被选举为领导几个邻近的集群。本文的其余部分组织如下。在第2节中,将重点讨论加速比特币网络中信息传播的相关工作以及避免双重支出攻击的建模方法第三部分提出了问题陈述和本文的贡献。在第4节中,我们简要描述了比特币网络的各个方面,并详细讨论了比特币网络中的信息传播第5节详细介绍了拟议的集群协议,并讨论其主要组成部分。在第6节中,我们将解释系统设计以及拟议协议的主要组件如何在第7节中,我们解释了与所提出的协议的性能评估相关的实验设置此外,对所提出的协议进行了性能评价在第8节中进行了拟议协议的安全性评估。最后给出了分区攻击的安全评估结果.我们将在第9节中完成这项工作。2. 相关工作之前提出的旨在减轻比特币网络中信息传播延迟的工作将在本节中分为三个类别进行批判性讨论:最小化验证,流水线信息传播和连接增加。此外,本节将重点介绍比特币网络中解决双重支出攻击的现有方法2.1. 尽量减少核查有几项研究旨在通过最小化信息(交易/区块)验证时间来减少信息传播延迟。在比特币网络中,当一个节点收到一笔交易/区块时,它会验证它是否有效。如果交易/区块有效,节点将其转发给其邻居。否则,无效的交易/区块将被丢弃。在文献[3]中采用了减少信息验证时间,特别是块验证时间的思想,其中提出了最小化验证协议作为加速信息传播的一种方法该协议规定了比特币节点行为的一些变化,这使得每个节点都只完成区块验证过程的第一部分。具体来说,当一个节点收到一个区块时,它会检查工作量证明的难度,并将区块转发给它的邻居,而不是暂停中继,直到区块中所有交易的验证完成。 这将最小化比特币网络中的块传播延迟。然而,上述节点行为的变化此外,节点行为的变化没有考虑事务传播延迟,这意味着事务将在原始信息广播场景之后传播。结果,该变化对整体信息传播延迟没有大的影响。另一种理论已提出在参考。”[12]这句话的意思是:区块链是减少交易验证时间的主要因素由于交易是根据包含所有交易历史的区块链进行验证的,并且它的大小仍然随着每个新交易的增加而增加,因此有人声称,减少每个节点的交易历史对于实现最佳交易验证时间起着重要作用。准确地说,一个新的算法,被称为基线,已被提出参考。[12],其中区块链在比特币网络中的每个节点被分成几个部分n。 这些部分分布在几台本地计算机上的每个节点上。由于所有部件都代表同一用户,因此发布/更新密钥对所有部件都是相同的。在其他地方,每个人都拥有公共账本的不同部分。参考文献中的评价结果[12]已经表明,如果区块链在五台计算机上的给定节点上划分,则验证时间可以提高71.42%。这意味着,当每个节点处的分割数较大时,可以实现信息传播延迟的改善然而,提议的基线算法是不太可能被采用作为一个现实的解决方案,由于昂贵的要求,在网络中的每个节点都应该保持几个本地计算机。 在相同的背景下,一些研究专注于加速信息传播并最小化区块链大小[6],提出了一种新的方法,通过矿工为链下区块执行更多的安全性来提高区块链的可扩展性。更准确地说,矿工有责任跟踪和保护与主区块链链接的软分叉原则上,这种方法将矿工视为可信的第三方,并赋予他们对比特币网络的更多控制权。因此,这种方法与比特币的去中心化概念背道而驰,导致安全意识最小化此外,这些软分叉由于哈希率较低而受到51%攻击。另一方面,在Ref.[13个国家]其重点是最小化交易验证时间,目的是减少共识延迟。Blinkchain方法基于将区块链拆分为本地化的分片,每个地理位置一个每个区块链都与附近的一些验证器相关联。这减少了每个区块链上的交易历史,从而加快了交易验证过程。然而,这种方法降低了区块链对51%攻击的抵抗力,因为这些区块链提供的哈希率较低此外,这种方法M. Sallal等人区块链:研究与应用3(2022)1000483在相同的背景下,Rap- idchain [14]中也引入了分片方法来扩展区块链。在Rapidchain中,区块链网络被划分为随机碎片,每个碎片随机选择一个领导节点。然而,Rapidchain中的分片并没有被定义为接近,网络信息仍然需要长距离传输。此外,Rapidchain为每个分片选择一个leader,而不强迫这些leader满足特定的要求,从安全的角度来看,这是非常重要的2.2. 流水线信息传播如参考文献[5]中所介绍的,可以通过流水线信息传播来实现更快的信息传播,目的是最小化节点与其邻居之间的往返时间具体地,该解决方案声称包括可用交易的散列列表的传入INV消息可以被立即转发到其余网络节点,而不是等待接收交易。因此,节点可以请求一个事务,即使它还没有到达 在接收到事务时,它将立即转发到请求它的节点,因为已经从这些节点接收到了GETDATA消息。通过这样做,将利用节点通常等待GETDATA消息到达的空闲时间流水线传播协议的关键问题是,当节点请求不可用的交易时,比特币网络的全局状态可能变得不一致。因此,不一致的网络会导致执行成功的双重支出攻击的机会增加。此外,流水线传播协议需要在每个节点处的无限存储器,目的是保持事务直到GETDATA消息到达,或者保持GETDATA消息直到事务到达。 此外,该理论被认为能够以非常低的速率减少信息传播延迟,因为交易仍然需要通过随机和非本地化的连接来访问大多数比特币网络节点。见参考文件[15]提出了一种新的流水线方法,称为紧凑块中继(CBR),以减轻传播延迟问题。具体地,向其他节点通告仅包括块中的交易的散列的紧凑块在接收到压缩块时,只有缺失的交易才会被发送到接收方,而不是整个块。即使CBR改善了传播延迟,节点仍然需要在进一步转发之前拥有紧凑块因此,CBR可能导致大的延迟,特别是当传输大尺寸的CBR时。Falcon,一个新的传播协议在Ref.[16]通过遵循其中并行处理紧凑块的接收和转发的切割和转发策略来最小化传播延迟然而,Falcon并不依赖于现有的比特币节点,而是部署中继节点来实现直通转发协议。此外,Falcon是一种商业协议,缺乏深入的分析。2.3. 连通性增加如前所述,区块或交易的发起者与节点之间的绝对距离被认为是比特币网络中信息传播延迟的最主要因素研究参考文献[3]声称,通过最小化任何两个节点之间的距离来增加网络连通性,这可以通过创建能够形成中央通信集线器的星形子图拓扑来完成,对减少信息传播延迟具有很大的影响具体地说,一个新的网络拓扑结构提出了参考。[3]其中每个节点维护一个连接池,能够保持多达4000个打开的连接。因此,节点大多数情况下连接到每个通告的地址。因此,信息将访问更少的跳数,这反映了更快的信息传播。然而,比特币协议允许节点保持多达8个传出连接,以防止恶意节点控制网络[17]。然而,所提出的网络拓扑结构由于节点被允许保持到其他节点的许多连接的事实而引起严重的因此,恶意节点可能能够控制并容易地干扰网络。在最大化连通性的基础上,比特币网络拓扑结构的另一个变化已经在参考文献中提出[5]的文件。这一变化通过几个协调器节点增加了比特币网络的地理连通性,这些协调器节点被称为CDN比特币客户端,它在全球范围内战略性地分布这些CDN客户端能够根据地理位置搜索并向彼此推荐比特币网络节点。具体来说,CDN客户端能够计算发现的节点与其他CDN客户端之间的地理距离。 通过这样做,CDN客户端能够向其他CDN客户端推荐地理上最近的节点。与Ref.[3],CDN客户端被允许维护许多(最多100个)到地理上接近的节点的传出连接这种解决方案的主要缺点是,任何节点都可以成为CDN客户端,这使得比特币网络更容易受到某些类型的攻击。具体来说,恶意节点可以轻松地模拟CDN客户端的角色,并保持与网络中许多节点的连接这导致恶意节点能够控制网络的大部分因此,比特币网络很容易受到分布式拒绝服务(DDOS)攻击和分区攻击。关于CDN客户端协议提出的另一个问题是,它是相对集中的,因为任何CDN客户端都可以用作协调器节点,而不满足任何要求或在网络节点上达成协议此外,如果由连接不好的有限节点来实现,则向其他节点推荐更接近节点的想法在参考文献[ 18 ]中引入了一个新的传输协议层,称为FIBER(快速互联网比特币中继引擎),以减少信息传播延迟。 Fiber的重点是通过使用具有前向纠错的UDP来减少由数据包丢失引起的延迟。Fiber还通过使用数据压缩来减少网络流量。然而,我们的工作引入了一个新的比特币网络协议,可以很容易地与光纤集成。2.4. 缓解双重支出攻击针对0-确认2和N-确认3这两种情况,已经进行了一些研究来分析和减轻双重支出攻击。关于N-确认双重支出攻击,在比特币网络上执行成功的双重支出攻击的概率已经在参考文献[3]中提供,在开发比特币的分析模型的过程此外,已观察到消息的大小与传播延迟之间的强相关性由于区块链的对抗性分叉仍然会导致双重支出的可能性,一些研究已经承认,减少意外分叉的可能性将有助于避免双重支出攻击[6,7]。在0-确认的背景下,一个模型考虑了交易传播协议中的一些修改,在参考文献中已经给出。[7、19]。这些修改背后的主要直觉是减轻快速支付中的双重支出攻击。见参考文件[7]提出了一种新的模型,该模型允许供应商几乎同时接收T K(一个有冲突的交易)和T v(一个发送给供应商的诚实交易)。这将有助于供应商发现双重支出攻击,2.双重支出攻击,区块链意外分叉不起任何作用,因为区块链根本没有检查。3.双重支出攻击,攻击者需要控制网络中50%的可用计算。M. Sallal等人区块链:研究与应用3(2022)1000484在交付产品之前的正确时间具体来说,该模型的核心思想是,当一个节点接收到一个以前没有见过的事务时,该节点将该事务添加到其池中,并将其转发给其他节点。否则,它直接将交易转发给其他邻居,而不将其添加到池中。 该场景允许供应商在交付产品之前接收到冲突事务T k。然而,供应商将在接收到冲突交易T K时立即检测到双重支出攻击的尝试。这种方法最严重的缺点是,大量的非必要流量会破坏网络,导致比特币网络的性能低下。作为一个现实的解决方案,一个原型系统,这是应用于自动售货机在参考文献。[19 ]第10段。 该系统通过设置观察交易的服务器,以0.088的概率进行快速支付,作为双重支出攻击。 该服务器发出一个信号,表明当交易传播并到达40个节点时,交易已被确认到区块链。不幸的是,这种解决方案是有限的,因为攻击者这就反驳了认为一个交易如果被40个节点接收就被批准的说法2.5. 基于信誉的区块链在P2P网络中,信誉是提高信任水平最近,研究的重点是使用区块链在P2P网络中实现安全有效的信誉计划。 由于利用声誉作为激励机制很常见,CertChain [20]提出了一种基于共识和激励机制对同行进行排名的声誉机制,该机制考虑了经济利益和不当行为。然而,这项工作的目的是认证机构(CA),而不是解决任何可扩展性问题。 在信任证明(PoT)[21]中,声誉是基于网络中每个节点报告的信任来维护的。然而,PoT中的声誉依赖于网络中特定的可信节点。RepuCoin [22]提出了一种基于加权共识的声誉方案。然而,该方案依赖于从链的一开始就完成的工作量来计算信誉分数。这增加了双重支出攻击发生的 在Repchain [23]中,提出了一种基 于声誉的分 片来增 加 交 易 吞 吐 量 。 然而 , 该 方 案遵循与Rapidchain [14]相同的机制将网络划分为分片,其中分片没有近似定义。3. 问题说明和贡献正如我们上面强调的,信息传播延迟是当今比特币网络面临的一个严重问题,已经提出了几种方法来解决这个问题。然而,以前的尝试更新网络拓扑结构没有考虑到任何集群的方法。相反,这些尝试已经考虑通过维持网状网络拓扑来增加网络连接性[3],或者依赖于若干协调器节点来支持网络中的连接性的接近性而不注意安全风险[5]。此外,引入了几种分片方法来扩大比特币区块链,而不关注比特币网络节点之间的共享距离引起的传播延迟问题[14,23]。我们认为,在加快比特币网络中的信息传播方面,还有很大的改进空间。 在这方面,我们的目标是评估一种新的基于网络聚类方法的信誉计划对改善比特币网络中的传播延迟的影响。本研究的主要目的是确定“比特币网络中基于集群的主节点能否在不影响安全性的情况下改善信息传播延迟?”'.考虑到上述背景,我们可以将本文的主要贡献总结如下:MNBC协议:在本文中,我们提出了一个新的模型,该模型将基于邻近度的聚类方法与新开发的基于信誉评分的区块链相结合。 MNBC协议依赖于多个称为主节点的节点,以实现基于物理Internet接近性和随机对等体选择的全连接集群。为了提高网络的安全性,本文提出的信誉方案通过计算信誉值来选择主节点该模型的主要目的是在不影响安全性的情况下缓解比特币网络中的传播延迟问题性能评估:本文的另一个贡献是在不影响安全性的情况下,针对比特币网络中对等点之间信息传递的平均延迟来评估所提出模型的性能和有效性安全性评估:由于在比特币网络中进行聚类与其他类别的P2P网络中的聚类不同,由于严格的安全要求,本研究检查了所提出的聚类协议是否可以安全地进行,而不会增加某些类别的攻击,特别是分区攻击和观察行为攻击的可能性。模拟:为了能够评估所提出的集群协议,使用开发的模拟模型开发了几个模拟[24]。为了使仿真模型参数化,执行对真实比特币网络中的客户端行为和信息传播具有直接影响的真实比特币网络参数的大规模测量。此外,本文提出了在比特币网络中的交易传播延迟的测量。这些测量是使用一种方法来收集的,通过该方法可以准确地测量事务传播延迟。这些测量提供了一个机会,以验证开发的模拟器对真正的比特币网络。4. 背景知识4.1. 比特币网络结构比特币网络是指一组处理比特币协议的节点 比特币建立在一个分散的结构上,这被认为是比特币的关键特征之一。然而,比特币架构并不依赖于中央服务器。相反,一个分布式协议已经被维护来支持系统[25]。在这个网络中,每个节点运行比特币协议,并通过TCP通道与其他节点连接[26]。由于比特币网络的拓扑结构没有近似定义,因此与其他节点的连接是随机的此外,每个节点最多应该保持8个到对等体的传出连接,并接受多达117个连接[27]。节点可以随时加入和离开网络,当一个节点重新加入时,它会向其他节点请求新的区块来完成区块链的本地副本[28]。为了使拒绝服务变得不切实际,只传播有效的信息(事务和块),而丢弃无效的事务和块。比特币网络节点分为两组,可以接受传入连接的服务器和不能接受的服务器(客户端),因为它们位于NAT或防火墙之后。比特币节点在网络中扮演不同的角色,这取决于这些节点支持的功能,如钱包服务,路由等。由于比特币依赖于分布式验证,因此网络中的所有节点都覆盖了以分布式方式验证交易的重要角色[27]。为了参与比特币网络,所有节点都必须执行路由功能。此功能包括验证和传播事务,以及维护与其他节点的连接4.2. 比特币网络发现当节点N第一次加入比特币网络时,采用不考虑任何接近性标准的发现机制,●●●●M. Sallal等人区块链:研究与应用3(2022)1000485寻找网络中的其他节点。作为第一步,节点N需要发现至少一个现有的比特币节点,以便发现更多的节点[30]。在此之后,将在节点N和被发现的节点建立与其他节点的连接是在不考虑任何邻近优先级的情况下完成的,因为比特币网络拓扑结构没有邻近性定义[3,5]。为了建立TCP连接,通过发送包含基本标识信息的版本消息来处理与已知对等体的握手对等体通过发送verack消息来响应版本消息。 每个对等点都拥有一个连接到它的对等点的IP列表。为了阻止节点行为不端,每个节点都为连接到它的每个节点处理惩罚分数机制当宣布不可靠的行为时,分数会增加当分数达到100时,处理惩罚分数的节点将禁止行为不当的IP。此外,每个节点都维护一个事务池,其中包括等待验证并中继到相邻节点的事务[26]。关于一个新节点如何发现网络中的第一个节点的问题,有一些稳定的节点表现为比特币客户端中列出的种子节点,可以向新节点建议网络中的其他节点[27]。具体来说,需要由新节点处理的引导需要至少一个比特币网络节点的IP地址,该节点被称为DNS种子节点。在与种子节点保持连接之后,将处理对其他节点的然后,将建立到其他节点的更多连接,并且新节点将与种子节点断开连接然而,连接到其他节点将有助于新加入的节点发现更多的节点。这可以通过发送包括发送方节点的IP地址的Addr消息来完成。准确地说,新连接的节点可以通过向其邻居发送Addr消息来向其他节点通告其自己的IP。 这有助于其他节点找到新节点。另一方面,新节点可以通过向其邻居发送Getaddr消息来了解其他节点。 如示于图 邻居通过发送网络中其他节点的IP地址列表来响应Getaddr消息[30]。即使每个节点都建立了与其他节点的连接,该节点也应该继续发现更多的节点,并向新加入的节点通告其存在[26]。这是由于不可靠的路径,因为节点以随机的方式在网络中来去因此,连接到其他节点的节点并不能保证这些连接不会丢失。然而,发现其他节点的工作仍在继续,目的是为比特币网络提供不同的路径当节点重新启动时,它可以重新加入网络,而无需再次引导网络,因为节点仍然可以记住最近成功的节点连接,因此节点尝试通过发送连接请求来重新建立与这些节点的连接虽然没有回应,Fig. 1. 在两个对等体之间分发地址消息。在这些请求之后,节点再次开始引导网络 对于超过90分钟没有流量通过的连接,连接将被丢弃[30]。4.3. 比特币网络如前所述,比特币DNS种子是一种服务器,它帮助节点发现比特币网络中的活跃节点因此,DNS种子通过发起包含IP列表的消息来响应DNS查询。可以附加到消息的IP的最大数量受到DNS上的约束的限制,单个DNS查询可以返回大约4000条消息[27]。在比特币网络中,有六个DNS种子定期爬取整个网络,以获得活动的IP地址。但是,在两种情况下,其他节点会查询DNS种子。第一种情况发生在节点首次加入网络并尝试连接到活动IP时。 而在第二种情况下,DNS种子由重新启动并尝试重新连接到新对等体的节点查询。 在这种情况下,DNS查询在节点尝试重新连接11秒后初始化,并且具有少于两个传出连接[27]。4.4. 比特币协议信息传播比特币协议基于由网络卷集体实现的复制账本实现分布式验证此分类账跟踪所有用户的地址余额每个用户可以创建任意数量的地址来发送和接收比特币。 ECDSA密钥对用于证明与该地址相关联的比特币的所有权。 公共分类账中的每个条目都代表一笔交易,这是一个由比特币用户创建的签名数据结构,该用户打算将特定的比特币发送到一个或多个目的地账户[26]。交易负责声明与发送方地址相关联的一些比特币,并将其重新分配给接收方的地址事务由之前发送的前一个事务的散列以及未来所有者的公钥表示每个事务包括输入和输出。 对于合并或拆分比特币,交易可以处理多个输入和输出。输入引用来自其他先前交易的资金,而输出指示转移的比特币。交易输出还指示当它在未来交易中被引用为输入时所转移的比特币的新所有者。然而,一个帐户的余额是该帐户所有未使用产出的所有价值的总和。所有输出之和应等于或小于所有输入之和[27]。通过传播交易和区块,节点同步公共账本的副本。 为了避免将事务发送到已经从其他节点接收到事务的节点,不直接转发事务。相反,一旦交易被验证,交易可用性首先被宣布给节点,如图所示。 二、这可以通过传播包含事务散列的INV消息来完成[31]。在接收到INV消息时,节点检查之前是否已经接收到事务如果它以前没有被看到响应于接收到的GETDATA消息,节点发送事务收到的有效交易将由生成区块的节点收集并包含在区块 块可用性将被通告给其他节点,如图2中所解释的,遵循事务可用性通告的相同机制。然而,由于信息广播场景[5],交易传播会发生延迟。5. 基于主节点的集群(MNBC)MNBC协议扩展了我们在以前的工作中提出的基于比特币集群的超级节点(BCBSN)协议[32],旨在解决BCBSN的安全性和性能限制M. Sallal等人区块链:研究与应用3(2022)1000486¼图二. 节点A和B之间的信息传播机制。议定书如参考文献中所述 [32],BCBSN协议旨在通过利用超级对等点技术在比特币网络中生成一组地理上不同的集群。在每个集群中,BCBSN协议指定一个节点作为超级对等点,负责维护集群并在比特币网络上广播信息。在BCBSN协议中,群集仅通过超级对等体完全连接因此,BCBSN协议中集群之间的信息流只能通过超级节点来填充。此外,BCBSN协议中的超级对等体基于它们的地理位置对对等体进行分组,以便增加网络中的连接的接近性然而,长链路距离可以应用于任何两个对等体之间,即使它们处于相同的地理位置。BCBSN协议中的节点选择不是随机的,相反,节点被强制连接到由该节点连接到的超级对等体提供的节点列表。从安全的角度来看,BCBSN协议中的安全意识水平可以提高,如果集群之间保持更多的节点,以及在比特币网络中重要的随机选择的对等体被保留。 这提高了网络对分区攻击以及Eclipse攻击的抵抗力。上述BCBSN协议的局限性促使了新协议的开发,该新协议克服了集群之间缺乏连接信道的问题,并且考虑了基于物理互联网距离而不是纯粹基于地理位置的对等体的随机选择。具体来说,名为MNBC的新协议依赖于多个节点(称为主节点),以实现基于物理Internet接近性和随机对等点选择的完全连接的集群,其中可以通过主节点和正常节点在集群之间交换信息。MNBC协议的思想受到了最初在参考文献[1]中采用的主节点技术的启发。[33 ]第33段。然而,在Darkcoin中选择主节点并不需要满足条件以保持安全性。而MNBC协议中的主节点是通过应用选择阶段来选择的,该选择阶段需要实现信誉分数以便覆盖主节点的角色。5.1. 系统模型我们假设比特币网络从一个集群开始,该集群包括正常节点以及n个验证器V,其中Vn^V1,V2,在此之后,网络将被划分为集群Cs使用的聚类方法的基础上提出的物理proximity在参考。[34].这导致s个邻近簇C,其中CsC1,C2,在一个时期内,MNBC在生成的邻近集群上随机分布验证器,并运行主对等点选择过程来为每个集群选择主对等点这导致Cs 1/4C1,C2,在MNBC中,epoch e表示验证器分配到集群和主节点选择的事件之间的时间间隔。 MNBC依赖于新鲜的随机性,将验证器随机分配到邻近集群。使用Rap-idChain [14]采用的抗偏置随机生成协议在每个历元中生成新的随机性在一个时期结束时,主节点在每个集群中基于计算出的信誉分数被选出每个验证者的信誉分数在基于本工作中提出的区块链的新的信誉方案计算之后的每个时期内计算。MNBC中的集群通过主节点完全连接考虑到关于信息传播以及安全意识的更好的改进的可能性,集群还通过称为边缘节点的几个节点连接,边缘节点表示属于不同集群的最近节点。主节点是正常的比特币全节点,可以提供以下附加功能。支持传播场景,通过该场景,消息被传播到网络上的所有已知主节点以及属于主节点集群的验证器和节点的列表此外,信息还可以通过连接到不同集群中的其他节点的边缘节点在集群外部传播节点可以通过解决参考文献[ 14 ]中的抗Sybil身份利用技术之后的计算难题来加入网络。身份可以由节点的本地生成的身份表示,该身份可以由所有其他诚实节点验证。5.2. 威胁模型本文考虑两种攻击策略如下:分区攻击:我们假设攻击将在三个阶段内执行。第一阶段开始时,属于攻击者的几个恶意节点加入P2P比特币网络并连接到许多诚实节点。为了增加连接到尽可能多的诚实节点的概率,只有攻击者节点的IP地址被其他攻击者节点公布。一旦攻击者保证保持到诚实节点的连接的满意数量并且稀疏连接图,则通过启动第二种攻击场景,将给出网络图布局的近似快照。 这种情况可以通过参考文献[ 26 ]中介绍的概率方法来实现。该方法通过发送标记地址并观察这些地址的流向来指示网络中的两个对等体是否连接,从而可以在合理的概率内学习比特币网络拓扑。 通过这样做,攻击者将能够指示网络的最小顶点切割。最小顶点割被定义为最小诚实的对等点,删除它们会导致将图分成至少两个分区[35]。当攻击者选择节点进行最小顶点切割时,DDOS攻击将在所选择的节点上进行。观察行为攻击:我们假设对手能够控制节点的固定部分。这将允许攻击者执行几个恶意操作,例如破坏诚实节点,发送无效或不一致的消息,或保持沉默。此外,攻击者可能会连接到其他帮助恶意节点,并试图获得高信誉分数(与正常节点相同的分布)。这种行为的主要目的是最大限度地提高所有恶意节点在一个组中的概率。5.3. 模型概述MNBC协议具有以下主要组件,如图3所示:PROX imity Groups,Master node selection,Reputation scheme,Reputation blockchain和Group maintenance。 这些组件如何工作的细节将推迟到第6节。邻近组:比特币网络根据网络链接延迟分为几个邻近组。 关于如何建立亲组的更多信息将在第6.1节中提供。M. Sallal等人区块链:研究与应用3(2022)1000487¼þþ× ×¼×主节点选择:在每个prox imity组内,有验证器和基于信誉得分选出的主节点Di;jM萍2个P(2)费率表信誉计划:在一个时期内,每个验证者都将有一个信誉分数,该分数由该组的所有成员根据信誉计划计算。关于如何计算信誉方案的更多信息将在第6.3节中提供。信誉区块链:在每个组内和一个时期内,维护一个版本的信誉区块链。在纪元结束时,所有组都同步他们的声誉账本副本,以便在整个系统中就当前的声誉区块链达成共识。组维护:该组件处理网络的动态特性以及节点如何加入和离开组。6. 系统设计以下小节更深入地解释了MNBC协议的每个阶段其中i和j是网络中的两个节点,Mping是ping的长度消息(Message)。术语速率(r)表示传输速率,其是在给定时间段内可以从一个地方发送到另一个地方的数据总量(大约100 KB/h),而P指的是传播速度,其是一个特定信号从一个点到达另一个点所花费的时间量P乘以Eq。(2)由于往返时间。传播速度计算如下:PDM( 3)S项DM表示两个节点i和j之间的距离。可以使用参考文献[36]中介绍的地理距离计算方法计算DMS是信号的速度,等于当处理Wi-Fi互联网时,它等于2/33 1 08m/s,而在铜缆方面[3 7]。q0表示排队时间(平均)。时间可以计算为:q0¼M平× M(四)6.1. 组建立速率εrε-λ平MNBC协议中的邻近组是按照参考文献10中提出的基于邻近的方法构造的[34]. 我们假设网络从一个组开始。 每个节点独立地通过关于所发现的节点和本地邻居的信息来运行接近协议。每个节点负责收集关于所发现的节点的邻近知识当一个节点发现新的比特币节点时,它会计算自己和它发现的比特币节点物理Internet距离的计算依赖于两个如前所述,节点使用比特币网络发现机制或比特币DNS服务来发现比特币网络中的其他节点。 两个节点N i和N j被认为在物理互联网上很近,如果Di;jDth(1)<其中Di,j是由往返延迟测量的Ni和Nj之间的距离,Dth是延迟阈值。我们引入了一个效用函数,可以计算比特币网络中两个节点之间的距离,该距离该功能将极大地改变覆盖的行为,并帮助丰富具有接近知识的节点新的效用函数如等式所示。(二):图三. 基于主节点的群集概述。其中λ表示到达率(有多少ping到达节点j)。此功能将允许计算由于相对同时接收此信息而在每个节点发生的交易/区块的平均等待时间由于距离测量受到网络拥塞的影响,因此在一定的方差内是动态的,因此随着时间的推移,节点对之间的多个消息被重复发送,以便确定方差。 就靠近另一节点的被发现节点而言,该节点通过发送版本消息作为握手来建立与被发现节点的连接。相比之下,如果这两个节点彼此距离很远,那么它们几乎没有机会直接连接并留在同一个集群中。因此,覆盖网络中的集群变得更加接近感知,并且节点在限制通信成本方面做出更好的决策。如前所述,集群通过其边缘节点完全连接因此,边缘节点将在每对簇之间被选择边缘节点将被选择为属于两个集群的最接近的节点对。这确保了集群之间有效的信息传播,因为许多传输通道将可用于集群之间交换信息。此外,增加集群之间的边缘节点的数量导致划分网络的难度最大化(例如,分割攻击)。更清楚地说,令S 1/4 {s1,s2,注意,距离(x,y)表示由链路长度测量的两个节点x和y之间的距离6.2. 主节点选择当一个新的时期e开始时,所有的验证器将分布在不同的组中。具体来说,MNBC中的验证器分布依赖于随机种子e生成的随机数。种子可以通过RapidChain [14]采用的安全分布式抗偏置随机生成协议生成。通过遵循此策略,每个验证器将被分配到不同的组。在每个组中,验证者根据信誉分数被选为主节点,该信誉分数是根据第6.3节中描述的信誉方案计算的。信誉分数有助于选择更适合该角色的主节点。为了鼓励节点为赢得主节点的角色而竞争,如参考文献[1]中所证明的那样[38],当主节点传播有效交易并诚实行事时,将向其提供奖励在一个epoche的末尾,M. Sallal等人区块链:研究与应用3(2022)1000488þ我[ [][]n1具有最高得分的验证器被选为主节点,因为它是如算法1所示。我们考虑以下三个方面,r¼XlSJ*TJ*R SS i;t(6)领导者选拔的过程安全性:我们认为信誉值较高的节点更愿意负责系统安全。激励:主节点在一轮共识中将获得更多的奖励。因此,我们假设每个节点都想成为主节点。随机性:很难预测聚类和领导者选择的结果算法1. 主节点选择算法6.3. 信誉方案信誉计划由所有验证者和每个组的成员独立运行,以在每个时代结束时确定每个验证者的信誉分数信誉分数是基于几个信誉参数计算的交易数量:此参数表示验证器已收集并包含在块中的交易数量。交易数量是比较不同验证者之间满意度行为的一个重要范围因素。信誉缩放因子:此参数表示验证器行为的缩放因子,该因子转换为正确,未知和不正确决策的信誉分数这将有助于声誉计划区分不同的行为并对其进行不同的评估,目的是使对不诚实行为的惩罚大于对诚实行为的奖励赌注金额:这个参数显示验证者已经燃烧了多少比特币,以获得基于年龄的声誉分数具体来说,验证者视为股份的比特币数量将通过考虑年龄转换为节点的三个声誉值之一将比
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 保险服务门店新年工作计划PPT.pptx
- 车辆安全工作计划PPT.pptx
- ipqc工作总结PPT.pptx
- 车间员工上半年工作总结PPT.pptx
- 保险公司员工的工作总结PPT.pptx
- 报价工作总结PPT.pptx
- 冲压车间实习工作总结PPT.pptx
- ktv周工作总结PPT.pptx
- 保育院总务工作计划PPT.pptx
- xx年度现代教育技术工作总结PPT.pptx
- 出纳的年终总结PPT.pptx
- 贝贝班班级工作计划PPT.pptx
- 变电值班员技术个人工作总结PPT.pptx
- 大学生读书活动策划书PPT.pptx
- 财务出纳月工作总结PPT.pptx
- 大学生“三支一扶”服务期满工作总结(2)PPT.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功