विभिन्न सर्किट से डाटा मिलाएँ
(खंड: पारिस्थितिकी तंत्र और नेटवर्क)
1) आपको विलय की आवश्यकता क्यों है
क्रॉस-चेन मर्ज वित्तीय रिपोर्टिंग, एनालिटिक्स, एंटी-धोखाधड़ी, अवलोकन और उत्पाद परिदृश्यों के लिए एकल सुसंगत डेटा मॉडल में विभिन्न श्रृंखलाओं, पुलों और सेवाओं से घटनाओं/राज्यों को जोड़ ती है। उद्देश्य:- मोटली लॉग की उपस्थिति में सत्य का एक एकल स्रोत (विहित तथ्य)।
- पुनर्मूल्यांकन और देरी का प्रतिरोध: अंतिम रूप और पुनर्गणना को सही करें।
- नेटवर्क और आस्तियों के बीच मैट्रिक्स की तुलना।
- ऑडिट और नियामकों के लिए पारदर्शी वंश और गुणवत्ता नियंत्रण।
2) डेटा स्रोत और कक्षाएं
1. Onchain: ब्लॉक, लेनदेन, अनुबंध लॉग, हेडर, राज्य।
2. पुल/ट्रेलर: एप्लिकेशन, रसीदें, सबूत, अंतिम रूप देने की स्थिति।
3. L2/DA परतें: बैच, प्रकाशन, प्रमाण, चुनौती खिड़कियां।
4. PSP/KYC/KYB/AML: भुगतान स्थिति, जांच, स्वीकृति हिट।
5. उत्पाद कार्यक्रम: ऑन बोर्डिंग, डिपॉजिट/भुगतान, गेमिंग और व्यवहार संबंधी घटनाएं।
6. निर्देशिका: नेटवर्क, संपत्ति, दशमलव, चेनआईडी, पते, एसडीके संस्करण।
प्रत्येक स्रोत के लिए, स्वामी, योजना, अद्यतन लॉग, अंतिम रूप विंडो, साक्ष्य प्रारूप और एसएलओ दर्ज किए जाते हैं।
3) फ्यूजन पाइपलाइन वास्तुकला
इनगेस्ट (एजेंट/इंडेक्सर/वेबहुक) रॉ/कांस्य (अपरिवर्तनीय कच्चा माल) स्वच्छ/सामान्यीकरण और डीडप) मर्ज/कोर/गोल्ड (विहित तथ्य और संबंध) मार्ट्स (वित्त/उत्पाद/जोखिम/संचालन)।
मुख्य गुण: पहचान, स्कीमा वर्शनिंग, रीप्ले/बैकफिल, देर से डेटा हैंडलिंग।
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) → अंतिम रूप दिया गया → अमान्य (पुनर्ग)' (+ 'चुनौती' для आशावादी)।
राजनेता:- नेटवर्क/संपत्ति/जोखिम द्वारा के-पुष्टि।
- बड़ी मात्रा में अंतिम रूप देने में देरी।
- पुनः हैंडलिंग: स्वचालित विकलांगता और पुनरावृत्ति।
- प्रूफ कवरेज: छड ़/एंकर के साथ रिकॉर्ड का प्रतिशत - लक्ष्य एसएलओ।
6) समय और मुद्राओं का सामान्यीकरण
समय: UTC में सभी टाइमस्टैम्प्ट, 'ऑब्जर्वेटेड _ at' और 'event _ at' स्टोर करें।
FX/परिसंपत्ति की कीमतें: 'usd _ value' का रूपांतरण 'देखा _ at' (या 'event _ at' - रिपोर्टिंग के लिए, नीति द्वारा परिभाषित)।
दशमलव/पैमाने: तुलनीयता के लिए मात्रा का सख्त विमोचन।
रिपोर्ट में समय क्षेत्र: चयन के दौरान हल किया गया (शोकेस), कोर में नहीं।
7) पहचान और कमी
डीडुप्लिकेशन बेस कुंजी:- 'idempotency _ key = cheneId' block _ hight 'tx _ hash' log _ index 'type'
- कई सूचकांकों से डुप्लिकेट - upsert द्वारा upsert।
- नीतभार संघर्ष के मामले में, सत्य की नीति (स्रोत प्राथमिकता/संस्करण/समय) शुरू हो जाती है।
- डीडुप्लिकेशन विंडो को "भटकने" की पुनरावृत्तियों के लिए ≥ 48-72 घंटे संग्रहीत किया जाता है।
8) एंटिटी रिज़ॉल्यूशन
पते → अभिनेता: बटुआ/अनुबंध → उपयोगकर्ता/संगठन/भूमिका।
क्रॉस-चेन लिंक: हार्ड-लिंक (हस्ताक्षर/kyc), सॉफ्ट-लिंक (व्यवहार/ग्राफ)।
छद्म नाम: स्थिर PID/ORG_ID; पीआईआई डेटा नियंत्रक द्वारा संग्रहीत किया जाता है।
9) विलय के नियम और प्राथमिकताएं (नीति)
1. अनुवाद के तथ्य पर सत्य का स्रोत ऑनलाइन घटना 'अंतिम' + प्रमाण है।
2. समुच्चय के लिए सत्य का स्रोत 'ट्रांसफर्स ब्रिज _ ट्रांसफर' टेबल का मूल है, न कि "कच्चा माल।"
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: लैग ingest→Gold (मिनट)।
- पूर्णता% उन रिकॉर्डों का प्रतिशत है जो खिड़की के भीतर 'अंतिम' तक पहुंच गए हैं।
- सुधार%: वैध योजनाएँ/हस्ताक्षर/प्रमाण.
- प्रूफ कवरेज%: प्रूफ/एंकर के साथ विहित रिकॉर्ड की हिस्सेदारी।
- Dedup दक्षता: अनुपात का अनुपात पहचान को अवशोषित करता है।
- फिर से हैंडलिंग सफलता%: सही ढंग से अक्षम और रीप्ले।
एसएलओ (स्थल): ताजगी ≤ 3 मिनट (धारा )/15 मिनट (बैच); पूर्णता ≥ 99। 7%; शुद्धता ≥ 99। 9%; प्रूफ कवरेज ≥ 99। 0%; Reorg सफलता ≥ 99। 9%; MTTR (घटना) ≤ 30 मिनट में विलय करें।
13) डैशबोर्ड (लेआउट)
विलय ऑप्स (реал - тайм/час): फ्रेशनेस, क्यू लैग, डेडअप दर, फाइनल%, रिऑर्ग स्पाइक्स, त्रुटि-बजट बर्न।
प्रूफ एंड फाइनलिटी: प्रूफ कवरेज, प्रति श्रृंखला p95 फाइनलिटी, चैलेंज/रीऑर्ग события।
कैटलॉग हेल्थ: एसेट मैपिंग, दशमलव, एसडीके संस्करणों के बीच विसंगतियाँ।
गुणवत्ता और बहाव: पूर्णता/शुद्धता, स्कीमा बहाव, देर से डेटा।
फाइनेंस लेंस: सर्किट/ब्रिज द्वारा जीटीवी, नेट फ्लो, टीवीएल (केवल 'अंतिम')।
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 कम से कम: metrics/लेबल में PII प्रतिबंध।
डेटा रेजिडेंसी: क्षेत्र अलगाव (यूरोपीय संघ/ROW), एन्क्रिप्शन "आराम पर/सड़क पर।"
हटाने का अधिकार: सिद्ध अनुप्रयोग के साथ समाधि पत्थर/पुनर्विकास घटना।
ऑडिट: अपरिवर्तनीय लॉग, हैश एंकरिंग, रोल एक्सेस चेकिंग।
16) परिचालन विनियम
दैनिक: प्रूफ कवरेज सामंजस्य, श्रृंखला अंतिम रूप, पुल रजिस्ट्री और कॉन्फिग बहाव।
साप्ताहिक: एसेट कैटलॉग/दशमलव का संशोधन, एफएक्स सामान्यीकरण की शुद्धता।
मासिक: reorg/repray परीक्षण, SLO जांच और प्रदर्शन तनाव परीक्षण।
परिवर्तन प्रबंधन: नीति परिवर्तन, निर्णय लॉग के लिए समयसीमा.
17) प्लेबुक की घटनाएं
ए। डेसिंक्रॉन संपत्ति/दशमलव
संबंधित परिसंपत्तियों पर रुकें, कैटलॉग को वापस रोल करें, खिड़कियों को फिर से संगठित करें, ≤ 24 घंटे रिपोर्ट करें।
बी। प्रूफ कवरेज का पतन
रिलॉन्च मर्क्लाइजेशन/एंकरिंग, लॉग अप, मैनुअल सैंपलिंग ऑफ 100 केस, रिपोर्ट।
सी। रीऑर्ग/चैलेंज चोटियाँ
वृद्धि 'k '/विवाद विंडो, बड़ी मात्रा में विलंबित अंतिम रूप देने में सक्षम, इच्छुक पक्षकारों को सूचित करें।
डी। विस्फोट लेता/दोहराता है
TTL dedup/key, "शोर" स्रोतों को सीमित करें, संगरोध-सर्किट सक्षम करें।
ई. समय तिरछा
NTP/PTP तुल्यकालन, विंडो पुनर्गणना, अस्थायी 'prefer: observed_at' पॉलिसी शिफ्ट।
18) कार्यान्वयन चेकलिस्ट
1. स्रोतों, अंतिम रूप देने वाली खिड़कियों और सबूतों पर कब्जा करें।
2. कैनोनिकल इवेंट स्कीमा और आइडेम्पोटेंसी कुंजी लागू करें।
3. डीडअप कॉन्फ़िगर करें और संगरोध समोच्च के साथ नीति विलय करें।
4. परिसंपत्ति/नेटवर्क रजिस्टर और एफएक्स सामान्यीकरण बढ़ाएं।
5. रीप्ले/बैकफिल और लेट डेटा प्रोसेसिंग को लागू करें।
6. SLI/SLO और गुणवत्ता डैशबोर्ड को परिभाषित करें।
7. नियमित एंकरिंग और ऑडिट लॉग चलाएँ।
8. Reorg/bridge देरी सिमुलेशन के साथ एक पायलट का संचालन करें और MTTR पर कब्जा करें।
19) शब्दावली
अंतिम रूप - राज्य/घटना की अपरिवर्तनीयता।
ब्लॉक के हिस्से को रद्द करने के साथ श्रृंखला का पुनर्मूल्यांकन।
पहचान - पुनर्वितरण के लिए प्रतिरोध।
प्रूफ कवरेज - वैध साक्ष्य के साथ अभिलेखों का अनुपात।
इकाई संकल्प - एकल इकाई पता/खाता मानचित्रण।
विलंबित अंतिम रूप - उच्च जोखिम वाली मात्रा के लिए समुच्चय में स्थगित स्वीकृति।
संगरोध संघर्ष/संदिग्ध रिकॉर्ड के लिए एक अलग धारा है।
नीचे की रेखा: अंतर-श्रृंखला डेटा का सही विलय एक प्रबंधनीय अनुशासन है: विहित योजना, अंतिम रूप और प्रमाण, सख्त पहचान, पारदर्शी विलय नीति और अवलोकन योग्य गुणवत्ता। इस ढांचे का पालन करके, पारिस्थितिकी तंत्र डेटा की एकल, सत्यापित और टिकाऊ परत प्राप्त करता है - उत्पादों के ऑडिटिंग, एनालिटिक्स और सुरक्षित स्केलिंग का आधार।