《The Dilemma of Parameterizing Propagation Time in Blockchain P2P Network》论文阅读笔记

paper

Abstract

无权限区块链上的传播时间对分散系统的稳定性和性能起着重要作用。在分散的对等网络中,大量的活动被传播到整个节点,从而造成传播延迟。系统的稳定性首先是我们关心的问题。传播延迟为攻击者应用其协议提供了机会。无论是不经过适当的计算直接加速还是减速传播时间,都会给整个区块链系统带来诸多负面影响。在本文中,我们详细地回顾和阐述了在这样一个系统中与传播时间有关的几个参数。我们从数据通信、事务传播以及导致额外传播时间的干扰攻击的可能性等方面描述了我们的发现。此外,我们还讨论了区块大小、一致性和区块链可伸缩性的影响,包括参数之间的关系。在最后一节课中,我们根据实验和文学作品评论了与传播时间和用例相关的几点,以避免困境。

Introduction

通过比特币和以太坊的出现,区块链技术的普及迅速将去中心化的加密货币时代引入公众。区块链的本质是通过在线交易系统更快更容易地改变数字资产。区块链的核心原理可以比目前比特币和以太坊的应用更进一步[1]。大部分的金融结构如网上交易系统仍然是集中的形式。它依靠中间人(传统银行)来管理发生的每一笔交易。同时,区块链技术自动消除了中间商造成的单一故障问题,因为第三方不参与分散系统。由于系统不再依赖人工干预,交易成本也可以降低。此外,区块链通过合约利益相关者之间的智能合约简化了复杂的管理流程。

通过设计,区块链固有地抗数据修改(称为防篡改属性)。 攻击者无法更改或操纵存储在区块链数据库中的数据,只要它们在同一区块链网络中不具有总挖掘能力的50%。 由于这些优点,区块链技术广泛应用于科学的各个领域,例如数字身份,分布式云存储,分散式能源交易[2],供应链[3],数字医疗[4],数字取证[5],卫星 沟通[6],仅举几例。

区块链网络中发生的每个交易都会导致传播延迟。在这样一个系统中,大的传播时间可能是导致区块链无法实现高可伸缩性的障碍之一[7]。为了解决区块链系统中的可伸缩性问题,人们提出了许多研究方法,包括协议版本参数化、频率调整、挖掘多样性、区块大小调整和分片技术。Eyaland Sirer[8]引入比特币NG(下一代)作为新的区块链协议。该机制旨在克服区块链系统中的可伸缩性问题。该协议使用拜占庭容错(BFT),它对与许多现有区块链平台相同的信任模型上的极端搅动条件具有鲁棒性。该模型表明,提高区块链的可扩展性是可能的。然而,安全方面还有待进一步探讨。

Milutinovic等人[9]提出了另一种称为幸运证明的协议,它是一种新的共识协议,提供了低延迟验证和公平分布的挖掘。P2P网络中一致性协议的低延迟事务验证直接影响到协议的传播时间。然而,这些变化带来了新的安全挑战。Pappalardo等人[10]进行研究,观察比特币网络中广播的交易。导致这种情况发生的因素很多,包括块传播时间。文献[11-13]描述了具有不同机制的相似客观研究。上述研究为区块链网络中的块传播时间提供了必要的信息。

在这项研究中,我们根据我们的观察和文献描述了区块链对等(P2P)架构中与块传播时间相关的重要信息以及其他一些有影响的参数。文中还讨论了由块传播时间引起的攻击的性能,以确定传播时间对攻击的影响程度。由于参数之间的关系对于维护分散区块链系统的安全至关重要,因此阐述了参数之间的关系。此外,我们提出了一个用例设计通过应用链外解决方案,以避免在参数化块传播时间的困境。直观地说,这个用例应用于存储在云服务器中的电子医疗记录。我们提供具有访问控制架构的区块链之间的协作。我们的解决方案不会产生任何交易处理负担或费用。

第2节探讨了具有对等网络拓扑结构的区块链的结构,以及交易传播和区块链参数测量的信息。区块链P2P网络中块大小的影响在第3节中给出。同时,第4节介绍了我们的观察和参数化传播时间和攻击的困境。第5节描述了避免应用链外解决方案的困境的用例,第6节介绍了未来的工作方向。最后,在第7节中得出结论。

区块链P2P网络

在本节中,我们将探讨当前区块链系统中的交易传播,以及其参数和度量。 我们将比特币区块链的结构作为主要参考,因为大多数平台的灵感都来自遵循比特币架构。 本部分的目的是了解有关一般会影响P2P网络上交易的区块链参数的知识。 在本节的最后,我们概述了要点,这些要点是我们将在本文中讨论的主要材料。

交易传播

区块链P2P网络是使每个节点的工作负载始终相等的网络拓扑和体系结构。这些节点也称为对等节点。它是指在网络中执行多种功能的地址[14]。这个概念允许节点交换和转发接收到的信息到同一网络中的其他节点。在比特币的情况下,每当一个节点绘制了多个比特币IP地址时,该节点将能够在一定的时间跨度内管理多达8个传出连接。一般来说,有两种类型的事务在节点间传播,即块和事务。如果节点接收到针对传入消息的新通知,则节点首先检查块的有效性(参见图1),如下所示:

  • 块验证,在节点A接收到的块分发给节点B之前,节点A必须事先对该块进行验证。如果该块(由许多事务组成)被确认为有效块,则节点a向节点B发送清单消息。相反,如果该块无效,则无法处理该过程。
  • 发送清单消息时,该消息包含有关发送方拥有的块的信息。消息清单的大小相对较小,约为61字节。通过此消息,收件人可以轻松地检查信息,以确保收件人从未事先收到此块。清单消息的结构一般可以在表1中看到。
  • 发送getdata消息,当节点B确保节点A发送的清单消息之前从未收到时,节点B随后向节点A发送getdata消息。此消息可解释为数据请求。
  • 发送块,在接受节点B的getdata信息后,节点a直接将整个块分配给节点B。此过程对于区块链网络上发生的每个事务连续发生。


    Fig 1

    Table 1

区块链参数测量

通过测量P2P区块链网络中块传播的有效性,已经有了广泛认可的研究。通常,目标是找出发生的连接的成功程度。因此,节点数目与块传播时间之间的关系成为一个有趣的话题。Hearn[15]在2014年获得了比特币P2P网络的统计数据。目的是从比特币网络收集连接信息。文件是公开的。令人惊讶的是,Feld等人[16]提供的数据揭示了比特币网络中累积的连接尝试和成功的连接。如图2所示,在16小时的时间跨度内使用688281个唯一地址执行总连接尝试。结果表明,比特币对等网络中只有10549个地址成功连接并被其他对等方所知(成功/尝试的比例为1.53%),连接效率不高。换言之,由于传播延迟、网络拓扑和块大小等多种因素,存在多个失败的连接。

Fig 2

另一项类似的研究是为了在比特币体系结构中实现更好的块传播时间性能[17]。作者提出了一个新的模型,可以减少交易时间。结果表明,通过缩短事务处理的路径,可以提高效率。然而,通过升级现有系统的网络拓扑结构来提高集群的最佳数目仍有很大的空间。在另一篇论文[18]中,作者提出了一种根据地理位置对比特币节点进行分组(基于位置的聚类)的传播时间改进方法。因此,基于位置的聚类模型的性能优于文献[17]中提出的前代协议。

2016年,进行了一项实验,以确定系统中的交易方数量与宣布交易的比例之间的关系[19]。 实验的节点数设置为14个节点。 每个节点都收到传入的消息,该消息在区块链P2P网络中传播。 节点的顺序对于仿真始终是相同的。 简而言之,节点1是接收消息的第一个节点,并继续到节点2,然后转发到下一个节点。 交易计算超过1,000次。 前四个节点(节点1、2、3和4)的顺序接收到几乎所有以90到100的比例发送的消息。最后一个序列节点(节点14)是接收消息的最低节点。 节点14仅接收发送的消息总数的23%。

作者[8]提出了一种新的区块链协议,以提高可伸缩性,并提供更好的延迟和带宽。协议中有两种类型的块,它们是如图3所示的用于选择的关键块。在[20]中,作者提出了一种新的拜占庭共识协议技术。每当各方在几秒钟内执行活动时,它都使用可伸缩的集体签名。

Fig 3

Decker和Wattenhofer[21]在2013年还管理了区块链网络传播延迟的实验。传播延迟可以理解为传输事务所需的时间和用于验证事务的时间的组合。本文中的传播时间数据是通过采集区块链高度18万到19万之间的信息并测量60秒得到的。每个事务的信息包括块的哈希值、发布IP节点和时间戳。对等机接收事务的平均时间为6.5秒,平均时间约为12.6秒。消息的传播时间非常有效,直到时间达到40秒,其中大约有5%的对等方没有收到发送的事务。

基于各种文献综述的实验数据,研究结果表明,区块链P2P网络中节点数量随传播时间的变化与交易数据之间存在着很强的相关性。因此,对区块链参数的研究已成为加密货币研究者的研究趋势。区块链网络上的传播时间至关重要,因为它直接关系到交易的有效性水平。考虑到这一因素,本文进一步分析了块的传播时间。讨论了区块链P2P网络与其它参数的关系。在下一节中,我们将分析传播延迟对区块链交易安全方面的影响。

块大小及其影响

比特币区块链中的区块大小术语可以解释为网络中要填充大量交易的区块的上限。一个区块由一捆交易组成[22]。每个区块都需要得到矿工的验证,然后才能被完全接受以与网络中的整个区块集成。每个区块链平台的区块大小特征是不同的。实际上,比特币的最大块大小为1 MB [23]。矿工可以选择要进一步处理的交易数量。就比特币而言,每当矿工提交的交易超过上限时,其他矿工就会拒绝该区块[24]。确定块大小的目的是解决网络易受攻击的拒绝服务攻击的可能性。通过以这种方式设置块的最大限制大小,它可以减少打算用额外的无意义的交易充斥该块的攻击者的动机。它可能会导致各种问题,例如瓶颈问题。

传播时间无法与块大小分开。在事务中,传播时间和块的大小有着密切的关系。如前所述,块的容量越大,可以在块中完成和存储的事务就越多。然而,在没有适当分析的情况下简单地增加块中的容量会影响传播时间,从而牺牲区块链系统中的安全性[25](我们在第4节中给出了详细信息)。其相关性如图4所示[26]。事务中块的容量调整到350kb,以确定节点接收块信息所需的时间。红线覆盖了总块大小的25%,绿线覆盖了60%,最后,75%用蓝色覆盖。仿真结果支持这样一种理论,即一个块中的容量越大,所需的传输时间越长。

Fig 4

Decker和Wattenhofer[21,27]对比特币网络的深入分析揭示了一些模糊的观点。它提供了大量有关比特币区块链网络参数的基本信息。因此,它已成为区块链系统领域各种研究的主要参考。研究采用多跳广播将事务和块传播到同一网络中的整个节点。这项研究证实了传播延迟和块的大小之间存在相关性。作者评论说,在区块链中出现分叉的主要因素是传播延迟,其中也影响攻击的发生,例如双重花费攻击和扣压攻击。最后,作者通过参数化协议提出了一种解决方案。实际上,验证时间的设置比默认协议快。网络上的消息交换也有修改。接收到的包含“资源清册消息”的消息被直接转发到连接的节点,同时系统采用星型子图结构,已被证明可以提高连接速度、块验证和事务传播。

这些测量是在比特币网络上通过设置一个最大为140kB的块大小限制来进行的。有一个称为“延迟成本”的新参数来描述由于节点之间事务和块的传播而导致的每千字节的延迟时间。结果表明,对于大于20kb的块大小,成本是稳定的。而对于较小的尺寸,由于往返延迟被视为开销。往返延迟对所有事务显示96%的小块(小于1KB)有影响。此外,事实表明,对于大于20kb的块,在节点检测到事务之前,每千字节需要额外的80ms延迟。

每个区块的容量直接影响确认的长度。当节点选择要处理的新事务时,他能够在将其作为有效事务接受之前检查信息的有效性。确认块的时间长度取决于块本身的容量。具体来说,验证块的时间与块容量成线性关系。因此,这些参数在分散的区块链系统中是必不可少的。

我们的发现和困境

根据前人的文献综述,提出几个选择要点。在本节的开头,我们将描述扣缴攻击度量的结果。这种攻击是造成区块链网络传播延迟的因素之一。为了确定数据通信的状态,还通过生成一个小型分散系统对P2P网络进行了仿真。基于所使用的参数和我们的发现,我们分析了它们之间的关系,以提高区块链P2P网络的可靠性水平。简而言之,每个决策都有一个权衡。

P2P网络的通信数据

设计了基于P2P网络计算的虚拟网络。网络是建立在另一个网络之上的。网络中的节点也可以扮演多个角色,例如矿工、客户机和prosumer。这些信息与我们之前的研究[28]一致,这也是我们正在进行的研究。每个存储的数据使用使用公钥加密的加密公钥标准,并且使用预先生成的私钥进行解密。密钥对指的是给定特定范围内的整数形式的连续数字。

我们之前实验中的验证时间超出了我们当时的重点。同样,所有节点接受事务所需的时间长度也不是我们主要关心的问题。具体地说,如果区块链网络中存在针对诸如交易消息之类的新传入消息的任何通知,则接收者仅接收消息而不进行验证。其目的只是测量P2P网络中节点间数据通信的状态。P2P网络中的节点之间的传播消息的设置可以在图5中看到。

image.png
image.png
image.png
image.png

实现了一个称为“基于Chord的分布式系统”的协议来管理节点的值,例如“编辑数据密钥”、“插入对象”等等。将tf定义为在P2P网络中进行服务的时间。来自同一网络中其他节点的随机选择的请求。服务时间st可在公式(1)中定义。当一个新的命令通知出现时,该节点允许直接基于地址链接与probability Qc建立连接。服务时间的平均值在(2)中定义。网络设置使用开放缓存解决方案,旨在实现更好的性能,并确保网络中的每个节点遵循Chord协议。

新消息通过向区块链网络广播100个交易来提交。每个事务的源地址和目标地址都是随机选择的。列出的节点数为25个,所有节点都使用相同的协议和具有不同地址的功能。每个节点只用于接收有关发送的消息的信息,而不需要验证接收到的消息。从P2P网络中的事务分布获得的数据通信的结果示于表2和图6中。表2中的数据是在特定时间随机选择的,总共有100行数据。一般来说,部署未经验证的事务需要平均每100字节的Internet控制消息协议echos(ICMP)需要1:14毫秒。事务数据以两种不同的方式分发到所有随机节点,如下所示:

  • 每n秒一次。每10秒定期发送100个新事务。作为发送者和接收者的节点是随机选择的。对于发送者和接收者没有特殊的要求和设置。数据的结果表明,事务的传播成功地发送到网络中的所有节点(见图6),成功率达到100%。在这个意义上,不存在丢失的数据事务,也不存在对节点的未知事务。
  • 快速发送事务。使用这种方法的传播消息与每n秒的规则分布略有不同。在P2P网络中,100个事务的数据量被非常快速地(n<10秒)发送到节点。发件人和收件人是根据可用列表随机选择的。这说明了某些节点接收到的新事务通知的数量,这些通知可能会由于许多因素导致事务数据丢失。

孤立区块,攻击和困境

孤立区块对于区块链上的每个矿工来说都是一个不想要的事件。造成孤立块的主要原因是P2P网络的传播时间。即使交易成功开采,矿工也不会为每个孤立区块和陈旧区块获得奖励。孤立块被描述为丢失父块的块。而过时块被定义为有效块,但不是如图7所示的区块链网络中的主链。这是因为比特币区块链使用的是“平分协议”,即如果在某个时间间隔内有两个相同的交易,矿工只接受交易链最长的区块。换言之,矿工拒绝区块,从而导致采矿活动的报酬损失。因此,矿工们避免了孤立和陈旧的区块。更糟糕的是,那些在孤岛上开采的矿工只会浪费资源,根本没有任何利润。

image.png
image.png

我们采用一种称为保留攻击策略的攻击算法来进行测量,以找出孤立块的信息。它是在2014年概述的。在本研究中,我们只介绍了扣缴攻击的基本部分。但是,我们建议读者参考文献[29-31]。拒绝攻击的动机是与诚实的矿工在解决工作证明难题上展开竞争,直到攻击者节点的性能超过诚实节点。在某些情况下,攻击者节点没有任何奖励,因为这些块在其网络中是保密的。无法挖掘事务,因为它不可供公众使用。因此,如果攻击者不发布这些块,奖励就会消失。由于区块链的性质,只要发现的区块向公众广播,并得到网络内其他矿商的确认,矿商就会得到奖励[32]。

在P2P网络中,存在诚实节点和攻击者节点。诚实节点遵循标准区块链协议,而攻击者节点采用图8所示的扣缴策略。我们将攻击者的挖掘能力设置为网络上总可用挖掘能力的30%。根据设计,只要诚实网络拥有网络中一半以上的挖掘(安全γ>50%),区块链就假定是安全的。自私的采矿攻击推翻了这一假设,尽管它们只有不到50%的计算能力(0≤α≤0.5)[33],但仍能获得收益。因此,人们提出了各种方法来防止这种攻击,例如重新参数化每个参数的阈值,如(3)所示。

image.png

进行模拟是为了了解不诚实矿工(在扣压攻击中)在寻找新区块时遵循其策略的表现。目标是探索新的区块,直到不诚实的网络成为公共网络中最长的链。因此,不诚实的矿工可以在向公众网络广播后增加他们的报酬。在我们的环境中,我们管理自私的矿工,使他们能够在14天内与诚实的矿工竞争,解决采矿难题,探索新的区块。自私挖掘网络的计算能力是1.0中的0.4。该过程从0.0到0.4随机运行14天,如图所示。9号和10号。

image.png

存在12个计算能力从0.0到0.4不等的不诚实矿工节点(表3)。我们将采矿功率上限设置为0.4(占总可用网络的40%)。仿真结果表明,在计算能力为0.322的情况下,与诚实协议相比,获得的收益是不公平的。一般来说,成功添加了51个新块,但存在4个孤立块。块生成时间平均为7.72分钟。

到目前为止,我们已经讨论了与区块链参数相关的影响其应用性能的基本标志。这些评论是基于我们的实施和几部文学作品。然而,针对P2P网络体系结构中的传播问题已经发表了大量的研究论文。一些技术建议更换网络拓扑,并将验证时间更改为最小值。消息交换协议(升级版)可能是需要考虑的解决方案。实质上,直接调整传播时间到系统中可以影响其他参数[34,35]。

在文章[36]中,作者解释了传播延迟如何使比特币网络上的攻击永久化。例如,IP地址劫持小于900个IP地址,那么敌方就可以对网络进行分区或控制块传播的延迟。它导致矿工们浪费了计算能力,损失了收入,影响了双倍支出攻击。然而,提出了一种加密机制来防止攻击者对打开的连接进行秘密查看。

在提高当前区块链系统的有效性和性能方面有许多考虑。考虑到这一点,我们选择了块传播时间和块大小参数进行深入的讨论。作为简要的总结,图11描绘了参数考虑的整体点。参数化块传播和块大小的优点和缺点描述如下:

image.png
image.png

块生成和传播

  • 加速块生成和传播:传播时间可以定义为在矿工接受每个事务之前,按时间加上事务分布的长度,以验证每个事务。从理论上讲,如果区块生成时间能够尽快设定,将有利于矿工进行验证,使各方能够快速完成交易[37]。然而,在不考虑其他参数的情况下,当块生成时间被加速时,问题就会出现。例如,孤立块将出现,为各种其他类型的攻击打开大门。在这件事上,矿工们收到了很多未经证实的交易,这使得他们有可能多次接受同一笔交易。正如我们前面提到的,比特币区块链中的领带断裂协议规定每个矿工/接收者只接受一个有效区块。尽管矿工们从诚实的矿工那里得到了木块,但他仍然只能接受许多木块中的一块。协议要求选择最长的链。最糟糕的部分是被拒绝的块,这些块后来成为孤立块。大量孤立的区块促使理性的矿工遵循不诚实矿工的协议。
  • 缩短块生成时间:通过降低所有事务的块生成时间,可同时验证的事务数将减少。幸运的是,它提供了一些优点,例如提供了更好的区块链安全系统。通过减少网络中孤立块的数量,可以直接摆脱自私的挖掘攻击。

参数化块大小

  • 增加块大小:一个块中的容量越大,可以包含的活动越多。但是,块中的容量越大,传播和验证时间就越慢[38]。 P2P区块链网络中传播时间的缩短还导致了双重支出攻击,该攻击使恶意方可以多次使用同一枚硬币。由于分发事务或块非常慢,因此整个节点无法接收所有事务,而其他节点则在这些事务的验证过程中领先一步。由于这些差异,恶意方有可能双倍花费其资金,因为某些节点不熟悉已确认的交易。
  • 缩小块的容量:由于一个块只能容纳少量事务,因此将加快块的生成和传播延迟。没有适当的计算,就会带来许多弊端。选择此策略可能会导致P2P网络中出现孤立块。这是不理想的,因为孤立的块是阻止威胁区块链系统的攻击的先驱。但是,好处是该系统将在区块链网络上提供快速交易。

避免困境的用例

物联网设备的发展帮助人们在日常生活中产生大量的数据。健康监控服务是大数据应用程序中的用例之一。在医疗监控系统中,患者通过可穿戴设备和智能家用电器生成个人健康信息,然后通过安全通道将收集到的数据发送给医生,所有这些都是为了改善他们的整体健康状况。许多研究人员将人与人之间或人与企业之间交易的中介作为数据交换的个人信息市场[39,40]。

实现个人数据共享系统的最简单方法是允许数据所有者和数据请求者之间直接共享,而无需第三方参与[41,42]。但是,在个人信息市场中,直接共享方法并不合适,因为它会给数据所有者带来数据管理负担。例如,为了向请求者提供个人信息,数据所有者应该维护一个具有共享密钥的安全通道,以便安全地传输其数据。此外,数据所有者应使用不同的共享密钥多次执行加密过程,并将其数据转换为多个请求者的密文。

因此,为了减轻管理负担,我们可以考虑两种方法。首先,我们使用云服务器将数据管理任务与数据所有者分离。通常,数据存储在半可信的第三方服务器中;服务器管理员可以在没有数据所有者许可的情况下访问此数据。因此,为了克服上述问题,数据所有者可以在将其数据存储到云服务器之前,在其密钥下对其数据进行加密。与其他用户共享加密数据的最简单方法是创建共享密钥。但是,如前所述,这种方法会对数据所有者施加压力,要求其为请求者多次执行加密过程。在本文中,我们使用代理重加密方案[43,44]来解决这个问题。

在[43]中,作者介绍了一种代理重加密(PRE)方案。数据所有者生成代理重新加密密钥,将其公钥下的密文转换为请求者的公钥,然后将其提供给代理。然而,当数据请求者与代理合谋时,他们的方案不能保护数据所有者的私钥免受攻击者的攻击。在[45]中,作者提出了一种基于双线性对的无证书预方案。该方案可以防止代理发起协同攻击,并对选择的密文攻击提供安全性。即使请求者与云服务器串通,他们也不能透露数据所有者的私钥。

第二种方法是使用Kerberos协议[46]作为数据共享系统中的身份验证方法,以提高管理效率。 想要访问该服务的客户端发送请求授权消息。 如图12所示,只有授权的客户端才能通过安全方式接收票证。但是,Kerberos身份验证协议使用基于会话密钥的通信来认证用户并管理票证。 因此,数据所有者的管理负担仍然存在。 此外,当Kerberos服务器(即数据所有者)关闭时,新用户将无法访问服务,直到服务器还原(单点故障)。 因此,我们考虑使用区块链技术来提供管理效率,而无需使用受信任的第三方实体。

image.png

如前所述,区块链由连续的区块组成,其中每个区块包含前一个区块和交易的哈希值。用户创建的事务被传播到P2P网络,区块链网络中的节点在完成验证过程后传播接收到的事务。如果交易无效,就不能再转发到区块链网络。此外,节点将区块链的副本存储到其本地存储数据库中。如果有人想修改区块链上的数据,必须完全更改区块头中的特定值。因此,不改变网络中所有用户的所有后续块头是不可能的。区块链中存储的数据的不变性和透明性被用于在金融、食品、卫生等多个领域构建一个分散的系统。因此,将区块链应用于数据共享系统可以在没有集中管理员的情况下管理请求者的凭证。

第一个分布式区块链是由Nakamoto[47]构想的,并在次年作为加密货币的一个重要组成部分比特币实施。在比特币支付系统中,用户创建一个交易来转移他们的资金,并用他们的签名来证明所消费资金的所有权。节点根据附加的签名和存储在区块链中的上一个交易的有效性来验证这些交易。只有当事务具有有效签名且前一个事务的输出未使用时,网络成员才能分发该事务。

基于区块链的访问控制系统[48-50]的目标类似于比特币支付系统中资金转移背后的操作原理。在[48,50]中,每个活动都提供了访问权限和策略的权限。与Kerberos协议不同的是,所有交易在区块链上都是公开可见的,如图13所示。在[49]中,作者提出了基于区块链的数据共享,用于存储在云服务器中的电子病历。验证者可以通过使用发卡机构在将请求存储到区块链之前生成的加密密钥来验证用户的成员身份。因此,所有用户都可以在没有第三方帮助的情况下高效地管理他们的数据。

但是,验证者没有考虑用户隐私和公共区块链的有限吞吐量。由于恒定的间隔和有限的块大小,公共区块链系统具有最大容量。对于比特币支付系统,它每秒只能处理七笔交易。在过去的5年中,每天确认的比特币交易数量增加了150,000。因此,许多加密货币开发人员考虑重新参数化(即修改系统参数)以提高区块链网络的吞吐量。但是,Croman等人。 [7]表明,通过重新参数化进行缩放只能实现有限的收益。例如,块大小的增加会导致传播延迟,以及增加的区块链分叉率[21]。因此,为了解决区块链系统中的低延迟问题,我们可以使用支付渠道[51,52]。双方在彼此之间建立点对点通道并在链外(即在区块链网络外部)交换其平衡状态。在支付渠道中,用户无需等待交易确认。与原始的比特币支付系统不同,双方将其余额状态作为链下交易进行交换,直到关闭该通道而不进行广播。在付款渠道中,只有最新状态(即链下交易)有效。

区块链访问控制系统在公共区块链中记录请求者的凭证,以确保用户获得授权。实用方案见图13。然而,在本文所考虑的定期更新数据访问的证书票证的环境中,更新的次数增加了事务处理开销。比特币交易由输入和输出字段组成。输入字段包括哈希值、公钥、签名,输出字段包括收件人的地址。系统需要使用现有票证的输出来生成包含更新票证的新访问策略的事务。然而,这给区块链网络带来了负担,也给用户带来了交易处理费。相比之下,在基于支付渠道的系统中,记录在链上的交易的大小是固定的(614字节),而与票证的续订次数无关。记录在链外的交易的规模随着票据中的续签次数而增加,但这是在区块链之外处理的,因此不会产生任何交易处理负担或费用。

image.png

未来工作方向

由于其优势,基于区块链技术的去中心化应用正在增长。最突出的属性是防篡改,不涉及第三方,并降低了运营成本。因此,基于区块链技术的系统被广泛用于各种用例领域,例如医疗保健,电子投票,数字身份等等。但是,这项技术的发展面临许多挑战,特别是与可以根据其应用更改的区块链参数有关。在前面的部分中,我们讨论了如果没有适当计算就重新设置区块链参数的参数所产生的影响。它会影响区块链系统的稳定性,并且可能成为各种攻击(例如预扣攻击和双花攻击)的先驱。考虑到这些因素,对于未来的工作方向,需要对区块链的整体参数(不包括传播时间和块大小参数)进行深度分析。同时,传播时间与块大小之间的关系表明它们之间存在很强的关系。每个决定的利弊(不遵循区块链平台的现有默认设置)。因此,我们建议区块链用户和开发人员也考虑我们在本文中提出的观点。

结论

在本文中,我们提供了有关影响区块链P2P网络拓扑中传播延迟的参数和限制的基本信息。我们讨论了由于传播时间问题而可能发生的攻击的性能。基于我们的实现以及一些文献中的信息,我们得出结论:在P2P网络拓扑结构中,分散区块链的性能的提高需要非常清晰的分析,因为它直接影响到其安全性。在应用于实际应用程序之前,需要仔细考虑性能和安全性之间的权衡。为了进一步的研究,一个新的设计协议是必要的,它在管理每个区块链交易方面是安全和快速的。我们的目标是实现更好的区块链协议。

你可能感兴趣的:(《The Dilemma of Parameterizing Propagation Time in Blockchain P2P Network》论文阅读笔记)