Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions docs/tx-ingress-control/dd.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Intro

For the first release of the network where we permit transactions, we want to retain some ability to moderate the rate of transaction ingress. This is difficult with a decentralised system and no solution can be perfect.

But assuming the majority of nodes respect default implementation and behaviour there is some control that can be achieved.

## Current Architecture

Today, when an RPC node receives a transaction, after successful validation it immediately broadcasts the transaction onto the P2P network. The issue here is that we could end up with a flood of transactions and nodes could be overwhelmed.

The knock on effect here could be nodes can't keep up with verifying ClientIVC proofs and/or transactions could be dropped causing diverging mempools.

## Proposed Changes

The only way to moderate the flow of transactions around the network is to control their ingress at source. Once a tx is being propagated it can't be impeded, to do so would exacerbate the problem of divergent mempools.

So the proposed changes are to track the average rate of transaction delivery at the p2p network, say over the last `N` seconds where `N` is configurable. If this goes beyond a configured threshold, transactions will be rejected at the RPC layer until it reduces.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't understand what's tracked exactly here. By transaction delivery, does it mean the number of txs received via JSON RPC API that this node injected into the p2p network? Or all txs that were broadcasted, including the ones received via p2p?

Copy link
Contributor Author

@PhilWindle PhilWindle Nov 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would see it as ('Transactions I received over the P2P network' + 'Transactions I introduced to the P2P network' / 'N'). My observed TPS of the network.