On Scaling Decentralized Blockchains (A Position Paper)

基于区块链的加密货币越来越流行,可伸缩性已成为首要和紧迫的问题。我们分析比特币的基本瓶颈和环境瓶颈如何限制其当前对等覆盖网络支持更高吞吐量和更低延迟的能力。我们的结果表明,块大小和间隔的重新参数化只应被视为实现下一代高负载区块链协议的第一步,而重大进步还需要对技术方法进行基本反思。我们为这些方法的设计空间提供结构化的视角。在此视角下,我们列举并简要讨论了一些最近提出的协议理念,并提出了一些新理念和开放性挑战。
the key questions are:
Can decentralized blockchains be scaled up to match the performance of a mainstream payment processor? What does it take to get there?
本文旨在将区块链可伸缩性的探索置于科学的基础上。我们注意到,“可伸缩性”不是一个定义良好的系统的单一属性,而是一个将多个量化指标相互关联的术语。
我们提供了三个方面的贡献,说明了扩展比特币和区块链以实现高性能分散系统的问题:
1.effective throughput
我们的结果取决于覆盖网络中有效吞吐量的关键指标,我们在这里定义为哪些块在平均块间隔周期内传播,即节点的百分比。如果事务速率超过90%的有效吞吐量,则网络中10%的节点将无法跟上,这可能导致拒绝向用户提供服务,并降低网络的有效挖掘能力。为确保当前覆盖网络中至少90%的节点具有足够的吞吐量,我们提供以下两个指导原则:
-[吞吐量限制。]考虑到今天10分钟的平均块间隔(或块间隔时间的缩短),块大小不应超过4 MB。4MB的数据块大小对应于每秒最多27个事务的最大吞吐量。
-[延迟限制。]如果要充分利用网络带宽,则块间隔不应小于12秒。
为可伸缩区块链绘制广阔的设计空间。我们的发现使我们认识到,区块链在保持其分散化的同时,需要对基本协议进行重新设计,以实现显著的规模扩张。我们汇编和审查各种有助于区块链规模扩大的技术方法。我们规划了广泛的设计空间,不仅包括增量改进,还包括激进的重新架构。我们根据将区块链系统划分为不同的平面(即:网络、共识、存储、视图和侧平面)对新协议设计策略进行结构化讨论。我们讨论每个平面的特性,以及最近和新的改进建议;我们还讨论了开放研究的挑战。
提出公开挑战。本文的另一个目标是阐明服务中的开放挑战:(i)更好地理解可伸缩性瓶颈;以及(ii)设计更具可伸缩性的区块链。如前所述,可伸缩性不是一个单一的指标,而是各种性能和安全指标之间的紧张关系。到目前为止,缺乏对许多重要指标(例如公平性和采矿用电[25])的测量和理解,部分原因是仅从几个有利点监控和测量分散的区块链带来了重大挑战。我们呼吁采用更好的测量技术,以便能够持续监控分散系统(如比特币)的健康状况,并回答关键问题,如“在不牺牲安全性的情况下,我们能在多大程度上推动系统参数?”“受到攻击时,系统的鲁棒性如何?”最后,尽管我们为可伸缩区块链描绘了更广阔的设计空间,但实例化和组合这些想法以构建一个具有正式可证明安全性的完整边缘系统是一个不小的挑战。
指标
Maximum Throughput.
最大吞吐量是区块链能够确认交易的最大速率。如今,比特币的最大吞吐量为每秒3.3–7笔交易[1]。该数字受最大块大小和块间时间的限制。
Latency.
确认交易的时间。当一笔交易包含在一个区块中时,即被视为已确认,预计约10分钟。
Bootstrap Time.
新节点下载和处理验证当前系统状态所需的历史记录所需的时间。目前在比特币中,引导时间与区块链历史的大小呈线性关系,大约为四天
Cost per Confirmed Transaction (CPCT).
整个比特币系统为完成单一交易而消耗的资源成本(美元)。CPCT包含几个不同的资源,所有这些资源都可以进一步分解为运营成本(主要是电力)和资本设备成本:
1.采矿:矿工为每个区块生成工作证明所花费的费用。
2.交易验证:验证交易是否可以使用其输入引用的输出所需的计算成本,主要由加密验证决定。
3.带宽:接收和传输事务、块和元数据所需的网络资源成本。
4.存储:成本(1)存储所有当前可消费的交易,这是矿工和完整节点执行交易验证所必需的;(2)存储区块链(更大)的历史数据,这是引导加入网络的新节点所必需的。
有两种有趣的场景:第一种场景是比特币网络以最大吞吐量运行,即3.3–7笔交易/秒。该最大吞吐量主要受比特币1 MB最大块大小和可变事务大小的限制。最大吞吐量的下限是根据当前的平均事务大小(约500字节)推断出来的,而上限是基于[1]中经常引用的估计值,该估计值对应于异常小(250字节)的事务。第二种情况是比特币网络的实际平均吞吐量,根据2015年10月收集的统计数据,为每秒1.57笔交易[4]。
Scaling by Parameter Tuning and Fundamental Limits
1 Measurement Study
比特币性能的一个关键参考点是Decker和Wattenhofer 2012年对比特币网络块传播的测量研究[20]。当时,比特币节点接收块的中位数和90%时间为
分别为6.5秒和26秒。该研究还表明,对于大小小于约20KB的小数据块,延迟是数据块传播时间的一个重要因素。除此之外,吞吐量是主要因素,并且在块大小上是不变的;因此,他们发现,对于足够大的块,块传播时间与块大小成线性增长。
2 4 Rethinking the Design of a Scalable Blockchain
network pane
一个不同的方向是改善网络层作为广播频道的功能。该网络平面可以设计为健壮的P2P覆盖拓扑,诚实节点之间的连通性强,直径小。这种覆盖拓扑通常是扩展器图,具有已知的低延迟广播协议[28,32]。
为了限制敌对节点的影响,覆盖可以随机化所有节点的位置(在其控制范围之外)。
Awerbuch, B., Scheideler, C.: Towards a scalable and robust DHT. In: SPAA (2006)
43. Sen, S., Freedman, M.J.: Commensal cuckoo: secure group partitioning for largescale services. SIGOPS Oper. Syst. Rev. (2012)
为了进一步限制拒绝服务,节点可以对来自其对等方的传输进行速率限制。设计这样一个覆盖,以保持诚实节点之间的强连通性(在拜占庭对手在场的情况下)对于静态网络来说是众所周知的[22,35],但是对于高度动态的网络来说是一个活跃的研究领域[30]。
Guerraoui, R., Huc, F., Kermarrec, A.-M.: Highly dynamic distributed computing with byzantine failures. In: PODC (2013)
涉及网络层面的一个长期问题是激励参与者。研究人员注意到,Network Plane缺乏交易传播的激励结构,并提出了一种改进的费用分摊结构,以提供强有力的激励。网络协议的许多其他方面依赖于自愿参与,并需要特别防御来阻止入侵和拒绝服务攻击。
4.2 Consensus Plane
共识平面的功能是指定一组全球接受的交易进行处理,以及这些交易的全部或部分顺序。作为一般抽象,该平面接收来自网络平面的消息,并输出事务以插入系统分类账。在比特币中,共识平面是挖掘区块并就其融入区块链达成共识的功能。
Improving Proof-of-Work Protocols.
比特币的区块链协议引入了一致速度、带宽和安全性之间的权衡。通过改进前两个,一个引入了更多的叉子,导致保护系统的采矿权损失,降低了公平性[25]。许多加密货币(如[9])倾向于共识速度而非安全性,采用了具有高块生成频率的标准比特币区块链。
然而,这种三方交易不是分散加密货币所固有的。Sompolinsky等人的GHOST协议[45]以及Lewenberg等人[36]证明,通过改变链选择规则,特别是通过将其包含在主链之外的分叉,可以提高公平性和采矿功率利用率。在最近的工作中,比特币NG[25]证明,比特币固有的交易效应可以通过替代区块链协议消除,从而消除共识延迟和带宽仅受网络平面的限制。
Georgiou, C., Gilbert, S., Guerraoui, R., Kowalski, D.R.: Asynchronous gossip. J.ACM 60(2) (2013)
在最近的工作中,比特币NG[25]证明,比特币固有的交易效应可以通过替代区块链协议消除,从而消除共识延迟和带宽仅受网络平面的限制。Bitcoin-NG [25]
POS。各种提案(例如[11,33])使用股权证明来达成共识,从而消除了工作证明的计算费用。作为股权证明,委托人有权通过存入自己的资金来创建区块。然而,这些技术缺乏系统收敛的形式保证[18]。
Consortium Consensus.。权力下放会带来性能成本。具有比比特币更强假设的信任模型可以支持更有效的共识协议,以更少的计算、带宽和存储成本实现更好的延迟和吞吐量。具体而言,使用标准拜占庭容错(BFT)复制协议和少量预先指定的可信实体消除了比特币中的许多扩展障碍。
在学术文献中,涉及由一小部分受信任实体执行的BFT协议的设置在学术界很少得到处理,但在实践中具有相当大的兴趣,主流金融机构正在积极探索它们的使用[44]。它们有时被称为“联盟区块链”
联合体区块链作为分散加密货币的替代方案,以及描述分散区块链因分配信任而产生的性能成本,都值得研究。在附录A中,我们展示了一系列不同系统参数化的流行BFT协议(PBFT)实验的性能图和微基准结果,该协议的节点分布在全球八个地区。我们的结果说明了BFT作为加密货币共识层基础的吸引力(考虑到其强大的信任假设)。即使有几十个节点,PBFT在交易延迟和吞吐量方面也大大优于比特币。例如,处理8192个事务的64个节点可以实现4.5 K tx/秒的吞吐量,平均事务延迟为1.79秒,每个事务的估计资源成本仅为3.95×10美元−7.2但是,扩展到数百个节点将大大降低系统的性能。正如我们现在所解释的,一种很有前途的扩展方法和一个开放的研究方向是如何切分BFT协议。shard a BFT protocol.
Sharding。提高一致性平面的可伸缩性的一种可能技术是对其进行切分,即在并发操作的节点集之间分割一致性任务,目的是提高吞吐量并减少每个节点的处理和存储需求。切分通常用于分布式数据库,如Dynamo、MongoDB、MySQL和BigTable,尽管性能通常不会随切分计数线性增长。这是因为当操作跨越多个分片时,需要在分片之间达成共识。在过去的工作[24,29,51]中,在非拜占庭环境中探索了一种可能性,即使用单独的协商一致协议,如Paxos,在碎片之间达成一致。然而,当拜占庭式环境中需要跨切分协调时,此类方案可能会产生大量开销,因此区块链切分协议是一个开放的研究领域。
Delegation of Trust and a Hierarchy of Sidechains.
另一种扩展技术是创建低层“共识实例”的层次结构,通常称为“侧链”侧链的去中心化程度可能低于顶级区块链。侧链还可以运行非工作证明一致性协议,如BFT。Back等人[15]提出的单边链结构允许交易在独立链之间移动资金。
4.3 Storage Plane
存储平面起到全局存储器的作用,存储并提供一致性平面生成的经验证数据的可用性。它可以被视为具有两个接口的抽象:(1)它接收和处理内存修改指令,从一致平面写入和(可能)删除操作;(2)它为系统中任何实体的读取请求提供服务。存储平面包含系统的分类账,但也可能包含协商一致产生的其他状态,如智能合约状态或视图平面支持的“视图”。
4.4 View Plane
Outsourcing Views via Cryptography.通过加密技术外包视图。
可以将视图的计算外包给第三方服务提供商。此提供程序可能会发布此视图的加密摘要(例如,Merkle树根)及其正确性证明。通过依赖可验证的计算技术,例如简洁的非交互知识参数(SNARK)[17,40],提供者可以为摘要提供正确性证明,支持对视图的验证。然后可以将视图插入存储平面。如果可用性不是必需的,则视图也可以存储在系统的某些其他部分中,例如由提供者本身存储,而不是存储在存储平面中。
这种方法的一个优点是,共识节点现在不需要存储整个分类账。它们可以在适当选择的视图上操作。然而,必须回答的一个关键问题是,SNARK等加密技术是否切实可行。在附录中,我们介绍了实验结果表明,使用SNARK的摊销成本可以低至每笔交易0.0154美元,用于计算基本上存储所有用户余额的简单视图。
4.5 Side Plane
5.结论
本文探讨了扩展比特币和区块链的总体挑战。在测量研究的支持下,我们发现比特币中块大小和间隔的重新参数化只是大幅提高吞吐量和延迟的第一步,同时保留了显著的系统分散性。从长远来看,更积极的扩展需要对协议进行根本性的重新设计。通过对区块链协议设计景观的结构化展示,我们展示了实现这种扩展的各种可能成功的方法,对最近提出的一系列新想法进行了分类,并为社区提出了一些重要的开放技术挑战。
作者从区块大小和块生成间隔分析得出结论:重新设计区块链的各层面是必要的。
浙公网安备 33010602011771号