区块链技术存在问题及解决方案_第1页
区块链技术存在问题及解决方案_第2页
区块链技术存在问题及解决方案_第3页
区块链技术存在问题及解决方案_第4页
区块链技术存在问题及解决方案_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

:块链技术存在问题及解决方案随着区块链的不断发展和人们对于区块链的不断硏究,当前区块链存在的问题也不断显现出来,其主要分为三大类问题:(1)区块链的吞吐率低(2)能源消耗和算力集中(3)区块确认时间长这些问题严重制约了区块链的发展,需要不断的探索和缓解或者解决其相应的问题,扩展区块链的应用。以下是对其问题的具体介绍以及改进。区块链吞吐率低典型的区块链(如比特币)需要10分钟或更长的时间来确认交易,平均交易速率约为每秒4个交易,最高可达每秒7个交易。以太坊每秒可以处理10个或更多交易,确认时间也比在比特币网络上快10倍。然而对比VISA交易网络,就能清楚看出当前区块链交易吞吐量的局限性,VISA可在几秒钟内确认交易,平均每秒处理2000个交易,每秒交易量最高可达65000个。从这些指标可以看出,与传统的中心化支付网络(如VISA)相比当今使用最多的区块链网络的交易吞吐量也还存在着很大的差距。比特币的吞吐率低是受制于于比特币在设计之初对于区块生成间隔(blockinterval)和区块大小(blocksize)的制约,中本聪为了确保比特币的安全性在一定程度上牺牲了比特币的性能和可扩展性。同时在传统比特币网络上调整区块生成间隔或者区块大小会对其损害其安全性;减小区块生成间隔,可以减小交易的平均确认时间,但同时降低了哈希计算难度,使其更易导致分叉;增大区块大小,可以增大系统的吞吐量,相同时间段处理更多的交易,但会导致block在网络中的传输延迟增大,同样更容易发生分叉。我们会介绍当前对于吞吐率问题的几个典型的解决方案,其中有BITCOIN-NG、侧链技术、闪电网络、DAG以及分片技术等。BITCOIN-NG由上述所知,传统比特币区块链其吞吐量低且不易扩容,为解决这一系列问题,Bitcoin-NG[12]是康奈尔大学的IttayEyal,AdemEfeGencer等提出的基于比特币的可扩展协议,其目标在于提高比特的吞吐量的同时,保证链的安全性。Bitcoin-ng是一个序列化交易的区块链协议,在未牺牲其它性能的情况下更好地考虑了延迟和带宽。Bitcoin-ng将比特币中记账和竞争记账权进行了解耦,使其两者可以并行执行,消除了比特币中两次Leader选举(获得竞争记账权)之间长时间的系统冻结。10分钟图1BITCOIN-NGBitcoin-ng通过将leader选举和交易记录这两种任务分配到两种区块中,实现了挖矿和交易记录的并行执行,提高了区块链的吞吐率。于此同时Bitcoin-ng也存在着一些安全问题:探钱包安全:污染交易的存在使得leader的私钥有被逆向获取的可能探DOS攻击:恶意leader可以通过不处理微区块中的交易来进行DOS攻击,虽然当下一个leader选举出来后,其攻击的影响会消除,但是在与51%算力攻击和日食攻击等相结合时,仍然会带来很大危害。探分叉:Bitcoin-ng存在关键区块分叉,只能在下一个关键区块生成时才能解决,且持续时间相对微区块分叉长。侧链技术侧链协议的定义:可以让比特币安全地从比特币主链转移到其他区块链,又可以从其他区块链安全地返回比特币主链的一种协议。本质上是一种跨区块链解决方案。最初,主链通常指的是比特币区块链,而现在主链可以是任何区块链。侧链协议可视为一种允许数字资产在主链与侧链之间进行转移的方式。我们将目标需要被转移的目标资产锁定在主链上,并且在侧链对其对应资产的等价货币进行操作,当操作周期结束之后再在主链上结算。我们可以在一定程度上将闪电网络看成侧链的一种。图2侧链提高区块链系统的交易吞吐率应用侧链技术可以提高整个区块链系统的交易吞吐率;而当侧链依附于主链时,在主链安全性保证的前提下,侧链可以专注于优化确认时间和吞吐率。扩大区块链的应用范围侧链通过融合的方式实现对于其他区块链系统的连接,使其各自的应用得到扩展,如将比特币和拥有智能合约的区块链系统相连,可以提升比特币自身的应用范围和创新维度。中心化的倾向区块链用户往往关注于转账速度和操作顺畅度,其可用性是其重点。通过侧链可以快速实现资产的流动,但是这也会引发中心化的危险。按照闪电网络的设计,随着演化很有可能会出现有少数几个巨型节点占据的网络。侧链在提升区块链的延展性的同时也会带来中心化的倾向。侧链对于主链的安全性影响对于主侧链区块链系统,区块链的安全性不仅取决于主链,其侧链也是必须考虑的因素,由于主链一般具有较好的安全性,攻击往往是通过安全性较差的侧链来实现对其主链的攻击,所以在设计侧链系统时性能和安全同样也是需要同时兼顾的。实现方案侧链实现的技术基础是主要是双向锚定(Two-wayPeg),通过双向锚定技术,可以实现将数字资产暂时在主链中锁定的同时将等价的数字资产在侧链中释放,于此相对应的是等价的数字资产在侧链中被锁定的时候,主链的数字资产也可以被释放。与单项锚定相比,双向锚定技术可以使主链的数字资产可以移动到新的区块链中,也可以将数字资产返回到主链上,而单向锚定其数字资产的转移方式是单向的。其具体实现方式可以分为以下几类:探单一托管模式最简单的实现主链与侧链双向锚定的方法,将数字资产发送到一个主链单一托管方,其形式类似于交易所,当单一托管方收到相关信息后,就在侧链上激活相应数字资产。这个方案的有点在于其简单的实现,但是和交易所类似,有中心化的风险。对于单一托管模式的中心化风险,可以通过公证人联盟的方式进行解决,联盟模式就是利用公证人联盟的多重签名对侧链的数字资产的流动进行签名确认。在这种模式中,相对于单一托管模式,盗窃冻结中的数字资产需要突破多个机构,其难度增加,但是侧链安全仍然取决于公证人联盟的诚实度。探SPV模式SPV(SimplifiedPaymentVerification)模式是最初的侧链白皮书《EnablingBlockchainInnovationswithPeggedSidechains》中的去中心化双向锚定技术最初设想。SPV可以通过少量数据就可以验证某个特定区块中交易是否存在。通过SPV模式将数字资产的认证证明和其已经锁定的证明在主侧链中交互从而实现双向锚定。SPV模式存在的问题是需要对主链进行软分叉。探驱动链模式驱动链概念是由BitcoinHivemind创始人PaulSztorc提出的。在驱动链中,矿工作为‘算法代理监护人',对侧链当前的状态进行检测,即依托于矿工来执行对于锁定的数字资产的监管和解锁,通过矿工对于数字资产的锁定和解锁请求的验证,并对其达成一致时,才实现对其数字资产的转移。其安全性取决于诚实矿工在驱动链中的参与程度。如同SPV侧链一样,驱动链也需要对主链进行软分叉。探混合模式上述所有的模式都是对称的,而混合模式可以将上述所有模式进行有效的结合。基于主链与侧链在实现机制存在本质的不同,对称的双向锚定模型可能是不够完善的。混合模式在主链和侧链上需要使用不同的解锁方法,同样,混合模式也需要对主链进行软分叉。闪电网络闪电网络最核心的思想是链下支付通道的建立和使用。用户通过搭建安全的链下支付通道,可以进行多次交易而不需要再链上记录每一笔交易。每次在链下支付通道交易时,用户在完成交易时用自己的私钥签名来更新自己的资产负债表,只在通道关闭时根据最近签名的资产负债表来分配资金,同时将初始余额和最终余额的相关信息广播到区块链上。闪电网络具有以下优点:探交易速度快:闪电网络可以即时完成交易,而不受制于传统区块链网络的交易确认速度。探交易费用低:闪电网络通过交易在链下进行,降低了每一笔的交易的平均手续费,更加有利于小额交易的应用。探交易吞吐量和吞吐率大:闪电网络的链上操作,通过对于批量交易的确认,从而提高区块链网络总体的交易吞吐量和吞吐率。探降低区块链网络负载:只有开启通道,关闭通道和争议性交易需要提交到区块链上进行,允许闪电网络内的所有其他交易保持未提交状态。这使得闪电网络用户可以通过比特币进行频繁支付,而不会区块链上的完全节点承担过多的负担。探支持跨链交易:只要两条区块链共享相同的加密哈希函数(或是大多数区块链都共享同样的哈希函数),用户将能够将资金从—条链转发到另一条链,而无需信任第三方中介探具有安全性和匿名性:闪电网络建立了安全的支付通道,通过私钥签名和保证金制度,来确保用户的资金安全;同时交易是发生在链下进行,也使其通过闪电网络通道进行的所有微支付几乎无法被追踪。闪电网络虽然提高了区块链的吞吐率,但是也随之带来一些安全风险和问题。探在线收款风险:为了收款人在收款之前需要签名回收交易,以便付款人知道他们可以在发生恶意通道关闭或拒绝签名的情况下回收资金。因此,要收款就需要一个热钱包,而热钱包有用户私钥泄露的风险。探监控通道风险:闪电网络参与者或服务商可能需要主动监控支付通道。这可能给用户或服务商带来负担,并降低通道内资金相对于存储在链上的比特币的安全性。同时可能会产生因为未能适当监控通道或链上网络的拥堵,导致错过回收交易截止日期的情况。探恶意矿工窃取用户资金的风险:当恶意矿工的算力超过51%时,攻击者有能力通过审查通道关闭的交易来窃取闪电网络用户的资金。即使没有闪电网络,此类攻击的潜在后果已经相当具有破坏性,但闪电网络可能会为恶意矿工提供更大的攻击面。有向无环图技术DirectedAcyclicGraph(DAG)中文意为“有向无环图”,原本是计算机领域一种常用数据结构,因为独特的拓扑结构所带来的优异特性,经常被用于处理动态规划,导航中寻求最短路径,数据压缩等多种算法场景。DAG的吞吐量较传统的区块链有显著的提高。图3Blockchain和DAGDAG协议原理共识机制的主要目的是能够在不同的节点之间,且没有中心节点的介入的情况下得到一个相同的账本。对于相同,主要有两点:其一,要有相同的内容,在DAG中,假设网络是一个同步的网络,即任何一个交易,只要经过了一个诚实节点,在经过有限的时间内会到达所有的节点,因此以时间为轴,除去最后有限个节点,所有的诚实节点的具有相同的内容。其二对于交易需要有相同的顺序。在DAG的协议中,需要各个节点根据本地的视图得到一条相同的主链,并且根据主链的链接顺序得到一个主链的序号,其他的块的序号和第一个连接到它的主链上的块的序号决定。这样,我们就可以对DAG中的块进行一个全局一致的定序。相同序号的顺序可以通过连接关系和hash大小来决定。主链的选择是DAG目前的主要硏究方向,有依靠GHOST协议,有依靠选取一些中心节点,但是总体上发展并不成熟,存在相当多问题。DAG存在的问题目前来看,DAG存在两个问题,一个是由于同一时刻可以有多个节点同时打包,因此会造成大量的交易被重复打包,另一个是,DAG还是只能通过POW的方式来产生区块,否则安全性得不到保证或者会引入特殊的节点,变向引入中心。分片技术分片技术(Sharding)是一种基于数据库分片传统概念的扩容技术,它将数据库分割成多个碎片并将这些碎片放置在不同的服务器上。在公共区块链的情境中,网络上的交易将被分成不同的碎片,其由网络上的不同节点组成。因此,每个节点只需处理一小部分传入的交易,并且通过与网络上的其他节点并行处理就能完成大量的验证工作。将网络分割为碎片会使得更多的交易同时被处理和验证。因此,随着网络的增长,区块链处理越来越多的交易将成为可能。这种属性也称为水平扩容。当前分片技术主要分为以下3种:1)网络分片2)交易分片3)状态分片网络分片网络分片是最基础的一种分片方式,通过将整个区块链网络划分成多个子网络,每个子网络形成一个分片,在网络中的所有分片并行处理网络中不同的交易。通过可验证随机函数(VRF),网络可以随机抽取节点形成分片。这样一种随机抽样的方式可以防止恶意节点过度填充单个碎片。同时,我们还必须要确保网络的一个分片中不同成员意见的一致性。这可以通过PoW,PoS,PBFT等共识协议来实现。交易分片交易分片的前提是已对当前网络进行分片。在基于UTXO的账本系统中,我们可以通过交易的哈希值的最后几位进行分片,已达到分片的随机性。为了避免恶意交易发起者发起双花交易,系统需要确保每个分片之间都进行信息的交互;但是这种相互之间的通信可能会破坏交易分片的整个目的。而在基于账户系统中,上述问题可以得到很好的解决。每一笔交易将会有一个发送者的地址,然后系统可以根据发送者的地址分配一个碎片。这确保了两笔双花交易将在相同的碎片中得到验证,因此系统可以很容易地检测到双花交易,而不需要进行任何跨碎片的通信。状态分片状态分片的关键是将整个存储区分开,让不同的分片存储不同的部分,每个节点只负责托管自己的分片数据,而不是存储完整的区块链状态。状态分片可以减少状态的冗余存储,使得整个区块链网络具有存储的可扩展性。在基于账户的模型中,在一个状态分片的区块链中,一个特定的碎片只会保留一部分状态,而不像是交易分片那样每个节点都保存整个网络中的所有状态。这会导致跨分片信息通信不可避免,所以确保跨碎片通信不会超过状态分片的性能收益仍然是一个值得公开的硏究问题。减少跨碎片通信开销的一种可能解决方案,是限制用户进行跨碎片交易。这确实消除了任何跨碎片通信,但它可能会限制平台的可用性。其次数据的可用性也是状态分片需要考虑的问题,当特定分片发生脱机时,由于分片没有复杂系统的全部状态,导致网络不能验证依赖于脱机分片的交易。解决此问题的方法是维护存档或进行节点备份,这样就能帮助系统进行故障修复以及恢复那些不可用的数据。以此带来的另一问题是:节点将不得不存储系统的整个状态,同时有引发中心化的风险。在分片机制中还必须考虑的是,确保碎片在抵御攻击和失败时是具有弹性的;网络必须接受新的节点并以随机的方式将这些分配给不同的碎片,即网络必须在一段时间内进行节点的重新分配。然而,在状态分片的情况下,重新分配节点的过程中,在同步完成前可能会出现导致使整个系统失效的问题。为了防止系统的中断,我们必须对网络进行逐步调整,以确保每个碎片在所有节点被清空前仍有足够多的旧节点。能源消耗大算力集中自2008年中本聪提出比特币,其共识机制PoW的弊端--能源消耗,就一直被硏究人员所诟病。其原因在于随着CPU工艺的不断进步,计算机的算力呈几何级数的增长,由于比特币的总量不变(2100万)那么需要增加挖矿难度提使其保证比特币的出块速度稳定FoW的机制使其只能通过暴力尝试方法(最消耗能源的方式)来获取记账权,从而加大了能源消耗。此前,摩根士坦利发布的一项报告预测曾显示,2018年,比特币的电力需求预计将增长三倍,一年的用电量相当于阿根廷全国一年的电力需求。与此同时,技术的发展和人们趋利性,使其开发出了专门用于挖矿的矿机,并以此形成了专门的矿池,这在本质上违背了中本聪最迟的去中心化的意愿,算力集中于个别组织和个人更易形成51%攻击和其他攻击,加大了比特币的安全风险。基于当前在基于PoW及其相似的共识机制的区块链项目,所带来能源消耗巨大和算力集中两大缺陷,人们提出了以下几个可能的解决方案:)PoS(proof-of-stake)2)PoSt(proof-of-storage)3)PoSp(proof-of-space)以下是对其具体介绍:权益证明权益证明PoS(ProofofStake),是随着人们对加密货币硏究的深入以及技术的进步而产生的一项创新。2012年8月,一个化名SunnyKing的硏究者推出了Peercoin(PPC),前期采用工作量证明(PoW)机制发行新币,后期采用权益证明(PoS)维护网络安全。首次将权益证明引入了加密货币领域。PoS指的是一种对挖出的“矿产”--虚拟币所有权的证明。在PoW中,各个节点协助创建和验证新的区块。奖励与贡献给整个网络的算力资源成正比。而PoS则与数字货币的持有量成正比,从而在能源消耗和算力集中上其问题得到有效的解决。PoS的优势:探PoS系统中最被广为流传的优点是它不像PoW需要经过一个能源密集型的消耗过程。如果PoS的系统可以具有与PoW系统相同特性,则可以避免对环境损害,这对PoS来说是一个重要正面的因素。探PoS系统的另一个关键优势是可能改善中心化。PoW采矿有许多中心化的优势在PoS系统中是不适用的。探PoW系统的另一个主要问题是矿工的利益可能与加密币持有人的利益不一致,而PoS直接将共识代理人与加密币的投资联系了起来,理论上来说投资者与共识代理人之间的利益是一致的。PoS的劣势:探PoS并不消耗更多的算力,因此如果出现分叉,理性节点在所有链上同时PoS挖矿是没有利害关系的,即在主链和从链上进行PoS挖矿都会获得相应的权益。以至于每次分叉都会形成新的山寨币,即PoS如果要很好的应对分叉,必须要增加更多的机制。存储证明存储证明Proof-of-storage(PoSt)是Permacoin中提出的一种共识机制,Permacoin是一个微软硏究院和美国马里兰大学联合提出的与比特币竞争的币种,其特点主要在于,它的挖矿行为并非注释纯粹的工作量证明,除此之外必须加入一种有意义的担保,即对挖矿矿工的资格进行了某种限定。存储证明将传统的PoW的无意义的电力消耗转化为矿工们必须分布式存储一个有意义且重要的大文件,才能实施挖矿行为,即在挖矿过程中证明自己确实帮忙存储了文件。和标准的比特币挖矿不同,基于存储证明的挖矿行为在标准的基于工作量证明之外,还必须提供它确实存储了指定的文件子块这样的证据。这样在一定意义上使得PoW的算力得到了很好的使用。同时在PoSt机制下,矿工宁愿投资于存储而不是计算能力来并行化采矿计算,矿工提供存储并重新使用计算来证明数据被存储以参与共识。利用存储证明(PoSt)来产生共识,不用像比特币那样浪费计算资源和能源,并且能激励矿工投入更多的存储空间(硬盘)资源而不是计算和能源资源为网络做贡献,非常环保高效的方式。空间证明空间证明Proof-of-Space(PoSp是BitTorrent开发者BramCohen设想的一种PoW的代替方案。其依赖于磁盘空间而不是计算能力作为挖掘的主要资源(将新交易添加到区块链的过程),创造了被认为是比较不具有生态破坏性和更经济的证明方式来替代PoW。PoSp可带来以下好处:极大减少资源浪费;用户一次性付出硬盘空间后,后续挖矿不需额外增加付出等等。根据一些团队的测算,PoSp里的用户行为可视作一种拓展性的博弈模型,随着时间增长,会有越来越多的用户加入进来。PoSp可认为是共识机制在PoW基础上的一大进步。但与此同时,PoSp仍存在一些问题:如引入了校验人角色,增加了系统的风险;如何设计和安排校验人,仍是一个问题;以硬盘空间为证明,存在着中心化的风险,因为少部分人可以通过巨大财力购置大量硬盘空间,持续垄断挖矿,造成类“51%攻击”等。中本聪“一枚CPU芯片代表一个个体,每个个体拥有平等挖矿机会”的构想,仍然难以实现。确认时长过长在区块链中,对于用户角度来说当前较为严重的问题是区块链的确认时间长。确认时间区块链安全与吞吐率的体现,为了确保交易不被篡改,区块链一般会对等待多个区块的确认,比特币实现了在敌手控制10%算力的情况下,在其6个区块的确认下,其发生双花的概率小于0.1%,而比特币的平均出块间隔达10min,这导致了为了实现交易的安全性,我们至少需要等待60min,这在日常的交易体系中是不可想象的。当前,对于这一问题,有以下对于此问题的解决方案:1)Thunderella,通过区分网络状态来实现加速2)Spectre,通过DAG实现交易快速入链从而达到加速目的3)Algorand,通过密码抽签的方式和拜占庭协议BA实现交易的快速确认。其具体方案的介绍如下:

Thunderella来自康奈尔大学的ElainShiThunderella来自康奈尔大学的ElainShi等人提出了一种交易加速算法Thunderella。该方案假设,当网络的中大部分节点或算力是诚实之时,Thunderella协议中的状态机实现快速异步处理,在小于1秒内作出确认,对交易几乎是瞬间相应。这里的大部分诚实节点,指的是诚实节点数量占比不低于3/4。而当网络出现异常而无法达成一致,比如由于恶意节点发送错误信息或者由于网络延迟造成共识失败,则自动启动回滚机制切换到传统区块链共识(慢速链),保证网络的安全和可持续性,并在网络恢复时自动切换回快速模式。由此,可以实现绝大多数时间与情况下,网络超过目前区块链1000倍的处理速度,以及遇到问题时依旧可以通过慢速链抵御49%的恶SpectreSpectre协议是一个DAG协议,和一般DAG/r/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论