Skip to content

Commit 22d9951

Browse files
committed
Add mitigation of no conflicting transactions
1 parent c713d1c commit 22d9951

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

docs/threat-model.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ Notable threats to the system that could impact assets.
136136
**Likelihood**: LOW - Reduced attack surface due to coupled RB/EB production model, though possible when there are multiple eligible producers (slot / height battles).
137137

138138
**Impact**:
139-
- **Throughput**: Different SPOs create conflicting EBs, causing vote splits and potential certification failures. This leads to throughput reduction when EBs fail certification, though system recovers in subsequent stages
139+
- **Throughput**: Different SPOs create conflicting EBs, causing vote splits and potential certification failures. This leads to throughput reduction when EBs fail certification, though system recovers in subsequent stages. This can occur both from deliberate mempool partitioning, but also naturally with "short forks" in the praos chain where nodes select different chains.
140140
- **Resources**: SPO's network bandwidth and compute resources wasted on processing, propagating, and voting on conflicting EBs that cannot all be certified
141141
- **Trust**: Demonstrates network manipulation capability, though doesn't break core transaction guarantees
142142

@@ -630,6 +630,24 @@ Notable threats to the system that could impact assets.
630630

631631
**Cost**: MEDIUM - Testing infrastructure and compatibility analysis
632632

633+
### M11: No Conflicting Transactions
634+
**Addressing threats**: T1, T12
635+
636+
**Decision**: MITIGATE
637+
638+
**Control type**: By design
639+
640+
**Implementation**:
641+
- Protocol design inherently prevents conflicting transactions from reaching the chain
642+
- No permanent storage of conflicting transactions unlike concurrent variants
643+
- Ledger detects conflicts within an EB before voting
644+
- Endorsed transactions are used to update the mempool view
645+
- Data diffusion limits the number of conflicting transactions and does not amplify deliberately conflicting transaction propagation
646+
647+
**Validation**: Ensure mempool and data diffusion behavior; integration tests using conflicting transactions confirm bounded load on network and compute
648+
649+
**Cost**: NONE - Built into protocol design
650+
633651
## Review and Maintenance
634652

635653
This threat model should be reviewed and updated:

0 commit comments

Comments
 (0)