-
moneromooo
hyc: if I call a loop of m_db->have_block(H); sleep(1) in a thread, without an overarching db txn, and at some point another thread adds the block H, which did not exist prior to the addition, will have_block switch from returning false to true at roughly the right time ?
-
moneromooo
If sounds "yes, duh", but it's unclear when a read txn "resets".
-
hyc
if there's no overarching txn, then yes, that call gets a new txn each time
-
hyc
and a new txn always sees the current state of the DB at its time of creation
-
moneromooo
ty
-
hyc
so, yes, duh. :P
-
FROMSOUTHWEST
i first started monero as a gui and clicked on remote node. but now I started monerod to run a fullnode myself. will my gui recognize it when restarting or do I have to reconfigure it?
-
selsta
FROMSOUTHWEST: select local node inside Settings -> Node
-
FROMSOUTHWEST
ok, thx
-
selsta
.merge+ 7234 7235 7220 7249 7246 7247 7248
-
xmr-pr
Added
-
selsta
.merge+ 7250
-
xmr-pr
Added
-
selsta
vtnerd: please also 7251 against master so that we don’t go out of sync
-
selsta
.merge+ 7251
-
xmr-pr
Added
-
one-horse-wagon
Is there a limit on number of i.p. addresses you can have in the ban-list for monerod?
-
Mmmmmmmmmm
Based on my limited experience working with the JsonRPC, I'd say No. `std::map<std::string, time_t> blocked_hosts = m_p2p.get_blocked_hosts();` Blocked hosts are stored in a map that can get as large as you'd like it to be
-
one-horse-wagon
I've got 2833 addresses blocked, including all TOR exit nodes on my two full nodes to see if it stops the nonsense.
-
selsta
-
Mmmmmmmmmm
I'm not accepting incoming connections :D
-
selsta
that works too lol
-
one-horse-wagon
There are a number of i.p. addresses on your list that are not on mine. I'm going to combine both lists, get rid of the duplicates and use it.
-
selsta
mine is tor exit nodes + relay nodes with 18080 exit policy
-
Mmmmmmmmmm
What's the ethos on allowing people to make mistakes? For example, in my API I can theoretically allow anyone to send an unlock_time of up to uint64_t. But that unlock_time (the largest unsigned 64 bit integer) is literally an eternity. Should I cap the unlock_time value at 1 year's worth of blocks? Say, throw an exception? In C# there is no
-
Mmmmmmmmmm
overflow checking, so if someone does 0 - 1, they'll get ulong.MaxValue (18,446,744,073,709,551,615), which is a long time to be waiting for your funds to unlock :)
-
one-horse-wagon
My list is a complete listing of all tor exit nodes. I'm missing your relay nodes . Combining and getting rid of duplicates will add them in.
-
selsta
-
selsta
I don’t think other APIs limit this
-
Mmmmmmmmmm
If someone accidentally misuses the API and sends funds with an unlock time of 18 quadrillion blocks, I'm getting a hitman called on me.
-
selsta
lol
-
Mmmmmmmmmm
Maybe I'll add a Safe and Unsafe transfer mode
-
Mmmmmmmmmm
Imagine Hodling for 18 Quadrillion blocks...
-
ndorf
diamond hands
-
MarkoSK90
jess: I can tell you why you can't defeat the 'spam'. You are thinking in cult doctrine. If it was real spam, and I was selling Viagra for example - you could easily ban keywords and urls. Instead, stop being a sheep, think like a cult leader. Recoginse that this 'spam' is just some bullshit that you tell to the sheep.
-
FROMSOUTHWEST
how can the miner retrieve the fee when the amount of the outputs being send is hidden?
-
moneromooo
Go through all the txes included in a block, sum up the fees, add that to the subsidy.
-
moneromooo
Output amounts being hidden is irrelevant.
-
FROMSOUTHWEST
does the miner calculate the fee of every transaction himself?
-
FROMSOUTHWEST
sry im a bit confused
-
TheCharlatan
FROMSOUTHWEST the tx fee is in plaintext in the transaction. The output commitments only commit to 0 with the fee taken into account.
-
FROMSOUTHWEST
ah ok. so i just subtract the fee amount from my change?
-
moneromooo
If you send X, using Y, and the fee is F, you will get back Y-X-F as change.
-
FROMSOUTHWEST
ok, thx
-
FROMSOUTHWEST
is the blockreward penalty only when the block size is bigger than 300kb or also when the block the block size is bigger than the average of the last 100 blocks?
-
moneromooo
Bigger than the median of the last N blocks, possibly with a delay.
-
mj-xmr
Hi and welcome in the New Year.
-
mj-xmr
My browser crashed. Was there any feedback on my initial ML attack detection proposal? If yes, please kindly copy-paste it. (I need to install that bouncer today)
-
Lyza
my node is currently unresponsive to RPC, but isn't using more ram or cpu than normal. is there like, a new fun thing going on?
-
dgoddard
@Lyza is monerod process in a running state? Is the machine as a whole otherwise responsive?
-
Lyza
<dgoddard> yes
-
Lyza
just restarted and it looks like I'm about 700 blocks /24 hours behind
-
selsta
Lyza: which version are you running?
-
Lyza
0.17.1.8
-
selsta
dns blocklist enabled?
-
Lyza
yes and also using block_tor_new.txt
-
selsta
ok, DNS blocklist has a deadlock
-
Lyza
which Ik is redundant but I was still getting oom errors without the tor stuff blocked
-
selsta
that can trigger if you are unlucky
-
Lyza
oh ew ok will disable for now then
-
selsta
it is fixed in code already
-
Lyza
cool
-
selsta
will be included in the next release
-
Lyza
perfect, looking forward to being able to use that and stopblocking tor exit nodes, even though people shouldn't be using exit nodes to connect to me =P
-
dgoddard
-
selsta
for what?
-
selsta
-
dgoddard
ty
-
FROMSOUTHWEST
can someone explain me what deadlock banning is
-
selsta
it means the daemon freezes if it tries to ban peers while it is currently updating the peer list
-
selsta
just a bug, not an attack
-
selsta
it also happens only rarely
-
sech1
.9 tag when?
-
selsta
soon^tm, still trying to set the object limit so that it does not break wallet synv
-
selsta
xync
-
selsta
.merges
-
xmr-pr
7220 7234 7235 7237 7239 7243 7244 7246 7247 7248 7249 7250 7251
-
Lyza
calling monerod ban with a ban list spams the absolute hell out of the log file if it's a long list like block_tor>new.txt -- just saying
-
selsta
spams 1000 entries?
-
selsta
or more than 1 per ip?
-
sech1
1 per ip
-
sech1
but I don't care, my bitmonero.log is already 45 MB :D
-
selsta
not sure how else to do this apart from printing the IPs that are getting banned
-
Lyza
yeah is only 1 per entry but still, would be nicer I think to just say like 'loading file whatever.txt into ban list' or w/e
-
Lyza
just makes it annoying to look for anything else in the logs, my logs are like 98% so and so is blocked because I update the ban list once an hour
-
moneromooo
man 1 grep
-
Lyza
lol thanks yeah I can use grep, could probably get better at it. still though.
-
Lyza
*shrug* I ain't arguin it was just a thought. seems a bit much to me
-
selsta
which log level do you use?
-
Lyza
the default, zero
-
Lyza
honestly it's ban enough that I'm going to go back to downloading the new list, diffing them, and banning the new entries one at a time. the way @ban works now, it takes a full ~20 seconds to run as it appears to load the every entry in the list one at a time, every time
-
selsta
you mean the ban @filename command?
-
Lyza
yes
-
selsta
ok, weird
-
selsta
it takes less than 1 second on my system
-
Lyza
weird
-
selsta
ssd?
-
Lyza
nah it's a spinning raid5
-
selsta
maybe that’s why
-
Lyza
not sure why it would cause that much disk io
-
Lyza
ok looking at older logs, it did load faster when I wasn't actively syncing, I was still finishing up from being a day behind
-
selsta
with .9 hopefully the ban list will be less important again
-
Lyza
hopefully :)
-
Lyza
selsta do you know if the monerod freezing issue also happens with the ban command, or just the dns based bans?
-
selsta
both
-
Lyza
cause my RPC seems frozen again, even though I'm synced with the network
-
Lyza
ah shit
-
Lyza
well damn
-
selsta
hmm
-
selsta
if you only apply the ban list on start
-
selsta
it should not happen
-
selsta
with the next version it can't freeze anymore
-
Lyza
roger that I'll just restart monerod to update the ban list for now, and only update it like once a day
-
selsta
the longer the ban list the higher the chance for it to freeze
-
Lyza
makes sense, unfortunately I was still crashing from OOM without blocking the tor nodes
-
selsta
.merge- 7248
-
xmr-pr
Removed
-
selsta
^ readded once confirmed
-
selsta
.merges
-
xmr-pr
7220 7234 7235 7237 7239 7243 7244 7246 7247 7249 7250 7251
-
selsta
Snipa luigi1111w? :)
-
selsta
moneromooo: I assume
monero-project/monero #7254 will result in less bans, right?
-
selsta
due to them being deprioritized after kicking once
-
moneromooo
Likely.
-
science
why I got so little connected incoming peers after switching to 0.17.1.8, maybe i messed up my firewall settings or new nodes cant connect to old nodes and vice versa?
-
selsta
how many do you have?
-
selsta
did you just freshly start your node?
-
science
yeah i think im getting more, but I used to get more new connection quicker after freshly starting my node, but its ok i guess
-
selsta
mine have between 40-70 incoming connections which seems normal on v0.17.1.8
-
science
I got 9 incoming peers after 15mins FYI
-
selsta
that sounds normal
-
mj-xmr_
I'll ask my question in a different way: If I spend time on properly analysing the banning problem from a ML perspective, create a proper CCS proposal, and in the end provide an elegant self-adapting solution, would you be fine accepting it or are you in a way ML averse? Or have some questions that need clarifying?
-
moneromooo
How good it is, whether it can adapt well (ie, no overfitting to current weather), whether it needs gobs of CPU, how much new code it needs...
-
moneromooo
Who knows in advance without more info ?
-
moneromooo
Oh, and how much type 1/2 errors.
-
moneromooo
Guess it's how good it is.
-
mj-xmr_
OK. You're not ML averse, just skeptical. This is OK for me.
-
mj-xmr_
So these questions I will be able to answer once I'm nearly ready with this. So just to mention that if I go in this direction (which is a large investment), and I provide satisfying results, I understand that you'd accept it.
-
mj-xmr_
as far as I understand.
-
moneromooo
I'll refer you to my previous line :)
-
mj-xmr_
There are methods to make it good. It requires time.
-
mj-xmr_
And imagine a situation that I work like a dog, I'm satisfied and can prove that it's good and somebody tells me - not acceptable, because Skynet, I'd be quite sad :)
-
mj-xmr_
Overfitting can be mitigated by simulating various random time series processes. I imagine, that I'd define a few bad agents, which after a period of silence, would suddenly start spamming. The quality would be measured by the amount of 1/2 errors.
-
mj-xmr_
*few bad agents and many good agents of course.
-
mj-xmr_
And by saying "time series process" I mean for instance the distribution of traffic over time.
-
moneromooo
That kinda screams for a proxy, does it not.
-
moneromooo
Then you can go wild.
-
mj-xmr_
Proxy in what meaning? I imagine that each node would have a pre-trained model and would in parallel do an on-line training, and perhaps make an ensemble method of both.
-
moneromooo
Proxy being MITM software.
-
mj-xmr_
I don't understand where MITM software fits to what I'm saying.
-
mj-xmr_
I come from a bit different field :)
-
moneromooo
Software that runs between monerod and the network.
-
moneromooo
Which then decides whether allow some traffic or not.
-
mj-xmr_
OK I'd say that the monerod would just have a class that does it.
-
mj-xmr_
No need to making an another binary, from my perspective.
-
mj-xmr_
I just need to hook some filter into the part, which has access to realtime traffic flow, nothing more.
-
luigi1111w
.merges
-
xmr-pr
7220 7234 7235 7237 7239 7243 7244 7246 7247 7249 7250 7251
-
luigi1111w
.soon
-
mj-xmr_
I think this makes an easier architecture, but I'm open for other opinions.
-
mj-xmr_
Can somebody tell me how you extend the ban list currently? By hand? Is there a class that tries to do it automatically?
-
moneromooo
Call block_host on the p2p object.
-
mj-xmr_
I shall have a look. Thanks.
-
mj-xmr_
And to make it clear - the fitness will strongly depend on the quality of the simulation. I just think, that it's quite easy to define the objective function here by answering the question "what hurts me most?". I currently imagine that it's sustained high traffic from a given host or from a set of hosts, incomparable to the traffic of other connected hosts (even if they're in minority)
-
moneromooo
I think the objective is wrong. That can be left to existing software. If you want to do some ML based analyzer, I think you should concentrate on monero specific things, not things that any existing proxy can handle.
-
moneromooo
(I assume there's already lots of existing proxies to detect/shed high traffic, but I don't know that for a fact)
-
mj-xmr_
I'm not pushing a specific solution.
-
mj-xmr_
It's just my idea how it could be handled.
-
mj-xmr_
My current idea.
-
mj-xmr_
Or in general I'm trying to address the problems, currently plaguing the development, whatever solution we choose.
-
mj-xmr_
I'm just reading up on the proxies.
-
moneromooo
It just means a separate binary, without having to plug it in another.
-
mj-xmr_
I understand now. I'm just looking for a proxy solution, being able to filter out spam.
-
selsta
I think it would make more sense for someone who has a let of network knowledge to look at our current code and search for issues / improvements, a ML solution sounds significantly more risky, especially if the underlying code still has issues.
-
mj-xmr_
I'm not a network specialist. You only have to take into account, that for Linux you'll find filtering tools, but Monero is multiplatform, so no IPTables under Windows.
-
moneromooo
do you mean no iptables, or nothing like it ? The former, maybe, but I have trouble believing you if the latter.
-
moneromooo
Then again I really don't care to discuss windows firewalls ^_^
-
mj-xmr_
I mean no iptables. The reason why I'm saying this, is that you don't want to have to maintain a different proxy for each OS. I'm just looking for something multiplatform.
-
mj-xmr_
I already figured out that for the testing part (not production), one could use several traffic generators.
-
selsta
luigi1111w: how soon is soon
-
mj-xmr_
Not sure about the actual filtering.
-
mj-xmr_
I see, that there are some GUI tools, but neither they are multiplatform, nor free / open source/
-
mj-xmr_
For limiting bandwidth.
-
moneromooo
tbh I'm not sure there'll be many people who (1) run monerod on more than one OS and (2) don't already have their preferred firewall.
-
moneromooo
So making yet another firewall just for this is likely not very productive.
-
mj-xmr_
Do you suggest then rather creating a proper firewall configuration?
-
moneromooo
No.
-
mj-xmr_
and distributing it? Or at least documenting?
-
mj-xmr_
And if a node of a Windows user doesn't actively block the bad traffic, but Linux do, because we've setup a firewall (somehow) under Linux, you'll be effectively locking out Windows users, since they will be spammed.
-
luigi1111w
tonight probably
-
mj-xmr_
It might be maybe 500 lines of portable C++ code. And by saying ML, I'm not necessarily pointing at Deep Learning stuff. Sometimes it's enough just to use a moving average and a moving standard deviations.
-
mj-xmr_
But OK. If you change your mind, you know whom to ping.
-
moneromooo
That seems ok to have in monerod. I was assuming machine learning since you mentioned it.
-
mj-xmr_
Even the linear regression is a machine learning method. So sorry for confusion.
-
mj-xmr_
Here's what I propose - I'll try to create a very rough proof of concept, if *anything* works under a poor-man's simulation of an attack, I'll create a proper CCS proposal with the initial results, and we shall talk later. Deal?
-
mj-xmr_
(and the simulation will be done via nmap)
-
moneromooo
500 lines of C++ for things like linear regression for monerod specific stuff seems ok. The same for traffic volume/endpoints doesn't IMHO. But I don't get to decide so don't feel like you have to get a deal with me.
-
moneromooo
Once a traffic volume DoS hits monerod, it's a bit late to do anything anyway.
-
mj-xmr_
Sure, I'm waiting for feedback from others.
-
moneromooo
iptables or wahtever else will be a lot faster to drop.
-
moneromooo
monerod has access to info iptables (or similar) does not, so that's what it should be using to determine whether some traffic is bad.
-
mj-xmr_
Couldn't monerod expose an ip to iptables or other FW right after detection?
-
moneromooo
Sure. Sounds good.
-
moneromooo
I'd suggest using the same scheme as currently ("dropping connection$" on some particular category).
-
mj-xmr_
Noted down.
-
mj-xmr_
-
selsta
Snipa: do you have a bit earlier time for merges than luigi?
-
selsta
Something is conflicting so we need some merges.