Why does a valid signature on one chain still authorize a transfer on another?
Szansa
Cross-chain bridges sign messages to authorize transfers, but most protocols do not include the destination chain ID or action type inside the signed payload itself. An attacker who sees a legitimate signed message can broadcast it to a different chain or replay it as a different action, and the receiving contract cannot distinguish the replay from a fresh authorization. The CrossCurve bridge lost $3M in February 2026 this way, and replay-class bridge incidents have totaled over $180M with a median six-week window from deployment to first exploit. ERC-7281 standardizes cross-chain token interfaces but does not mandate domain-separated signing across the broader message layer. No enforced standard today requires that every signed cross-chain payload carry a chain ID and action-type commitment that makes re-broadcasting structurally invalid.
Dlaczego to ważne
Domain-separated signing is the missing primitive that makes a signed cross-chain message valid exactly once on exactly one chain.
Jak oceniam szansę
Wskaźnik Szansy to mój własny odczyt, a nie pomiar: jak bardzo boli, jak często daje się we znaki i jak niewiele istnieje dziś, by to rozwiązać. Wyższy wynik oznacza, że uważam problem za bardziej warty zbudowania.
Ile bólu sprawia, gdy się pojawia.
Jak często ludzie faktycznie na to trafiają.
Jak mało dobrych narzędzi istnieje dla tego dziś.
Więcej problemów wartych rozwiązania
Dlaczego nie mogę udowodnić swojej wypłacalności bez ujawniania salda?
BlockchainDlaczego przenoszenie pieniędzy między łańcuchami wciąż budzi więcej obaw niż wczesny internet?
BlockchainDlaczego zgodność z przepisami wciąż oznacza PDF i modlitwę?
BlockchainDlaczego samodzielne przechowywanie aktywów wciąż sprowadza się do wyboru między utratą kluczy a zaufaniem do firmy?
BlockchainDlaczego tokenizacja realnego aktywa nadal wymaga dziesięciu pośredników?
BlockchainStablecoins run on blockchains, and blockchains have three hard requirements that all need internet: **1. Broadcasting the transaction** A payment is just a signed message. To actually move funds, that message must be submitted to the network so nodes can receive it. **2. Consensus and finality** Validators/miners must include the transaction in a block and reach agreement that it happened. Without connectivity, no block, no settlement. **3. Verifying the sender's balance** The current state of who owns what lives on the network. Without querying it, you can't confirm the sender hasn't already spent those funds elsewhere -- the classic double-spend problem. --- **Why this is harder than it looks** Cash works offline because a physical note is self-proving and self-transferring. A stablecoin balance isn't held in a device -- it's an entry in a global ledger. "Paying" offline would mean handing over a signed promise, but the recipient has no way to know that promise isn't already spent until they reconnect. --- **Partial workarounds being explored** - **Hardware security chips** (used in some CBDC pilots, e.g. the ECB's digital euro research) -- a tamper-resistant chip holds a balance offline; the chip enforces spend limits and prevents double-spend locally, then settles when reconnected - **Lightning Network** -- payment channels allow off-chain transfers, but channel setup/teardown still needs the base layer - **Signed IOUs** -- parties can exchange cryptographic promises offline and settle later, but this reintroduces counterparty trust None of these are production stablecoin rails today. For now, no internet means no confirmed stablecoin payment.