본문으로 건너뛰기

PRISM Consensus Engine

QoreChain은 x/rlconsensus 모듈을 통해 강화학습 최적화 계층인 PRISM(Policy-driven Reinforcement-learning for Intelligent State Machines)을 합의 계층에 직접 내장합니다. PRISM은 N 블록마다 체인 지표를 관찰하고, 고정소수점 신경망을 통해 추론을 실행하며, 합의 파라미터 조정을 제안합니다 — 모두 결정론적으로, 합의에 중요한 경로에서 부동소수점 연산 없이.

PRISM 최적화 루프: 체인 상태 관찰, 정책 추론 실행, 파라미터 변경 클램핑 및 적용, 그 결과를 다시 피드백.


아키텍처 개요

PRISM은 네 가지 구성 요소로 이루어집니다:

  1. Observation Collector — 구성 가능한 간격으로 25차원 체인 상태 벡터를 수집합니다.
  2. Policy Network (MLP) — 관찰을 행동으로 매핑하는 Go 네이티브 다층 퍼셉트론.
  3. Reward Computer — 가중 다중 목적 함수를 사용하여 파라미터 변경의 품질을 평가합니다.
  4. Circuit Breaker — 체인 상태를 모니터링하고 불안정성이 감지되면 모든 PRISM 튜닝 파라미터를 되돌립니다.

모든 구성 요소는 ABCI 수명 주기 내에서 동작하며 모든 검증자 노드에서 결정론적이고 검증 가능한 출력을 생성합니다.


Policy Network

정책 네트워크는 int64 고정소수점 연산(10^8로 스케일링됨)을 사용하여 전적으로 Go로 구현된 피드포워드 다층 퍼셉트론(MLP)입니다.

네트워크 아키텍처

속성
입력 차원25
은닉층2
은닉층 크기256, 256
출력 차원5
활성화(은닉)ReLU
활성화(출력)tanh
총 파라미터73,733
정밀도int64 고정소수점 (10^8로 스케일링)

파라미터 수 분석

Layer 1: 25 * 256 + 256 = 6,656 (input -> hidden_1)
Layer 2: 256 * 256 + 256 = 65,792 (hidden_1 -> hidden_2)
Layer 3: 256 * 5 + 5 = 1,285 (hidden_2 -> output)
Total: 73,733

고정소수점 연산

모든 MLP 계산은 FixedPointScale = 10^8로 스케일링된 int64 값을 사용합니다. 이는 하드웨어 플랫폼 간 IEEE 754 부동소수점 반올림 차이로 인한 비결정성을 제거합니다.

  • 곱셈: fixMul(a, b) = (a / SCALE) * b + (a % SCALE) * b / SCALE (오버플로 방지를 위해 분할)
  • ReLU: relu(x) = max(0, x)
  • tanh: |x| <= 2.5*SCALE에 대해 파데 근사 tanh(x) ~ x * (3*S - x^2) / (3*S + x^2), 그 외에는 +/- SCALE로 클램핑

정책 가중치는 평탄화된 []int64 벡터로 온체인에 저장되며 거버넌스 제안을 통해 업데이트할 수 있습니다.


관찰 벡터

PRISM은 각 관찰 간격(기본값: 10 블록마다)에서 25차원 관찰 벡터를 수집합니다.

인덱스차원설명
0block_utilization블록 사용 가스 / 블록 가스 한도
1tx_count블록 내 트랜잭션 수
2avg_tx_size바이트 단위 평균 트랜잭션 크기
3block_time이전 블록 이후 시간(ms)
4block_time_delta블록 시간에서 목표 블록 시간을 뺀 값(ms)
5gas_price_50th중앙값 가스 가격
6gas_price_95th95번째 백분위수 가스 가격
7mempool_size대기 중인 트랜잭션 수
8mempool_bytes대기 중인 트랜잭션의 총 바이트
9validator_count활성 검증자 수
10validator_gini검증자 권력 분포의 지니 계수
11missed_block_ratio서명을 놓친 검증자의 비율
12avg_commit_latency평균 커밋 라운드 지연(ms)
13max_commit_latency최대 커밋 라운드 지연(ms)
14precommit_ratio수신된 프리커밋의 비율
15failed_tx_ratio실패한 트랜잭션의 비율
16avg_gas_per_tx트랜잭션당 평균 소비 가스
17reward_per_validator검증자당 평균 보상(uqor)
18slash_count관찰 윈도우 내 슬래싱 이벤트 수
19jail_count관찰 윈도우 내 jail 이벤트 수
20inflation_rate현재 발행률
21bonded_ratio본딩된 토큰 / 총 공급량
22reputation_mean활성 검증자 전반의 평균 평판 점수
23reputation_stddev평판 점수의 표준 편차
24mev_estimate추정 추출 MEV(휴리스틱)

모든 값은 LegacyDec 문자열 표현으로 저장되며 추론 전에 int64 고정소수점으로 변환됩니다.


행동 공간

MLP 출력은 5차원 행동 벡터로, 각 차원은 합의 파라미터에 대한 제안된 변경을 나타냅니다. tanh 활성화는 원시 출력을 [-1, 1]로 제한하며, 이는 모드별 경계로 스케일링됩니다.

인덱스행동 차원설명
0block_time_delta목표 블록 시간에 대한 제안된 변경(ms)
1gas_price_delta기본 가스 가격에 대한 제안된 변경
2validator_set_size_delta목표 검증자 집합 크기에 대한 제안된 변경(로깅만, 적용되지 않음)
3pool_weight_rpos_deltaRPoS 풀 우선순위 가중치에 대한 제안된 변경
4pool_weight_dpos_deltaDPoS 풀 우선순위 가중치에 대한 제안된 변경

행동은 적용 전에 현재 PRISM 모드가 정의한 최대 변경 경계로 클램핑됩니다.


보상 함수

보상 신호는 최근 파라미터 변경이 체인 성능을 얼마나 잘 개선했는지 평가합니다. 이는 다섯 가지 목적의 가중 합으로 계산됩니다:

R = 0.30 * delta_throughput
+ 0.25 * delta_finality
+ 0.20 * delta_decentralization
- 0.15 * mev_estimate
- 0.10 * failed_tx_ratio
구성 요소가중치방향소스 지표
처리량+0.30최대화블록 사용률의 변화
최종성+0.25최대화프리커밋 비율의 변화
탈중앙화+0.20최대화검증자 지니 계수의 음의 변화
MEV-0.15최소화현재 MEV 추정치
실패한 트랜잭션-0.10최소화현재 실패한 트랜잭션 비율

보상 가중치는 거버넌스로 구성 가능하며 정확히 1.0으로 합산되어야 합니다.


PRISM 모드

PRISM은 거버넌스를 통해 제어 가능한 네 가지 모드 중 하나로 동작합니다:

모드ID최대 변경동작
Shadow00%권장 사항을 관찰하고 로깅만 합니다. 파라미터는 변경되지 않습니다. 이것이 기본 모드입니다.
Conservative1+/- 10%엄격한 경계 내에서 파라미터 변경을 적용합니다. 초기 라이브 배포에 적합합니다.
Autonomous2+/- 25%더 넓은 경계 내에서 파라미터 변경을 적용합니다. 검증된 정책을 가진 성숙한 네트워크용입니다.
Paused30%PRISM이 완전히 유휴 상태입니다. 관찰이 수집되지 않고 추론이 실행되지 않습니다.

모드 전환에는 거버넌스 제안이 필요합니다. 권장 배포 경로는: Shadow → Conservative → Autonomous입니다.


Circuit Breaker

서킷 브레이커는 체인 상태를 모니터링하고 불안정성이 감지되면 모든 PRISM 튜닝 파라미터를 자동으로 되돌리는 안전 메커니즘입니다.

감지 로직

서킷 브레이커는 마지막 50 블록(circuit_breaker_window를 통해 구성 가능)을 평가합니다:

  1. 블록 시간 델타 계산 — 연속된 각 블록 타임스탬프 쌍에 대해 블록 시간 델타를 계산합니다.
  2. 정상 블록 분류 — 블록은 그 델타가 양수이고 목표 블록 시간의 2배 이내이면 정상으로 간주됩니다.
  3. 정상 비율 계산정상 비율 = 정상 블록 / 총 델타를 계산합니다.

트리거 조건

정상 비율이 임계값(기본값: 50%) 아래로 떨어지면, 서킷 브레이커가 작동합니다.

대응

작동하면, 서킷 브레이커는:

  1. 모든 PRISM 적용 파라미터(블록 시간, 가스 가격, 풀 가중치)를 기본값으로 되돌립니다.
  2. PRISM을 일시 중지합니다(CircuitBreakerActive = true 설정).
  3. 새로운 재로드를 강제하기 위해 인메모리 정책을 지웁니다.
  4. circuit_breaker_triggered 이벤트를 방출합니다.

서킷 브레이커는 후속 평가에서 정상 비율이 임계값 위로 회복되면 자동으로 해제됩니다.


롤업 자문 함수

PRISM은 롤업 파라미터 최적화를 위한 자문 함수를 제공합니다:

  • SuggestRollupProfile — 현재 체인 조건을 분석하고 최적의 롤업 구성 파라미터(블록 시간, 가스 한도, 정산 빈도)를 제안합니다.
  • OptimizeRollupGas — 메인 체인 혼잡 패턴을 기반으로 롤업 정산 트랜잭션에 대한 가스 가격 조정을 권장합니다.

이러한 함수는 정보 제공용일 뿐이며 체인 상태를 수정하지 않습니다.


결정론적 수학 라이브러리

모든 PRISM 계산은 표준 부동소수점 수학에 대한 결정론적 대안을 제공하는 mathutil 패키지를 사용합니다:

함수설명방법
IntegerSqrt(x)제곱근LegacyDec에 대한 뉴턴 방법, 100회 반복 수렴
TaylorLn1PlusX(x)자연로그 ln(1+x)인수 축소 + 15개 항 테일러 급수
ExpApprox(x)지수 e^x12개 항 테일러 급수
SigmoidApprox(x)시그모이드 1/(1+e^-x)음수 입력에 대한 대칭성을 가진 ExpApprox
ReputationMultiplier(r)[0,1]을 [0.5,2.0]으로 매핑스케일과 오프셋을 가진 시그모이드

모든 함수는 cosmossdk.io/math.LegacyDec 값에서 동작하여, 모든 하드웨어 플랫폼과 Go 컴파일러 버전에서 동일한 결과를 보장합니다.


파라미터

파라미터타입기본값설명
enabledbooltruePRISM 활성화
observation_intervaluint6410관찰 수집 사이의 블록 수
agent_modePrismMode0 (Shadow)현재 작동 모드
max_change_conservativeLegacyDec0.10Conservative 모드에서의 최대 파라미터 변경
max_change_autonomousLegacyDec0.25Autonomous 모드에서의 최대 파라미터 변경
circuit_breaker_windowuint6450서킷 브레이커가 모니터링하는 최근 블록 수
circuit_breaker_thresholdLegacyDec0.50트리거 전 최소 정상 블록 비율
default_block_time_msint645000기본 목표 블록 시간(ms)
default_base_gas_priceLegacyDec100기본 베이스 가스 가격
default_validator_set_sizeuint64100기본 목표 검증자 집합 크기
reward_weight_throughputLegacyDec0.30처리량 개선에 대한 보상 가중치
reward_weight_finalityLegacyDec0.25최종성 개선에 대한 보상 가중치
reward_weight_decentralizationLegacyDec0.20탈중앙화 개선에 대한 보상 가중치
reward_weight_mevLegacyDec0.15MEV 추출에 대한 페널티 가중치
reward_weight_failed_txsLegacyDec0.10실패한 트랜잭션에 대한 페널티 가중치

관련 문서

  • Consensus Mechanism — PRISM이 최적화하는 합의 계층.
  • AI Engine — 더 광범위한 온체인 AI 서비스 및 엔드포인트.
  • Tokenomics — RL 신호가 보상 및 파라미터 조정에 어떻게 반영되는지.