Zion Qiang 11分钟前 A16z:为什么区块链性能很难衡量? 分析 作者:Joseph Boneau 性能和可扩展性是加密领域中备受讨论的挑战,与第 1 层项目(独立区块链)和第 2 层解决方案(如rollup和链下通道)相关。然而,我们没有标准化的指标或基准。数字通常以不一致和不完整的方式报告,这使得准确比较项目变得困难,并常常模糊了实践中最重要的内容。 我们需要一种更细致、更彻底的方法来衡量和比较性能——一种将性能分解为多个组件,并在多个轴上进行权衡比较的方法。在这篇文章中,我定义了基本术语,概述了挑战,并提供了在评估区块链性能时要牢记的指导方针和关键原则。 可扩展性与性能 首先,让我们定义两个术语,可扩展性和性能,它们具有标准的计算机科学含义,在区块链环境中经常被滥用。性能衡量系统当前能够实现的目标。正如我们将在下面讨论的那样,性能指标可能包括每秒交易数或交易确认时间中值。另一方面,可扩展性衡量系统通过添加资源来提高性能的能力。 这种区别很重要:如果定义得当,许多提高性能的方法根本不会提高可扩展性。一个简单的例子是使用更高效的数字签名方案,例如 BLS 签名,其大小大约是 Schnorr 或 ECDSA 签名的一半。如果比特币从 ECDSA 切换到 BLS,每个区块的交易数量可能会增加 20-30%,从而在一夜之间提高性能。但是我们只能这样做一次——没有更节省空间的签名方案可以切换(BLS 签名也可以聚合以节省更多空间,但这是一个一次性技巧)。 许多其他一次性技巧(例如隔离见证)在区块链中是可能的,但你需要一个可扩展的架构来实现持续的性能改进,其中添加更多资源会随着时间的推移提高性能。这也是许多其他计算机系统中的传统智慧,例如构建 Web 服务器。通过一些常用技巧,你可以构建一个非常快速的服务器;但最终,你需要一个多服务器架构,通过不断添加额外的服务器来满足不断增长的需求。 理解这种区别还有助于避免在诸如“区块链 X 具有高度可扩展性,它每秒可以处理 Y 笔交易!”之类的陈述中发现的常见类别错误。第二种说法可能令人印象深刻,但它是一个性能指标,而不是可扩展性指标。它并没有说明通过添加资源来提高性能的能力。 可扩展性本质上需要利用并行性。在区块链领域,第 1 层扩展似乎需要分片或看起来像分片的东西。分片的基本概念——将状态分成几块,以便不同的验证者可以独立处理——与可扩展性的定义非常吻合。第 2 层还有更多选项允许添加并行处理——包括链下通道、rollup服务器和侧链。 (责任编辑:admin) |