메인 콘텐츠로 건너뛰기

Documentation Index

Fetch the complete documentation index at: https://docs.stablenet.network/llms.txt

Use this file to discover all available pages before exploring further.

Anzeon WBFT는 StableNet의 스테이블코인 아키텍처에 맞게 조정된, WBFT(QBFT의 발전형)에서 파생된 PoA BFT 합의 엔진입니다.

프로토콜 계보

프로토콜기반주요 차이
QBFTBFT허가형 밸리데이터, 스테이킹 없음
WBFTQBFT스테이킹, 성실도 점수, 슬래싱 추가
Anzeon WBFTWBFT스테이킹과 블록 보상 제거; GovValidator로 밸리데이터 관리
Anzeon WBFT는 StableNet 밸리데이터가 경제적 스테이커가 아닌 승인된 거버넌스 참여자이기 때문에 스테이킹과 블록 보상을 제거합니다. 밸리데이터는 트랜잭션 수수료(BaseFee 분배)만 받습니다.

합의 속성

속성
블록 시간~1초 (BlockPeriodSeconds)
내결함성f = ⌊(n−1)/3⌋ 비잔틴 밸리데이터
최종성즉각적, 결정론적 — 롤백 없음
에포크 길이10 블록 (기본값, 설정 가능)
제안자 선택라운드 로빈 (기본값)
서명 방식BLS12-381 집계

블록 생성 흐름

Anzeon WBFT는 타이머 기반 채굴 루프를 합의 이벤트 기반 루프로 대체합니다. 이전 블록이 최종 확정될 때만 새 블록이 생성됩니다.
[제안자 선택됨]


PROPOSE ──► 제안자가 서명된 블록 제안을 브로드캐스트


PREPARE ──► 밸리데이터들이 제안 검증 후 PREPARE-VOTE 브로드캐스트
       │    (2f+1 PREPARE-VOTE 수집)

COMMIT  ──► 밸리데이터들이 COMMIT-VOTE 브로드캐스트
       │    (2f+1 COMMIT-VOTE 수집)

FINALIZE ──► 블록 봉인, 체인에 추가 — 영구적으로 확정
RequestTimeoutSeconds 내에 쿼럼에 도달하지 못하면 라운드가 실패합니다. 프로토콜은 지수적으로 증가하는 타임아웃(MaxRequestTimeoutSeconds까지)으로 다음 라운드로 진행하고, 새 제안자가 선택됩니다.

BLS 서명 집계

각 단계에서 밸리데이터들은 BLS12-381 키로 서명합니다. 한 단계의 2f+1 서명 모두가 블록 헤더에 포함되기 전에 단일 컴팩트 서명으로 집계됩니다. 효과:
  • 단계별 네트워크 메시지 크기 감소
  • 각 노드의 검증 비용 감소
집계 서명은 블록 헤더의 WBFTExtra 필드에 저장됩니다 (PREPARE는 PreparedSeal, COMMIT은 CommittedSeal).

밸리데이터 세트 관리

활성 밸리데이터 세트는 에포크 (기본값: 10 블록)별로 저장됩니다. 각 에포크 경계에서:
  1. 합의 엔진이 GovValidator 컨트랙트(0x…1001)에서 현재 밸리데이터 목록을 읽음
  2. EpochInfo가 구성되어 에포크의 첫 번째 블록 헤더에 포함됨
  3. 새 밸리데이터 세트가 다음 에포크부터 활성화됨
밸리데이터 세트 변경(추가, 제거)은 다음 에포크 경계에서 적용됩니다 — 에포크 중간 변경은 불가능합니다.

가스 팁 동기화

각 블록 이후, 워커는 GovValidator에서 현재 gasTip 값을 조회하고 트랜잭션 풀 필터를 업데이트합니다. 거버넌스 적용 팁 미만의 트랜잭션은 블록 포함 전에 거부됩니다.

블록 헤더 추가 데이터

WBFT 메타데이터는 블록 헤더의 Extra 필드에 RLP 인코딩되어 저장됩니다:
필드목적
Round이 블록을 생성한 합의 라운드
EpochInfo이 에포크의 밸리데이터 세트 (에포크 블록에만)
GasTip거버넌스 적용 최소 우선순위 수수료
PreparedSealPREPARE 단계의 집계 BLS 서명
CommittedSealCOMMIT 단계의 집계 BLS 서명

개발자 이점

  • 블록 1개 = 확정 — 정상 운영 중 재편성 없음
  • 재편성 처리 불필요 — 블록 번호가 있는 eth_getTransactionReceipt로 충분
  • PoA 밸리데이터 — 밸리데이터 세트는 개방형 스테이킹이 아닌 거버넌스로 제어됨

관련 문서