Flux financiers entre chaînes
(Section : Écosystème et réseau)
1) Pourquoi gérer l'argent inter-chaînes
Les flux financiers inter-chaînes (cross-chain value flows) sont des mouvements de fonds et d'obligations entre réseaux, ponts, fournisseurs de paiements et opérateurs. Objectifs :- Sécurité et finalisation : ne prendre en compte que les faits irréversibles.
- Liquidité et coût : minimiser la valeur des corridors avec des réserves suffisantes.
- Reporting et audit : traçabilité complète avec double enregistrement et prufs.
- Conformité : AML/sanctions, résidence, limites par juridiction.
2) Typologie des flux financiers
1. Dépôts : on-ramp → portefeuille/compte utilisateur (onchan/offchain).
2. Paiements : off-ramp/cryptoplats → adresse externe/PSP.
3. Traductions inter-chaînes (bridge) : lock/mint, burn/release, message-based.
4. Swaps/conversion (FX) : cross-asset/chain swap avec prix oracles.
5. Compensation et royalties : réciprocités périodiques operator↔studii↔agregatory.
6. Commissions et retenues : network fee, bridge fee, take rate, rebates.
7. Opérations de trésorerie (Trésor) : rééquilibrage de la liquidité et du hedge.
3) Rôles et contours
Pont/relais : assure le transfert des états/actifs et des proufs.
Trésor (Trésor) : réserves par chaînes/devises, limites, couverture.
PSP/On-off-rampes : cartes/ARM locaux/banques/crypto-échange.
Oracles/cotations : prix des actifs, FX et commissions.
Risque/conformité : AML/KYC/KYB, sanctions, limites de velocity.
Comptabilité/BI : double enregistrement, rapport final, rapprochement.
4) Architecture de flux (référence)
Ingest (pont/PSP/nœud) → Raw/Bronze (faits du mouvement) → Clean/Silver (normalisation, dedup, proufs) → Core/Gold (double enregistrement, positions, obligations) → Marts (finances, risques, royalties) → Serve/API (rapports, compensation, limites).
Propriétés clés : idempotence, versioning des schémas, replay/backfill, late data.
5) Finalisation, reorgs et fenêtres de dispute
Statuts : 'observed → confirmed (K) → finalized → invalidated (reorg)' (+ 'challengeged' pour les ponts optimistes).
Politiques :- K-confirmations per chain/asset/somme ('K↑' pour les gros transferts).
- Finalisation délaissée pour les montants à haut risque et les nouveaux ponts.
- Reorg handling : invalidité automatique + recalculer les agrégats.
- Proof coverage : proportion cible d'enregistrements avec des prouches valides ≥ 99 %.
6) Prix, commissions et FX
Prix : 'effective _ amount = amount − (network_fee + bridge_fee + fx_spread)'
Oracles : devis médian, protection contre l'outlier, prix time-weighted.
Une fenêtre glissante pour le cap dans les longs couloirs ; la fixation du cours sur 'observed _ at' ou 'event _ at' est par stratégie de rapport.
Fee buckets : cartes routières des commissions per corridor/asset.
7) Liquidités et limites
Réserves : bilans cibles par chaîne/actif, tampons pour les pics.
Couloirs : limites journalières, seuils de contournement du Trésor.
Rebalance : Rebridging/market-swap, cost-aware (y compris latency et fee).
Plan de stress : fallback actifs/chaînes, promotion temporaire K/fenêtre de litige.
yaml treasury:
corridors:
"eth->polygon:USDC": { daily_usd: 1_000_000, k: 20, alert_at_pct: 80 }
"polygon->eth:USDC": { daily_usd: 800_000, k: 24, alert_at_pct: 75 }
reserves:
eth: { usdc_min: 300_000, native_gas_min_usd: 25_000 }
polygon: { usdc_min: 250_000, native_gas_min_usd: 10_000 }
8) Contrats d'événements et idempotence
Événement de traduction (Async-style, YAML) :yaml event:
id: uuid type: bridge. lock bridge. mint payout. requested payout. finalized deposit. settled ts: 2025-10-31T19:00:00Z chain_id: "eth-mainnet"
asset: "USDC"
amount: "123. 45"
src: "0x..." # address/organization dst: "0x..." iban wallet_id status: observed confirmed finalized invalidated proof_ref: "merkle:..."
idempotency_key: "${chain} ${block} ${tx} ${log} ${type}"
fx: { base: "USD", rate: "1. 00", source: "oracle:v2" }
fees: { network: "1. 23", bridge: "0. 50" }
Règle de déduplication : upsert par 'idempotency _ key' dans la fenêtre ≥ 72 heures.
9) Double enregistrement et comptabilité (Core Ledger)
Schéma (SQL) :sql
CREATE TABLE ledger_entries (
id UUID PRIMARY KEY,
ts TIMESTAMPTZ,
account_dr TEXT, -- debit account_cr TEXT, -- credit amount NUMERIC (38.9),
currency TEXT, -- canonical accounting currency (for example, USD)
ref_event_id UUID,
meta JSONB
);
CREATE TABLE positions (
account TEXT PRIMARY KEY,
balance NUMERIC(38,9),
currency TEXT
);
Exemple de câblage : Traduction entre chaînes USDC (lock→mint)
`Dr Bridge Receivable (dst_chain:USDC)` / `Cr Cash (src_chain:USDC)` — при lock.
`Dr Cash (dst_chain:USDC)` / `Cr Bridge Receivable (dst_chain:USDC)` — при mint(finalized).
Les commissions sont reflétées par des lignes distinctes ('Bridge Fee Revenue', 'Network Fee Expense').
10) Rapprochement et compensation
T-rapprochement : par chaînes, actifs, fournisseurs/ponts, jour.
Match Proof : reçus des deux côtés du couloir (src/dst) et montants (avec marge d'erreur).
Dispute flow : quarantaine des anomalies (asset/decimals/amount mismatch).
Compensation des redevances : uniquement par 'finalized', FX par 'event _ at' ou 'observed _ at' - selon la politique.
sql
-- Lock/mint bundle
SELECT l. tx_hash AS src_tx, m. tx_hash AS dst_tx, l. amount, m. amount
FROM core_events l
JOIN core_events m ON m. type='bridge. mint' AND m. proof_ref = l. proof_ref
WHERE l. type='bridge. lock' AND l. status='finalized' AND m. status='finalized';
-- Daily reconciliation by asset/chain
SELECT chain_id, asset,
SUM(CASE WHEN direction='in' THEN amount ELSE 0 END) AS inflow,
SUM(CASE WHEN direction='out' THEN amount ELSE 0 END) AS outflow
FROM flows
WHERE ts::date = CURRENT_DATE - INTERVAL '1 day'
GROUP BY chain_id, asset;
11) Conformité et résidence
AML/KYC/KYB : scores, listes de sanctions, sources de fonds.
Résidence/localisation : Tokenization PII, clés de cryptage régionales, exportation par listes blanches.
Limites de velocity : per user/org/corridor/day.
Audit-trail : journaux d'accès immuables, signatures d'événements.
12) Observabilité : SLI/SLO et métriques
SLI (noyau) :- Finality p95 per corridor/asset,
- Taux de réussite des traductions,
- Proof Coverage%,
- Queue-Lag p95 (pneumatique/pont),
- FX Drift (divergence de cours),
- Liquidité Utilisation % (charge de réserve),
- Reorg/Challenge Rate,
- Dispute/Quarantine Rate.
- Finality p95 : ≤ 3-10 min (le long du couloir), Success ≥ 99. 5%,
- Proof Coverage ≥ 99. 0%, Queue-Lag P0 p95 ≤ 2 с,
- Dispute Rate ≤ 0. 2%, FX Drift ≤ 0. 3 % de la médiane.
Дашборды: Flows Core, Finality & Proofs, Treasury & Liquidity, FX & Fees, Compliance.
13) Gestion du changement
Timelock pour modifier les C/limites/couloirs ; Journal des décisions.
Versions des catalogues actifs/decimals (compatibilité uniquement « ajout »).
A/B-Inclusion de nouveaux ponts : flux canarien, limites, K.
Emergency kill-switch couloir en cas d'anomalies.
14) Configurations (YAML)
Politique de finalisation/risque
yaml finality_policy:
eth-mainnet: { k: 12, delayed_for_usd_gt: 100000 }
polygon: { k: 256 }
optimistic: { k: 0, challenge_minutes: 20, delayed_for_usd_gt: 50000 }
risk:
large_transfer_alert_usd: 25000 sanction_check: true
Règles des corridors et des commissions
yaml corridors:
- id: "eth->polygon:USDC"
fee_bps: 25 fx_source: "oracle:v2"
daily_limit_usd: 1_000_000 slo:
finality_p95_min: 6 success_pct: 99. 6
Webhook/signatures pour la compensation
yaml webhooks:
clearing:
signature: { alg: "HMAC-SHA256", header: "X-Signature", ts_header: "X-Timestamp" }
retry: { attempts: 5, backoff_ms: [200,800,1600,3200,6400], jitter: true }
15) Playbook des incidents
A. Spike reorg/invalidated
1. Soulever temporairement « K », inclure « finalized-only » ; 2) arrêter les vols à risque élevé ;
2. recalculer les agrégats ; 4) post-mortem et ajustement de la politique.
B. Chute de la couverture Proof
1. Restart Mercilly/Prevers ; 2) la quarantaine des transferts douteux ;
2. échantillonnage manuel des mallettes ; 4) rapport au Trésor/complice.
C. Manque de liquidités dans le corridor
1. Activer le rebalance/swap ; 2) augmenter les quotas fee/introduire ;
2. hiérarchiser les paiements P0 ; 4) informer les participants.
D. FX Drift/anomalies de prix
1. Changer la source de cotation ; 2) limiter les transactions importantes ;
2. effectuer le hedge ; 4) recalculer les rapports par fenêtre.
E. Déclencheur de sanctions/AML
1. Bloc opérationnel immédiat ; 2) escalade dans la conformité ;
2. la conservation des artefacts/prufs ; 4) rapport et actions en justice.
16) Chèque de mise en œuvre
1. Enregistrez les sources de flux, les couloirs et les fenêtres de finalisation.
2. Entrez les événements canoniques et la clé d'idempotence.
3. Implémentez le double enregistrement et les positions, la normalisation FX et la comptabilité des commissions.
4. Ajustez les limites/réserves et la réalance automatique.
5. Soulevez les dashboards SLI/SLO : Finality, Proofs, Liquidity, FX, Compliance.
6. Inclure les LAM/sanctions, la résidence et les pistes de vérification.
7. Effectuer des tests chaos-/DR (reorg, oracle-drift, liquidité).
8. Commencer les procédures de governance pour toute modification des couloirs/K/limites.
17) Glossaire
Finality - irréversibilité de la transaction/état.
Reorg - recalage d'une partie de la chaîne avec annulation des blocs.
Corridor est un ensemble géré de chaînes/actifs pour le transfert de valeur.
Proof Coverage est la proportion d'enregistrements présentant des preuves chiffrées valides.
FX Drift est l'écart du cap appliqué par rapport à la référence.
Double-Entrée - Double enregistrement (débit/crédit) pour la comptabilité.
Delayed Finalization - acceptation différée dans les rapports pour les montants à risque élevé.
Résultat : la gestion des flux financiers entre circuits n'est pas seulement une « passerelle d'actifs », mais une discipline de finalisation, de liquidité, de comptabilité et de complication. Les événements canoniques, le double enregistrement, les limites et les SLO le long des couloirs donnent un système vérifiable, économique et durable, prêt à l'échelle et à l'audit dans n'importe quelle juridiction.