GH GambleHub

Ар кандай чынжырлардан маалыматтарды бириктирүү

(Бөлүм: Экосистема жана тармак)

1) Эмне үчүн биригүү керек

Биригүү (cross-chain merge) каржылык отчеттуулук, аналитика, анти-фрод, байкоо жана азык-түлүк сценарийлери үчүн ар кандай чынжырлардан, көпүрөлөрдөн жана кызматтардан алынган окуяларды/байлыктарды бирдиктүү консистенттик маалымат моделине бириктирет. Максаттары:
  • Чындыктын бир булагы (canonical facts) ар түрдүү логдор бар болсо.
  • Реоргдорго жана кечигүүлөргө туруктуулук: туура бүтүрүү жана кайра эсептөө.
  • Тармактар менен активдердин ортосундагы метриктердин салыштырылышы.
  • Аудит жана жөнгө салуу үчүн ачык сызык жана сапатты көзөмөлдөө.

2) Маалымат булактары жана класстары

1. Ончейн: блоктор, транзакциялар, келишимдердин логдору, аталыштар, шарттар.
2. Көпүрөлөр/релерлер: арыздар, квитанциялар, далилдер, жыйынтыктоочу статустар.
3. L2/DA катмарлары: батчи, жарыялоо, prufs, талаш терезелер.
4. PSP/KYC/KYB/AML: төлөм статусу, текшерүү, санкциялык хиттер.
5. Продукт окуялары: онбординг, депозиттер/төлөмдөр, оюн жана жүрүм-турум окуялары.
6. Маалымдамалар: тармактар, активдер, decimals, chainId, даректер, SDK версиялары.

Ар бир булак үчүн: ээси, схема, жаңылануу, аяктоо терезеси, далил форматы жана SLO.

3) биригүү архитектурасы

Ingest (агенттер/индекстерлер/webhook) → Raw/Bronze (өзгөрүлбөс чийки зат) → Clean/Silver (нормалдашуу жана дедуп) → Merge/Core/Gold (канондук фактылар жана байланыштар) → Marts (каржы/продукт/тобокелдик/операция) → Serve (OLAP/API/издөө).
Негизги касиеттери: окшоштук, схемаларды чыгаруу, replay/backfill, late data handling.

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) Аяктоо, реоргдор жана статустар

Состояния: `observed → confirmed(K) → finalized → invalidated(reorg)` (+ `challenged` для optimistic).

Саясатчылар:
  • Тармак/актив/тобокелдик боюнча K-тастыктоолор.
  • чоң суммалар үчүн Delayed Finalization.
  • Reorg handling: автоматтык майып жана replay.
  • Proof coverage: максаттуу SLO ≥ Pruff/Anchor менен жазуу үлүшү.

6) убакыт жана акча нормалдаштыруу

Убакыт: UTC бардык timestampts, сактоо 'observed _ at' жана 'event _ at'.
FX/активдердин баасы: кайра эсептөө 'usd _ value' курс боюнча 'observed _ at' (же 'event _ at' - отчеттуулук үчүн, саясат менен аныкталган).
Decimals/scale: салыштыруу үчүн сандарды катуу канонизациялоо.
Отчёттордогу убакыт алкактары: тандоодо (витрина), core эмес.

7) Демпотенттүүлүк жана дедупликация

Чоң атанын негизги ачкычы:
  • `idempotency_key = chainId|block_height|tx_hash|log_index|type`
Эрежелер:
  • Бир нече индекстерден кайталоо - upsert idempotency_key.
  • Эгерде чыр-чатак payload - policy of truth (priority source/version/time) иштейт.
  • Чоң атанын терезеси 48-72 сааттан ≥ "адашып" кайталоо үчүн сакталат.

8) Entity Resolution (зат салыштыруу)

Даректер → актёрлор: капчык/контракт → колдонуучу/уюм/роль.
кросс-чынжыр байланыштар: hard-link (кол/kyc), soft-link (жүрүм-турум/сызык).
Псевдоним: туруктуу PID/ORG_ID; PII маалымат контроллеринде сакталат.

9) бириктирүү эрежелери жана артыкчылыктары (саясат)

1. котормо чындык булагы - oncheyn окуя 'finalized' + pruf.
2. Агрегаттар боюнча чындыктын булагы - "чийки зат" эмес, 'transfers' bridge _ transfers 'таблицасынын негизги булагы.
3. Убакыт конфликти (event_at vs observed_at) - отчеттук саясат боюнча (финансы - event_at; операционка - observed_at).
4. Суммалардын/активдердин чыр-чатагы - активдердин каталогун салыштырганга чейин мерджди токтотуу жана карантин.
5. Көпүрө байламталары - эки тараптын квитанциялары талап кылынат (src/dst) + receipt pairing.

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 Көпүрө түгөйлөр дал (булагы, максаты)

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) Схемаларды жана эволюцияны башкаруу

Версиялоо: 'schema _ version' маалымат топтомунун баш кийиминде, миграция журналга жазылат.
Шайкештик саясаты: Окуялар үчүн 'BACKWARD' (гана талаа кошуу).
Data Contracts булактары менен: CI келишимдер сыноо, Линтер схемалар.

12) Маалымат сапаты: SLI/SLO

SLI (мисал):
  • Freshness p95: лаг ingest → Gold (мин).
  • Completeness%: терезенин ичинде 'finalized' жеткен жазуулардын үлүшү.
  • Correctness%: valid схемалар/кол тамгалар/prufs.
  • Proof Coverage%: Prufs/анкерлер менен канондук жазуулардын үлүшү.
  • Dedup Efficiency: Empotent жутулган дубль үлүшү.
  • Reorg Handling Success%: туура майыптар жана replays.

SLO (көрсөтмөлөр): Freshness ≤ 3 мин (агым )/15 мин (батч); Completeness ≥ 99. 7%; Correctness ≥ 99. 9%; Proof Coverage ≥ 99. 0%; Reorg Success ≥ 99. 9%; Merge MTTR (окуя) ≤ 30 мин.

13) Дашборддор (макеттер)

Merge Ops (реал-тайм/час): Freshness, Queue lag, Dedup rate, Finalized %, Reorg spikes, Error-budget burn.
Proof & Finality: proof coverage, p95 finality per chain, challenge/reorg события.
Catalog Health: активдер, decimals, SDK версияларынын айырмачылыктары.
Quality & Drift: completeness/correctness, schema drift, late data.
Finance Lens: GTV, Net Flow, чынжыр/көпүрө боюнча TVL (гана 'finalized').

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"]

Идемпотенттүүлүк/дедуп

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

15) Купуялык жана комплаенс

PII-минималдаштыруу: PID/ORG_ID, метриктер/лейблдер PII тыюу.
Data residency: региондордун сегрегациясы (EU/ROW), "тынч/жолдо" шифрлөө.
Алып салуу укугу: далилденген колдонуу менен tombstone/redaction окуялар.
Аудит: өзгөрүлбөс журналдар, хэш анкеринг, ролдорго жетүүнү текшерүү.

16) Операциялык регламенттер

Күнүмдүк: proof coverage салыштыруу, чынжыр аяктоо, көпүрө реестри жана -дрейф.
Жума сайын: активдер/decimals каталогун кайра карап чыгуу, FX-нормалдаштыруунун тууралыгы.
Ай сайын: reorg/replay тесттер, SLO текшерүү жана стресс аткаруу сыноо.
Change Management: merge саясатын өзгөртүү боюнча timelock, Solutions Journal.

17) Playbook окуялар

A. Asset/Decimals

Тиешелүү активдерди токтотуу, каталогду кайтаруу, витриналарды кайра эсептөө, отчет ≤ 24 саат.

B. күзүндө Proof Coverage

Мерклизацияны/анкерингди кайра баштоо, логиндин деңгээлин жогорулатуу, 100 учурду кол менен тандоо, отчет.

C. Пики Reorg/Challenge

Көбөйтүү 'k '/талаш терезе, ири суммалар үчүн delayed finalization камтыйт, кызыкдар билдирүүгө.

D. Жарылуу дубль/кайталоо

Дедуп TTL/ачкычын катуулатуу, "ызы-чуу" булактарын чектөө, карантин-контурду күйгүзүү.

E. убакыт дрейф (time skew)

NTP/PTP синхрондоштуруу, терезелерди кайра саноо, саясаттын убактылуу жылышы 'prefer: observed_at'.

18) Киргизүү чек-тизмеси

1. Булактарды, жыйынтыктоочу терезелерди жана далилдерди бекитиңиз.
2. Канондук окуялардын схемасын жана идемпотенттик ачкычын киргизиңиз.
3. Quarantine контур менен Dedup жана Merge саясатын орнотуу.
4. Активдердин/тармактардын реестрин жана FX нормалдаштырууну көтөрүңүз.
5. replay/backfill жана late data иштетүүнү ишке ашыруу.
6. SLI/SLO жана dashboard сапатын аныктоо.
7. Үзгүлтүксүз анкеринг жана аудит журналдарын ишке киргизүү.
8. Реорг/көпүрө кечигүү симуляциялары менен учкучту өткөрүңүз жана MTTR жазыңыз.

19) Глоссарий

Finality - мамлекеттин/иш-чаранын кайтарылгыс.
Reorg - блоктордун бир бөлүгүн жокко чыгаруу менен чынжырды кайра чогултуу.
Idempotency - кайра жеткирүү туруктуулугу.
Proof Coverage - далилдер менен жазуулардын үлүшү.
Entity Resolution - бирдиктүү маанидеги даректерди/эсептерди салыштыруу.
Delayed Finalization - жогорку тобокелдик суммалар үчүн агрегаттар кийинкиге калтырылган кабыл алуу.
Quarantine - чыр-чатак/шектүү жазуулар үчүн обочолонгон агым.

Жыйынтык: чынжыр аралык маалыматтардын туура биригүүсү - бул башкарылуучу тартип: канондук схема, жыйынтыктоо жана пруф, катуу демпотенттүүлүк, ачык биригүү саясаты жана сапаттын байкалышы. Бул алкакты ээрчип, экосистема бирдиктүү, текшерилүүчү жана туруктуу маалымат катмарын алат - аудит, аналитика жана продукцияны коопсуз масштабдоо үчүн негиз.

Contact

Биз менен байланышыңыз

Кандай гана суроо же колдоо керек болбосун — бизге кайрылыңыз.Биз дайым жардам берүүгө даярбыз!

Telegram
@Gamble_GC
Интеграцияны баштоо

Email — милдеттүү. Telegram же WhatsApp — каалооңузга жараша.

Атыңыз милдеттүү эмес
Email милдеттүү эмес
Тема милдеттүү эмес
Билдирүү милдеттүү эмес
Telegram милдеттүү эмес
@
Эгер Telegram көрсөтсөңүз — Emailден тышкары ошол жактан да жооп беребиз.
WhatsApp милдеттүү эмес
Формат: өлкөнүн коду жана номер (мисалы, +996XXXXXXXXX).

Түшүрүү баскычын басуу менен сиз маалыматтарыңыздын иштетилишине макул болосуз.