Patent-D 시리즈 D-8 | 3차원 FinalityPolicy 원장 확정 시스템
난이도: ★★★★ | #블록확정 #Finality #FinalityPolicy #RESERVE #SETTLE #멀티체인
문제: 트랜잭션이 확정되었다의 의미가 체인마다 다르다
블록체인에서 트랜잭션이 확정되었다는 말의 의미는 체인마다 다르다.
- 이더리움(EVM PoS): LATEST 블록은 재편성(reorg) 가능성이 있다. SAFE 블록이 되면 약한 finality, FINALIZED 블록이 되면 강한 finality다.
- 비트코인: 6 confirmations(블록 6개 추가)가 관행이지만, 1 BTC 거래와 100 BTC 거래에 같은 기준을 적용하는 게 맞는가?
- 솔라나: 매우 빠른 finality. 32 슬롯 확인이면 충분하다.
기존 시스템의 문제: 체인별 finality 모델 차이 무시, 자산 위험도 무시, 금액 무시, reorg 대응 경로 불명확.
핵심 아이디어: 3차원 FinalityPolicy + RESERVE/SETTLE 2단계 원장
(chain_type, asset_risk_tier, amount_range) 3차원 조합으로 finality 기준을 동적으로 결정하고, RESERVE to SETTLE 2단계 원장 패턴으로 finality 충족 전후를 구분한다.
FinalityPolicy 3차원 테이블
CREATE TABLE finality_policies (
id BIGSERIAL PRIMARY KEY,
chain_type VARCHAR(16) NOT NULL,
asset_risk_tier VARCHAR(16) NOT NULL, -- LOW, MEDIUM, HIGH
amount_range_min NUMERIC NOT NULL,
amount_range_max NUMERIC, -- NULL = 상한 없음
required_confirmations INTEGER NOT NULL,
require_finalized_block BOOLEAN NOT NULL DEFAULT false,
require_safe_block BOOLEAN NOT NULL DEFAULT false,
UNIQUE (chain_type, asset_risk_tier, amount_range_min)
);
정책 데이터 예시
| 체인 | 자산 위험 | 금액 범위 | 요구 확인 수 | 블록 요건 |
|---|---|---|---|---|
| EVM | LOW | $0~$1,000 | 12 | SAFE 블록 |
| EVM | HIGH | $0~무제한 | 64 | FINALIZED 블록 |
| BTC | LOW | 0~1 BTC | 3 | 없음 |
| BTC | HIGH | 1 BTC~무제한 | 6 | 없음 |
| SOL | LOW | $0~무제한 | 32 slots | 없음 |
RESERVE to SETTLE 2단계 원장 흐름
출금 승인 (D-3 정책 평가 완료) | 원장 RESERVE 기록 자산 상태: locked / 잔액: 출금액만큼 예약 차감 | TxAttempt 생성 to 체인 제출 (D-6) | FinalityPolicy 조회 (chain_type=EVM, asset_risk_tier=HIGH, amount=100K USD) to required_confirmations=64, require_finalized_block=true | 주기적 확인: confirmations >= 64 AND 블록 태그 == FINALIZED? NO: 대기 (주기적 재확인) YES: 원장 SETTLE 기록 (자산 unlocked, 상태 SETTLED)
소액 vs. 고액 ETH 출금 비교
출금 A: 0.5 ETH (약 $1,500), asset_risk_tier=LOW to FinalityPolicy: 12 confirmations, require_safe_block=true to 약 3분 후 SAFE 블록 확정 to SETTLE 출금 B: 500 ETH (약 $1,500,000), asset_risk_tier=HIGH to FinalityPolicy: 64 confirmations, require_finalized_block=true to 약 13~15분 후 FINALIZED 블록 확정 to SETTLE
소액은 빠르게 처리하고, 대형 거래는 더 강한 finality를 기다린다. 효율성과 안전성의 균형.
핵심 요약
- (chain_type, asset_risk_tier, amount_range) 3차원으로 finality 기준 동적 결정
- RESERVE(예약) to SETTLE(확정) 2단계 원장으로 reorg를 우아하게 처리
- EVM PoS의 SAFE/FINALIZED 블록 태그를 정책 테이블에 연계
- 정책을 코드가 아닌 DB 데이터로 관리 to 배포 없이 조정 가능
시리즈 완결 | Patent-D 시리즈 전체 목록으로 돌아가기