《Network Performance Report: July 2023》
作者:Solana Foundation
概述
Solana 网络在 2023 年上半年的性能有所提升,这是通过正常运行时间、无投票交易与有投票交易的比率、生成区块的时间以及每秒平均和最大交易量来衡量的。
自 2022 年 10 月的上一次网络性能报告以来,Solana 网络经历了多项重大改进,包括:
· v1.14 版本顺利发布至主网。这是在 2 月 25 日的一次中断之后提出的改进软件升级过程的实施。自 2 月 25 日以来,Solana 网络已经实现了 100% 的正常运行。
· 网络升级以更好地处理高流量和需求,包括 QUIC TPU、权益加权 QoS 和本地化费用市场的推出。自这些网络升级以来,网络在高压力期(如 MadLads NFT 铸造期间)表现良好。
· 引入了状态压缩,这是一种直接在链上存储数据的新方法,可将成本降低几个数量级。现在于 Solana 网络上铸造 1 亿枚 NFT 的成本低至 50 SOL。
Solana 网络继续由全球各地的一群强大的独立验证者运行。它是全球最去中心化的权益证明区块链之一,也是最发达的之一。下面,我们列出了一些 Solana 基金会用来衡量 Solana 网络的去中心化和活力的统计数据(截至 2023 年 7 月 11 日):
注:这些数字代表节点数量,而非单个运营商。我们无法确认有多少唯一的生成区块的验证者或 RPC 运营商
网络性能概述
为了让十亿级用户使用并享受 Solana 网络的优势,用户需要对网络的整体可靠性有足够的信心:能够持续访问网络,网络及相关信息的准确性,交易速度,以及资金和信息的安全性。
以下是基金会追踪的一些指标,用以观察网络如何达到这一目标。虽然各种指标都可以帮助展示网络的性能,但为了简洁并让用户能够轻松跟踪这些指标以及它们随时间的进展,我们重点关注四个指标,并创建了包含这些指标的 Dune 仪表板,以及其他一些指标,使您可以更深入地挖掘数据或进行自己的分析。
正常运行时间
一个持续可靠的网络是建立信任和持续增长的基础。
衡量可靠性的最重要的指标之一就是网络运行时间。
下面,我们记录了过去六个月中每个月的网络正常运行时间,这是以一个月中的运行时间百分比来衡量的。
投票交易与非投票交易的比例
投票交易对网络的运行是必要的,因为它们创建了区块链所依赖的去中心化共识。当验证器投票确认一个或多个提议的信息块时,就会发生投票交易。非投票交易是由区块链上的用户行为触发的。例如,非投票交易可能表示一枚 NFT 铸造或者用户将代币从一个钱包转移到另一个钱包。网络达成共识需要一定数量的投票交易,但随着时间的推移,我们期望看到投票与非投票交易的比例下降,因为随着网络效率的提高,投票交易的总比例应该会下降。
以下是过去六个月投票交易和非投票交易的比例情况。
出块时间(产生一个区块所需的时间)
出块时间度量的是单个交易的速度,因为它度量的是网络向区块链添加更多「块」的速度。在这个图表中,我们看到的是产生一个区块的平均时间,该指标的一致性,以及它随时间的变化情况。
2 月底的峰值与 2 月 25 日的网络中断事件相关。
平均和最大每秒交易数
总的每秒交易数是对网络当前吞吐量最准确的反映,并展示了其随时间的潜力和增长。基准吞吐量是每秒 65,000 笔交易,基于简单的交易,比如转移资金。实际的每秒交易数会因网络上复杂交易的多样性,以及任何给定时刻的需求而有所不同。例如,购买 NFT 比在钱包之间转移代币要复杂得多。
需要注意的是,实际的网络每秒交易数并非反映网络容量,而是反映交易吞吐量的需求。在几乎所有情况下,主网-beta 的运行都低于其容量。
下图是网络实时性能的一个快照。它按日期划分为给定日的平均每秒交易数以及最大每秒交易数。自 2022 年 12 月以来,平均每秒交易数保持相对稳定,有些波动性与网络需求高涨相关。自 2022 年 1 月以来,每日最大每秒交易数一直在稳步增加,2022 年下半年的显著增长与新的网络升级有关。
自 2022 年 10 月报告以来的网络亮点
为了更好地应对高流量和需求,进行了网络升级:2022 年,Solana 网络在高活动时期,如大规模 NFT 铸造时,经历了几次减速或中断。作为回应,核心开发人员推出了网络升级,包括 QUIC,权益加权 QoS 和本地化费用市场。自从这些升级推出以来,网络在高压力时期(如 MadLads NFT 铸造期间)的表现非常出色。开发人员也在继续测试和开发其他网络升级和计划,包括增加最大交易大小(目前限制为 1232 字节)和简化投票逻辑,这减少了需要传输和存储的数据总量。
· QUIC TPU:QUIC 是由 Google 设计的一种网络协议,用于快速异步通信,但具有会话和流控制。QUIC 可以用来限制任何一个参与者的流量,使网络能够专注于真正有效的交易。QUIC 已被添加到接收用户交易的端口。
· 权益加权 QoS:权益加权用于高效分配领导者网络带宽。而不是无差别地按先来先服务的基础接受交易,它提供了传输信息的权限,因此拥有 0.5% 权益的节点将有权至少传输 0.5% 的数据包给领导者。这可以通过阻止垃圾邮件或恶意参与者来提高网络的韧性。权益加权 QoS 已被添加到 QUIC TPU 端口。
· 本地化费用市场:费用市场为用户提供了一种方式,可以为他们的交易添加额外的费用,以表示其相对于其他交易的紧急程度。优先费用是基于预期交易需要的计算资源量来计算的。例如,一个简单的代币转移需要的总优先费用低于相同紧迫程度的 NFT 铸造花费。这个过程通过允许用户表达紧迫性和优先处理交易,使市场更加高效。
改进的升级过程:作为对 2 月 25 日中断事件(下面会有更多介绍)的回应,Solana Labs 的 CEO Anatoly Yakovenko 发表了一篇博客文章,建议对软件发布流程进行新的流程,以便在网络扩展时,面对新的升级,升级过程能更有韧性。这些包括让更多的外部开发者和审计员参与发布过程,测试并发现漏洞,改善服务器重启过程,重视网络稳定性,以及组建一个对抗性团队。其中几个建议已经生效,包括:
· 在测试网上进行全面的升级过程:为了模拟升级过程,现在首先将测试网降级到之前的软件版本,然后模拟将在主网上推出的软件升级过程。在此之前,当主网升级时,测试网是主网的一个相对简单版本。
· 优化用于手动重启的工具:例如,已经有一个初始设计可以自动化一些更机械化的步骤(SIMD0046)。
· 在私有集群和测试网上都进行了对抗性测试:这些测试现在是以特设的方式进行的,因为核心工程师正在构建一个更正式的测试计划。相关地,Solana Labs 的验证器参考客户端现在有一个对抗性端口,核心实验室工程师正在添加配置可以用来构建对抗性测试的场景的能力。
1.14.17 版本顺利发布:1.14 版本在 5 月 22 日被官方认定为正式采用,当时超过 66.6% 的网络节点已经升级到 1.14 版本。这是自 2 月 25 日中断和上述升级进度改善后的首次重要网络升级。截至 5 月 30 日,Solana 验证器客户端的 1.14 版本已被 Solana 网络上 97.4% 的网络节点所接受。
压缩 NFT 和状态压缩:经过多阶段的开发,采用和推出,压缩 NFT 现在已经在 Solana 主网-beta 上运行。压缩 NFT 比未压缩的 NFT 便宜 2400-24000 倍。在 Solana 上铸造 1 亿个 NFT 现在只需 50 SOL。这种新的 NFT 技术结构,称为「状态压缩」,解锁了一系列新的使用案例,并通过使其能够用于发送消息或增强客户忠诚度计划等用途的 NFT 铸造,扩大了 Solana 区块链的潜在影响。状态压缩是为 NFT 开发的,但可以用于其他应用。简单来说,状态压缩涉及在区块链上存储一些数据,这些数据通常会在每台机器上本地存储。
平稳的 Helium 迁移:2023 年 4 月,Helium 网络成功完成了向 Solana 网络的迁移,整个过程对 Helium 网络的参与者来说相对顺利,对 Solana 网络没有造成严重的干扰。Helium 的迁移利用了状态压缩更有效、更便宜地铸造 NFT。更多细节请看这里。
Firedancer 的额外进展:Firedancer,由 Jump Crypto 开发的一种 Solana 验证客户端,正在添加并测试更多组件。
· QUIC 实施演示:Firedancer 最近进行了一次高性能 QUIC 实施演示,这应该能带来更有效的数据交易。
· Reed-Solomon 纠错编码发布:Turbine 是验证器中的一种机制,负责将「shreds」(一个区块的片段)分发给集群中的其他验证器。Reed-Solomon 是一种纠错编码方案,可以帮助在 shreds 被传输到其他验证器之前准确地编码数据。
Tinydancer:Tinydancer,Solana 上的第一个轻客户端,在 Solana 基金会的 Grizzlython Hackathon 中开发。轻客户端是可以在简单设备上(如笔记本电脑)本地运行的软件客户端,连接到网络中的完整节点,验证账本的状态并检查无效的状态转换。
实时排放监测:2023 年 4 月,Solana 成为第一个其碳足迹可以实时测量的主要智能合约区块链。TryCarbonara,一个独立的初创公司,推出了用来追踪网络影响的网站。
自 2022 年 10 月以来的网络挑战
自 2022 年 10 月的最后一次网络性能报告以来,Solana 网络出现了一次中断。在这次事件中,用户的资金没有丢失。
以下是我们对这次中断及其原因所采取的应对措施的回顾。
2023 年 2 月的中断:2 月 25 日,Mainnet Beta 开始出现区块最终确认时间较长的情况。经过调查,原因被追溯到网络上的几个服务运行了自定义的区块转发软件,无意中传输了相当于正常区块几个数量级大的数据。网络的去重逻辑无法应对这种情况,这使得 Turbine 协议受到压力,大大降低了网络的性能。在诊断了这个问题后,核心工程师创建了对去重逻辑的增强,现在 Solana Labs validators 客户端 v1.13.7 和 v1.14.17 已经将其置于位。这也将通过 Solana 协议的长期设计来缓解,该设计将所有基于 UDP 的网络协议替换为 QUIC,QUIC 在强制 Turbine 的约束方面将更优。请在这里阅读完整的中断报告。
已经实施或正在推出几个拟议的网络升级,以解决这次中断的原因,特别是实施 QUIC、费用市场和权益加权的服务质量 (QoS)。
即将采取的措施
Solana 核心开发人员一直在开发许多新的网络升级,以便在面临大规模用户增长和采纳时加强网络。
这些 Solana 改进文件,或称为 SIMD(s),是关于如何对网络进行改动的建议设计文件,这些改动需要多个核心开发团队进行协调。最近接受的一个 SIMD 是 SIMD-33: Timely Vote Credits,这是根据投票的 slot 数量授予的,并对低延迟的投票给予更多奖励。这旨在减少区块最终确认时间,并防止故意延迟投票。
有一些网络升级包含在最新的发布中,但这些功能尚未激活。Turbine 的改进是 1.14 的一个特性,可极大改善网络的延迟。有一个新的 Deactivate Delinquent Stake 指令,允许任何人撤销网络上已经在五个或更多时期未履行义务的节点,降低跳过率,提高性能。(注意:未进行委托的质押账户仍在原来的质押者的控制下,可以重新委托给活跃的验证者或者取回其资金)。
用户可以继续监测 Solana 网络的性能,并使用像这样的报告来帮助社区跟踪其随着时间的发展。
文章来源于互联网:Solana网络2023年7月性能报告