@@ -67,9 +67,6 @@ ProcessConfigsByRound = [
6767 MaxSyncWithErrorsAllowed = 10 ,
6868 MaxRoundsToKeepUnprocessedMiniBlocks = 300 ,
6969 MaxRoundsToKeepUnprocessedTransactions = 300 ,
70- NumFloodingRoundsFastReacting = 10 ,
71- NumFloodingRoundsSlowReacting = 2 ,
72- NumFloodingRoundsOutOfSpecs = 2 ,
7370 # MaxConsecutiveRoundsOfRatingDecrease represents the max number of consecutive rounds in which a block is not proposed
7471 # on a shard and the validators' rating could be decreased. If, for instance, a shard gets stuck for more rounds
7572 # than this value, then the validators rating decrease should stop so they won't get jailed
@@ -86,9 +83,6 @@ ProcessConfigsByRound = [
8683 MaxSyncWithErrorsAllowed = 100 ,
8784 MaxRoundsToKeepUnprocessedMiniBlocks = 3000 ,
8885 MaxRoundsToKeepUnprocessedTransactions = 3000 ,
89- NumFloodingRoundsFastReacting = 100 ,
90- NumFloodingRoundsSlowReacting = 20 ,
91- NumFloodingRoundsOutOfSpecs = 20 ,
9286 MaxConsecutiveRoundsOfRatingDecrease = 6000 ,
9387 MaxRoundsOfInactivityAccepted = 30
9488 }
@@ -519,6 +513,12 @@ ConsensusConfigsByEpoch = [
519513 SelectionGasBandwidthIncreaseScheduledPercent = 260
520514 SelectionGasRequested = 10_000_000_000
521515
516+ [AOTSelection ]
517+ # Ahead-of-Time transaction selection - pre-selects transactions before consensus round
518+ Enabled = true
519+ CacheSize = 10 # Number of pre-selection results to cache
520+ SelectionTimeoutMs = 150 # Max time for AOT selection in milliseconds
521+
522522[TrieNodesChunksDataPool ]
523523 Name = " TrieNodesDataPool"
524524 Capacity = 400
@@ -573,6 +573,9 @@ ConsensusConfigsByEpoch = [
573573 Type = " SizeLRU"
574574 SizeInBytes = 104857600 # 100MB
575575
576+ [HeaderBodyCacheConfig ]
577+ Capacity = 1000
578+
576579# PublicKeyPeerId represents the main cache used to map MultiversX block signing public keys to their associated peer id's.
577580[PublicKeyPeerId ]
578581 Name = " PublicKeyPeerId"
@@ -626,71 +629,150 @@ ConsensusConfigsByEpoch = [
626629
627630[Antiflood ]
628631 Enabled = true
629- NumConcurrentResolverJobs = 50
630- NumConcurrentResolvingTrieNodesJobs = 3
631- [Antiflood .FastReacting ]
632- IntervalInSeconds = 1
633- ReservedPercent = 20.0
634- [Antiflood .FastReacting .PeerMaxInput ]
635- BaseMessagesPerInterval = 280
636- TotalSizePerInterval = 4194304 # 4MB/s
637- [Antiflood .FastReacting .PeerMaxInput .IncreaseFactor ]
638- Threshold = 10 # if consensus size will exceed this value, then
639- Factor = 1.0 # increase the base value with [factor*consensus size]
640- [Antiflood .FastReacting .BlackList ]
641- ThresholdNumMessagesPerInterval = 1000
642- ThresholdSizePerInterval = 8388608 # 8MB/s
643- PeerBanDurationInSeconds = 300
644-
645- [Antiflood .SlowReacting ]
646- IntervalInSeconds = 30
647- ReservedPercent = 20.0
648- [Antiflood .SlowReacting .PeerMaxInput ]
649- BaseMessagesPerInterval = 6000
650- TotalSizePerInterval = 18874368 # 18MB/interval
651- [Antiflood .SlowReacting .PeerMaxInput .IncreaseFactor ]
652- Threshold = 10 # if consensus size will exceed this value, then
653- Factor = 0.0 # increase the base value with [factor*consensus size]
654- [Antiflood .SlowReacting .BlackList ]
655- ThresholdNumMessagesPerInterval = 10000
656- ThresholdSizePerInterval = 37748736 # 36MB/interval
657- PeerBanDurationInSeconds = 3600
658-
659- [Antiflood .OutOfSpecs ]
660- IntervalInSeconds = 1
661- ReservedPercent = 0.0
662- [Antiflood .OutOfSpecs .PeerMaxInput ]
663- BaseMessagesPerInterval = 2000
664- TotalSizePerInterval = 10485760 # 10MB/interval
665- [Antiflood .OutOfSpecs .PeerMaxInput .IncreaseFactor ]
666- Threshold = 0 # if consensus size will exceed this value, then
667- Factor = 0.0 # increase the base value with [factor*consensus size]
668- [Antiflood .OutOfSpecs .BlackList ]
669- ThresholdNumMessagesPerInterval = 3600
670- ThresholdSizePerInterval = 12582912 # 12MB/interval
671- PeerBanDurationInSeconds = 3600
672-
673- [Antiflood .PeerMaxOutput ]
674- BaseMessagesPerInterval = 150
675- TotalSizePerInterval = 2097152 # 2MB/s
676-
677- [Antiflood .Cache ]
678- Name = " Antiflood"
679- Capacity = 7000
680- Type = " LRU"
681- [Antiflood .Topic ]
682- DefaultMaxMessagesPerSec = 15000
683- MaxMessages = [{ Topic = " shardBlocks*" , NumMessagesPerSec = 30 },
684- { Topic = " metachainBlocks" , NumMessagesPerSec = 30 }]
685-
686- [Antiflood .TxAccumulator ]
687- # MaxAllowedTimeInMilliseconds is used as a time frame in which the node gathers transactions.
688- # After this period, collected transactions will be sent on the p2p topics
689- MaxAllowedTimeInMilliseconds = 250
690- # MaxDeviationTimeInMilliseconds represents the time in miliseconds that will cause the effectual time frame be
691- # less than the specified max value. This is used to create desynchronizations between senders as to not
692- # clutter the network exactly in the same moment
693- MaxDeviationTimeInMilliseconds = 25
632+ [[Antiflood .ConfigsByRound ]]
633+ Round = 0
634+ NumConcurrentResolverJobs = 50
635+ NumConcurrentResolvingTrieNodesJobs = 3
636+ [Antiflood .ConfigsByRound .FastReacting ]
637+ IntervalInSeconds = 1
638+ ReservedPercent = 20.0
639+ [Antiflood .ConfigsByRound .FastReacting .PeerMaxInput ]
640+ BaseMessagesPerInterval = 280
641+ TotalSizePerInterval = 4194304 # 4MB/s
642+ [Antiflood .ConfigsByRound .FastReacting .PeerMaxInput .IncreaseFactor ]
643+ Threshold = 10 # if consensus size will exceed this value, then
644+ Factor = 1.0 # increase the base value with [factor*consensus size]
645+ [Antiflood .ConfigsByRound .FastReacting .BlackList ]
646+ ThresholdNumMessagesPerInterval = 1000
647+ ThresholdSizePerInterval = 8388608 # 8MB/s
648+ NumFloodingRounds = 10
649+ PeerBanDurationInSeconds = 300
650+
651+ [Antiflood .ConfigsByRound .SlowReacting ]
652+ IntervalInSeconds = 30
653+ ReservedPercent = 20.0
654+ [Antiflood .ConfigsByRound .SlowReacting .PeerMaxInput ]
655+ BaseMessagesPerInterval = 6000
656+ TotalSizePerInterval = 18874368 # 18MB/interval
657+ [Antiflood .ConfigsByRound .SlowReacting .PeerMaxInput .IncreaseFactor ]
658+ Threshold = 10 # if consensus size will exceed this value, then
659+ Factor = 0.0 # increase the base value with [factor*consensus size]
660+ [Antiflood .ConfigsByRound .SlowReacting .BlackList ]
661+ ThresholdNumMessagesPerInterval = 10000
662+ ThresholdSizePerInterval = 37748736 # 36MB/interval
663+ NumFloodingRounds = 2
664+ PeerBanDurationInSeconds = 3600
665+
666+ [Antiflood .ConfigsByRound .OutOfSpecs ]
667+ IntervalInSeconds = 1
668+ ReservedPercent = 0.0
669+ [Antiflood .ConfigsByRound .OutOfSpecs .PeerMaxInput ]
670+ BaseMessagesPerInterval = 2000
671+ TotalSizePerInterval = 10485760 # 10MB/interval
672+ [Antiflood .ConfigsByRound .OutOfSpecs .PeerMaxInput .IncreaseFactor ]
673+ Threshold = 0 # if consensus size will exceed this value, then
674+ Factor = 0.0 # increase the base value with [factor*consensus size]
675+ [Antiflood .ConfigsByRound .OutOfSpecs .BlackList ]
676+ ThresholdNumMessagesPerInterval = 3600
677+ ThresholdSizePerInterval = 12582912 # 12MB/interval
678+ NumFloodingRounds = 2
679+ PeerBanDurationInSeconds = 3600
680+
681+ [Antiflood .ConfigsByRound .PeerMaxOutput ]
682+ [Antiflood .ConfigsByRound .PeerMaxOutput .PeerMaxInput ]
683+ BaseMessagesPerInterval = 150
684+ TotalSizePerInterval = 2097152 # 2MB/s
685+
686+ [Antiflood .ConfigsByRound .Cache ]
687+ Name = " Antiflood"
688+ Capacity = 7000
689+ Type = " LRU"
690+ [Antiflood .ConfigsByRound .Topic ]
691+ DefaultMaxMessagesPerSec = 15000
692+ MaxMessages = [{ Topic = " shardBlocks*" , NumMessagesPerSec = 30 },
693+ { Topic = " metachainBlocks" , NumMessagesPerSec = 30 }]
694+
695+ [Antiflood .ConfigsByRound .TxAccumulator ]
696+ # MaxAllowedTimeInMilliseconds is used as a time frame in which the node gathers transactions.
697+ # After this period, collected transactions will be sent on the p2p topics
698+ MaxAllowedTimeInMilliseconds = 250
699+ # MaxDeviationTimeInMilliseconds represents the time in miliseconds that will cause the effectual time frame be
700+ # less than the specified max value. This is used to create desynchronizations between senders as to not
701+ # clutter the network exactly in the same moment
702+ MaxDeviationTimeInMilliseconds = 25
703+
704+ [[Antiflood .ConfigsByRound ]]
705+ Round = 99999999
706+ NumConcurrentResolverJobs = 50
707+ NumConcurrentResolvingTrieNodesJobs = 3
708+ [Antiflood .ConfigsByRound .FastReacting ]
709+ IntervalInSeconds = 1
710+ ReservedPercent = 20.0
711+ [Antiflood .ConfigsByRound .FastReacting .PeerMaxInput ]
712+ BaseMessagesPerInterval = 280
713+ TotalSizePerInterval = 4194304 # 4MB/s
714+ [Antiflood .ConfigsByRound .FastReacting .PeerMaxInput .IncreaseFactor ]
715+ Threshold = 10 # if consensus size will exceed this value, then
716+ Factor = 1.0 # increase the base value with [factor*consensus size]
717+ [Antiflood .ConfigsByRound .FastReacting .BlackList ]
718+ ThresholdNumMessagesPerInterval = 1000
719+ ThresholdSizePerInterval = 8388608 # 8MB/s
720+ NumFloodingRounds = 100
721+ PeerBanDurationInSeconds = 300
722+
723+ [Antiflood .ConfigsByRound .SlowReacting ]
724+ IntervalInSeconds = 30
725+ ReservedPercent = 20.0
726+ [Antiflood .ConfigsByRound .SlowReacting .PeerMaxInput ]
727+ BaseMessagesPerInterval = 6000
728+ TotalSizePerInterval = 18874368 # 18MB/interval
729+ [Antiflood .ConfigsByRound .SlowReacting .PeerMaxInput .IncreaseFactor ]
730+ Threshold = 10 # if consensus size will exceed this value, then
731+ Factor = 0.0 # increase the base value with [factor*consensus size]
732+ [Antiflood .ConfigsByRound .SlowReacting .BlackList ]
733+ ThresholdNumMessagesPerInterval = 10000
734+ ThresholdSizePerInterval = 37748736 # 36MB/interval
735+ NumFloodingRounds = 20
736+ PeerBanDurationInSeconds = 3600
737+
738+ [Antiflood .ConfigsByRound .OutOfSpecs ]
739+ IntervalInSeconds = 1
740+ ReservedPercent = 0.0
741+ [Antiflood .ConfigsByRound .OutOfSpecs .PeerMaxInput ]
742+ BaseMessagesPerInterval = 2000
743+ TotalSizePerInterval = 10485760 # 10MB/interval
744+ [Antiflood .ConfigsByRound .OutOfSpecs .PeerMaxInput .IncreaseFactor ]
745+ Threshold = 0 # if consensus size will exceed this value, then
746+ Factor = 0.0 # increase the base value with [factor*consensus size]
747+ [Antiflood .ConfigsByRound .OutOfSpecs .BlackList ]
748+ ThresholdNumMessagesPerInterval = 3600
749+ ThresholdSizePerInterval = 12582912 # 12MB/interval
750+ NumFloodingRounds = 20
751+ PeerBanDurationInSeconds = 3600
752+
753+ [Antiflood .ConfigsByRound .PeerMaxOutput ]
754+ [Antiflood .ConfigsByRound .PeerMaxOutput .PeerMaxInput ]
755+ BaseMessagesPerInterval = 150
756+ TotalSizePerInterval = 2097152 # 2MB/s
757+
758+ [Antiflood .ConfigsByRound .Cache ]
759+ Name = " Antiflood"
760+ Capacity = 7000
761+ Type = " LRU"
762+ [Antiflood .ConfigsByRound .Topic ]
763+ DefaultMaxMessagesPerSec = 15000
764+ MaxMessages = [{ Topic = " shardBlocks*" , NumMessagesPerSec = 30 },
765+ { Topic = " metachainBlocks" , NumMessagesPerSec = 30 }]
766+
767+ [Antiflood .ConfigsByRound .TxAccumulator ]
768+ # MaxAllowedTimeInMilliseconds is used as a time frame in which the node gathers transactions.
769+ # After this period, collected transactions will be sent on the p2p topics
770+ MaxAllowedTimeInMilliseconds = 80
771+ # MaxDeviationTimeInMilliseconds represents the time in miliseconds that will cause the effectual time frame be
772+ # less than the specified max value. This is used to create desynchronizations between senders as to not
773+ # clutter the network exactly in the same moment
774+ MaxDeviationTimeInMilliseconds = 25
775+ # Antiflood config ends here for Supernova
694776
695777[WebServerAntiflood ]
696778 WebServerAntifloodEnabled = true
0 commit comments