GH GambleHub

異なる回路からデータをマージする

(セクション: エコシステムとネットワーク)

1)なぜ合併が必要なのか

クロスチェーン・マージは、異なるチェーン、ブリッジ、サービスのイベント/ステートを、財務報告、分析、不正防止、オブザビリティ、製品シナリオのための単一の一貫したデータモデルに統合します。目的:
  • モトリーログの存在下での真実(正規の事実)の単一のソース。
  • 再構成と遅延に対する抵抗:正しい最終化と再計算。
  • ネットワークとアセット間のメトリクスの比較可能性。
  • 監査と規制当局の透明な血統と品質管理。

2)データソースとクラス

1.Onchain:ブロック、トランザクション、契約ログ、ヘッダー、状態。
2.ブリッジ/トレーラー:アプリケーション、領収書、証拠、確定ステータス。
3.L2/DAレイヤー:バッチ、出版物、証明、チャレンジウィンドウ。
4.PSP/KYC/KYB/AML:支払いステータス、チェック、制裁ヒット。
5.製品イベント:オンボーディング、預金/支払い、ゲームおよび行動イベント。
6.ディレクトリ:ネットワーク、アセット、小数点、chainId、アドレス、SDKバージョン。

各ソースでは、所有者、スキーム、更新ログ、最終化ウィンドウ、証拠フォーマット、SLOが記録されます。

3)融合パイプラインアーキテクチャ

Ingest (agent/indexers/webhook)→Raw/Bronze(変更不可の原材料)→Clean/Silver (normalization and dedup)→Merge/Core/Gold (canonical facts and connections)→Marts (finance/product/risk/operating system)→Serve (out system)→Serve (out (out) Serve (out (out)) (out (out (out)) out (out (out))) (out (out (out (out)) out (out (out (o).

主なプロパティ:idempotency、スキーマバージョニング、リプレイ/バックフィル、遅延データ処理。

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)確定、再編、ステータス

Сосссоo overmental: 'observed→confirmated (K)→finalized→invalidated (reorg)'(+'challenged'-楽観的)。

政治家:
  • ネットワーク/資産/リスクによるK確認。
  • 大量のための遅延ファイナライゼーション。
  • 再組織の処理:自動障害と再生。
  • 証拠の適用範囲:ターゲットSLO ≥の棒/アンカーが付いている記録のパーセンテージ。

6)時間と通貨の正常化

時間:UTC内のすべてのタイムスタンプは、'observed_at'と'event_at'を格納します。
FX/資産価格:'observed_at'(または'event_at'のレートでの'usd_value'の変換-ポリシーで定義されたレポート用)。
小数/スケール:比較可能量の厳密な正規化。
レポートのタイムゾーン:選択中に解決(ショーケース)、コアではありません。

7)アイデンティティと重複除外

重複排除の基盤キー:
  • 'idempotency_key=chainId' block_height 'tx_hash' log_index 'type'
ルール:
  • 複数のインデックスからの重複-idempotency_keyでupsert。
  • ペイロードが競合した場合、真実のポリシー(source priority/version/time)がトリガーされます。
  • 重複排除ウィンドウは、「さまよう」繰り返しのために48〜72時間≥に保存されます。

8)エンティティ解決

Addresses→actors: wallet/contract→user/organization/role。
クロスチェーンリンク:ハードリンク(signature/kyc)、ソフトリンク(behavior/graph)。
仮名化:安定したPID/ORG_ID;PIIはデータコントローラによって保存されます。

9)合併規則と優先事項(方針)

1.翻訳の事実に関する真実の源は、オンラインイベント「確定」+証明です。
2.集計の真実の源は"transfers" bridge_transfers"テーブルのコアであり"、原材料"ではありません。
3.タイムコンフリクト(event_at対observed_at)-レポートポリシー(金融-event_at;オペレーティングシステム-observed_at)。
4.「金額/資産の競合」(Amount/Asset Conflict)-資産カタログが調整されるまで保留および隔離を停止します。
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)回路と進化の管理

バージョン管理:データセットヘッダーの'schema_version'、マイグレーションがログに記録されます。
互換性ポリシーはイベントの'BACKWARD'です(フィールドの追加のみ)。
ソースとのデータ契約:CIでの契約のテスト、スキームのリンク。

12)データ品質: SLI/SLO

SLI(例):
  • Freshness p95: lag ingest→Gold (min)。
  • 完了%は、ウィンドウ内で「ファイナライズ」に達したレコードの割合です。
  • 修正%:有効なスキーム/署名/証明。
  • 証拠の適用範囲%:証拠/アンカーが付いている正規の記録の共有。
  • Dedup Efficiency:吸収されたテイクの割合。
  • Reorg Handling Success%:正しく無効にしてリプレイします。

SLO(ランドマーク):鮮度≤ 3分(ストリーム)/15分(バッチ);完全性≥ 99。7%;正しさ≥ 99。9%;証拠の適用範囲≥ 99。0%;Reorg Success ≥ 99。9%;MTTRをマージ(インシデント)≤ 30分。

13)ダッシュボード(レイアウト)

Merge Ops: Freshness、 Queue Lag、 Dedup rate、 Finalized%、 Reorg spikes、 Error-budget burn。
Proof&Finality:証拠のカバレッジ、チェーンごとのP95のfinality、 challenge/reorg соссииa。
カタログ健全性:資産マッピング、小数点以下、SDKバージョン間の不一致。
品質とドリフト:完全性/正確性、スキーマドリフト、遅延データ。
ファイナンスレンズ:GTV、 Net Flow、 TVL by circuit/bridge ('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"]

Idemotence/dedup

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

15)プライバシーとコンプライアンス

PII最小化:PID/ORG_ID、メトリック/ラベルのPII禁止。
データ居住:地域分離(EU/ROW)、暗号化「at rest/on the road」。
削除する権利:証明可能なアプリケーションを使用した墓石/redactionイベント。
監査:不変ログ、ハッシュアンカー、ロールアクセスチェック。

16)運営規程

毎日:証拠の適用範囲の和解、鎖の最終化、橋のレジストリおよび構成のドリフト。
ウィークリー:アセットカタログ/小数点の改訂、FX正規化の正しさ。
毎月:reorg/replayテスト、SLOチェックとパフォーマンス応力テスト。
変更管理:マージポリシーの変更、意思決定ログのタイムロック。

17) Playbookインシデント

A。 Desynchronアセット/小数

対応する資産で停止し、カタログをロールバックし、窓を再計算し、24時間≤に報告します。

B。証拠のカバレッジの秋

Merclization/Anchoringの再起動、ログアップ、100ケースの手動サンプリング、レポート。

C。 Reorg/チャレンジピーク

「k」/紛争ウィンドウを拡大し、大量の遅延確定を可能にし、利害関係者に通知します。

テイク/リピートの爆発

TTLのdedup/keyをきつく締めて下さい、「騒々しい」源を限って下さい、検疫回路を可能にして下さい。

E。タイムスキュー

NTP/PTP同期、ウィンドウ再計算、temporary 'prefer: observed_at' policy shift。

18)実装チェックリスト

1.ソース、ファイナライゼーションウィンドウ、エビデンスをキャプチャします。
2.正規イベントスキーマとidempotencyキーを実装します。
3.デッドアップを構成し、隔離輪郭を持つポリシーをマージします。
4.資産/ネットワークレジスタとFX正規化を上げます。
5.リプレイ/バックフィルと遅延データ処理を実装します。
6.SLI/SLOと品質ダッシュボードを定義します。
7.定期的なアンカーと監査ログを実行します。
8.reorg/bridge delayシミュレーションを使用してパイロットを実行し、MTTRをキャプチャします。

19)用語集

Finality-状態/イベントの不可逆性。
Reorg-ブロックの一部をキャンセルしてチェーンを再構成します。
Idempotency-再配達への抵抗。
証拠カバレッジ-有効な証拠を持つレコードの割合。
エンティティ解決-単一のエンティティアドレス/アカウントマッピング。
Delayed Finalization-高リスク量の集計への遅延受理。
検疫は、紛争/疑わしい記録のための孤立した流れです。

ボトムライン:チェーンデータの正しいマージは管理可能な規律です。正規のスキーム、最終化と証明、厳格なアイデンポテンス、透明なマージングポリシー、観察可能な品質。このフレームワークに従うことで、エコシステムは単一の検証可能で持続可能なデータ層を受け取ります。これは、監査、分析、製品の安全なスケーリングの基礎です。

Contact

お問い合わせ

ご質問やサポートが必要な場合はお気軽にご連絡ください。いつでもお手伝いします!

Telegram
@Gamble_GC
統合を開始

Email は 必須。Telegram または WhatsApp は 任意

お名前 任意
Email 任意
件名 任意
メッセージ 任意
Telegram 任意
@
Telegram を入力いただいた場合、Email に加えてそちらにもご連絡します。
WhatsApp 任意
形式:+国番号と電話番号(例:+81XXXXXXXXX)。

ボタンを押すことで、データ処理に同意したものとみなされます。