diff options
author | Lee Clagett <code@leeclagett.com> | 2020-11-17 21:45:37 -0500 |
---|---|---|
committer | Lee Clagett <code@leeclagett.com> | 2020-11-17 21:45:37 -0500 |
commit | b10878f1087aec914560781bde9e0e36bc682dfe (patch) | |
tree | 00de20d28b232f4fe5945ba6dc39c989ba0ecfd6 /src | |
parent | Merge pull request #6927 (diff) | |
download | monero-b10878f1087aec914560781bde9e0e36bc682dfe.tar.xz |
Change Dandelion++ fluff probability to 20%, and embargo timeout to 39s
A 20% fluff probability increases the precision of a spy connected to
every node by 10% on average, compared to a network using 0% fluff
probability. The current value (10% fluff) should increase precision by
~5% compared to baseline.
This decreases the expected stem length from 10 to 5. The embargo
timeout was therefore lowered to 39s; the fifth node in a stem is
expected to have a 90% chance of being the first to timeout, which is
the same probability we currently have with an expected stem length of
10 nodes.
Diffstat (limited to 'src')
-rw-r--r-- | src/cryptonote_config.h | 4 | ||||
-rw-r--r-- | src/cryptonote_core/tx_pool.cpp | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/cryptonote_config.h b/src/cryptonote_config.h index a4db99f83..278fcbcab 100644 --- a/src/cryptonote_config.h +++ b/src/cryptonote_config.h @@ -102,11 +102,11 @@ #define CRYPTONOTE_DANDELIONPP_STEMS 2 // number of outgoing stem connections per epoch -#define CRYPTONOTE_DANDELIONPP_FLUFF_PROBABILITY 10 // out of 100 +#define CRYPTONOTE_DANDELIONPP_FLUFF_PROBABILITY 20 // out of 100 #define CRYPTONOTE_DANDELIONPP_MIN_EPOCH 10 // minutes #define CRYPTONOTE_DANDELIONPP_EPOCH_RANGE 30 // seconds #define CRYPTONOTE_DANDELIONPP_FLUSH_AVERAGE 5 // seconds average for poisson distributed fluff flush -#define CRYPTONOTE_DANDELIONPP_EMBARGO_AVERAGE 173 // seconds (see tx_pool.cpp for more info) +#define CRYPTONOTE_DANDELIONPP_EMBARGO_AVERAGE 39 // seconds (see tx_pool.cpp for more info) // see src/cryptonote_protocol/levin_notify.cpp #define CRYPTONOTE_NOISE_MIN_EPOCH 5 // minutes diff --git a/src/cryptonote_core/tx_pool.cpp b/src/cryptonote_core/tx_pool.cpp index 28721ee36..fd26950d3 100644 --- a/src/cryptonote_core/tx_pool.cpp +++ b/src/cryptonote_core/tx_pool.cpp @@ -75,11 +75,11 @@ namespace cryptonote not ideal since a blackhole is more likely to reveal earlier nodes in the chain. - This value was calculated with k=10, ep=0.10, and hop = 175 ms. A + This value was calculated with k=5, ep=0.10, and hop = 175 ms. A testrun from a recent Intel laptop took ~80ms to receive+parse+proces+send transaction. At least 50ms will be added to the latency if crossing an ocean. So 175ms is the fudge factor for - a single hop with 173s being the embargo timer. */ + a single hop with 39s being the embargo timer. */ constexpr const std::chrono::seconds dandelionpp_embargo_average{CRYPTONOTE_DANDELIONPP_EMBARGO_AVERAGE}; //TODO: constants such as these should at least be in the header, |