Transaction Lifecycle
A description of how transactions are broadcasted and finalised on pod.
Overview
Pod implements a leaderless consensus mechanism where transaction finalization occurs through validator attestations rather than traditional block creation. This approach enables rapid transaction finality through a quorum-based certification process.
Transaction States
A transaction in pod progresses through several distinct states:
Submitted: Transaction is broadcasted to the network
Validated: Individual validators have processed the transaction
Attested: Validators have provided signed attestations
Finalized: Sufficient attestations have been collected to form a certificate
Detailed Process Flow
1. Transaction Submission
When a client submits a transaction to pod:
Client sends transaction via JSON-RPC to a connected node
Node validates basic transaction format and parameters
Node forwards valid transaction to validators through consensus network
2. Validator Processing
Unlike traditional blockchain systems, pod doesn't batch transactions into blocks or rely on leader election. Instead:
Each validator independently:
Receives the transaction
Validates transaction format and signatures
Checks account balances and nonce values
If calling a smart contract function, checks that the function accepts the calldata, always ensuring enough gas was paid.
Upon successful validation, validators generate signed attestations containing:
Transaction hash
Validator's signature
3. Attestation Collection
Nodes collect attestations from validators according to their configuration:
Collect all attestations from all validators
Maintain complete network state
Track attestation quorum for all transactions
4. Certificate Formation
A transaction reaches finality when:
More than two-thirds of validators have provided attestations
The attestations are cryptographically valid
The attestations form a consistent view of the transaction
5. Transaction Finalization
Once a certificate is formed:
Nodes update their local state
Clients can query transaction status via JSON-RPC
The transaction is considered irreversible
Performance Characteristics
Pod's leaderless consensus mechanism offers several advantages:
Fast Finality: Transactions can finalize as soon as sufficient attestations are collected, without waiting for block creation
Consistent Latency: No block time variability or leader election delays
High Throughput: Parallel processing by validators without block size limitations
Best Practices
When implementing applications on pod:
Always wait for transaction finalization before considering transactions complete.
Monitor transaction receipts to verify attestation collection.
Implement appropriate error handling for transaction submission and monitoring.
Consider using verifying clients for critical applications.
Last updated