GH GambleHub

서로 다른 회로에서 데이터를 병합합니

(섹션: 생태계 및 네트워크)

1) 합병이 필요한 이유

크로스 체인 병합은 다양한 체인, 브리지 및 서비스의 이벤트/상태를 재무보고, 분석, 사기 방지, 관찰 가능성 및 제품 시나리오를위한 단일 일관된 데이터 모델로 결합합니다. 목표:
  • 잡종 통나무가있는 단일 진리의 원천 (정식 사실).
  • 재구성 및 지연에 대한 내성: 수정 마무리 및 재 계산.
  • 네트워크와 자산 간의 지표 비교
  • 감사 및 규제 기관에 대한 투명한 계보 및 품질 관리.

2) 데이터 소스 및 클래스

1. 체인: 블록, 트랜잭션, 계약 로그, 헤더, 상태.
2. 교량/예고편: 응용 프로그램, 영수증, 증거, 최종 상태.
3. L2/DA 계층: 배치, 출판물, 증거, 챌린지 창.
4. PSP/KYC/KYB/AML: 지불 상태, 수표, 제재 조치.
5. 제품 이벤트: 온 보딩, 예금/지불, 게임 및 행동 이벤트.
6. 디렉토리: 네트워크, 자산, 10 년, 체인, 주소, SDK 버전.

각 소스에 대해 소유자, 체계, 업데이트 로그, 마무리 창, 증거 형식 및 SLO가 기록됩니다.

3) 퓨전 파이프 라인 아키텍처

Ingest (에이전트/인덱서/웹 후크) → Raw/Bronze (변경 불가능한 원료) → Clean/Silver (정규화 및 dedup) → Merge/Core/Gold (정식 사실 및 연결) → Marts (금융/제품/위험/운영 체제) → 서빙 (OLAP/API/검색).
주요 속성: demempotency, 스키마 버전 지정, 재생/백필, 늦은 데이터 처리.

4) 정식 체계 (단순화)

4. 1 개의 이벤트 (YAML)

yaml event:
id: uuid observed_at: timestamp # when saw event_at: timestamp # when happened (by source)
chain_id: string       # 'eth-mainnet'    'polygon'...
block_height: long tx_hash: string log_index: int type: string         # transfer    bridge. lock    bridge. mint...
status: string        # observed    confirmed    finalized    invalid src: string # address/peer-id/org _ id dst: string asset: string # canonical character (USDC)
amount: decimal usd_value: decimal # normalization at the rate on the meta observed_at: object # gas, fee, contract, sdk_version...
idempotency_key: string    # chainId    block    tx    logIndex    type proof_ref: string # proof/anchor reference

4. 2 번역 및 교량 (SQL)

sql
CREATE TABLE bridge_transfers (
id TEXT PRIMARY KEY,
src_chain TEXT, dst_chain TEXT,
asset TEXT, amount NUMERIC,
created_at TIMESTAMPTZ,
finalized_at TIMESTAMPTZ,
status TEXT,          -- requested    inflight    finalized    failed    reversed src_tx TEXT, dst_tx TEXT,
proof_ref TEXT, meta JSONB
);

4. 3 자산/네트워크 디렉토리 (YAML)

yaml catalog:
assets:
- symbol: USDC decimals: { eth-mainnet: 6, polygon: 6 }
contracts: { eth-mainnet: "0xA0b8...", polygon: "0x2791..." }
networks:
- id: eth-mainnet k_confirmations: 12
- id: polygon k_confirmations: 256

5) 마무리, 조직 및 상태

확인 된 → 확인 (K) → 무효화 된 (reorg) '(+' 도전 된 '

정치인:
  • 네트워크/자산/위험에 의한 K 확인.
  • 많은 양의 마무리 지연.
  • 리그 처리: 자동 장애 및 재생.
  • 증명 범위: 막대/앵커가있는 레코드의 백분율은 대상 SLO입니다.

6) 시간과 통화의 정규화

시간: UTC의 모든 타임 스탬프, 상점 '관찰 _ at' 및 '이벤트 _ at'.
FX/자산 가격: '관찰 된 _ at' (또는 '이벤트 _ at' - 정책에 의해 정의 된보고) 비율로 'usd _ 값' 변환.
데시 멀/스케일: 비교 가능성을위한 엄격한 수량의 정식.
보고서의 시간대: 핵심이 아닌 선택 (쇼케이스) 중에 해결되었습니다.

7) 정체성과 중복 제거

중복 기본 키:
  • 'idempotency _ key = chainID' block _ height 'tx _ hash' log _ indx 'type'
규칙:
  • demempotency _ key에 의해 강화되는 여러 인덱서에서 복제됩니다.
  • 페이로드 충돌의 경우 진실 정책 (소스 우선 순위/버전/시간) 이 트리거됩니다.
  • 중복 제거 창은 "방황" 반복을 위해 48-72 시간 이상 저장됩니다.

8) 실체 해결

주소 → 행위자: 지갑/계약 → 사용자/조직/역할.
교차 체인 링크: 하드 링크 (서명/kyc), 소프트 링크 (동작/그래프).
의사 명칭: 안정적인 PI/ORG _ ID; PII는 데이터 컨트롤러에 의해 저장됩니다.

9) 합병 규칙 및 우선 순위 (정책)

1. 번역 사실에 대한 진실의 원천은 온라인 이벤트 '최종' + 증거입니다.
2. 골재의 진실의 원천은 "원료" 가 아닌 '전송' 브리지 _ 전송 '테이블의 핵심입니다.
3. 시간 충돌 (이벤트 _ at vs 관찰 _ at) -보고서 정책 (금융-이벤트 _ at; 운영 체제-관찰 _ at).
4. 금액/자산 충돌-자산 카탈로그가 조정 될 때까지 보류 및 검역을 중단하십시오.
5. 브리지 번들-양쪽 영수증 (src/ch) + 영수증 페어링이 필요합니다.

10) 의사 쿼리 및 알고리즘

10. 1 이벤트를 정식 "작업" 으로 롤업

sql
WITH base AS (
SELECT e.,
CONCAT(e. chain_id,'    ',e. block_height,'    ',e. tx_hash,'    ',e. log_index,'    ',e. type) AS idem
FROM raw_events e
)
INSERT INTO core_events AS c (id, observed_at, event_at, chain_id, block_height,
tx_hash, log_index, type, status, src, dst, asset, amount, usd_value, meta, idempotency_key, proof_ref)
SELECT gen_random_uuid(), observed_at, event_at, chain_id, block_height,
tx_hash, log_index, type, status, src, dst, asset, amount, usd_value, meta, idem, proof_ref
FROM base
ON CONFLICT (idempotency_key) DO UPDATE
SET status = EXCLUDED. status,
usd_value = COALESCE(EXCLUDED. usd_value, core_events. usd_value),
proof_ref = COALESCE(EXCLUDED. proof_ref, core_events. proof_ref),
meta   = core_events. meta          EXCLUDED. meta;

10. 2 다리 쌍의 일치 (istochnik sheel tsel)

sql
INSERT INTO bridge_transfers (id, src_chain, dst_chain, asset, amount, created_at, status, src_tx, proof_ref)
SELECT
CONCAT('br:', e. tx_hash) AS id,
e. chain_id, b. dst_chain, e. asset, e. amount, e. event_at, 'inflight', e. tx_hash, e. proof_ref
FROM core_events e
JOIN bridge_book b ON e. type='bridge. lock' AND e. asset=b. asset AND e. chain_id=b. src_chain
ON CONFLICT (id) DO NOTHING;

UPDATE bridge_transfers bt
SET finalized_at = e. event_at,
dst_tx    = e. tx_hash,
status    = 'finalized'
FROM core_events e
WHERE e. type='bridge. mint'
AND bt. status='inflight'
AND bt. asset=e. asset
AND bt. src_chain=bridge_book. src_chain
AND bt. dst_chain=bridge_book. dst_chain
AND abs(e. amount - bt. amount) < 1e-9;

10. 3 재처리

sql
UPDATE core_events
SET status='invalidated'
WHERE chain_id=$1 AND block_height BETWEEN $2 AND $3
AND status IN ('observed','confirmed','finalized');

-- Reassembly of aggregates (example)
CALL recompute_materialized_views($1, $2, $3);

11) 서킷 및 진화 관리

버전: 데이터 세트 헤더의 '스키마 _ 버전', 마이그레이션이 기록됩니다.
호환성 정책은 이벤트에 대한 'BACKWARD' 입니다 (필드 추가 만).
데이터 소스와 데이터 계약: CI 계약 테스트, 체계 라인터.

12) 데이터 품질: SLI/SLO

SLI (예):
  • 신선도 p95: 지연 섭취 → 금 (최소).
  • 완료% 는 창 내에서 '최종' 에 도달 한 레코드의 백분율입니다.
  • 수정%: 유효한 체계/서명/증명.
  • 증명 범위%: 증명/앵커와 표준 레코드 공유.
  • Dedup Efficiency: 섭취 비율이 엄청나게 흡수됩니다.
  • Reorg Handling Success%: 올바르게 비활성화되고 재생됩니다.

SLO (랜드 마크): 갓 3 분 (스트림 )/15 분 (배치); 완전성 이하 99. 7%; 정확도는 99 이상입니다. 9%; 증명 범위는 99 이상입니다 0%; 성공을 거두십시오 9%; MTTR (사고) 을 병합하십시오.

13) 대시 보드 (레이아웃)

합병 Ops (реа-та상품화): Freshness, Queue 지연, Dedup 속도, 최종%, Reorg 스파이크, 오류 예산 연소.

증명 및 최종: 증명 적용 범위, 체인 당 p95 최종, 챌린지/reorg со

카탈로그 상태: 자산 매핑, 10 진수, SDK 버전 간의 불일치.
품질 및 드리프트: 완전성/정확성, 스키마 드리프트, 늦은 데이터.
금융 렌즈: 회로/브리지 별 GTV, 순 흐름, TVL ('최종' 만 해당).

14) 구성 (YAML)

마무리 창

yaml finality:
eth-mainnet: { k: 12, delayed_for_usd_gt: 100000 }
polygon:   { k: 256 }
optimistic-L2:
k: 0 challenge_minutes: 20 delayed_for_usd_gt: 50000

병합 및 우선 순위 정책

yaml merge_policy:
source_priority: [onchain, bridge, psp, product]
conflict:
time: { prefer: "event_at" }
amount: { action: "quarantine" }
proof_required_for: ["bridge_transfers", "payouts"]
quarantine_topics: ["asset_mismatch", "decimals_mismatch", "time_skew_gt_5m"]

Idempotence/dedup

yaml dedup:
key_template: "${chain_id}    ${block_height}    ${tx_hash}    ${log_index}    ${type}"
ttl_hours: 72

15) 개인 정보 보호 및 준수

PII 최소화: PI/ORG _ ID, PII 메트릭/레이블 금지.
데이터 레지던트: 지역 분리 (EU/ROW), 암호화 "휴식/도로".
삭제할 권리: 입증 가능한 응용 프로그램이있는 묘비/수정 이벤트.
감사: 불변의 로그, 해시 앵커링, 역할 액세스 확인.

16) 운영 규정

매일: 증명 범위 조정, 체인 마무리, 브리지 레지스트리 및 설정 드리프트.
주간: 자산 카탈로그/10 진수 개정, FX 정규화 정확성.
월간: 재생/재생 테스트, SLO 점검 및 성능 스트레스 테스트.
변경 관리: 정책 변경, 의사 결정 로그를 병합하기위한 타임 락.

17) 플레이 북 사건

A. Desynchron 자산/10 년

해당 자산에서 멈추고, 카탈로그를 롤백하고, 창을 다시 계산하고, 24 시간을보고하십시오.

B. 증거 범위의 하락

Merclization/Anchoring 재시작, 로그 업, 100 건의 수동 샘플링, 보고서.

C. Reorg/챌린지 피크

flat 'k '/dition 창, 대량 최종 지연을 가능하게하고 이해 당사자에게 알리십시오.

D. 테이크/반복 폭발

TTL 디드 업/키를 강화하고 "잡음" 소스를 제한하며 검역 회로를 가능하게합니다.

E. 시간 왜곡

NTP/PTP 동기화, 창 재 계산, 임시 '선호: 관찰 된 _ at' 정책 이동.

18) 구현 점검표

1. 소스, 마무리 창 및 증거를 캡처하십시오.
2. 표준 이벤트 스키마 및 dempotency 키를 구현하십시오.
3. 검역 윤곽으로 dedup 및 통합 정책 설정.
4. 자산/네트워크 레지스터 및 FX 표준화를 높입니다.
5. 재생/백필 및 늦은 데이터 처리를 구현하십시오.
6. SLI/SLO 및 품질 대시 보드를 정의하십시오.
7. 정기적 인 고정 및 감사 로그를 실행하십시오.
8. reorg/bridge 지연 시뮬레이션으로 파일럿을 수행하고 MTTR을 캡처하십시오.

19) 용어집

최종 - 주/이벤트의 돌이킬 수 없음.
Reorg-블록 일부를 취소하여 체인을 재 조립합니다.
이념성-재전달에 대한 저항.
증명 범위-유효한 증거가있는 레코드의 비율.
엔터티 해결-단일 엔터티 주소/계정 매핑.
지연된 최종 화-고위험 금액에 대한 집계로의 수용 지연.
검역소는 갈등/의심스러운 기록을위한 격리 된 흐름입니다.

결론: 체인 간 데이터의 올바른 병합은 정식 체계, 마무리 및 증거, 엄격한 dempotence, 투명한 병합 정책 및 관찰 가능한 품질과 같은 관리 가능한 분야입니다. 이 프레임 워크를 따라 생태계는 제품의 감사, 분석 및 안전한 확장을위한 기초 인 검증 가능하고 지속 가능한 단일 데이터 계층을받습니다.

Contact

문의하기

질문이나 지원이 필요하시면 언제든지 연락하십시오.우리는 항상 도울 준비가 되어 있습니다!

Telegram
@Gamble_GC
통합 시작

Email — 필수. Telegram 또는 WhatsApp — 선택 사항.

이름 선택 사항
Email 선택 사항
제목 선택 사항
메시지 선택 사항
Telegram 선택 사항
@
Telegram을 입력하시면 Email과 함께 Telegram에서도 답변드립니다.
WhatsApp 선택 사항
형식: +국가 코드 + 번호 (예: +82XXXXXXXXX).

버튼을 클릭하면 데이터 처리에 동의하는 것으로 간주됩니다.