GH GambleHub

מיזוג נתונים ממעגלים שונים

(סעיף: מערכת אקולוגית ורשת)

1) למה אתה צריך מיזוג

מיזוג שרשרת משולבת אירועים/מדינות מרשתות שונות, גשרים ושירותים למודל נתונים עקבי יחיד לדיווח פיננסי, אנליטיקה, אנטי הונאה, תצפית ותרחישי מוצר. מטרות:
  • מקור אמת יחיד (עובדות קנוניות) בנוכחות בולי עץ.
  • התנגדות להתארגנות מחדש ועיכובים: תיקון סיום וחישוב מחדש.
  • השוואת מדדים בין רשתות ונכסים.
  • שושלת שקופה ובקרת איכות לביקורת ולרגולטורים.

2) מקורות מידע ושיעורים

1. בלוקים, עסקאות, יומני חוזה, כותרות, מדינות.
2. גשרים/טריילרים: יישומים, קבלות, ראיות, סטטוסים.
3. L2/DA שכבות: חבורות, פרסומים, הוכחות, חלונות אתגר.
4. PSP/KYC/KYB/AML: מדדי תשלום, צ 'קים, פגיעות סנקציה.
5. אירועי מוצר: עלייה למטוס, הפקדות/תשלומים, משחקים ואירועים התנהגותיים.
6. ספריות: רשתות, נכסים, עשרוניים, ID, כתובות, גרסאות SDK.

עבור כל מקור, הבעלים, התרמית, יומן העדכון, חלון סיום, תבנית הראיות ו ־ SLO מוקלטים.

3) ארכיטקטורת צינור היתוך

Inneget (סוכנים/מדדים/webhook) * Raw/Bronze (חומרי גלם בלתי ניתנים לשינוי) * Clean/Silver (נורמליזציה ודדופ) * Merge/Core/Gold (עובדות קנוניות וחיבורים) * Marts (פיננסים/מוצר/סיכון/מערכת הפעלה) # SERP ERB.
מאפייני מפתח: אידמפוטנטיות, סכימה, הילוך חוזר/הילוך אחורי, טיפול במידע מאוחר.

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) פיניקליזציה, שינויים וסטטוסים

expected # vised (K) # finalided (reorg) '(+' agracted 'expective).

פוליטיקאים:
  • אישור K על ידי רשת/נכס/סיכון.
  • פיטורליזציה מאוחרת עבור סכומים גדולים.
  • טיפול מחדש: נכות אוטומטית והילוך חוזר.
  • כיסוי הוכחה: אחוז הרשומות עם מוטות/עוגנים SLO מטרה.

6) נורמליזציה של זמן ומטבעות

זמן: כל קצות הזמן ב ־ UTC, לאחסן ”נצפה _ at' ו ־” event _ at'.
מחירי FX/נכס: המרה של usd _ value בקצב של ”נצפה _ at' (או” אירוע _ at' - לדיווח, המוגדר על ידי מדיניות).
עשרוניות/קנה מידה: קנוניזציה קפדנית של כמויות להשוואה.
אזורי זמן בדו "חות: נפתר במהלך בחירה (תצוגה), לא בליבה.

7) זהות ושכפול

מפתח בסיס שכפול:
  • 'Idempotency _ key = Id' block _ hight 'tx _ hash' log _ index 'type &pospos
כללים:
  • שכפולים מאינדקסים מרובים - נסערים על ידי idempotency_key.
  • במקרה של סכסוך מטען, מדיניות האמת (עדיפות מקור/גרסה/זמן) מופעלת.
  • חלון השיכפול מאוחסן 48-72 שעות לחזרות ”שוטטות”.

8) החלטת ישות

כתובות * שחקנים: ארנק/חוזה * משתמש/ארגון/תפקיד.
קישורי שרשרת מוצלבים: קישור קשיח (חתימה/קיק), קישור רך (התנהגות/גרף).
פסאודונימיזציה: PID/ORG_ID יציב; ה-PII מאוחסן על ידי בקר הנתונים.

9) מיזוג כללים וסדרי עדיפויות (מדיניות)

1. מקור האמת בעובדה של תרגום הוא האירוע המקוון 'סופי' + הוכחה.
2. מקור האמת של אגרגטים הוא הליבה של טבלת bridge _ transpers, ולא ”חומר הגלם”.
3. סכסוך זמן (event_at נגד observed_at) - על ידי מדיניות דיווח (מימון - event_at; מערכת הפעלה - observed_at).
4. סכסוך סכום/נכס - לעצור את אחיזה והסגר עד קטלוג הנכסים מתפייס.
5. חבילות גשר - יש צורך בקבלות משני הצדדים (src/dst) + זיווג קבלה.

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↔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) ניהול מעגל ואבולוציה

Versioning: ”schema _ version” בכותרת הנתונים, הגירות מחוברות.
מדיניות התאימות היא ”אחורה” לאירועים (הוספת שדות בלבד).
חוזי נתונים עם מקורות: בדיקות של חוזים במודיעים, קווי תכנון.

12) איכות נתונים: SLI/SLO

SLI (דוגמה):
  • רעננות p95: lag inleget = זהב (min).
  • השלמה% היא אחוז הרשומות שהגיעו ל ”פיינליזציה” בתוך החלון.
  • תיקון%: תוכנות תקפות/חתימות/הגהות.
  • כיסוי הוכחה%: שיתוף רשומות קנוניות עם הוכחות/עוגנים.
  • Dedup יעילות: פרופורציה של לוקח נספג אידמפוטנט.
  • Reorg טיפול בהצלחה%: נכות נכונה ושידורים חוזרים.

SLO (ציוני דרך): רעננות 3 סימון (זרם )/15 דקות (אצווה); שלמות ב-99. 7%; תקינות ב-99. 9%; כיסוי הוכחה 99. 0%; Reorg הצלחה -99. 9%; Merge MTTR (תקרית) על 30 דקות.

13) לוחות מחוונים (פריסות)

מיזוג מבצעים (Merge Ops): רעננות, קוויו לג, שיעור דדאפ,% סופי, קוצים Reorg, צריבה בתקציב שגיאה.
הוכחה & סופית: כיסוי הוכחה, p95 סופי לכל שרשרת, אתגר/ארגון מחדש.
קטלוג בריאות: סתירות בין מפיות נכסים, עשרוניות, גרסאות SDK.
איכות & סחיפה: שלמות/תקינות, סכימה נסחפת, נתונים מאוחרים.
Lens Finance: GTV, Net Flow, TVL by circuit/bridge (”רק”).

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) פרטיות וציות

מזעור מח ”ש: PID/ORG_ID, איסור מח” ש במדדים/תוויות.
תושבות נתונים: הפרדה אזורית (EU/ROW), הצפנה ”במנוחה/על הכביש”.
זכות למחיקה: מצבה/אירועי עריכה עם יישום מספק.
ביקורת: יומנים בלתי ניתנים לשינוי, עיגון חשיש, בדיקת גישה לחיקוי.

16) תקנות הפעלה

פיוס הוכחות, סיום שרשרת, רישום גשר וסחף הגדרות.
שבועי: תיקון של קטלוג הנכסים/עשרוניים, תקינות הנורמליזציה של FX.
מבחני ריגול/הילוך חוזר, בדיקת SLO ומבחן מאמץ ביצועי.
שינויי ניהול: timelock לשינויי מדיניות מיזוג, רישום החלטות.

17) תקריות משחק

א. נכסים דסינכרונים/עשרוניים

לעצור בנכסים המקבילים, לגלגל בחזרה את הקטלוג, לחשב מחדש את החלונות, לדווח על 24 שעות.

B הנפילה של כיסוי הוכחה

השקה מחדש של Merclization/עוגן, יומן למעלה, דגימה ידנית של 100 מקרים, דו "ח.

C. Reorg/Chalger Peaks

הגדלת חלון 'k '/מחלוקת, לאפשר סיום מעוכב עבור סכומים גדולים, להודיע למעוניינים.

D. פיצוץ של טייקים/חזרות

הדק את TTL dedup/key, הגבל מקורות ”רועשים”, אפשר מעגל הסגר.

E. זמן רזה

סינכרון NTP/PTP, חישוב חלונות מחדש, הכנה זמנית: שינוי מדיניות observed_at'.

18) רשימת מימושים

1. ללכוד מקורות, סידור חלונות וראיות.
2. יישום סכימת אירועים קנונית ומפתח אידמפוטנטיות.
3. הגדרת מדיניות מיזוג עם הסגר.
4. העלה את רשימת הנכסים/הרשת ואת הנורמליזציה של FX.
5. יישום הילוך חוזר/הילוך אחורי ועיבוד נתונים מאוחר.
6. הגדר SLI/SLO ולוחות מחוונים איכותיים.
7. הפעל רישומי עוגן וביקורת קבועים.
8. ערוך טייס עם סימולציות עיכוב מחדש/גשר וללכוד את MTTR.

19) גלוסרי

סופית - אי-הפיכות המצב/אירוע.
ארגן מחדש את השרשרת עם ביטול חלק מהלוקים.
אידמפוטנטיות - התנגדות לגאולה.
כיסוי הוכחה - היחס של רשומות עם ראיות תקפות.
רזולוציית ישות - כתובת יחידה/מיפוי חשבונות.
פינליזציה מעוכבת - דחיית קבלה לצבירים עבור סכומי סיכון גבוהים.
הסגר הוא זרם בודד לתיעוד סכסוך/חשוד.

שורה תחתונה: מיזוג נכון של מידע בין שרשרת הוא דיסציפלינה הניתנת לניהול: תרמית קנונית, סיומת והוכחה, אידמפוטנטיות קפדנית, מדיניות מיזוג שקופה ואיכות נצפית. על ידי כך, המערכת האקולוגית מקבלת שכבה בודדת, ניתנת לאימות ובת קיימא של נתונים - הבסיס לביקורת, אנליטיקה ומדידה בטוחה של מוצרים.

Contact

צרו קשר

פנו אלינו בכל שאלה או צורך בתמיכה.אנחנו תמיד כאן כדי לעזור.

Telegram
@Gamble_GC
התחלת אינטגרציה

Email הוא חובה. Telegram או WhatsApp — אופציונליים.

השם שלכם לא חובה
Email לא חובה
נושא לא חובה
הודעה לא חובה
Telegram לא חובה
@
אם תציינו Telegram — נענה גם שם, בנוסף ל-Email.
WhatsApp לא חובה
פורמט: קידומת מדינה ומספר (לדוגמה, +972XXXXXXXXX).

בלחיצה על הכפתור אתם מסכימים לעיבוד הנתונים שלכם.