-
jberman[m]
Hey all, I found and reported a bug in the decoy selection algo:
-
jberman[m]
-
jberman[m]
It's doing integer division there, but it seems it should be doing normal division. `average_output_time` is therefore underestimated. Today it's underestimated by a factor of nearly 2x (`average_output_time` should work out to ~1.9 today, but integer division rounds the result down to 1). I believe this means that the decoy distribution produced by the client would be shifted over to the right by a factor of nearly ~2 today (the output
-
jberman[m]
selected using the modified `average_output_time` approach is ~2x "later" than it should be)
-
-
jberman[m]
Fix is super simple. Just need to cast one of those values to a double. Talked about it with devs, requesting push rights to add it
-
mj-xmr
jberman[m], aaaah. Classic.
-
mj-xmr
ideally cast the divisor to double.
-
mj-xmr
and with static_cast<double?(outputs_to_consider
-
mj-xmr
>
-
jberman[m]
will do 🙂
-
-
jberman[m]
1 is probably easier than I suggested. Maybe could just try and fit the decoy selection to a gamma distribution and see how different it is from the expected shape and scale/allow some tolerance? something like that
-
wowario
also try avoid selecting coinbase outputs as decoys
-
wowario
sgp proposed the idea a few years ago
-
sarang
The point of using average output times is to avoid selection bias based on block density, to mitigate things like coinbase overselection
-
sarang
(but it helps mitigate general over- or under-selection)
-
sgp_[m]
Coinbase outputs are a different assumption though because they're already marked as a different type
-
sgp_[m]
Sanity checks have been suggested in the past but I believe the added complexity was the main drawback
-
sarang
Plus it doesn't fully solve the issues with coinbase in rings
-
jberman[m]
It would protect a user who randomly gets a distribution of 10 decoys that is off from the gamma distribution, even though their median is within the last 60% of all outputs. not sure how prevalent that is though. Though not sure how prevalent that is
-
jberman[m]
I get the complexity drawback too
-
jberman[m]
40%* of all outputs
-
jberman[m]
The client is over-requesting outputs, it just seems like it can be a bit smarter when selecting the final 10 to include to make its selection look more like others
-
UkoeHB
jberman[m]: the ring binning proposal has that effect
-
jberman[m]
true, I guess it would be a bit pointless to spend time adding complexity there if that general algorithm is going to change dramatically soon anyway
-
mj-xmr
Not a reason to win a golden medal, maybe, but ccache under FreeBSD finally works :)
-
mj-xmr
-
mj-xmr
<jberman[m]> Fix is super simple. Just need to cast one of those values to a double. Talked about it with devs, requesting push rights to add it <-- if this takes too long, and since the patch is small, you can ask sb. with the rights to put it for you, mentioning your user name.
-
jberman[m]
who's sb? I don't care to be the one to push it, seems unnecessary to hold anything back on account of that
-
sech1
I can do it
-
selsta
jberman[m]: luigi usually gives users repo access but he is afk for another week
-
jberman[m]
he mentioned to reach out to fluffy to get access before he gets back (emailed fluffy). but not a big deal, seems sech1 's got it
-
jberman[m]
I mean it would be cool to show my kids some day "this was my first contribution (really hoping of many) to the currency everyone uses every day" lol. but I'll live
-
selsta
fluffypony: ^
-
sech1
-
sech1
and #7799
-
selsta
sech1: you could use the git --author flag
-
sech1
is it something I can still do now? I used GitHub Desktop
-
selsta
do you have normal git somewhere?
-
sech1
I can open command prompt from there, but you'll have to guide me with commands
-
sech1
*git command prompt
-
selsta
ok
-
selsta
let's do in PM
-
mj-xmr
jberman[m]> who's sb? <-- sorry for being too vague, but I didn't want to shill like "just send it to me" :)
-
binaryFate
I can give github permissions too. Is everyone sorted already or can I help with anything?
-
selsta
binaryFate: can you add
github.com/j-berman to the repo?
-
binaryFate
selsta: ok I think done
-
fluffypony
ok cool j-berman has a pending invite, so that appears to be all sorted
-
jberman[m]
accepted, thanks guys
-
moneromooo
And thanks for the report and fix.
-
jberman[m]
np :)
-
mib_a0sl5msa
Hi
-
mib_a0sl5msa
I am having an issue with getmonero wallet, I didnt received my sent monero, the wallet ID is correct. What shoud I do?
-
moneromooo
Don't spam the same thing in many channels.
-
mib_a0sl5msa
Sorry, I felt I am lost my monero. I know spam wont resolve, but hopefully :D