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.
This commit is contained in:
parent
83f1d863bd
commit
b10878f108
|
@ -102,11 +102,11 @@
|
||||||
|
|
||||||
|
|
||||||
#define CRYPTONOTE_DANDELIONPP_STEMS 2 // number of outgoing stem connections per epoch
|
#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_MIN_EPOCH 10 // minutes
|
||||||
#define CRYPTONOTE_DANDELIONPP_EPOCH_RANGE 30 // seconds
|
#define CRYPTONOTE_DANDELIONPP_EPOCH_RANGE 30 // seconds
|
||||||
#define CRYPTONOTE_DANDELIONPP_FLUSH_AVERAGE 5 // seconds average for poisson distributed fluff flush
|
#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
|
// see src/cryptonote_protocol/levin_notify.cpp
|
||||||
#define CRYPTONOTE_NOISE_MIN_EPOCH 5 // minutes
|
#define CRYPTONOTE_NOISE_MIN_EPOCH 5 // minutes
|
||||||
|
|
|
@ -75,11 +75,11 @@ namespace cryptonote
|
||||||
not ideal since a blackhole is more likely to reveal earlier nodes in
|
not ideal since a blackhole is more likely to reveal earlier nodes in
|
||||||
the chain.
|
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
|
testrun from a recent Intel laptop took ~80ms to
|
||||||
receive+parse+proces+send transaction. At least 50ms will be added 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
|
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};
|
constexpr const std::chrono::seconds dandelionpp_embargo_average{CRYPTONOTE_DANDELIONPP_EMBARGO_AVERAGE};
|
||||||
|
|
||||||
//TODO: constants such as these should at least be in the header,
|
//TODO: constants such as these should at least be in the header,
|
||||||
|
|
Loading…
Reference in New Issue