背景
作为互联网的又一重大创新,区块链不仅延续了互联网去中心化、去中介化、平权的传播理念,还重新定义了金融、医疗、教育等诸多行业的规则,创造了新的价值。随着区块链技术的快速发展,区块链应用逐渐商业化,TPS作为衡量区块链系统能力的最重要指标,成为市场关注的焦点。然而,目前TPS从几百、几千、几万甚至几百万不同数量级的区块链系统层出不穷,缺乏基于标准化的统一认知规范,给用户造成了一定的困惑。同时,一些区块链项目打着TPS的幌子进行虚假宣传,制造TPS值越高系统性能越好的假象,对区块链科技和产业发展造成负面影响。为了促进业界理性认识区块链TPS,科学选择区块链系统,本文从多个角度全面分析了区块链系统TPS的影响因素,并从标准化角度对区块链TPS的评价提出了建议。本文所述各系统TPS值均来源于实际测试或引用权威数据,仅从技术角度进行讨论,不作为任何系统的背书。
02简介
TPS是指系统每秒处理的交易数量,是衡量区块链系统性能的最重要指标之一。随着区块链的发展越来越活跃,一些主流区块链项目的网络拥塞问题也越来越严重,导致区块链无法在高并发业务领域落地。目前很多技术方案和项目都在试图解决这样的问题,以达到更高的TPS。
区块链系统TPS的计算公式为:
TPS=交易数量/花费的时间
其中,测试数据需要在系统稳定运行状态下获取,否则会影响测试结果的准确性。
03影响因素分析
在区块链系统的生命周期中,影响其TPS的因素大致可以分为两类:内部因素和外部因素。内部因素包括系统共识机制、区块参数设置、交易流程优化、节点配置、加密算法等。外部因素包括资源配置、测试和验证环境等。
内在因素
内部因素基于区块链系统设计中底层技术的选择,如共识机制、数据结构、加密算法等。,以及开发时的块大小、块释放时间等参数的设置,系统运维时的系统优化升级等。本部分主要分析共识机制、阻塞参数配置和交易流程优化对区块链系统TPS的影响。
共识机制
共识机制是指以分散的方式对网络状态达成统一协议的过程,是区块链的核心技术之一。下表列出了四种主流的区块链共识机制,并比较了基于这些机制的区块链项目的特点。基于PoW共识的比特币和基于PoW PoS的以太坊的TPS都在40以下;基于DPoS共识的EOS,TPS已经达到3600;基于kalka的超级账本项目,TPS可以达到万级。由此可见,基于不同共识机制的区块链系统TPS可能存在一个数量级的差距。
主流共识机制的比较
区块链网络中存在一个“不可能三角”,即无论采用何种共识机制,都无法同时兼顾可扩展性、安全性和去中心化这三个要求。当系统追求高TPS时,必然会牺牲一些安全性或者导致系统过于集中。以联盟链为例,虽然实现了低能耗、高性能,但导致了系统的过度集中化。比特币虽然效率不高,TPS在个位数的量级,但是实现了高度去中心化,项目已经稳定运行了11年,安全性得到了市场的高度认可。总的来说,共识机制在区块链制度的TPS中起着决定性的作用。
块参数
块参数包括块大小和块释放时间。对于基于同一底层的区块链系统,块容量与TPS成正比,即块容量越大,系统的TPS越高。以基于PoW共识机制的比特币和比特币现金为例。每块比特币的大小设置为1M,TPS为7,而每块比特币现金的大小为8M,TPS在24到224之间。另一方面,退块时间对TPS的影响表明,退块时间与TPS成反比,退块时间越长,系统TPS越低。以比特币和莱特币为例。与比特币相比,莱特币的阻塞时间缩短了7.5分钟,但TPS提高了近4倍。可以看出,块参数对系统TPS有显著影响。
交易验证
在区块链系统中,事务的生命周期包括事务请求、事务广播、事务验证、事务打包、事务缠绕和事务完成,其中事务验证机制是影响区块链系统TPS的因素之一。目前,闪电网、状态通道和分片处理是优化交易验证的几种常用方法。其中,闪电网和状态通道保持底层区块链协议不变,交易在链下执行,即通过改变协议用法解决可扩展性问题。碎片化处理通过将事务分流到不同的区域,并在区域内执行事务,使得全网的事务数据均匀分布,提高了区块链数据的处理效率,从而减轻了节点的计算和存储负担。但是我们也要看到,系统的TPS只能通过事务验证和优化的方式得到小幅提升。
外因
影响区块链系统TPS的外部因素包括区块链系统部署服务器的资源分配和测试环境。CPU性能、内存和硬盘容量、网络带宽等资源配置。测试环境包括测试基础、测试方法和测试工具。
资源的分配
区块链系统一般部署在物理服务器或云服务器上,服务器的资源分配直接影响区块链系统的整体性能。对于区块链系统,服务器的硬件性能越高,可以产生的TPS值就越高。服务器硬件资源包括CPU、内存、硬盘等。其中,CPU的两个重要评价指标是频率和缓存容量。CPU频率越高,缓存容量越大,系统数据处理速度越快。同样,内存大的计算机设备可以在短时间内缓存大量数据。在区块链系统产生大量数据处理的前提下,高内存服务器的优势更加明显。
下表显示了在不同配置的服务器上部署相同的区块链系统时测试的TPS差异。
硬件配置对系统TPS的影响
测试环境
相同的区块链系统在不同的测试环境中会产生完全不同的测试结果。测试环境包括测试设备、测试工具和操作方法。当前主流的区块链性能测试工具,如LoadRunner、Benchmark、Caliper等。下表显示了基于super-ledger技术的相同区块链系统在不同测试工具下的TPS测试结果。
不同测试工具下TPS的比较
04差异分析
目前业界有一百万、十万、一万TPS的区块链系统。本章重点介绍这三个TPS级别的实现特征。
一万TPS
通过优化节点服务器的硬件配置和交易验证流程,可以实现一万个TPS区块链系统,比如很多基于超级账本技术的联盟链系统。优化硬件配置可以通过增加CPU性能和内存容量来实现,其中CPU的增加可以让系统拥有更强大的逻辑运算能力,内存的增加可以让系统拥有更大的数据处理量空来同时处理大量的数据。交易验证的优化可以通过闪电网、分片处理等技术实现。
十万TPS
面对日益复杂的计算需求,区块链系统在单位时间内需要处理的数据量大大增加,这对区块链系统TPS提出了更高的要求。利用多链并行计算和DAG(有向无环图)技术可以进一步提高系统的TPS。一个10万量级的TPS区块链系统一般可以通过多链并行计算处理数据,以DAG的形式传输数据。
百万TPS
目前“双11”的交易量是每秒24万笔,VISA是每秒2000笔。为了进一步完善TPS,一些企业和研究机构通过设计多链并行架构、省略交易过程中的签名和验证环节、优化节点服务器配置等方式对TPS进行改进,以满足特定业务应用场景的需求,实现区块链系统的百万级TPS能力。
05区块链系统TPS测试原理
区块链系统TPS测试应遵循四个原则:标准化、单链测试、统一测试环境和公正客观。
标准化原则
区块链系统的TPS测试应按照相关国家标准、行业标准、地方标准和企业标准进行,确保测试过程规范,结果权威可信。
单链测试原理
该测试应仅评估单链的性能。多链并行计算的模式大大提高了区块链系统的TPS,但也导致区块链企业为了追求高TPS而片面增加并行链的数量。即使他们通过了测试,他们也无法衡量其底层技术的质量。
测试环境的统一原则
测试基准要统一,即根据权威标准制定测试计划和用例,在相同的实验环境下测试区块链系统。
公正和客观原则
在比较和评估区块链制度时,应该客观公正。只有基于相同底层技术(如使用相同的共识机制)的区块链系统才具有可比性。
06摘要
综上所述,TPS的影响因素和系统评价原则是区块链系统测试中的两条主线。在测试区块链系统的TPS报告中,应充分描述测试对象、系统配置、软硬件环境等信息,并在比较和评估区块链系统时统一基准,从而客观公正地衡量区块链系统的质量。同时,区块链企业应客观理性看待区块链系统TPS,以满足实际应用场景为立足点,深入分析相关特点和优势,合理构建符合业务需求的区块链系统,助力区块链科技良性发展。
本网站声明:网站内容来源于网络。如有侵权,请联系我们,我们会及时处理。
温馨提示:注:内容来源均采集于互联网,不要轻信任何,后果自负,本站不承担任何责任。若本站收录的信息无意侵犯了贵司版权,请给我们来信,我们会及时处理和回复。
免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如有疑问请发送邮件至:goldenhorseconnect@gmail.com