본문으로 건너뛰기

합의 메커니즘

QoreChain은 검증자를 세 개의 특화된 풀로 분류하고 평판 가중치 기반 선택을 사용하여 보안, 탈중앙화, 성능의 균형을 맞추는 합의 메커니즘인 **Triple-Pool Composite Proof-of-Stake (CPoS)**를 구현합니다. CPoS는 x/qca 모듈에서 구현되며 QoreChain Consensus Engine 위에서 동작합니다.

런타임에 합의 파라미터를 튜닝하는 강화학습 최적화 계층은 PRISM(Policy-driven Reinforcement-learning for Intelligent State Machines)이라는 브랜드로 명명됩니다. 자세한 내용은 PRISM Consensus Engine을 참조하세요.

아래 다이어그램은 QoreChain Consensus Engine에서 Triple-Pool CPoS의 한 블록/합의 주기를 요약하며, PRISM이 튜닝 가능한 x/qca 파라미터로 어떻게 피드백되는지 보여줍니다.


Triple-Pool 아키텍처

CPoS는 평판, 스테이크, 위임 지표를 기반으로 활성 검증자 집합을 세 개의 풀로 나눕니다. 각 풀은 합의 과정에서 고유한 역할을 수행합니다.

풀 분류

기준선택 가중치
RPoS (Reputation Proof-of-Stake)평판 점수 >= 70번째 백분위수 AND 자체 본딩 스테이크 >= 중앙값40%
DPoS (Delegated Proof-of-Stake)총 위임량 >= 10,000 QOR35%
PoS (Standard Proof-of-Stake)나머지 모든 활성 검증자25%

분류는 다음 우선순위로 평가됩니다: RPoS > DPoS > PoS. RPoS와 DPoS 모두에 해당하는 검증자는 RPoS에 배정됩니다.

재분류는 1,000 블록마다 발생합니다. 각 재분류 에포크에서:

  1. 평판 점수 수집 — 모든 활성 검증자에 대한 평판 점수가 x/reputation 모듈에서 수집됩니다.
  2. 평판 임계값 계산 — 정렬된 점수 분포로부터 70번째 백분위수 평판 임계값이 계산됩니다.
  3. 자체 본딩 스테이크 중앙값 계산 — 정렬된 스테이크 분포로부터 자체 본딩 스테이크의 중앙값이 계산됩니다.
  4. 검증자 재배정 — 각 활성 검증자는 자격을 갖춘 가장 높은 우선순위의 풀로 재배정됩니다.
  5. 기본 배정 — 분류되지 않은 검증자(아직 평가되지 않은 검증자)는 기본적으로 PoS 풀에 배정됩니다.

풀 가중치 기반 제안자 선택

블록 제안자 선택은 2단계 결정론적 프로세스를 따릅니다.

Stage 1: 풀 선택

결정론적 난수 값이 다음 블록을 제안할 풀을 선택합니다:

seed = SHA256(lastBlockHash || height || "pool")
randVal = uint64(seed[:8]) / MaxUint64 // uniform in [0, 1)

풀은 randVal을 누적 가중치 임계값과 비교하여 선택됩니다:

  • randVal < 0.40 → RPoS 풀
  • 0.40 <= randVal < 0.75 → DPoS 풀
  • randVal >= 0.75 → PoS 풀

Stage 2: 풀 내부 선택

선택된 풀 내에서, 제안자는 평판 × 스테이크 가중 CDF를 통해 선택됩니다. 풀 내 각 검증자에 대해:

  1. 평판 점수 rx/reputation에서 조회됩니다.
  2. 복합 가중치는 w = r * tokens입니다.
  3. 모든 복합 가중치로부터 누적 분포 함수(CDF)가 구성됩니다.
  4. 블록 해시와 높이로 시드된 결정론적 난수 추출을 CDF에 대해 사용하여 제안자가 선택됩니다.

폴백 동작

선택된 풀이 비어 있으면 시스템은 PoS 풀로 폴백합니다. PoS 풀도 비어 있으면, 전체 활성 검증자 집합에 대한 평판 가중치 기반 선택으로 폴백합니다.


맞춤형 본딩 커브

검증자 보상은 장기적인 참여, 높은 평판, 프로토콜 성장 단계와의 정렬을 장려하는 다중 요소 본딩 커브를 사용하여 계산됩니다.

공식

R(v, t) = beta * S_v * (1 + alpha * ln(1 + L_v)) * Q(r_v) * P(t)

요소 정의

요소기호설명기본값
기본 보상 배수beta전체 보상 크기를 조정1.0
자체 본딩 스테이크S_v검증자의 자체 본딩 토큰 (uqor)--
충성도 민감도alpha충성 기간이 보상을 얼마나 증폭시키는지 제어0.1
충성 기간L_v검증자가 연속으로 활성 상태였던 블록 수--
평판 품질Q(r_v)평판 r을 [0.75, 1.25] 범위의 보상 배수로 매핑--
프로토콜 단계P(t)보상을 부트스트랩하거나 조절하기 위한 단계 의존적 배수아래 참조

평판 품질 함수

Q(r) = 1 + 0.5 * (r - 0.5)

결과는 [0.75, 1.25] 범위로 클램핑됩니다:

평판 점수Q(r)
0.00.75
0.250.875
0.51.0
0.751.125
1.01.25

프로토콜 단계 배수

단계P(t)설명
Genesis1.5검증자 집합을 부트스트랩하기 위한 더 높은 보상
Growth1.0네트워크 확장 중의 표준 보상
Mature0.8네트워크가 안정화됨에 따른 발행 감소

결정론적 수학

ln(1 + L_v) 계산은 인수 축소(TaylorLn1PlusX)를 사용한 테일러 급수 근사를 사용하며, 전적으로 LegacyDec 고정 정밀도 소수에서 동작합니다. 합의에 중요한 보상 계산에는 부동소수점 연산이 사용되지 않습니다.


점진적 슬래싱

QoreChain은 고정 슬래싱 비율을 점진적 페널티 모델로 대체하여, 반복 위반자에 대한 결과를 점증시키는 동시에 위반이 시간이 지남에 따라 감쇠하도록 허용합니다.

공식

penalty = base_rate * escalation_factor^effective_count * severity_factor

시간적 감쇠

과거 위반은 유효 카운트에 감쇠하는 가중치로 기여합니다:

effective_count = SUM( 0.5^(blocks_since_i / decay_halflife) )

각 과거 위반 i에 대해, 그 기여도는 decay_halflife 블록(기본값: 100,000)마다 절반으로 줄어듭니다. 즉, 200,000 블록 전의 단일 오래된 위반은 유효 카운트에 0.25만 기여합니다.

심각도 요소

위반 유형심각도 요소
Downtime1.0
Double Sign2.0
Light Client Attack3.0

최대 페널티

페널티는 검증자가 누적한 과거 위반 수와 관계없이 슬래시 이벤트당 **33%**로 상한이 설정됩니다.

예제 계산

2건의 사전 위반(하나는 50,000 블록 전, 하나는 150,000 블록 전)이 있는 검증자가 이중 서명을 범한 경우:

  1. 감쇠 기여도:
    • 위반 1: 0.5^(50000 / 100000) = 0.5^0.5 = 0.707
    • 위반 2: 0.5^(150000 / 100000) = 0.5^1.5 = 0.354
    • effective_count = 0.707 + 0.354 = 1.061
  2. 점증: 1.5^1.061 = 1.516
  3. 페널티: 0.01 * 1.516 * 2.0 = 0.0303 (3.03%)

이를 초범자와 비교하면: 0.01 * 1.5^0 * 2.0 = 0.02 (2.0%).


QDRW 거버넌스

QoreChain 거버넌스는 금권정치적 장악을 방지하면서 장기 네트워크 참여자에게 보상하기 위해 **Quadratic Delegation with Reputation Weighting (QDRW)**를 사용합니다.

투표권 공식

VP(v) = sqrt(staked + 2 * xQORE) * ReputationMultiplier(r)

여기서:

  • staked = 투표자의 본딩된 QOR 토큰
  • xQORE = 투표자의 xQORE 잔액(장기 스테이킹 파생물)
  • 2 = xQORE 가중치 배수(거버넌스 구성 가능)
  • r = x/reputation에서 가져온 투표자의 평판 점수

평판 배수

평판 배수는 시그모이드 커브를 통해 [0, 1] 범위의 r을 [0.5, 2.0] 범위의 배수로 매핑합니다:

ReputationMultiplier(r) = 0.5 + 1.5 * sigmoid(6 * (r - 0.5))
평판 점수배수
0.00.50
0.10.52
0.20.58
0.30.71
0.40.93
0.51.25
0.61.57
0.71.79
0.81.92
0.91.98
1.02.00

이차 스케일링

제곱근 함수는 투표권이 스테이크에 대해 선형 이하로 확장되도록 보장합니다. 다른 투표자의 4배 스테이크를 가진 투표자는 4배가 아니라 2배의 투표권만 받습니다. 이는 대규모 토큰 보유자가 거버넌스 결정을 지배하는 것을 방지합니다.

결정론적 수학

IntegerSqrtLegacyDec 정밀도로 뉴턴 방법을 사용합니다. SigmoidApprox은 12개 항을 가진 테일러 급수 ExpApprox를 사용합니다. 모든 거버넌스 수학은 모든 검증자 노드에서 완전히 결정론적입니다.


QCA 파라미터

다음 표는 x/qca 모듈에서 거버넌스로 구성 가능한 모든 파라미터를 나열합니다:

핵심 파라미터

파라미터타입기본값설명
use_reputation_weightingbooltrue평판 가중치 기반 제안자 선택 활성화
min_reputation_scorefloat640.1활성 참여를 위한 최소 평판 점수

풀 구성

파라미터타입기본값설명
classification_intervaluint641000풀 재분류 사이의 블록 수
weight_rposLegacyDec0.40RPoS 풀 선택 가중치
weight_dposLegacyDec0.35DPoS 풀 선택 가중치
min_delegation_dposuint6410,000,000,000DPoS를 위한 최소 위임량 (uqor 단위 10,000 QOR)
rep_percentile_rposuint6470RPoS를 위한 평판 백분위수 임계값

본딩 커브 구성

파라미터타입기본값설명
alphaLegacyDec0.1충성도 민감도 계수
betaLegacyDec1.0기본 보상 배수
phase_multiplierLegacyDec1.5프로토콜 단계 보상 배수 (Genesis 단계)

슬래싱 구성

파라미터타입기본값설명
base_rateLegacyDec0.01기본 슬래시 비율 (1%)
escalation_factorLegacyDec1.5점진적 점증 기준값
max_penaltyLegacyDec0.33이벤트당 최대 페널티 (33%)
decay_halflifeuint64100,000위반 가중치 반감기 블록 수

QDRW 거버넌스 구성

파라미터타입기본값설명
enabledboolfalseQDRW 거버넌스 집계 활성화
xqore_multiplierLegacyDec2.0스테이크 토큰 대비 xQORE 가중치
rep_min_multiplierLegacyDec0.5최소 평판 배수
rep_max_multiplierLegacyDec2.0최대 평판 배수

관련 문서