본문 바로가기
스스메 스스메

솔라나 Alpenglow 버그바운티 300건 이상 접수

읽는 시간 약 13분
image 42

Alpenglow 버그바운티 300건 이상 접수

Solana의 차세대 합의 프로토콜 Alpenglow를 대상으로 진행된 전용 버그바운티가 8월 19일 종료됐다. Solana 핵심 클라이언트 Agave를 개발하는 Anza에 따르면 이번 프로그램에는 300건이 넘는 취약점 보고가 제출됐다.

버그바운티는 8월 5일 오후 4시 UTC부터 8월 19일 오후 4시 UTC까지 2주 동안 진행됐다. Alpenglow 합의 로직을 대상으로 별도로 진행된 첫 번째 전용 버그바운티 프로그램이다.

전체 상금 풀은 최대 5만 SOL로 설정됐다. 원문 시점 SOL 가격을 적용하면 약 500만달러 규모다. Anza는 프로그램 종료 이후 300건 이상의 제출이 접수됐으며 유효한 보고에 2만5000 SOL 이상을 지급할 예정이라고 밝혔다.

제출된 보고서에 대한 심사는 9월 2일까지 진행된다. 실제 보상액은 취약점의 종류와 영향 범위, 재현 결과 등에 따라 결정된다.

최대 보상 풀 5만 SOL로 설정

Anza가 공개한 공식 규정에 따르면 이번 경쟁의 전체 보상 풀은 최대 5만 SOL이다. 상금 풀은 확인된 취약점 가운데 가장 높은 심각도에 따라 단계적으로 결정된다.

최고 심각도전체 상금 풀
DoS 또는 기타10000 SOL
네트워크 가용성 상실20000 SOL
합의 또는 안전성 위반30000 SOL
자금 손실50000 SOL

개별 취약점에 지급되는 보상도 별도로 정해졌다. 자금 손실과 연결된 보고는 6250 SOL에서 최대 2만5000 SOL, 합의 또는 안전성 위반은 3125 SOL에서 1만2500 SOL, 네트워크 가용성 상실은 1250 SOL에서 5000 SOL의 보상 범위가 적용된다.

서비스거부 DoS 관련 취약점에는 315 SOL에서 1250 SOL이 배정됐다. 동일한 취약점이 여러 번 제출된 경우 규정에 따라 최초로 문제를 입증한 보고가 보상 대상이 된다.

보상은 심사 종료와 KYC 절차 이후 지급되며 지급되는 SOL에는 12개월 잠금 조건이 적용된다.

보고서 한 건마다 0.5 SOL 제출 비용 적용

이번 Alpenglow 버그바운티는 별도의 제출 포털을 통해 운영됐다. 참여자는 GitHub 계정으로 접속한 뒤 보고서 한 건을 제출할 때마다 반환되지 않는 0.5 SOL을 소각하는 구조를 사용했다.

각 취약점은 하나의 보고서로 개별 제출해야 했으며 제출 포털을 통해 GitHub Security Advisory 형태로 접수됐다.

공개 GitHub 이슈나 다른 경로를 통해 먼저 공개된 취약점은 버그바운티 보상 대상에 포함되지 않았다. 참여자는 실제 Solana 클러스터를 공격하는 대신 로컬 환경에서 문제를 재현해 보고하도록 규정됐다.

검토 대상 코드는 Anza의 Agave 저장소에 포함된 Alpenglow 합의 스택이다. Votor와 Votor 메시지 처리, BLS 서명 검증, 인증서 검증 등 새로운 합의 시스템을 구성하는 핵심 코드가 포함됐다.

Alpenglow Solana 합의 시스템 전면 변경

Alpenglow는 Solana 출시 이후 진행되는 가장 큰 합의 프로토콜 변경 가운데 하나다. 현재 Solana에서 사용되는 TowerBFT 기반 합의 구조를 새로운 Votor 투표 알고리즘으로 변경한다.

Solana Foundation이 공개한 업그레이드 문서에서는 현재 TowerBFT의 최종성 시간이 약 12.8초이며 Alpenglow의 목표 최종성은 약 150밀리초로 제시됐다.

항목현재 구조Alpenglow
합의 구조TowerBFTVotor
최종성약 12.8초약 150밀리초 목표
밸리데이터 투표온체인 투표 트랜잭션밸리데이터 간 직접 전송
장애 모델3분의 2 초과 지분 필요적대적 지분 20%와 오프라인 지분 20% 처리
블록 전파Turbine1단계는 Turbine 유지, 이후 Rotor 도입 예정

Votor에서는 기존처럼 밸리데이터의 투표를 블록체인 트랜잭션으로 기록하지 않는다. 밸리데이터가 서로 투표 메시지를 직접 교환하고 이를 집계해 합의를 증명하는 인증서를 생성한다.

80% 지분 확보 시 첫 번째 라운드에서 최종화

Alpenglow의 Votor는 네트워크 상황에 따라 한 번 또는 두 번의 투표 라운드를 사용한다.

첫 번째 라운드에서 전체 지분의 80% 이상이 블록을 승인하면 Fast Finalization 인증서가 만들어지고 블록이 최종화된다.

첫 번째 라운드에서 60% 이상 80% 미만의 지분이 확보되면 두 번째 투표 라운드로 이동한다. 두 번째 라운드에서는 60% 지분 기준을 이용해 최종화 또는 블록 건너뛰기 여부를 결정한다.

밸리데이터가 사용하는 메시지에는 Notarization과 Notarization Fallback, Skip, Skip Fallback, Final 등이 포함된다.

투표에는 BLS 서명이 사용된다. 여러 밸리데이터의 BLS 서명을 하나의 집계 서명으로 결합해 다수의 밸리데이터가 동일한 결정에 참여했다는 사실을 인증할 수 있다.

Alpenglow용 BLS 키와 VAT 이미 메인넷 적용

Alpenglow 전환에 필요한 일부 기반 기능은 이미 Solana 메인넷에서 가동되고 있다.

BLS 공개키 등록 기능은 7월 8일 메인넷에서 활성화됐으며 Validator Admission Ticket VAT 기능은 7월 22일부터 적용됐다.

VAT는 Alpenglow 합의에 참여할 밸리데이터 집합을 관리하는 기능이다. BLS 공개키를 등록하지 않은 밸리데이터는 현재 VAT가 적용된 밸리데이터 집합에서 제외된다.

Alpenglow가 본격적으로 활성화되면 밸리데이터의 기존 온체인 투표 트랜잭션은 사라지고 BLS 기반 직접 투표 구조로 전환된다.

Alpenglow 첫 커뮤니티 테스트클러스터 운영

Alpenglow는 메인넷 적용에 앞서 커뮤니티 테스트클러스터에서도 운영됐다. Anza는 5월 새로운 합의 프로토콜을 실제 밸리데이터 환경에서 테스트하기 위한 커뮤니티 클러스터를 가동했다.

테스트 과정에서는 기존 합의 시스템에서 Alpenglow로 전환하는 Alpenswitch 절차가 진행됐다.

첫 번째 마이그레이션 과정에서는 필요한 온라인 지분이 확보되지 않으면서 클러스터가 정상적으로 전환되지 못했고 이후 재시작 절차가 진행됐다. 당시 마이그레이션 기능이 활성화된 시점에 온라인 상태였던 지분이 필요한 82% 기준에 미치지 못했다.

Solana Foundation은 이후 Alpenglow 커뮤니티 클러스터에서 확인된 문제를 수정하면서 Agave 4.3을 통한 메인넷 전환 작업을 진행하고 있다.

기존 Proof of History 시간 구조 연구도 공개

Alpenglow 버그바운티가 진행되던 기간에는 현재 Solana의 Proof of History 시간 처리 방식과 관련된 별도의 보안 연구도 공개됐다.

Southern University of Science and Technology와 City University of Hong Kong 연구진은 8월 12일 USENIX Security 2026에서 Solana의 PoH 시간 의미론을 이용하는 공격 방법을 발표했다.

연구진은 지정된 블록 리더가 정상적인 블록을 즉시 공개하지 않고 보유한 뒤 이전 PoH 시간을 포함한 상태로 나중에 공개할 수 있는 구조를 분석했다.

이 과정에서 정상 밸리데이터가 과거 PoH 기준으로 시간을 다시 설정하는 Re Anchoring이 발생할 수 있으며 연구진은 이를 기반으로 Time Inflation Attack과 Fork Assisted Time Inflation Attack을 구현했다.

Time Inflation Attack은 악성 리더가 실제보다 긴 블록 생성 시간을 확보하는 방식이며 Fork Assisted Time Inflation Attack은 포크 선택 과정을 함께 이용해 다른 정상 리더의 블록 제안을 억제하는 구조다.

연구진은 해당 내용을 Solana 개발팀에 사전 전달한 뒤 USENIX Security에서 공개했다.

PoH 시간 문제는 Alpenglow 바운티 범위에서 제외

USENIX에서 공개된 PoH 시간 처리 문제는 이번 Alpenglow 버그바운티의 보상 대상에는 포함되지 않았다.

이번 프로그램의 대상은 Agave 저장소의 Alpenglow 합의 스택으로 한정됐으며 기존 TowerBFT와 PoH 구현에서 이미 확인된 문제는 별도로 관리됐다.

Alpenglow는 새로운 Votor 합의 구조를 도입하면서 기존 합의 시스템의 시간과 투표 처리 방식을 변경한다. Solana의 Alpenglow 제안서에서는 기존 TowerBFT와 Proof of History 기반 합의 구조를 새로운 방식으로 전환하는 내용이 포함돼 있다.

9월 2일까지 300건 이상 보고 심사

Anza와 Solana Foundation은 접수된 취약점 보고서를 대상으로 유효성 확인과 심각도 분류를 진행하고 있다.

공식 규정에 따른 심사 종료일은 9월 2일이다. 중복 보고서는 최초 제출자를 기준으로 처리되고 각 보고의 재현 결과와 영향 범위에 따라 지급 보상이 정해진다.

Anza는 프로그램 종료 이후 300건 이상의 제출이 있었으며 전체적으로 2만5000 SOL 이상의 보상을 지급할 예정이라고 밝혔다.

버그바운티 규정상 최대 상금 풀은 5만 SOL이며 실제 전체 지급 규모는 유효한 취약점의 심각도와 개수에 따라 결정된다.

Agave 4.3에서 메인넷 활성화 추진

Alpenglow의 메인넷 전환은 Agave 4.3 일정에 포함돼 있다. Anza가 공개한 Agave 4.3 배포 일정에서는 8월 17일 테스트넷 도입 권고 이후 8월 24일 테스트넷과 Devnet 기능 활성화, 9월 4일 메인넷 업그레이드 후보 버전 확정을 순차적으로 진행하도록 계획됐다.

이후 9월 8일 전체 지분의 10%, 9월 14일 25%를 대상으로 새 버전 배포를 확대하고 9월 21일부터 일반적인 밸리데이터 도입을 권고하는 일정이 제시됐다.

메인넷 기능 활성화 목표일은 9월 28일이다. Alpenglow는 해당 일정에 맞춰 Agave 4.3의 주요 기능 가운데 하나로 메인넷에 적용될 예정이다.

Solana Foundation의 Alpenglow 공식 업그레이드 페이지에서는 메인넷 활성화 시기를 2026년 3분기로 표시하고 있다.

Rotor는 Alpenglow 이후 단계에서 도입

Alpenglow의 첫 번째 단계는 Votor 합의 시스템 전환이다. 블록 전파 시스템 전체가 동시에 교체되는 것은 아니다.

현재 Solana는 Turbine이라는 다단계 구조를 이용해 블록 데이터를 네트워크의 밸리데이터에게 전달한다.

Alpenglow의 다음 단계에서는 Turbine을 Rotor라는 새로운 블록 전파 시스템으로 변경하는 계획이 포함돼 있다. Rotor는 여러 단계의 릴레이 구조 대신 단일 릴레이 계층을 이용해 블록을 전파하도록 설계됐다.

Solana Foundation은 Rotor가 별도의 SIMD 절차를 거쳐 Votor 도입 이후 적용될 예정이라고 설명하고 있다.

별도로 SGP 0003 수수료 구조 투표 진행

Alpenglow 작업과 별개로 Solana 밸리데이터들은 SGP 0003 수수료 개편안에 대한 거버넌스 투표도 진행하고 있다.

현재 Solana의 기본 수수료는 서명당 5000 lamport이며 이 가운데 50%가 소각되고 나머지 50%가 블록을 생성한 밸리데이터에게 지급된다. 우선순위 수수료는 현재 전액 밸리데이터에게 지급된다.

SGP 0003은 기존 고정 기본 수수료를 2500 lamport의 inclusion fee와 요청한 컴퓨트 유닛에 따라 결정되는 별도의 resource fee로 변경하는 내용을 담고 있다.

inclusion fee는 블록 리더에게 지급되고 resource fee는 전액 소각되는 구조다. 초기 resource fee는 요청한 10 CU당 1 lamport로 설정하는 방안이 제시됐다.

Solana 공동창업자 아나톨리 야코벤코는 8월 25일 해당 초기 요율을 지지한다는 입장을 공개했다. SGP 0003 투표는 Solana의 첫 온체인 거버넌스 투표에 포함돼 SGP 0001과 SGP 0002와 함께 진행되고 있다.

Alpenglow 버그바운티 심사는 9월 2일 종료될 예정이며 Agave 4.3 일정에서는 9월 28일을 새로운 합의 시스템의 메인넷 기능 활성화 목표일로 제시하고 있다.

댓글 0

첫 댓글을 남겨보세요.

error: Content is protected !!

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.