
Breakpoint에서 주목받는 Firedancer란 무엇인가?
글: 카렌, Foresight News
지난주 솔라나 브레이크포인트 행사에서는 현장 분위기가 매우 활기찼고, 생태계 제품 발표가 이어졌으며 다채로운 부대행사도 풍성하게 마련됐다. 이 축제 속에서 특히 눈에 띄는 하이라이트는 바로 솔라나 검증자 클라이언트 파이어댄서(Firedancer)의 초기 버전이 정식으로 메인넷에 출시된 것이다. 이 이정표적 성과는 특별한 주목을 받았으며, 솔라나 네트워크가 성능 측면에서 질적인 도약을 이루게 될 뿐만 아니라, 기존 단일 클라이언트의 장애로 인한 네트워크 다운 위험을 피할 수 있게 되었다는 점에서 의미가 크다.
파이어댄서의 개발 역사는 2021년부터 2022년까지 거슬러 올라간다. 점프 트레이딩 그룹(Jump Trading Group)이 주도하여 개발한 두 번째 솔라나 검증자 클라이언트로서(기존 클라이언트 아가베(Agave)는 안자(Anza)가 개발), 목표는 단일 장애 지점을 제거하고 네트워크 전체의 견고성과 회복력을 강화하는 것이었다. 기존의 Rust 기반 검증자와 달리 파이어댄서는 C 언어로 작성되었으며 Rust 코드를 전혀 포함하지 않고 있어, 잠재적 취약점이 전체 네트워크에 미치는 영향을 크게 줄였으며, 솔라나의 보안에 또 하나의 견고한 방어선을 더했다.
파이어댄서의 성능은 어떠한가?
점프 크립토(Jump Crypto)의 최고 과학 책임자인 케빈 보어스(Kevin Bowers)는 솔라나 브레이크포인트 행사에서 시연을 통해 파이어댄서가 초당 100만 건 이상의 트랜잭션을 처리할 수 있음을 보여주었으며, 이 수치는 현재 솔라나의 이론상 수만 TPS 한계를 크게 상회한다. 케빈 보어스는 이를 생생하게 비유해 "시골길"을 "주간 고속도로"로 확장하는 것이라고 설명하며, 네트워크 비용과 용량의 동시적 최적화를 예고했다.

점프 트레이딩의 핵심 엔지니어 리엄 헤거(Liam Heeger)는 테스트넷에서의 파이어댄서 진척 상황을 공유했다. 해당 클라이언트는 이미 2만 개 이상의 블록을 성공적으로 생성했으며, 스테이킹 비율도 1%에 도달했다.
또 다른 엔지니어 아라마난 재인(Aryaman Jain)의 시연에서는 특정 조건 하에서의 파이어댄서 성능이 더욱 구체적으로 드러났다. 예를 들어, 10개의 검증자가 있는 환경에서 TPS가 백만 단위에 달하며, 초당 12억 개 이상의 계산 단위를 처리할 수 있고, 3.5Gbps의 블록스페이스(Blockspace) 능력과 50만 TPS의 VM 실행 효율성을 보였다.

파이어댄서는 어떻게 작동하는가?
파이어댄서는 고성능 컴퓨팅 스택 및 네트워크 스택, 런타임(Runtime), 그리고 합의 메커니즘의 세 가지 주요 구성 요소를 중심으로 구성된다. 파이어댄서가 현재 프로토콜 수준에서 약 81,000 TPS로 제한된 솔라나 네트워크의 성능을 100만 TPS 수준까지 끌어올릴 수 있었던 핵심은 혁신적인 아키텍처 설계와 데이터 흐름 최적화에 있다.
이 검증자는 소수의 스레드로 다양한 작업을 동시에 수행하는 동시성 모델을 채택했다. 각 스레드는 네트워크 패킷 처리, 트랜잭션 검증, 블록 패키징 등 특정 작업에 집중함으로써 자원의 극대화 활용과 트랜잭션 처리 속도의 획기적 향상을 실현했다.

구체적으로 각 스레드는 11가지 서로 다른 작업 중 하나를 수행한다. 일부 작업은 하나의 스레드로 처리 가능하지만, 어떤 작업은 여러 스레드가 동일한 작업을 병렬로 수행해야 한다. 또한 각 스레드는 실행을 위한 CPU 코어를 할당받으며, 이 코어에 대한 독점 권한을 갖는다. 즉, 스레드는 절대 대기 상태에 들어가지 않으며 운영체제가 다른 목적에 사용하도록 허용하지 않는다.
파이어댄서는 또 '타일(tile)'이라는 아키텍처를 도입했는데, 각 타일은 특정 작업과 그 작업을 수행하는 스레드, 그리고 할당된 CPU 코어를 의미한다. 이러한 조합 방식은 성능 튜닝을 유연하고 효율적으로 만들어 준다. 예를 들어 net 및 quic 타일은 각각 초당 100만 건 이상의 TPS를 처리할 수 있으며, verify 및 bank 타일은 트랜잭션 검증과 블록 실행에 집중한다. 비록 처리 속도는 상대적으로 낮지만 고병렬 상황에서의 요구를 충족시킨다.
파이어댄서 공식 문서에는 다음과 같은 11가지 타일이 명시되어 있다.
-
net: 네트워크 장치로부터 네트워크 패킷을 송수신함 (각 타일당 >100만 TPS 처리 가능);
-
quic: 클라이언트로부터 트랜잭션을 수신하고, 모든 연결 관리 및 패킷 처리를 수행하여 QUIC 프로토콜을 구현함 (각 타일당 >100만 TPS 처리 가능);
-
verify: 들어오는 트랜잭션의 암호 서명을 검증하고 무효 트랜잭션을 필터링함 (각 타일당 20~40만 TPS 처리 가능);
-
dedup: 중복된 들어오는 트랜잭션을 확인하고 필터링함;
-
pack: 리더가 되었을 때 들어오는 트랜잭션을 패키징하고 스마트하게 실행 순서를 배치함;
-
bank: 배치된 트랜잭션을 실행함 (각 타일당 20~40만 TPS 처리 가능);
-
poh: 후속적으로 백그라운드에서 해시 연산을 계속 수행하며, 실행된 트랜잭션과 생성된 해시 값을 혼합하여 순서성과 시간성을 증명함.
-
shred: 리더일 경우 네트워크에 블록 데이터를 분배하며, 리더가 아닐 경우 블록 데이터를 수신하고 재전송함 (처리량은 주로 클러스터 크기에 의존. 벤치마크 테스트에서 작은 규모의 클러스터라면 1개 타일이 >100만 TPS 처리 가능);
-
store: 리더일 경우 블록 데이터를 수신하거나, 다른 노드가 리더일 경우 다른 노드로부터 블록 데이터를 수신하여 로컬 디스크의 데이터베이스에 저장함;
-
metric: 다른 타일들의 모니터링 정보를 수집하여 HTTP 엔드포인트에 제공함;
-
sign: 검증자의 개인키를 보유하며, 다른 타일로부터의 서명 요청을 수신하고 응답함.
주목할 만한 점은 파이어댄서가 완전히 성숙되기 전, 과도기 버전인 프랭켄댄서(Frankendancer)가 먼저 솔라나 메인넷에 진입했다는 것이다. 프랭켄댄서는 파이어댄서와 아가베 일부 코드의 혼합체로, 파이어댄서의 네트워크 스택 및 블록 생산 측면의 장점과 함께 아가베의 실행 및 합의 기능을 유지하고 있다. 반면 파이어댄서는 완전히 처음부터 새로 구축된 것으로, 아가베의 코드를 전혀 포함하지 않는다.
파이어댄서의 영향은 무엇인가?
확실히 파이어댄서의 출시는 솔라나 생태계에 중대한 영향을 미칠 것이며, 검증자 다양성을 크게 풍부하게 하고, 단일 장애 지점이 네트워크 안정성에 미치는 영향을 더욱 약화시켜, 솔라나 네트워크의 신뢰성에 더욱 견고한 요새를 구축하게 될 것이다.
또한 파이어댄서는 기존 프로토콜과의 하위 호환성을 유지하고 있어, DApp 개발자나 사용자가 큰 조정 없이도 생태계의 원활한 전환이 가능하다.
현재 파이어댄서는 여전히 투표하지 않는 모드(non-voting mode)이며, 지속적인 최적화와 검토 과정을 거쳐야 하지만, 솔라나 네트워크의 미래 발전에 대해 더욱 희망적인 청사진을 제시하고 있다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News













