Monero DevMeeting 2018-07-29

Submitted by aerbax on Sun, 07/29/2018 - 19:40


  • All Bulletproof(BP) audits have come in.
    • No major issues were found.
    • Some optimizations were suggested.
    • All signs point to BP's making it into the next scheduled protocol upgrade.
  • vtnerd has been working on a MessagePack(msgpack) encoding scheme to supplement JSON.  
    • MessagePack is binary and is generally faster to encode/decode than straight JSON.
  • vtnerd is continuing work on the ZeroMQ(0MQ) implementation.
  • MoneroMooo is working on a blockchain ancestry application  that calculates the cardinal of an output's ancestry.
  • A lot of work is being performed on the GUI.
  • hyc's new/testing Proof of Work scheme, randomJS, has been rewritten in C++ and is being tested in Wownero.
  • Next meeting on August 12th.


Full Log

1:01 PM <xmrmatterbridge> <rehrar> 1. Greetings
1:02 PM <endogenic> yes sarang
1:02 PM <+hyc> hallo
1:02 PM <rbrunner> Hi
1:02 PM <sarang> yo
1:02 PM <endogenic> look in settings
1:02 PM <ErCiccione> Hi
1:02 PM <pigeons> hi
1:03 PM <vtnerd> hello
1:03 PM ⇐ ZaiRoX quit (~ZaiRoX-4@ Ping timeout: 260 seconds
1:03 PM <xmrmatterbridge> <rehrar> 2. Brief review of what's been completed since the previous meeting
1:03 PM <xmrmatterbridge> <rehrar> Let us know your exciting stuff!
1:04 PM <rbrunner> I made an update for the Windows installer, for - again :)
1:04 PM <rbrunner> Never loose hope
1:04 PM <sarang> All BP audit reports have come in
1:04 PM → cslashm joined (~cslashm@
1:04 PM <xmrmatterbridge> <rehrar> even Bunz?
1:04 PM <sarang> Bunz provided his initial report, and is updating based on conversations we had
1:05 PM <xmrmatterbridge> <rehrar> Great. Care to share results?
1:05 PM <sarang> Yeah, Bunz's initial report didn't identify any issues that translate to the eventual production code
1:05 PM <sarang> He did identify some small optimizations we didn't take
1:05 PM <sarang> some of which we already knew about
1:06 PM <sarang> Patches are being tested for generally small issues found by Kudelski and (especially) QuarksLab
1:06 PM <sarang> Kudelski's final report is posted already, and QL/Bunz will be posted once finalized for public release
1:07 PM <sarang> Overall, the audit was well worth the expense
1:07 PM <sarang> IMHO
1:07 PM <sarang> Aside from that, just working on some new prototype code for ring signature stuff
1:07 PM <xmrmatterbridge> <rehrar> So assuming the fixes are made for these minor issues, BPs should be ready to ship for next hard fork?
1:07 PM <sarang> I see no reason to delay, once the patches are reviewed and the fee model is tested
1:08 PM <xmrmatterbridge> <rehrar> High fives all around then. Not deployed yet obviously, but it's been a great effort from many people get this far.
1:08 PM <sarang> I also posted my monthly report to FFS and r/Monero, which includes a summary of this
1:09 PM <xmrmatterbridge> <rehrar> Other people, feel free to hop in on what you've done since last meeting.
1:09 PM <vtnerd> I investigated message pack encoding recently
1:10 PM <vtnerd> I have an implementation and will be attempting perf numbers shortly
1:10 PM <rbrunner> What's that?
1:10 PM <vtnerd> it should be much faster to encode/decode - which will be an advantage for PUB/SUB
1:10 PM <vtnerd> an altnerative encoding scheme - similar in structure to JSON but its binary
1:11 PM → xmrscott joined (~xmrscott@
1:11 PM <vtnerd> I'm close to implementing a mechanism where its relatively painless to suport msgpack or JSON internally
1:11 PM → rehrar joined (
1:11 PM <+hyc> nice
1:11 PM <rehrar> I'm back, baby.
1:11 PM <rbrunner> And you would pack what? ...
1:12 PM <vtnerd> or at least thats the goal - the community will have to judge the painless part obviously
1:12 PM <+hyc> RPCs
1:12 PM <vtnerd> blocks / transactions
1:12 PM <rbrunner> Ah, ok
1:12 PM <vtnerd> one issue is with ZMQ is that if you use standard PUB/SUB you have to encode messages even if no one is subbed
1:12 PM <+hyc> If we were seriously going to change wire format I would've gone with ASN.1/DER
1:13 PM <vtnerd> I've looked at both, msgpack is fairly close to ASN.1, except that objects and arrays do not have their byte size prefixed. so its easier on encoding but decoder that want to jump past the entire object / array have to do more iteration
1:14 PM <+hyc> yeah see that makes no sense. it's very rare that an encoder doesn't know the amount of data it's about to transmit
1:14 PM <vtnerd> that shouldn't be huge in our cases AFAIK. There might be more tooling for ASN.1 DER at this point, and there is better support for specifying schemas in that format
1:14 PM <vtnerd> not necessarily true
1:15 PM <vtnerd> but yes, it can be done. its not a terrible format though, but we'll see how fast it is once I have a mock up
1:16 PM → @ArticMine (opped) joined  
1:16 PM <vtnerd> the last thing is that I will be pushing out a PR for changes to the ZMQ serialization - bug fixes found while writing the open source light wallet server
1:16 PM <vtnerd> *today
1:17 PM <vtnerd> I decided to change the format slightly since the format was clearly broken anyway
1:17 PM <+moneromooo> If we're going to use the 0MQ RPC, it'd be nice to have this 0MQ/JSON translation layer so we can only modify the 0MQ RPC when adding/changing.
1:18 PM <vtnerd> yes I was hoping to assist with that as well
1:18 PM <+moneromooo> s/only modify/modify only/
1:18 PM <+moneromooo> Well, both, in fact.
1:19 PM <vtnerd> I think in some cases the HTTP JSON-RPC and ZMQ-JSON-RPC could call into the same code, without a terrible amount of effort
1:19 PM <+hyc> would be nice
1:19 PM <+moneromooo> That's be good, it was disappointing that the 0mq stuff recreated the RPC handlers too.
1:19 PM <vtnerd> but it may be the case that the formats differ slightly so either there are two versions OR we break the ZMQ (since its less likely to be used)
1:19 PM <vtnerd> -thats it-
1:20 PM <+hyc> right. I can't believe there are any actual users of the ZMQ RPCs yet
1:20 PM <vtnerd> mymonero might be the only one
1:20 PM <vtnerd> in like one area
1:22 PM <endogenic> anyway it will be nice to share data structures
1:23 PM <rehrar> so....I'm trying to be careful about treading on toes.
1:23 PM <rehrar> Anything else on this topic or can we move on?
1:23 PM <+moneromooo> So there are two things I did that aren't just fixes/minor: a blockchain ancestry program that calculates the cardinal of an output's ancestry.
1:23 PM <endogenic> we can extract response parsing from wallet2..
1:23 PM — rehrar hangs head in shame
1:23 PM <+moneromooo> Also, keeping the secret spend key encrypted/locked in memory.
1:24 PM <+hyc> has the spend key always been held in memory?
1:25 PM <+hyc> as opposed to just read from the .keys file on demand
1:25 PM <+moneromooo> Yes.
1:26 PM <+hyc> so when the wallet currently prompts for the wallet passphrase, it is not re-decrypting anything at that time?
1:26 PM <+moneromooo> Correct.
1:26 PM <sarang> Then what it the purpose of the prompt?
1:27 PM <sarang> s/it/is
1:27 PM <+hyc> sounds like an overall misfeature...
1:27 PM <+moneromooo> Well, technically it IS decrypting the wallet keys file to check the password is correct :)
1:27 PM <+moneromooo> The purpose was to protect against "steal your computer while typing" I guess.
1:27 PM <+hyc> so... we really don't need to hold the spend key in memory
1:27 PM ⇐ @ArticMine quit ( Ping timeout: 260 seconds
1:29 PM <+moneromooo> If you add code to re-read the spend key at each time you need it, then you don't need to keep it in memory.
1:29 PM <endogenic> inb4fscodeaddedtocryptonote
1:29 PM <+hyc> we're currently prompting for the passphrase every time you're going to do something
1:29 PM <+hyc> so it seems this is all already happening
1:30 PM <endogenic> not exactly
1:30 PM <+moneromooo> If you look at simplewallet, it's doing something like: if (ask_pass && !verify_pass()) return;
1:31 PM <+hyc> ah. meaning you can turn off that prompt
1:31 PM <endogenic> account_keys is being passed around... confirmable at a glance
1:31 PM <+moneromooo> Yes.
1:32 PM <+hyc> sounds like this is a necessary patch then
1:34 PM <rehrar> I wanted to keep this on here
1:34 PM <rehrar> 3. Point release items (GUI)
1:34 PM <rehrar> Just to say a big congrats to all GUI people.
1:34 PM <rehrar> All devs don't here this enough, but you are all the best!
1:34 PM <rehrar> and we're glad to have you all
1:34 PM <rbrunner> Yes, the UI is progressing fast now
1:35 PM <rehrar> I hear good things, yes.
1:35 PM <endogenic> would gui ux really be hampered by a move to text results output and possibly even integrating with simplewallet?
1:35 PM <endogenic> or nevermind
1:36 PM <rehrar> ok
1:36 PM <rehrar> 4. Code + ticket discussion / Q & A
1:38 PM <rehrar> alright, so will give this another minute or so
1:38 PM <endogenic> i have lots of unanswered questions
1:38 PM ⇐ coppa quit (~Thunderbi@ Ping timeout: 256 seconds
1:38 PM <+hyc> has tevador already mentioned that randomJS is ready for testing?
1:39 PM <rehrar> your PoW hyc?
1:39 PM <+hyc> has been rewritten in C++, I assume integration with wownero is proceeding now
1:39 PM <rehrar> dude, that's kinda awesome! Go wownero!
1:39 PM <rbrunner> A strange thing, that Wownero, like Monero on acid
1:40 PM <rbrunner> :)
1:40 PM <+hyc> so anyway, new PoW work was prompted by ticket discussion, that's all I have
1:41 PM <rehrar> it's one of the more exciting experiments imo
1:41 PM <rehrar> alright
1:41 PM <rehrar> 5. Any additional meeting items
1:41 PM <rbrunner> Yes, certainly more authentic test bed than just Testnet
1:43 PM <rehrar> Alright then. We can go ahead and wrap up for today.
1:43 PM <sarang> Is wownero the one that already implemented BPs?
1:43 PM <endogenic> thanks rehrar
1:43 PM <sarang> or was I dreaming that
1:43 PM <msvb-lab> Whoever is interested in learning to program microcontrollers like the ones we use in Monero hardware, please contact me and I'll send you a Monero hardware badge.
1:43 PM <msvb-lab> practice.
1:43 PM <rehrar> 6. Confirm next meeting date/time
1:43 PM <sarang> msvb-lab: I love playing w/ micros
1:43 PM <rehrar> August 12th, same time good for everyone?
1:43 PM <+hyc> aug 12 some of us will still be at defcon
1:44 PM <rehrar> that's right
1:44 PM <rehrar> should we skip and push one month out
1:44 PM <rehrar> ?
1:44 PM <sarang> ^
1:44 PM <rehrar> so the 26th? or is that too long? Maybe non Defcon people would appreciate a meeting still?
1:45 PM <+hyc> or just push 1 week later?
1:45 PM <+hyc> or do we need to maintain this particular bi-weekly cadence
1:45 PM <rbrunner> don't think so :)
1:45 PM <rehrar> we can do one week later
1:45 PM <rehrar> community meeting is canceled for a month anyways
1:45 PM <endogenic> we should still have the meeting
1:45 PM <rbrunner> like missing the full moon or what
1:45 PM <endogenic> it's the monero mtg not the defcon mtg..
1:45 PM <rehrar> to give people a break from so many meetings
1:46 PM <rehrar> endogenic: think so?
1:46 PM <rehrar> I can see about finding somebody to run it, since I'll be at Defcon also.
1:46 PM <endogenic> they run themselves
1:46 PM <rehrar> alright then
1:46 PM <endogenic> if no one participates it wont happen
1:46 PM <rehrar> I'll make the Github issue
1:47 PM <+hyc> ok. normal scheduled time then, aug 12.