Skip to content

Commit eda64b2

Browse files
committed
Add mitigation of no conflicting transactions
1 parent 9084fb2 commit eda64b2

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
@@ -138,7 +138,7 @@ Notable threats to the system that could impact assets.
138138
**Likelihood**: LOW - Reduced attack surface due to coupled RB/EB production model, though possible when there are multiple eligible producers (slot / height battles).
139139

140140
**Impact**:
141-
- **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
141+
- **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.
142142
- **Resources**: SPO's network bandwidth and compute resources wasted on processing, propagating, and voting on conflicting EBs that cannot all be certified
143143
- **Trust**: Demonstrates network manipulation capability, though doesn't break core transaction guarantees
144144

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

633633
**Cost**: MEDIUM - Testing infrastructure and compatibility analysis
634634

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

637655
This threat model should be reviewed and updated:

0 commit comments

Comments
 (0)