0

0

Firedancer是什么?如何运行?有何影响?

碧海醫心

碧海醫心

发布时间:2024-12-27 10:57:15

|

927人浏览过

|

来源于脚本之家

转载

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

那么Firedancer是什么?Firedancer如何运行?Firedancer有何影响?下面就和本站小编一起详细了解下吧!

Firedancer是什么?如何运行?有何影响?

Firedancer 是什么?

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

Firedancer 表现如何?

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

Firedancer是什么?如何运行?有何影响?

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

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

Firedancer是什么?如何运行?有何影响?

Firedancer 如何运行?

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

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

Firedancer是什么?如何运行?有何影响?

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

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

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 网络的未来发展描绘了一幅更加充满希望的蓝图。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全

C++系统编程中的内存管理是指 对程序运行时内存的申请、使用和释放进行精细控制的机制,涵盖了栈、堆、静态区等不同区域,开发者需要通过new/delete、智能指针或内存池等方式管理动态内存,以避免内存泄漏、野指针等问题,确保程序高效稳定运行。它核心在于开发者对低层内存有完全控制权,带来灵活性,但也伴随高责任,是C++性能优化的关键。

10

2025.12.22

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

397

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

575

2023.08.10

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

397

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

575

2023.08.10

线程和进程的区别
线程和进程的区别

线程和进程的区别:线程是进程的一部分,用于实现并发和并行操作,而线程共享进程的资源,通信更方便快捷,切换开销较小。本专题为大家提供线程和进程区别相关的各种文章、以及下载和课程。

503

2023.08.10

Python 多线程与异步编程实战
Python 多线程与异步编程实战

本专题系统讲解 Python 多线程与异步编程的核心概念与实战技巧,包括 threading 模块基础、线程同步机制、GIL 原理、asyncio 异步任务管理、协程与事件循环、任务调度与异常处理。通过实战示例,帮助学习者掌握 如何构建高性能、多任务并发的 Python 应用。

166

2025.12.24

java多线程相关教程合集
java多线程相关教程合集

本专题整合了java多线程相关教程,阅读专题下面的文章了解更多详细内容。

14

2026.01.21

clawdbot ai使用教程 保姆级clawdbot部署安装手册
clawdbot ai使用教程 保姆级clawdbot部署安装手册

Clawdbot是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

16

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Rust 教程
Rust 教程

共28课时 | 5万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 8万人学习

Git 教程
Git 教程

共21课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号