GH GambleHub

Farklı devrelerden verileri birleştirme

(Bölüm: Ekosistem ve Ağ)

1) Neden bir birleşmeye ihtiyacınız var

Çapraz zincir birleştirme, farklı zincirlerden, köprülerden ve hizmetlerden gelen olayları/durumları, finansal raporlama, analitik, sahtekarlık önleme, gözlemlenebilirlik ve ürün senaryoları için tek bir tutarlı veri modelinde birleştirir. Hedefler:
  • Rengarenk günlüklerin varlığında tek bir gerçek kaynağı (kanonik gerçekler).
  • Reorg ve gecikmelere karşı direnç: doğru sonuçlandırma ve yeniden hesaplama.
  • Ağlar ve varlıklar arasındaki metriklerin karşılaştırılabilirliği.
  • Denetimler ve düzenleyiciler için şeffaf soy ve kalite kontrolü.

2) Veri kaynakları ve sınıfları

1. Onchain: bloklar, işlemler, sözleşme günlükleri, başlıklar, durumlar.
2. Köprüler/römorklar: uygulamalar, makbuzlar, kanıtlar, kesinleştirme durumları.
3. L2/DA katmanlar: gruplar, yayınlar, ispatlar, meydan okuma pencereleri.
4. PSP/KYC/KYB/AML: ödeme durumları, çekler, yaptırım isabetleri.
5. Ürün etkinlikleri: Onboarding, para yatırma/ödeme, oyun ve davranışsal olaylar.
6. Dizinler: ağlar, varlıklar, ondalık sayılar, chainId, adresler, SDK sürümleri.

Her kaynak için sahip, şema, güncelleme günlüğü, sonuçlandırma penceresi, kanıt formatı ve SLO kaydedilir.

3) Füzyon boru hattı mimarisi

Ingest (ajanlar/endeksleyiciler/webhook) - Ham/Bronz (değiştirilemez hammaddeler) - Temiz/Gümüş (normalleştirme ve tekilleştirme) - Birleştirme/Çekirdek/Altın (kanonik gerçekler ve bağlantılar) - Mart (finans/ürün/risk/işletim sistemi) - Hizmet (OLAP/API/arama).
Anahtar özellikler: idempotency, schema versioning, replay/backfill, late data handling.

4) Kanonik şemalar (basitleştirilmiş)

4. 1 Olaylar (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 Çeviriler ve Köprüler (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 Varlık/Ağ Dizini (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) Sonuçlandırma, yeniden sıralamalar ve durumlar

Состояния: 'observed> confirmed (K)> finalised> invalidated (reorg)' (+ 'challenged' для optimistic).

Politikacılar:
  • Ağ/varlık/risk ile K-onayları.
  • Büyük miktarlar için Gecikmeli Sonuçlandırma.
  • Reorg kullanımı: otomatik sakatlık ve tekrar oynatma.
  • Prova kapsamı: Çubuklar/çapalar ≥ hedef SLO ile kayıtların yüzdesi.

6) Zaman ve para birimlerinin normalleştirilmesi

Zaman: UTC'deki tüm zaman damgaları, 'observed _ at've' event _ at 'depolayın.
FX/varlık fiyatları: 'usd _ value''nin 'observed _ at' (veya 'event _ at' - raporlama için, politika tarafından tanımlanan) oranında dönüştürülmesi.
Ondalık/ölçek: Karşılaştırılabilirlik için miktarların sıkı bir şekilde kanonlaştırılması.
Raporlardaki zaman dilimleri: seçim sırasında (vitrin) çözülür, çekirdekte çözülmez.

7) Kimlik ve veri tekilleştirme

Veri tekilleştirme temel anahtarı:
  • 'empotency _ key = chainId' block _ height 'tx _ hash' log _ index 'type'
Kurallar:
  • Birden fazla indeksleyiciden kopyalar - idempotency_key göre upsert.
  • Bir yük çakışması durumunda, doğruluk politikası (kaynak önceliği/sürüm/zaman) tetiklenir.
  • Veri tekilleştirme penceresi, "gezinme" tekrarları için 48-72 saat ≥ saklanır.

8) Varlık çözümü

Adresler - aktörler: cüzdan/sözleşme - kullanıcı/organizasyon/rol.
Çapraz zincir bağlantıları: sert bağlantı (imza/kyc), yumuşak bağlantı (davranış/grafik).
Takma ad: kararlı PID/ORG_ID; PII, veri denetleyicisi tarafından saklanır.

9) Birleşme kuralları ve öncelikleri (Politika)

1. Çeviri gerçeği hakkındaki gerçeğin kaynağı, 'kesinleşmiş' çevrimiçi olay + kanıtıdır.
2. Agregalar için gerçeğin kaynağı 'transferler' bridge _ transfers 'tablosunun çekirdeğidir,' hammadde'değil.
3. Zaman çatışması (event_at vs observed_at) - rapor politikasına göre (finans - event_at; İşletim sistemi - observed_at).
4. Tutar/Varlık Çatışması - Varlık kataloğu uzlaştırılana kadar bekletmeyi ve karantinayı durdurun.
5. Köprü demetleri - her iki yan makbuz (src/dst) + makbuz eşleştirmesi gereklidir.

10) Sahte sorgular ve algoritmalar

10. 1 Olayları kanonik bir "operasyona" dönüştürmek

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 Köprü çiftlerinin eşleşmesi (istochnik↔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 Reorg işleme

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) Devre ve evrim yönetimi

Sürüm oluşturma: Veri kümesi başlığında 'schema _ version', geçişler günlüğe kaydedilir.
Uyumluluk ilkesi olaylar için 'GERIYE DOĞRU'dur (yalnızca alanlar ekleyin).
Veri Kaynakları ile Sözleşmeler: CI sözleşmelerin testleri, şemaların linters.

12) Veri kalitesi: SLI/SLO

SLI (örnek):
  • Tazelik p95: lag yutmak - Altın (dk).
  • Tamamlama yüzdesi, pencerede 'Sonlandırılmış'a ulaşan kayıtların yüzdesidir.
  • Düzeltme %: geçerli şemalar/imzalar/ispatlar.
  • Prova Kapsamı %: kanonik kayıtların prova/çapalarla paylaşımı.
  • Dedup Verimliliği: Emilen almaların oranı idempotently.
  • Reorg Handling Success %: doğru şekilde devre dışı bırakıldı ve tekrar oynatıldı.

SLO (yer işaretleri): Tazelik ≤ 3 dakika (akış )/15 dakika (toplu); Bütünlük ≥ 99. 7%; Doğruluk ≥ 99. 9%; Kanıt Kapsamı ≥ 99. 0%; Reorg Başarı ≥ 99. 9%; Birleştirme MTTR (olay) ≤ 30 dakika.

13) Panolar (düzenler)

Birleştirme Ops (реал - тайм/час): Tazelik, Kuyruk gecikme, Dedup oranı, Kesinleşmiş %, Reorg sivri, Hata bütçe yanık.
Proof & Finality: prova kapsamı, p95 zincir başına kesinlik, challenge/reorg события.
Katalog Sağlığı: varlık eşlemeleri, ondalık sayılar, SDK sürümleri arasındaki tutarsızlıklar.
Kalite ve Sürüklenme: eksiksizlik/doğruluk, şema sürüklenmesi, geç veriler.
Finans Lens: GTV, Net Flow, devre/köprü ile TVL ('sadece kesinleşmiş').

14) Konfigürasyonlar (YAML)

Kesinleştirme pencereleri

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

Birleştirme ve Öncelik Politikası

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) Gizlilik ve uyumluluk

PII minimizasyonu: PID/ORG_ID, metriklerde/etiketlerde PII yasağı.
Veri ikametgahı: bölge ayrımı (EU/ROW), şifreleme "dinlenme/yolda".
Silme hakkı: kanıtlanabilir uygulama ile mezar taşı/redaksiyon olayları.
Denetim: değişmez günlükler, karma bağlantı, rol erişim kontrolü.

16) Çalışma Yönetmelikleri

Günlük: kanıt kapsamı uzlaştırması, zincir sonuçlandırması, köprü kaydı ve yapılandırma sürüklenmesi.
Haftalık: varlık kataloğunun/ondalıkların revizyonu, FX normalizasyonunun doğruluğu.
Aylık: reorg/replay testleri, SLO kontrolü ve performans stres testi.
Değişim Yönetimi: Birleştirme ilkesi değişiklikleri için zaman çizelgesi, karar günlüğü.

17) Playbook olayları

A. Desynchron varlıkları/ondalık sayıları

İlgili varlıklarda durun, kataloğu geri alın, pencereleri yeniden hesaplayın, 24 saat ≤ rapor verin.

B. Kanıt Kapsamının Düşüşü

Merclization/Anchoring, Log Up, 100 Cases Manuel Örnekleme, Rapor yeniden başlatın.

C. Reorg/Challenge Peaks

'k'/anlaşmazlık penceresini büyütün, büyük miktarlar için gecikmeli sonuçlandırmayı etkinleştirin, ilgili tarafları bilgilendirin.

D. Alma/tekrarlama patlaması

TTL dedup/anahtarını sıkın, "gürültülü" kaynakları sınırlayın, karantina devresini etkinleştirin.

E. Zaman eğriliği

NTP/PTP senkronizasyonu, pencere yeniden hesaplaması, geçici 'prefer: observed_at' politika kayması.

18) Uygulama kontrol listesi

1. Yakalama kaynakları, kesinleştirme pencereleri ve kanıtlar.
2. Kanonik olay şemasını ve idempotency anahtarını uygulayın.
3. Dedup ve birleştirme ilkesini karantina konturuyla yapılandırın.
4. Varlık/ağ kaydını ve FX normalleştirmesini yükseltin.
5. Yeniden oynatma/geri doldurma ve geç veri işleme uygulayın.
6. SLI/SLO ve kalite panolarını tanımlayın.
7. Düzenli bağlantı ve denetim günlükleri çalıştırın.
8. Reorg/köprü gecikme simülasyonları ile bir pilot uygulama yapın ve MTTR'yi yakalayın.

19) Sözlük

Kesinlik - devletin/olayın geri döndürülemezliği.
Reorg - blokların bir kısmının iptal edilmesiyle zincirin yeniden birleştirilmesi.
Idempotency - yeniden dağıtıma karşı direnç.
Kanıt Kapsamı - geçerli kanıtlara sahip kayıtların oranı.
Varlık Çözümü - tek varlık adresi/hesap eşlemesi.
Gecikmeli Sonuçlandırma - yüksek riskli miktarlar için agregalara ertelenmiş kabul.
Karantina, çatışma/şüpheli kayıtlar için izole edilmiş bir akıştır.

Alt satır: zincirler arası verilerin doğru bir şekilde birleştirilmesi yönetilebilir bir disiplindir: kanonik şema, sonuçlandırma ve kanıt, sıkı idempotans, şeffaf birleştirme politikası ve gözlemlenebilir kalite. Bu çerçeveyi izleyerek, ekosistem tek, doğrulanabilir ve sürdürülebilir bir veri katmanı alır - ürünlerin denetimi, analizi ve güvenli ölçeklendirilmesi için temel oluşturur.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Telegram
@Gamble_GC
Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.