Solana 是一条使用全新开发语言 Rust 的公链,具有高度的可拓展性和性能,其设计目标是实现高 TPS(每秒交易处理量)、使用 Rust 编程语言、低 gas 费用以及出色的可扩展性来弥补甚至取代以太坊的缺点和地位。这些特点使其在 DApps 上完成接近 Web2 产品的使用体验,同时也让许多功能在链上运行产生可能性。以下是 Solana 主要几个特点介绍:

· 高 TPS(每秒交易处理量):Solana 使用 Tower BFT 共识机制,结合了 PoH(证明时间的历史)时钟以及 Gulf Stream 的概念,使得网络能够在瞬时达成共识,从而实现每秒数千次的交易处理能力。

· Rust 编程语言:Rust 是一种系统级编程语言,以其安全性、高性能和并发性而闻名。通过使用 Rust,Solana 能够确保核心组件的高效执行和安全性,从而提供稳定的网络运行环境。

· 低 gas 费用:Solana 采用了与 Ethereum 相比更为高效的共识算法和验证机制,因此能够实现低廉的 gas 费用。

最近,Solana 与谷歌云展开合作,将其验证节点托管在谷歌云上运行,从而提高基础设施的安全性、弹性和速度。这项合作为 Solana 网络带来了巨大的优势。同时,Solana 还与 Jump Crypto 合作推出了新一代独立节点验证客户端 — — Firedancer。Firedancer 的推出在区块链领域具有重要意义,它为用户提供了更高效、可靠的节点验证服务,进一步加强了 Solana 网络的稳健性和可扩展性。

这种合作对于 Solana 生态系统的发展和全球用户的体验来说是一大步进。通过在谷歌云上托管验证节点,Solana 能够充分利用谷歌云的先进技术和全球性能,为用户提供卓越的节点服务。而 Firedancer 的推出,则使得节点验证变得更加高效和可信,为 Solana 网络的用户带来了更加安全和流畅的体验。本文将着重介绍 Firedancer 产品。

#

Firedancer 是什么

Firedancer 是 Jump Crypto 针对 Solana 公链推出的新一代节点验证客户端。

目前 Solana 只有一个验证器客户端,所以节点都要使用该客户端来维护网络安全。但是单一客户端会产生单点风险,因此引入了第二个客户端 — Firedancer, 用来提高节点客户端的多样性和 Solana 区块链稳定性。

在去年 11 月份的 Demo 演示中,使用 Firedancer 客户端的单个验证节点展示了惊人的性能和可扩展性。它每秒处理了高达 120 万笔交易,进一步证明了 Solana 作为一个高性能公链的能力。

与第一个客户端相比,Firedancer 采用了 C/C++ 语言进行开发,这使其具有更高的兼容性和内存效率,同时大大降低了运行 Solana 节点的成本。

通过引入 Firedancer 作为第二个验证器客户端,Solana 网络将更具韧性和抗攻击能力。多样性的验证器客户端有助于防止单一故障点对整个网络的影响,并提高了整体网络的安全性和稳定性。我相信这会是 Solana 团队为了进一步推进区块链技术的发展所采取的重要举措之一。

#

当前节点客户端 vs Firedancer 客户端

从上面表格可以看出,Solana 目前的验证节点客户端存在一些软件层面的短板,主要集中在并发处理和对分片的支持。

并发交易处理对于区块链网络的性能至关重要。目前的 Solana 验证节点客户端一次只能处理有限数量的交易,这可能导致交易处理速度较慢和潜在的瓶颈。当 Solana 网络使用量增长和交易数量的不断增加时,并发处理的局限性就会有凸现出来。

为了解决这个问题,Solana 团队正在积极采取措施来增加网络的并发交易处理能力。一种可能的解决方案是通过优化现有的验证节点软件,增强其处理能力和效率。另一方面,Solana 也在探索引入第二个验证器客户端——Firedancer,以增加多样性并提高网络的稳定性。

除了并发交易处理,分片支持也是提高区块链可扩展性的重要手段。当前的 Solana 的验证节点客户端暂不支持分片技术。分片是一种允许区块链将网络划分为较小的片段来实现水平扩展的技术。通过这种方式,区块链网络可以同时处理多个分片上的交易,从而提高整体的吞吐量和性能。

为了实现分片支持,Solana 团队需要进行大量的技术研发和协议升级工作。这包括设计和实现分片架构,确保各个分片之间的协调和一致性,以及优化网络通信和数据同步等方面的挑战。然而,Firedancer 客户端已经优先支持分片技术,等待公链完善即可结合使用。

#

技术创新 -fd_quic

fd_quic 是 Firedancer 实现 120 万笔并发交易的关键创新。

首先,由谷歌推出的 QUIC 协议是一种用于互联网传输的协议。旨在取代传统的 TCP(Transmission Control Protocol)协议。QUIC 是基于 UDP(User Datagram Protocol)的,但在其上增加了一系列的功能,以提供更快、更安全和更可靠的互联网连接。

Firedancer 将 QUIC 协议引入 Solana 网络,实现提高扩展性和稳定性的目标,最重要的是可以防止 DDos 攻击。通过定制化的网络堆栈和接收端扩展(RSS)为硬件中每一个 CPU 核心降低计算成本。

同时,为了优化运行的可靠性,fd_quic 引入更强的数据结构和算法👇

在 Demo 展示三个方面 -- 兼容性 / 性能 / 可拓展性。

· 兼容性:使用 Solana Labs 验证器中的模块构建的垃圾邮件工具,通过 QUIC 向 Firedancer 验证器发送大量交易。

· 性能:测试单个 CPU 核心上运行 fd_quic 的极限,使用多个垃圾邮件发送者。测试结果是在小额交易时,fd_quic 达到了 140 万 TPS。

· 可扩展性:在 25 Gbps 网络接口上启用了 RSS,fd_quic 在 4 个 CPU 核心上运行。结果是每个核心仍然处理大致相同的速率,吞吐量提高了近 4 倍。Firedancer QUIC 服务器仅使用 4 个 CPU 核心在一个服务器上就可以处理来自 Solana Labs 客户端的 21.8 Gbps 的传入交易。

#

Firedancer 存在的意义

Firedancer 的存在增强和 Solana 网络整体的韧性,通过强大的性能和拓展性可以打开全新的蓝海市场。

· 消除单点故障:Solana 之前只有一个验证器客户端,这可能导致单点故障,从而影响整个网络的稳定性和安全性。引入 Firedancer 作为第二个验证器客户端,增加了网络的多样性。现在网络中的验证器可以选择使用不同的客户端,从而降低整个网络受到攻击或故障的风险。

· 接近 Web2 的使用体验:Solana 的 Firedancer 客户端通过优化数据结构和算法,以及使用硬件加速的负载平衡技术,实现了出色的性能和吞吐量。这使得交易处理速度更快,交易确认更加即时,用户可以获得更接近 Web2 的使用体验。这种高性能和低延迟的体验对于现代互联网应用和金融交易等高频场景至关重要。

· 宕机频率降低:由于 Firedancer 通过优化资源利用和使用高效的网络技术,降低了内存占用和堆内存分配的需求,从而使验证器在处理交易时几乎不会出现内存不足的情况。这显著降低了节点的宕机频率,提高了 Solana 网络的稳定性和持续可用性。

最终的意义在于推动 Solana 在全球范围内应用,迎接更多 Web2 的产品和需求进入 Web3。