Adding Dandelion++ support to public networks:

- New flag in NOTIFY_NEW_TRANSACTION to indicate stem mode
  - Stem loops detected in tx_pool.cpp
  - Embargo timeout for a blackhole attack during stem phase
This commit is contained in:
Lee Clagett 2019-11-13 14:12:32 +00:00
parent 7c74e1919e
commit 02d887c2e5
25 changed files with 1562 additions and 171 deletions

View file

@ -116,7 +116,8 @@ struct event_visitor_settings
{
set_txs_keeped_by_block = 1 << 0,
set_txs_do_not_relay = 1 << 1,
set_local_relay = 1 << 2
set_local_relay = 1 << 2,
set_txs_stem = 1 << 3
};
event_visitor_settings(int a_mask = 0)
@ -548,6 +549,10 @@ public:
{
m_tx_relay = cryptonote::relay_method::none;
}
else if (settings.mask & event_visitor_settings::set_txs_stem)
{
m_tx_relay = cryptonote::relay_method::stem;
}
else
{
m_tx_relay = cryptonote::relay_method::fluff;