-
tobtoht[m]
Challenge: I deposited 0.25 XMR into the wallet for which the secret spend key is 0. The first person to recover it gets to keep it. There is a hint in #feather:monero.social
-
tobtoht[m]
There's actually 0.26336 XMR up for grabs (0.01336 XMR had been sitting there for a while).
-
recanman[m]
<tobtoht[m]> "Challenge: I deposited 0.25..." <- Doesn't that mean it is a view-only wallet?
-
recanman[m]
* view-only wallet? I don't see the hint, but if the hint is the public address, then that should make it straightforward.
-
sech1
tobtoht[m] I claimed it. The amount of hackery was literally just 1 line of changed code :D
-
sech1
-
sech1
I'll leave the remaining 0.01336 XMR there so others can play
-
rbrunner
Is that again some "abbey abbey abbey" wallet stuff? Where you just have to neuter some assertion in case of a zero spend key, and there you go?
-
recanman[m]
I think so
-
recanman[m]
I am trying now
-
recanman[m]
I have never went into Monero's innerworkings
-
sech1
yes it is
-
rbrunner
We had the same challenge about 2, maybe 3 years ago. Maybe with some clever googling one can even find the code line in question
-
recanman[m]
I think I know what it is
-
recanman[m]
I think it is in simplewallet.cpp
-
rbrunner
Go for it :)
-
rbrunner
Hmmm .. wouldn't think so, but what do I know
-
recanman[m]
Where would it check for the spend key being 0
-
recanman[m]
In the place where the wallet code is?
-
rbrunner
You can't fail basically; if you don't crack the address and get the funds, you still learn some more about Monero code base, which is nice
-
rbrunner
Well, should I tell you, or try to get the funds myself? :)
-
rbrunner
Well, you have to construct a transaction. Ask yourself where in the code it does that.
-
recanman[m]
This is my first time ever looking at source code
-
recanman[m]
In monero*
-
recanman[m]
else if (ring_size == 0)
-
rbrunner
Oh the excitement then
-
rbrunner
No, the ring size shouldn't be any problem
-
recanman[m]
[wallet 41fJjQ]: sweep_all 0
-
recanman[m]
Error: Ring size must not be 0
-
rbrunner
Ok, maybe I am wrong.
-
sech1
sweep_all won't work if you scanned everything
-
sech1
some inputs are already spent, but wallet can't see it
-
recanman[m]
Then would it be sweep_unmixable?
-
sech1
you have to pick inputs one by one
-
sech1
(after you've fixed the C++ code)
-
recanman[m]
I get Error: RPC error: failed to get output histogram but I have no idea what that means
-
recanman[m]
-
recanman[m]
Send all unmixable outputs to yourself with ring_size 1
-
recanman[m]
If I make the ring size 0
-
recanman[m]
Maybe that would work
-
sech1
It had nothing to do with ring size, and you can't change it because of consensus rules
-
recanman[m]
Right, that's what I thought
-
recanman[m]
I'm "grasping at straws"
-
recanman[m]
I'm not sure what the Error: RPC error: failed to get output histogram is
-
rbrunner
Possible hint: If you have a view-only wallet, it has a spend key that is zero
-
rbrunner
(probably)
-
recanman[m]
I know that, but I don't know about the math
-
recanman[m]
I'm not sure where the secret spend key is checked for
-
rbrunner
Well, maybe if you can tell the wallet to go ahead nevertheless despite normally it would think it can't because it's a view only wallet
-
recanman[m]
I wouldn't know where the check for that is
-
recanman[m]
I'm searching through cryptonote_basic/account.h
-
recanman[m]
I don't think it's here
-
rbrunner
Cold :)
-
recanman[m]
-
rbrunner
If anybody else is reading along they might well be faster than you ...
-
rbrunner
Life is unfair
-
recanman[m]
It's 0.001xmr or something lol
-
recanman[m]
I just wanna understand this
-
rbrunner
That's the spirit
-
rbrunner
Just thinking, if we don't publish the solution too prominently, we can repeat this challenge any number of times in the future
-
rbrunner
After somebody sent in new funds of course
-
sech1
that bring a question, do we have an actual burn address in Monero?
-
recanman[m]
Yeah, I would assume most users only understand the definition of output in a way to explain it to a five year old, not know the math behind it
-
recanman[m]
* of output and other basic terms in a
-
recanman[m]
Monero to test on? There is the test net I believe
-
rbrunner
I would guess not, but not sure
-
rbrunner
(regarding burn address)
-
recanman[m]
I'm only seeing crypto::null_skey in multisignature stuff
-
rbrunner
Yeah, that's nice code written by koe probably. Older key checks for zero keys in much more hacky ways
-
rbrunner
*older code
-
recanman[m]
Oh
-
rbrunner
We don't want to make it too easy, do we?
-
rbrunner
The people to complain about "off topic" are not yet here it seems ...
-
recanman[m]
Jannies are asleep
-
rbrunner
Burning would be possible by using the same stealth address more than once, if I remember correctly.
web.getmonero.org/2018/09/25/a-post-mortum-of-the-burning-bug.html
-
sech1
right
-
recanman[m]
<rbrunner> "Yeah, that's nice code written..." <- Is it just `key == null`??
-
recanman[m]
s/`??/`?!/
-
recanman[m]
I don't see anything
-
rbrunner
You will probably have to find the method that builds txs first, and then scan that visually. Just speculating, I don't know the *exact* solution myself
-
sech1
Still "Balance: 0.013360040000, unlocked balance: 0.013360040000"
-
sech1
where is my popcorn :D
-
sech1
you're close
-
rbrunner
Yeah, wonder how many people lurk and try now
-
recanman[m]
I only see build_tx in hardware wallet stuff
-
rbrunner
We probably should indeed repeat that to motivate people to read the source code, and for some general fun
-
sech1
until someone sets up modified monero-wallet-rpc and a crontab script to sweep_all :D
-
recanman[m]
I agree, this is intriguing
-
recanman[m]
sech1: It's in the rpc?
-
sech1
no
-
recanman[m]
I'm not looking there
-
recanman[m]
oh ok
-
sech1
I used monero-wallet-cli to claim the reward
-
sech1
but monero-wallet-rpc will work too
-
recanman[m]
sech1: I'm using that now
-
recanman[m]
tx is in wallet.cpp 200+ times
-
recanman[m]
Not sure where the tx is built
-
recanman[m]
Maybe it is in unsigned_transaction.cpp
-
recanman[m]
I would assume that is where they "build" the transaction
-
rbrunner
Pretty sure I remember that last time it was luigi who claimed the funds which I found a tad unfair
-
recanman[m]
I'm about to fall asleep, but I want to understand the problem
-
recanman[m]
This is because the monero wallet does not allow a null spend key, right?
-
rbrunner
The tx building code hides in the most hideous mass of code that we have in our codebase
-
recanman[m]
And the modification is removing that check?
-
recanman[m]
How convenient
-
recanman[m]
* How convenient (I am joking)
-
kayabanerve[m]
0 has a 0 key image which is banned iirc
-
recanman[m]
Could someone explain key images to me again?
-
recanman[m]
I have a small understanding but completely forgot
-
recanman[m]
s/have/had/
-
bridgerton[m]
<MrTerminat0r> BRO
-
bridgerton[m]
FRЕЕ GIFТ DISСОRD NIТRO -
cutt.us/take-discord
-
recanman[m]
I will go to sleep now, I will try later. Very interesting challenge
-
sech1
kayabanerve[m] no, IIRC the key image was 01000....000
-
recanman[m]
Is that the public spend key?
-
kayabanerve[m]
sech1: That's the encoding of identity. The identity key image isn't allowed IIRC
-
sech1
Then how did I manage to spend it 🤷
-
sech1
all incoming tx had this image in that wallet
-
sech1
or maybe I can't spend what I received in my wallet, I didn't check yet
-
kayabanerve[m]
-
kayabanerve[m]
You can't spend anything with a 0 output key under CLSAG. Seraphis explicitly bans 0 linking tags.
-
kayabanerve[m]
A 0 spend key with a 0 view key will always produce a 0 output key. Even if it was spendable, it'd only be spendable once.
-
sech1
but I think the view key isn't 0 there
-
tobtoht[m]
Gratz sech1, I can confirm the 0.25 XMR has been claimed.
-
tobtoht[m]
yes, view key isn't 0
-
rbrunner
I hope these pesky cryptographers don't spoil all the fun :)
-
kayabanerve[m]
Ah, for a non-zero view key, then yeah, it's claimable.
-
sech1
So how do XMR end up in that wallet? Someone sending it on purpose, or some wallet bug?
-
sech1
there are not that many transactions there
-
rbrunner
I once sent in a little amount just to test whether you can transfer in normally without problems, which I think is the case. But no idea in general who sends there
-
tobtoht[m]
There is a 9+1 XMR deposit (and subsequent recovery) attributable to a seed library bug.
-
sech1
it was 9.08589+1 XMR, someone left 0.08589 XMR behind
-
sech1
which was claimed ~10 days later
-
tobtoht[m]
I think both those withdrawals were me. When I raced to recover the funds I went by what the person said they had deposited. I did send them back the full amount.
-
tobtoht[m]
I kind of expected someone to have an autosweeper for this wallet, so I was surprised to find the remaining 0.085 still there when I opened the wallet 10 days later.
-
plowsof11
<sech1> "So how do XMR end up in that..." <- a user was... packaging featherwallet ? and did something wrong? and created a version that would create a wallet with the exact same characteristics as the abbey 24x wallet, tobtoht can explain this is just from my memory
-
plowsof11
"So far, it looks like something with the way Feather was built for Fedora caused the monero-seed library to generate invalid seeds with null spendkeys." (release builds where never effected) and appears to be an isolated incident
-
plowsof11
and somewhere in this PR it was fixed
feather-wallet/feather #17/files
-
tobtoht[m]
IIRC, they/their package build system had removed an undesirable linker flag from our CMakeLists which caused some memory to not get initialized properly inside the monero-seed library. It produced valid looking mnemonic seeds, but encoded a null spendkey. Learned a valuable lesson about the importance of runtime tests that day.
-
plowsof11
-
rbrunner
Hmmm. Googled and read a bit. Don't know. Begs the question, if they could rise USD 7.2, as per text, why do they need XMR 445 from us?
-
plowsof11
indeed, they are very rich and sucessful
-
ofrnxmr[m]
singke handedly raisd 7.2m for this leaking faucet, i mean, money sink
-
ofrnxmr[m]
Wheres the moolah
-
ofrnxmr[m]
rbrunner: my sentiments exactly
-
ofrnxmr[m]
Also, the service is a joke if its just another privacy harming houdini condom tunnel
-
plowsof11
-
ofrnxmr[m]
People need to learn, -100+100 with never = 💯
-
ofrnxmr[m]
Much appreciated
-
MajesticBank
-
MajesticBank
only edge have trackers inside the android app
-
MajesticBank
-
ComplyLast
geonic, is there any way/place to watch your short right now?
-
geonic
it’s not released yet
-
geonic
-
geonic
this teaser has all the Monero bits in the movie
-
geonic