Anzeon WBFT는 StableNet의 스테이블코인 아키텍처에 맞게 조정된, WBFT(QBFT의 발전형)에서 파생된 PoA BFT 합의 엔진입니다.
프로토콜 계보
Anzeon WBFT는 StableNet 밸리데이터가 경제적 스테이커가 아닌 승인된 거버넌스 참여자이기 때문에 스테이킹과 블록 보상을 제거합니다. 밸리데이터는 트랜잭션 수수료(BaseFee 분배)만 받습니다.
합의 속성
블록 생성 흐름
Anzeon WBFT는 타이머 기반 채굴 루프를 합의 이벤트 기반 루프로 대체합니다. 이전 블록이 최종 확정될 때만 새 블록이 생성됩니다.RequestTimeoutSeconds 내에 쿼럼에 도달하지 못하면 라운드가 실패합니다. 프로토콜은 지수적으로 증가하는 타임아웃(MaxRequestTimeoutSeconds까지)으로 다음 라운드로 진행하고, 새 제안자가 선택됩니다.
BLS 서명 집계
각 단계에서 밸리데이터들은 BLS12-381 키로 서명합니다. 한 단계의2f+1 서명 모두가 블록 헤더에 포함되기 전에 단일 컴팩트 서명으로 집계됩니다. 효과:
- 단계별 네트워크 메시지 크기 감소
- 각 노드의 검증 비용 감소
WBFTExtra 필드에 저장됩니다 (PREPARE는 PreparedSeal, COMMIT은 CommittedSeal).
밸리데이터 세트 관리
활성 밸리데이터 세트는 에포크 (기본값: 10 블록)별로 저장됩니다. 각 에포크 경계에서:- 합의 엔진이 GovValidator 컨트랙트(
0x…1001)에서 현재 밸리데이터 목록을 읽음 - 새
EpochInfo가 구성되어 에포크의 첫 번째 블록 헤더에 포함됨 - 새 밸리데이터 세트가 다음 에포크부터 활성화됨
가스 팁 동기화
각 블록 이후, 워커는 GovValidator에서 현재gasTip 값을 조회하고 트랜잭션 풀 필터를 업데이트합니다. 거버넌스 적용 팁 미만의 트랜잭션은 블록 포함 전에 거부됩니다.
블록 헤더 추가 데이터
WBFT 메타데이터는 블록 헤더의Extra 필드에 RLP 인코딩되어 저장됩니다:
개발자 이점
- 블록 1개 = 확정 — 정상 운영 중 재편성 없음
- 재편성 처리 불필요 — 블록 번호가 있는
eth_getTransactionReceipt로 충분 - PoA 밸리데이터 — 밸리데이터 세트는 개방형 스테이킹이 아닌 거버넌스로 제어됨

