見出し画像

Breakpoint 2023: Firedancer Update セッションまとめ

この記事はSolana Advent Calendar 2023 9日目の記事です。

本記事ではBreakpoint 2023のFiredancer Updateセッションの動画をChatGPTでテキスト化を行った記事になります。動画を見る時間がない、視覚優位で動画が苦手、動画の補助としてテキストと両方みたいという方向けになります。

元のTranscriptの品質、ChatGPTの精度により不正確な記述がありえることにご注意ください。

セッションの概要

本セッションでは、Solanaプラットフォーム上で新たに登場したプロジェクト「Firedancer」について、網羅的な解説を行います。具体的には、プロジェクトの目指す目標、性能に関する指針、システムの設計概念、開発の進行状況について詳細に述べます。さらに、Firedancerの将来的な発展と、コミュニティとの協働についても触れます。

加えて、このセッションでは、新しいバリデーターの最適化プロセス、Solanaネットワークの信頼性を高めるための努力、テストネットの設立からメインネットでの実装に至るまでの道程に関する情報が提供されます。本セッションを通じて、参加者はFiredancerプロジェクトの全貌を理解し、その技術的進歩やコミュニティとの結びつきを深める機会を得ることが目的です。

セッションのハイライト

1. プロジェクト「Firedancer」の開発: Solanaネットワークのバリデーターの機能を一新し、パフォーマンスと信頼性を向上させるプロジェクトが進行中であり、完全な互換性を有して既存のシステムと連携可能になること。

2. 多様なバリデーターの実現: 4つ以上の独立したコードベースを持つ異なる言語で書かれたバリデーターを目標にしており、これによりネットワークの耐障害性が向上すること。

3. テストネットへの展開と将来計画: Firedancerは現在テストネットで稼働しており、将来的にはメインネットでの運用開始を目指している。また、ハードウェアアクセラレーションなどの追加プロジェクトも進行中で、プロジェクトはGitHubでオープンソースとして公開され、コミュニティの参加を促していること。

セッション内容

イントロダクション

皆様、おはようございます。本日は「Firedancer」というプロジェクトについてご紹介いたします。アミールさんをはじめとする関係者の皆様に感謝申し上げます。

Firedancerとは、Solanaプラットフォームにおいてこれまで存在したバリデーターの実装を一新した最初のプロジェクトです。Solana Labsが開発した旧バリデーターに代わり、Firedancerではコードベースを徹底的に分析し、パフォーマンス、速度、そしてネットワークの信頼性を高めるために全方位的に最適化を行っています。

Firedancerの実装が完了し次第、現行のSolanaネットワークと完全な互換性を有し、既存のバリデーターやプロトコルとの連携が可能になります。詳細な内容とその影響について、引き続き詳しく説明いたします。

Firedancerプロジェクト概要

Jumpトレーディングチームは、長年Solanaエコシステムに参画してきた経験を活かし、ネットワークの増大やハイフリークエンシートレーディング(HFT)システムの拡張、高性能化に関する豊富な知識を持つプロジェクトを進めています。本プロジェクトのエンジニアリングチームは、ケビン・ボウアー氏(KFB)の指導のもと、特に今週はFiredancerチームと協力して力を入れており、それに伴うプレゼンテーションが明日控えています。

このプロジェクトの目標は、第一にSolanaネットワークのバリデーターの多様性を促進し、これによりネットワークの持続可能な弾力性と分散性を確保することです。第二に、ハードウェアおよびネットワーク帯域の物理的限界に近い最大性能を出せるバリデーターを実装し、最適なパフォーマンスを追求します。ソフトウェアの効率とボトルネックを解消することで、バリデーターの性能をハードウェア能力のみに依存させることが目指されています。

Solanaバリデーターの大半がSolana LabsのRustコードを実行している現状に対し、目標は、4つ以上の独立したコードベースを持ち、それぞれ異なる言語で書かれたバリデーターを実現することです。こうした多様なバリデーターが存在することで、バグや問題が発生してもネットワークの機能性が維持されるため、全体の耐障害性が向上します。

Syndicateチームも一緒にSIGの構築に取り組んでおり、その努力がネットワークを支える重要な役割を果たしています。FiredancerおよびSyndicateチームの目標達成への貢献により、Solanaは持続可能な進化を遂げていくことでしょう。

Firedancerのパフォーマンス目標とデザイン

Solanaとは、既に世界でもっとも性能が高いブロックチェーンプラットフォームであることが知られています。しかし、私たちはこの性能に満足することなく、更なるパフォーマンス向上を目指しています。これを達成するために、「Firedancer」というプロジェクトが進行中です。Firedancerは、Solanaの可能性を最大限に引き出すことを目標としており、その実現にはハードウェアの進化が欠かせませんが、ハードウェアは時間とともに継続的に改良されています。

このプロジェクトの設計はどのようなものか、またその設計を現実のものとするためにFiredancerチームがどのようにして実現していくのかという点について、具体的な仕組みと運営方針について詳細に説明いたします。私たちの究極の目的は、Solanaのパフォーマンスを限界まで引き上げ、その結果としてブロックチェーン技術の発展に貢献することです。

現在の成果とテストネットのローンチ

Firedancerの開発において、私たちはコードベースの全面改訂を進めており、既存のバリデーターのすべての重要な機能を1つ一つ再構築する作業を行っています。具体的には、ネットワーク、ランタイム、コンセンサスという三つの主要なコンポーネントに分類して改善作業を進めています。

「ネットワーキング」では、インターネット経由でのデータ処理、トランザクションの受付け、ブロックのネットワーク送信を扱います。「ランタイム」とは、Solana仮想マシン(SVM)のことであり、トランザクションの実行、アカウント残高の計算、NFTの発行やデフィトランザクションの処理、さらにアカウントの状態を保持するデータベースの管理を行っています。一方、「コンセンサス」は、ブロックチェーン上のフォークの選定、投票処理、そしてチェーンのセキュリティ維持に関わる作業です。これらの再構築を通じて、システムの各部分の最適化を図っています。

システムアーキテクチャは、NUMA(非一様メモリアクセス)に適応したタイルベースの設計を採用しています。これはCPUやメモリ、ネットワークカードといった異なるハードウェアコンポーネントがマザーボード上で近接して存在する状況を考慮したものです。パフォーマンスを最大限に引き出すため、ハードウェアコンポーネントやメモリグループ間のレイテンシーを意識した設計が必要であり、マザーボード上での信号の伝達距離のわずかな差異にも配慮します。

これらの要件に応えるため、マルチスレッドおよびマルチコアの環境でタイルベースのアーキテクチャを利用し、それぞれの専用ハードウェアリソースに対応するスレッドの最適化を実施しています。各タイルは固有のCPUとメモリを備え、タイル間の効率的なメッセージパッシングを通じ、さまざまなハードウェア構成やコアの数に関わらず高パフォーマンスを実現しています。Firedancerノードでは、使用するハードウェアの潜在能力を最大限に引き出せるよう設計されており、この技術の最終的な目的は、システムの効率とパフォーマンスを飛躍的に向上させることです。

将来の展開とコミュニティとの関わり

Firedancerの開発は野心的なプロジェクトであり、重要な進展を遂げています。現在のFiredancerは、インターネットからのトランザクションを取り込むためのネットワーキング機能を完備しており、これには署名の迅速な検証、トランザクションの重複検出、ブロックのパッキング、シュレッドの署名と送信が含まれ、Solanaネットワークへのブロックやシュレッドの送信機能を備えています。ランタイムとコンセンサス機構は開発継続中ですが、C言語で構築された高性能なネットワーキング機能とRustで実装されたSolanaのランタイムとコンセンサスアルゴリズムを統合しています。

初期デモにより、Firedancerはマルチコア環境下でCPUコアあたり1秒間に100万トランザクションを処理する能力と、秒間6ギガビットを超えるネットワークトラフィックの送信能力を有していることが確認されています。これにより、ソフトウェアのボトルネックを除去し、物理的なハードウェアの限界のみが性能の制約となる可能性が出てきました。Solanaネットワークのパフォーマンスはハードウェアと帯域幅の発展に伴ってますます向上しています。

現在、Firedancerはテストネットで稼動しており、次の目標は完全な機能をテストネットで実装し、来年の前半にはメインネットでFiredancerの運用を開始することです。このプロジェクトでは、ハードウェアアクセラレーション、FPGA上でのカスタムコード開発、Solana Labsによるランタイムのモジュール化など、複数の追加プロジェクトも進められています。

FiredancerはGitHubでオープンソースとして公開されており、関連するドキュメントやガイドも充実しています。テストネットでの試用が推奨され、Solanaネットワークの技術的進化に貢献するものとして期待されています。ぜひチームの卓越した努力に敬意を表し、その成果を評価したいと思います。

セッションのまとめ

このセッションでは、「Firedancer」という新しいバリデーター実装プロジェクトがSolanaプラットフォームで紹介されました。このプロジェクトは、Solanaネットワークのパフォーマンス向上と信頼性の強化を目的として既存のバリデーターコードを全面的に改訂するものです。

また、JumpトレーディングとSyndicateのチームが協力して、バリデーターの多様性を増進し、ネットワークの耐障害性を向上させることを目標としています。現段階ではネットワーキング機能がテストネットで動作しており、将来的にはメインネットへの展開が予定されています。

このオープンソースプロジェクトにより、Solanaエコシステムが持続的に発展することに対する期待が高まっています。

個人的にFiredancerの話をみかけるとC言語を使っているから早い、みたいに言われることがありましたが、そこの違いは大した差ではないのでは?と思っていたので、その疑問を解消できるよいセッションでした。

また、C言語を採用するということはセキュリティリスクを考えるとナンセンスな選択では?と思っていましたが、こちらもバリデータの多様性をあげネットワークの耐障害性を高める目的というのでかなり納得することができました。

Breakpoint 2023ではFiredancerに関するセッションがもう1つありますので、こちらも合わせてご覧ください。

この記事が気に入ったらサポートをしてみませんか?