From 10c78a21d55200fb35b4f76caa8581fb4c567e29 Mon Sep 17 00:00:00 2001 From: cow9r Date: Mon, 2 Feb 2026 14:46:51 -0500 Subject: [PATCH 1/2] fix(docs): correct TxOutDelayMax from 720 to 17,280 blocks The security documentation stated the max outbound delay is 720 blocks (~1 hour) but the TxOutDelayMax constant is 17,280 blocks (~1 day). Verified against thornode commit: 83dc71a3d Source: thornode/constants/constants_v1.go:L78 --- technical-deep-dive/security.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/technical-deep-dive/security.md b/technical-deep-dive/security.md index 0edf24e..1327646 100644 --- a/technical-deep-dive/security.md +++ b/technical-deep-dive/security.md @@ -17,7 +17,7 @@ See more full details [here](https://dev.thorchain.org/bifrost/how-bifrost-works To prevent large amounts of funds from leaving the network in an instant, large outbound transactions are throttled from immediately leaving the network. Each block has an outbound value limit (currently 1000 RUNE worth) and each outbound transaction has a maximum time limit that it can be processed. This has three effects: - Each outbound transaction to compete for the next outbound block, else, it will be processed in the following block, effectively throttling the total outbound capacity of the network. This is independent of [conf-counting](https://docs.thorchain.org/chain-clients/overview#confirmation-counting). -- Large outbounds to spread across multiple blocks, up to 720 blocks (approx one hour). +- Large outbounds to spread across multiple blocks, up to 17,280 blocks (approx one day). - Ensures one large outbound request of $1,000,000 is handled the same as one million $1 outbound requests. This feature is controlled by several [Mimir](constants-and-mimir.md#outbound-transactions) values that can be changed by Node Operators as required. [Relevant PR](https://gitlab.com/thorchain/thornode/-/merge_requests/1844). From aaa240a2035db8077d5d008061a556e80b542311 Mon Sep 17 00:00:00 2001 From: cow9r Date: Mon, 2 Feb 2026 14:58:28 -0500 Subject: [PATCH 2/2] fix(docs): update outbound throttling to reference Mimir parameters MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The security documentation had hardcoded values that are now outdated: - "1000 RUNE worth" per block → now controlled by MinTxOutVolumeThreshold - "720 blocks (approx one hour)" → incorrect; delay controlled by MaxTxOutOffset and TxOutDelayMax Updated to reference the Mimir parameter names since these values are configurable and have changed from the original documentation. Current live Mimir values (as of verification): - MinTxOutVolumeThreshold: 20,000 RUNE - MaxTxOutOffset: 200 blocks (~20 minutes) - TxOutDelayMax: 17,280 blocks (code default) Verified against thornode commit: 83dc71a3d Source: thornode/x/thorchain/manager_txout_current.go --- technical-deep-dive/security.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/technical-deep-dive/security.md b/technical-deep-dive/security.md index 1327646..e4d753c 100644 --- a/technical-deep-dive/security.md +++ b/technical-deep-dive/security.md @@ -14,10 +14,10 @@ See more full details [here](https://dev.thorchain.org/bifrost/how-bifrost-works ## Outbound Transaction Throttling -To prevent large amounts of funds from leaving the network in an instant, large outbound transactions are throttled from immediately leaving the network. Each block has an outbound value limit (currently 1000 RUNE worth) and each outbound transaction has a maximum time limit that it can be processed. This has three effects: +To prevent large amounts of funds from leaving the network in an instant, large outbound transactions are throttled from immediately leaving the network. Each block has an outbound value limit controlled by `MinTxOutVolumeThreshold` and each outbound transaction has a maximum time limit that it can be processed. This has three effects: - Each outbound transaction to compete for the next outbound block, else, it will be processed in the following block, effectively throttling the total outbound capacity of the network. This is independent of [conf-counting](https://docs.thorchain.org/chain-clients/overview#confirmation-counting). -- Large outbounds to spread across multiple blocks, up to 17,280 blocks (approx one day). +- Large outbounds to spread across multiple blocks. The initial delay is capped by `MaxTxOutOffset`, then the network searches for an available slot up to `TxOutDelayMax` if blocks are full. - Ensures one large outbound request of $1,000,000 is handled the same as one million $1 outbound requests. This feature is controlled by several [Mimir](constants-and-mimir.md#outbound-transactions) values that can be changed by Node Operators as required. [Relevant PR](https://gitlab.com/thorchain/thornode/-/merge_requests/1844).