Breakpoint上的Solana验证器客户端Firedancer为何备受瞩目?

2024-09-25 币安交易所
09,242024(UTC)LikeDislikeComment

作者:Karen,ForesightNews

在上周的SolanaBreakpoint大会上,现场气氛活跃,生态产品发布接踵而至,各类丰富多彩的周边活动更是锦上添花。在这场盛宴中,尤为引人注目的亮点是Solana验证器客户端Firedancer的早期版本正式登陆主网,这一里程碑式的成就被赋予了特别的关注,标志着Solana网络将在性能上将实现质的飞跃,同时可避免Solana上单一客户端崩溃导致网络宕机的风险。

Firedancer的开发历程可追溯至于2021年至2022年,作为由JumpTradingGroup主导开发的Solana第二个验证器客户端(原有客户端Agave由Anza开发),其设计初衷在于消除单点故障隐患,增强网络的整体稳健性和坚韧性。与原有基于Rust的验证器不同,Firedancer采用C语言编写,不包含Rust代码,这一选择显著降低了潜在漏洞对整个网络的影响,为Solana的安全性加上了又一道坚固的防线。

Firedancer表现如何?

根据JumpCrypto首席科学官KevinBowers在SolanaBreakpoint大会上的演示,Firedancer展示了每秒处理超过100万笔交易的能力,这一数字远超Solana当前理论上的几万TPS极限。KevinBowers还将这一成就形象地比喻为将“乡间小路”拓宽为“州际公路”,预示着网络成本和容量的双重优化。

JumpTrading的核心工程师LiamHeeger则分享了Firedancer在测试网上的进展,该客户端已成功产出超过2万个区块,并实现了1%的质押比例。

另一工程师AryamanJain的演示进一步揭示了Firedancer在特定条件下的表现,如在10个验证器环境下,其TPS可达百万级别,每秒处理计算单元超过12亿次,同时展现出3.5Gbps的Blockspace能力和50万TPS的VM执行效率。

Firedancer如何运行?

Firedancer围绕高性能计算堆栈和网络堆栈、Runtime和共识机制三个主要组成部分构建。Firedancer之所以能够将Solana网络的性能提升至100万TPS(当前协议级别的限制将性能限制在81,000TPS左右),关键在于其创新的架构设计和数据流优化。

该验证器采用了一种并发模型,通过少量线程执行多样化的作业,每个线程都专注于特定的任务,如网络数据包处理、交易验证、区块打包等。这种设计实现了资源的最大化利用与交易处理速度的显著提升。

具体来说,每个线程执行11个不同的作业之一。有些作业只需要一个线程来完成它们,但某些作业需要许多线程并行执行相同的工作。另外,每个线程都有一个CPUcore来运行,并且线程拥有该core的所有权:永远不会休眠或让操作系统将其用于其他目的。

Firedancer还引入了一个名为“tiles”的架构,每种tile代表了一个作业及其运行的线程和分配的CPUcore。这种组合方式使得性能调优变得灵活而高效。例如,net和quic的每tile可处理>100万TPS,而verify和banktiles则专注于交易验证和区块执行,尽管它们的处理速度相对较低,但足以满足高并发场景下的需求。

Firedancer官方文档中列出了11种tile,分别为:

net:从网络设备发送和接收网络数据包(每tile可处理>100万TPS);quic:接收来自客户端的交易,执行所有连接管理和数据包处理以管理和实施QUIC协议(每tile可处理>100万TPS);verify:验证传入交易的加密签名,过滤无效交易(每tile可处理20-4万TPS);dedup:检查并过滤掉重复的传入交易;pack:当成为leader时,打包传入的交易并智能地安排它们执行;bank:执行被安排的交易(每tiles可处理20-4万TPS);poh:是一种连续在后台进行哈希运算的机制,将生成的哈希值与已执行的交易混合在一起,从而证明顺序性和时间性。shred:当成为leader时,向网络分发区块数据;非leader时,接收并重传区块数据(吞吐量主要取决于集群大小。在基准测试中,如果集群规模较小,1个tile可以处理>100万TPS);store:当成为leader时接收区块数据,或者当其他节点是leader时从其他节点接收区块数据,并将其存储在本地磁盘上的数据库中;metric:收集有关其他tiles的监控信息并将其提供给HTTP端点;sign:持有验证者私钥,并接收和响应来自其他tile的签名请求。

值得注意的是,在Firedancer成熟之前,其过渡版本Frankendancer已先行一步进入Solana主网。Frankendancer是Firedancer和Agave部分代码的混合体,结合了Firedancer在网络堆栈和区块生产方面的优势,同时保留了Agave在执行和共识方面的功能。而Firedancer则是完全从头开始构建,不包含任何Agave的代码。

Firedancer有何影响?

无疑,Firedancer的推出对Solana生态系统具有重大影响,将极大地丰富验证器的多样性,进一步削弱单点故障对网络稳定性的影响,为Solana网络的可靠性筑起一座更加坚固的堡垒。

此外,Firedancer保持了与现有协议的向后兼容性,能够确保生态系统的平稳过渡,无需DApp开发者及用户做出重大调整。

尽管目前Firedancer仍处于非投票模式,且需经历持续不断的优化与审核,但这为Solana网络的未来发展描绘了一幅更加充满希望的蓝图。

 

参考:

1、https://www.youtube.com/watch?v=InGI7BDUeX4&list=PLilwLeBwGuK4eY3nT0vvvJ4GmcJLImcQE&index=14

2、https://firedancer-io.github.io/firedancer/guide/tuning.html

3、https://solanacompass.com/learn/Validated/firedancer-w-kevin-bowers

风险提示

登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。

本站为您提供币安交易所官网的注册地址、加密货币及区块链的科普文章以及行业资讯等内容.