在上周的Solana Breakpoint会议上,气氛活跃,生态产品发布接连不断,各种丰富的外围活动更锦上添花。在这一盛宴中,特别引人关注的亮点是Solana验证节点客户端Firedancer的早期版本正式上线主网。这一里程碑成就标志着Solana网络将实现性能的质的飞跃,同时避免了单一客户端崩溃导致的网络停机风险。
Firedancer的开发历史可以追溯到2021-2022年。作为由Jump Trading Group领导的第二个Solana验证节点客户端(第一个客户端Agave由Anza开发),其原始设计意图是消除单点失效风险,并增强网络的整体稳健性和弹性。与原始的基于Rust的客户端不同,Firedancer是用C语言编写的,不包含Rust代码。此选择大幅降低了潜在漏洞对整个网络的影响,并为Solana的安全增加了另一道坚实的防线。
根据Jump Crypto首席科学官Kevin Bowers在Solana Breakpoint会议上的演示,Firedancer展示了处理超过100万TPS的能力,这个数字远远超过Solana目前理论上的数万TPS的限制。Kevin Bowers形象地将这一成就比作将“乡村道路”拓宽为“州际公路”,这表明了网络成本和容量的双重优化。
Jump Trading的核心工程师Liam Heeger分享了Firedancer在测试网络上的进展。客户端已成功生产超过20,000个区块并实现了1%的质押比率。另一位工程师Aryaman Jain的演示进一步揭示了Firedancer在特定条件下的性能。例如,在有10个验证节点的环境中,其TPS可以达到数百万,处理超过12亿计算单元每秒,同时表现出3.5 Gbps的区块空间容量和每秒500,000 TPS的虚拟机执行效率。
Firedancer围绕三个主要组件构建:高性能计算堆栈和网络堆栈、运行时和共识机制。其能够将Solana网络性能提升至100万TPS的关键在于创新的架构设计和数据流优化。验证节点采用了一种并发模型,通过少量线程执行多种任务,每个线程专注于特定任务,如网络数据包处理、交易验证、区块打包等。
具体来说,每个线程执行11种不同任务中的一种。一些任务只需一个线程即可完成,而一些任务则需要多个线程并行处理。此外,每个线程都有一个CPU核心来运行,并拥有该核心的所有权:它不会休眠或让操作系统用于其他目的。Firedancer还引入了一种称为“瓦片”的架构,每个瓦片代表一个任务以及运行该任务的线程和CPU核心。
在Firedancer成熟之前,其过渡版本Frankendancer已经进入Solana主网。Frankendancer是Firedancer和部分Agave代码的混合体,结合了Firedancer在网络堆栈和区块生产方面的优势,同时保留了Agave的执行和共识能力。Firedancer由零开始构建,不包含任何Agave代码。
Firedancer的上线无疑对Solana生态系统产生了重大影响,大大丰富了验证节点的多样性,进一步减弱了单点失效对网络稳定性的影响,并为Solana网络的可靠性构建了更坚实的堡垒。Firedancer保持对现有协议的向后兼容性,确保了生态系统的平稳过渡,无需DApp开发人员和用户进行重大调整。