GH GambleHub

Տվյալների միաձուլումը տարբեր շղթաներից

(Բաժին ՝ Էկոհամակարգ և ցանց)

1) Ինչո՞ ւ է անհրաժեշտ միաձուլումը

Միաձուլումը (cross-chain merge) համախմբում է իրադարձություններ/վիճակներ տարբեր շղթաներից, կամուրջներից և ծառայություններից մեկ կոնսիստենտային տվյալների մոդելի մեջ ֆինանսական հաշվետվությունների, վերլուծաբանների, anti-froda, դիտարկման և սննդի օբյեկտների համար։ Նպատակները

Ճշմարտության միակ աղբյուրը (canonical facebook), երբ գոյություն ունի տարբեր լոգարաններ։

Ռեգորների և ձերբակալությունների դիմադրությունը ճիշտ վերջնական և փոխկապակցված է։

Համեմատությունը ցանցերի և ակտիվների միջև։

Թափանցիկ lineage և որակի վերահսկումը և կարգավորողների համար։

2) Աղբյուրներն ու տվյալների դասարանները

1. Onchein: բլոկներ, գործարքներ, լոգներ, վերնագրեր, վիճակներ։

2. Կամուրջներ/ռելեերներ ՝ 108, քվիտանիա, ապացույցներ, եզրափակիչ արձաններ։

3. L2/DA շերտերը 'բամբեր, հրատարակություններ, լճակներ, վիճարկման պատուհաններ։

4. PMS/KYC/KYB/AML 'հիբրիդային կարգավիճակներ, ստուգումներ, սանկցիոն հիթեր։

5. Սննդի իրադարձությունները 'ուռուցքաբանություն, դեպոզիտներ/վճարումներ, խաղային և վարքագծային իրադարձություններ։

6. Տեղեկատուներ ՝ ցանցեր, ակտիվներ, decimals, chainID, ռուսական, MSK տարբերակներ։

Յուրաքանչյուր աղբյուրի համար գրանցվում են սեփականատերը, սխեման, նորարարության լամը, վերջնական պատուհանը, ապացույցների ձևաչափը և SLO-ը։

3) Միաձուլման էքսպլեյնի ճարտարապետությունը

Ingest (Merge/webhook) www.R.R./Bultze (անփոփոխ հումք) ww.Clean/Silver (նորմալացում և dedup) www.Merge/Windows (կանոնական փաստեր և կապեր) Windows (ֆինանսներ/ռիսկ/ռիսկ/վիրահատություն) LAP/API/որոնում)։

Հիմնական հատկությունները 'idempotention, սխեմաների տարբերակումը, replay/backfill, late you 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-ապացույցը ցանցի/ակտիվի/ռիսկի միջոցով։

Altayed Finalization-ը մեծ գումարների համար։

Reorg handling 'ավտոմատ հաշմանդամություն և replay։

Proof coverage: Պրուֆների/հարցերերի հետ ձայնագրությունների մասը sLO-ն է։

6) Ժամանակի և արժույթների նորմալացումը

Ժամանակը 'բոլոր Timestampions UTC-ում, պահել «observed _ at» և «event _ at»։

FX/ակտիվների գինը 'վերահաշվարկ' «usd _ value» փոխարժեքով '«observed _ at» (կամ «event _ at» - հաշվետվության համար, որոշվում է քաղաքականությամբ)։

Decimals/scale: Քանակությունների խիստ կանոնականացումը համեմատության համար։

Ժամային գոտիները զեկույցներում 'կտրում են ընտրելիս (վիտրինը), ոչ թե գրանցամատյանում։

7) Idempotenty և deduplication

Դեդուպի հիմնական բանալին

`idempotency_key = chainId|block_height|tx_hash|log_index|type`

Կանոնները

Մի քանի ինդեքսերներից կրկնությունները upsport-ն են idempotency _ key-ով։

Payload-ի հակամարտության ժամանակ աշխատում է policy of truth (աղբյուրի/տարբերակը/ժամանակը)։

Դեդուպի պատուհանը պահվում է 3848-72 ժամ «թափառող» խոհարարների համար։

8) Entity Resolution (էակների համեմատություն)

Ստանիսլավ ակտորները 'դրամապանակ/պայմանագիր ռուսական օգտագործողը/կազմակերպությունը/դերը։

Քրոս շղթայի կապերը ՝ hard-link (ստորագրություն/kyc), soft-link (վարք/գրաֆիկ)։

Կեղծանունացում 'կայուն PID/ORG _ ID; PII-ը պահպանվում է տվյալների բազայում։

9) Միաձուլման և գերակայությունների կանոնները (Policy)

1. Թարգմանության ճշմարտության աղբյուրը onchin իրադարձությունն է 'finalized' + pruf։

2. Ագրեգատների ճշմարտության աղբյուրը «transfers 'bridge _ transfers» աղյուսակի խմբագրությունն է, ոչ թե «հումքը»։

3. Ժամանակի հակամարտությունը (event _ at vs observed _ at) - հաշվետվության քաղաքականության վրա (ֆինանսներ - event _ at; վիրահատություն - observed _ at)։

4. Գումարների/ակտիվների հակամարտությունը մերջի և կարանտինի կանգնելն է մինչև ռուսական ակտիվների նվազեցումը։

5. Մոստային կապերը պահանջում են երկու կողմերի քվիտանտներ (www.c/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» իրադարձությունների համար (միայն դաշտերի ավելացումը)։

Medracom-ը աղբյուրների հետ 'CI-ի թեստեր, սխեմաների ոսպնյակներ։

12) Տվյալների որակը ՝ SLI/SLO

SLI (օրինակ)

Freshness p95: lag ingest no Gold (րոպե)։

Completeness%, ձայնագրությունների մասը, որոնք հասել են «finalized» պատուհանի սահմաններում։

Medrectness% ՝ վալիդային սխեմաներ/ստորագրություններ/պրուֆներ։

Proof Coverage%, կանոնական ձայնագրությունների մասը պրուֆների/հարցերներով։

Dedup Efficiency-ը դուբլների մասն է, որոնք կլանված են idempotent-ով։

Reorg Handling Success% 'ճիշտ հաշմանդամություն և replays։

SLO (կենտրոններ): Freshness 243 րոպե (հոսք )/15 րոպե (բատչ); Completeness ≥ 99. 7%; Correctness ≥ 99. 9%; Proof Coverage ≥ 99. 0%; Reorg Success ≥ 99. 9%; Merge MTTR (պատահականություն) 3830 ռուբլիներ

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-ի, MSK տարբերակների տարբերությունները։

Quality & Drift: completeness/correctness, schema drift, late data.

Finance Lens: GTV, Net Flow, TVL շղթաներով/կամուրջներով (միայն «finalized»)։

14) Կազմաձևում (YAML)

Finance պատուհանները

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

Idempotention/dedup

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

15) Գաղտնիությունը և կոմպլենսը

PII-նվազեցումը 'PID/ORG _ ID, PII արգելքը մետրերում/պիտակներում։

Euresidency: Տարածաշրջանների սեգրեգացիան (EU/ROW), կոդավորումը «հանգստի/ճանապարհին»։

Հեռացման իրավունքը 'tombstone/redaction իրադարձությունները ապացուցված օգտագործման հետ։

Աուդիտ 'անփոփոխ ամսագրեր, անհեթեթություն, դերերի հասանելիության ստուգում։

16) Վիրահատական խորհրդատվություններ

Ամեն օր, proof coverage-ը, շղթաների, կամարների և www.g-draif-dreafe-ի վերջնական տեղայնացումը։

Ամեն շաբաթ, ռուսական ակտիվների/decimals-ի ստուգումը, FX-նորմալիզացիայի ճկունությունը։

Ամեն ամիս 'reorg/replay թեստեր, SLO ստուգում և սթրեսային արտադրողականության թեստ։

Change Live: Timelock-ը merge քաղաքականության փոփոխության վրա, լուծումների ամսագիրը։

17) Playbook 2019

A. Rassinhron ակտիվներ/decimals

Ստոպը համապատասխան ակտիվների, արձագանքների, վիտրինի վերահաշվարկի, թիվ 24 զեկույցի վերաբերյալ

B անկում Proof Coverage

Mercement/ancering-ը, լոգիստիկայի մակարդակի բարձրացումը, 100 կետերի ձեռքով ընտրությունը, զեկույցը։

Picki Reorg/Challenge/Challenge

Ավելացրեք 'k '/բանավեճի պատուհանը, միացրեք www.ayed finalization մեծ գումարների համար, տեղեկացրեք հետաքրքրներին։

Խստացնել TTL/բանալին, սահմանափակել «աղմկոտ» աղբյուրները, ներառել կարանտին-կոդերը։

E. Dreef Time (Time skew)

NTP/PTP-ի համաժամացումը, պատուհանների վերահաշվարկը, որը նախատեսում է «www.fer: observed _ at» քաղաքականության շարժումը։

18) Ներդրման թուղթ

1. Տեղադրեք աղբյուրները, պատուհանները և ապացույցները։

2. Ներդրեք իրադարձությունների կանոնական սխեմա և գաղափարախոսության բանալին։

3. Պարեք dedup և merge քաղաքականություն quarantine-կոնտուրի հետ։

4. Բարձրացրեք ակտիվների/ցանցերի և FX-նորմալիզացիան։

5. Իրականացրեք replay/backfill և late-ի վերամշակումը։

6. AlekSLI/SLO-ը և որակի դասերը։

7. Վերստուգիչ անկերինգը և աուդիտի ամսագրերը։

8. Անցկացրեք օդաչու 'ռելորգների/կամուրջների ուշացումների սիմուլյացիաներով և տեղադրեք MTTR-ը։

19) Գլոսարիա

Finality-ը պետության/իրադարձությունների անդառնալի է։

Reorg-ը շղթայի փոխպատվաստումն է բլոկների մի մասի վերացման հետ։

Idempotency-ը ֆինանսական առաքման դիմադրություն է։

Proof Coverage-ը վալիդային ապացույցներով ձայնագրությունների մասն է։

Entity Resolution-ը մեկ էության հասցեների/հաշիվների համեմատությունն է։

Altayed Finalization-ը բարձր ռիսկային գումարների համար կրճատված ընդունումն է։

Quarantine-ը հակամարտական/կասկածելի գրառումների համար մեկուսացված հոսք է։

Արդյունքն այն է, որ միջանձնային տվյալների ճիշտ միաձուլումը կառավարվող կարգապահությունն է 'կանոնական սխեմա, վերջնական և պրոֆիլիզացիա, խիստ կուռք, թափանցիկ միաձուլման քաղաքականություն և որակի դիտարկում։ Այս շրջանակին հետևելով ՝ էկոհամակարգը ստանում է միասնական, ստուգված և կայուն տվյալների շերտ, որը հիմք է հանդիսանում ապրանքների արտադրության, վերլուծության և անվտանգ մեծացման համար։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Telegram
@Gamble_GC
Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։