-
midipoet
-
midipoet
nice avenue for some research
-
rottenwheel
Re: BTC-XMR atomic swaps w/ COMIT PoC:
-
rottenwheel
-
rottenwheel
'On that front, are there any efforts in having test vectors for wallets in a standardized format? That is what we've found to be the hardest bits: Trying to validate that all the individual bits like bulletproof, ring sig, pseudo-outs, etc are correct.
-
rottenwheel
Aside from that, a spec would also be amazing ๐'
-
moneromooo
Nope, but I have a pony if you want ^_^
-
rottenwheel
If anyone can please chime in, would be appreciated. Trying to get the work on XMR-side started by nudging COMIT, Monerujo and Cake Wallet devs.
-
rottenwheel
lol. i'm good with ponies, moo. thanks.
-
moneromooo
Is this someone rewriting the BP/etc code ?
-
moneromooo
If so, "send those txes to an actual daemon, see if it rejects".
-
rottenwheel
#comit-monero:matrix.org is the room where Samourai Dev is on, and all COMIT people hang out at. Threw brief questions in and passed on the recent Triptych prioritization meeting logs.
-
rottenwheel
Don't think they are rewriting anything. They are looking into making the BTC-XMR swap possible with what is available at the moment.
-
moneromooo
Then there are existing tests for those things in tests/.
-
rottenwheel
Samourai has already done a couple testnet/stagenet atomic swaps. One being BTC market maker, the other being XMR market maker.
-
rottenwheel
Yes, there indeed are. Just gauging opinions and pointers.
-
rottenwheel
Ideally, we should get Monerujo and Cake Wallet working on implementing this on their ends, as Samourai is already far in...
-
hyc
is all of the logic in a COMIT app layer? or did they extend monero libwallet?
-
hyc
the latter would make the most sense, and then any other monero wallet can just expose a UI for it
-
rottenwheel
'No, so far we've tried to add as much as possible to h4sh3d's Rust monero library although we still need to upstream this.'
-
Thomas[m]4
Hey, Thomas from #comit-monero:matrix.org present here now as well :)
-
rottenwheel
hi Thomas, welcome. all, this is one of the COMIT guys. perhaps you can have a better informed back and forth.
-
rottenwheel
ping me if you need any testing help, or anything else. happy to help however I can. Welcome.
-
Thomas[m]4
<moneromooo "Then there are existing tests fo"> We've found those, but they only cover a few individual things far as we could see. For example, couldn't find any unit tests for ring signatures or bulletproofs?
-
Thomas[m]4
Thanks for the warm welcome rottenwheel :)
-
rottenwheel
wait... Thomas do you have your username registered on freenode?
-
rottenwheel
I believe your messages aren't getting relayed if you aren't.
-
Thomas[m]4
<rottenwheel "wait... Thomas do you have your "> Yes should be
-
rottenwheel
yep, just checked from my IRC instance and they're coming across. great. :)
-
Thomas[m]4
I am primarily using matrix so just hoping this bridge stuff works :D
-
moneromooo
There are.
-
Thomas[m]4
<hyc "is all of the logic in a COMIT a"> For now, what we have is a CLI and daemon that can perform swaps. Things are changing fast so no library interface yet. Generally though, the first integration pattern I'd recommend is to do an intermediary TX into the wallet inside the software. Generic wallet interfaces are hard spec work. PSBTs on BTC are great but also require more implementation work :)
-
Thomas[m]4
moneromooo Uh interesting, need to grow some eyeballs then apparently! Do you mind linking to those test vectors? ๐ฌ
-
» moneromooo grabs the git grep tool
-
moneromooo
tests/unit_tests/bulletproofs.cpp and tests/crypto/main.cpp
-
Thomas[m]4
<hyc "the latter would make the most s"> We are all horrible C/C++ devs unfortunately, so I don't think you want us touching libwallet! But like rottenwheel quoted, we are planning to contribute to the Rust ecosystem around Monero, so hopefully the infrastructure on that front can improve a lot!
-
Thomas[m]4
moneromooo Excuse me if I am nitpicky but these are just unit-tests, not actually test vectors right? To be truly useful for cross-language implementations, I'd need something along the lines of:
-
Thomas[m]4
This amount + these blinding factors = this bulletproof in hex.
-
Thomas[m]4
(mod whatever else is dynamic / random for each proof)
-
moneromooo
Ah, so you *are* rewriting that code then ?
-
moneromooo
If so, there are a couple BPs as hex at the end of the file, and there are plenty of ring sigs. Just look again.
-
moneromooo
Or maybe I'm missing your point ?
-
Thomas[m]4
Yes, it is all Rust based on the `curve25519_dalek` crate. They have a bulletproof impl for Ristretto that we modified.
-
Thomas[m]4
Cool, will check it out in more detail then! Thanks for the help!
-
moneromooo
We don't use ristretto, so if you use that you won't be able to verify those samples.
-
moneromooo
Then you'd have to make your own BPs.
-
Thomas[m]4
I am aware, we ported the impl to regular edwards
-
moneromooo
Ah.
-
Thomas[m]4
The issue wasn't so much making our own BP.
-
Thomas[m]4
It was verifying whether or not our BP would be accepted by a Monero node.
-
Thomas[m]4
So the dream would have been to be able to be able to write a unit test along the lines of: blind this amount -> assert_eq the serialized BP with a hex blob from the monero codebase that we know will 100% verify
-
Thomas[m]4
ofc the involved randomness makes this a bit tricky but that would just be a matter of redesigning the API on the C++ side to be completely pure functional.
-
Thomas[m]4
Anyway, will check out the TX hex blobs at the end of that file!
-
moneromooo
Oh, in this direction ? It is weird indeed. Just run the monero verifier on it ?
-
Thomas[m]4
What exaxt verifier?
-
moneromooo
The bulletproofs verifier.
-
» moneromooo goes lookup the source again
-
Thomas[m]4
We ended up writing our own C++ tests yeah but inexperience in C++ meant that takes a lot of time haha
-
moneromooo
bool bulletproof_VERIFY(const Bulletproof &proof);
-
Thomas[m]4
All possible and that is what we ended up doing :)
-
Thomas[m]4
It would just be cleaner to have serialized test vectors so we have tests that we could also keep in our repo.
-
grimler32
Are There Any T1me Travelers Here Or Non Humans? PM me Please
-
moneromooo
moooo
-
rbrunner
I once wrote a science fiction short story about Monero and aliens, does that already count?
rbrunner7.github.io/paradox.html