-
Notifications
You must be signed in to change notification settings - Fork 152
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failure limit on tx proposals #3296
base: main
Are you sure you want to change the base?
Changes from 49 commits
1e52e1b
9e7465b
94f99d9
8b2b437
d818079
cf0b095
9016e8e
c4c9fb2
91bf8cd
ed3ecfe
df61256
ee2c475
72cd0d5
232f149
a32f637
3ee8518
8dcdf8d
f4e80eb
0d2ab75
9e557dd
c342f6c
ecd5836
93d6030
6b3861f
ee9ec68
bf6b2d3
429d3ea
b130c4a
31455af
3492fff
be4fd13
c9ecddf
7651276
c1014d0
f618719
9749e59
c1c00c6
2ed4c51
6c5f429
81c621d
cf078af
766fa33
94a7b15
9562735
5bd1b98
2b0c4ef
67c2284
65bd6ad
7be7728
23a168e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -69,4 +69,24 @@ message ConsensusNodeConfig { | |
|
||
// SCP message signing key. | ||
external.Ed25519Public scp_message_signing_key = 8; | ||
|
||
// Maximum number of client session tracking structures to retain in | ||
// a least-recently-used cache. | ||
// | ||
// This corresponds to Config::client_tracking_capacity | ||
uint64 client_tracking_capacity = 9; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ❓ I don't think it matters as they're all dynamically sized, but why |
||
|
||
// How many seconds to retain instances of proposed-transaction | ||
// failures, per-client. This is used to implement DOS-protection, | ||
// protecting against clients who make too many failed | ||
// transaction proposals within this span. | ||
uint64 tx_failure_window_seconds = 10; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 👍 Like the call out of the units in the name since there is no type safety. |
||
|
||
// How many tx proposal failures within the rolling window are required | ||
// before it's treated as concerning, thereby tripping denial-of-service | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💭 interestingly "denial-of-service" is often hyphenated on the interwebs. It looks like the rules are pretty loose when to hyphenate, some say since "denial-of-service" is a compound adjective it can be hyphenated. |
||
// protection? | ||
// In other words, how many failed transaction proposals are permitted | ||
// within the last tx_failure_window_seconds before a user is | ||
// disconnected or temporarily blocked? | ||
uint32 tx_failure_limit = 11; | ||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🙃 Don't think "least recently used" is a hyphenated word
Suggest looking at my comment on "denial-of-service" before deciding