Owner: @Álvaro Castro-Castilla
Reference
https://arxiv.org/abs/2003.11506
Key points
- Per-account operation sequencing: FastPay sequences operations on a per-account basis rather than globally. Each account has its own sequence number that only the account owner can increment, making it a "single-writer" object for outgoing transfers.
- Payment semantics: The semantic nature of payments allows FastPay to handle incoming payments asynchronously. Specifically:
- Receiving funds is always valid and cannot fail
- Receiving funds is commutative (the order doesn't matter)
- Funds can be deposited into accounts without strict ordering guarantees
- Pre-funded accounts: The system assumes all accounts are pre-funded and doesn't allow overdrafts, simplifying the validation logic.
- No atomic transfers across accounts: FastPay doesn't need to ensure atomic updates across multiple accounts simultaneously. Payments are split into two distinct operations:
- Decreasing the sender's balance (requires sequencing)
- Increasing the recipient's balance (can happen asynchronously)
- Two-phase payment process: FastPay separates confirmation from settlement. Once a transfer certificate is formed (the confirmation phase), the payment is considered final and guaranteed to proceed eventually.
- Eventual consistency model: FastPay relies on eventual consistency rather than strong consistency across all authorities.
Similarities between Soverign Zones FastPay
-
Independent updates: Nomos Zones update independently without cross-coordination, similar to how FastPay accounts can operate independently. This independence is a key factor that allows both systems to avoid full consensus.
-
Eventual inclusion: Nomos's guarantee that zone updates will eventually be included (unless the operator is malicious) is conceptually similar to FastPay's liveness guarantee for correct users.
-
Observable misbehavior: Nomos allows malicious zone operator behavior to be observed in the mempool, which parallels FastPay's public auditability property where there's cryptographic evidence for auditing correctness.
-
Sharding by domain: Both systems effectively shard work by natural boundaries (Zones in Nomos, accounts in FastPay).
Can we use this for faster finality?
This is the open question that I suggest we could pursue.
I believe that eventual consistency is sufficient for Sovereign Zones (though not for Native Zones). If we can somehow guarantee the inclusion, as soon as this guarantee is obtained (even if it the Zone update didn't yet land on chain or is finalized), the Zone operators (sequencer, nodes and wallets) can consider it “pseudo-finalized” or rather, finalized for practical purposes.
This could open the door of a mechanism that leverages this specifically for Soverign Zones.
Possible paths:
- Committee-driven attestation of the mempool tx