Does this also make multisig development possible / move that into realm of possibility somehow?
Ring CT C++ Crypto
With respect to the work here: https://www.reddit.com/r/Monero/comments/3pw30d/ringct_for_monero_updated_versions/
Major milestones to do in C++ which are cryptography related (someone who is more of an expert with the database / etc can handle the necessary database modifications and other modifications)
- MG signatures (Gen / Ver / Demo)
- ASNL’s (Gen / Ver / Demo)
- Compute Received Amount
- Demo RingCT Code (+python version with the transposed MG sigs)
Each of the above points has several smaller helper functions / data structures. I estimate 10-ish hours for each, $20 / hour ~ 45 xmr / hour so 450 for each part as a checkpoint and a total of 450 * 7 = 3150
The finished c++ code for each part will be compatible with the MiniNero python implementation at https://github.com/ShenNoether/MiniNero except where there needs to be additional checks for security and such.
edit 1/9/2016: Looks like its fully funded! Thanks to everyone who funded - I've started the work (https://github.com/ShenNoether/MiniNero/commit/9ede58897808bee784dab296654b99899a58c109), and I will be posting updates here for the next two weeks as I work on this, rather than updating both here and the stickied reddit post.
edit 1/13/2016: MG sigs + demo are done (git clone https://github.com/ShenNoether/MiniNero.git, cd brief, make, a.exe (or a.out depending on system)). Most of the helper functions are there, so the rest should go a little bit quicker. Also fixed a tiny bug in Monero's keccak function.
edit 1/14/2016: ASNL + demo are done. (https://github.com/ShenNoether/MiniNero/commit/88b2d93e137bd5a2e2a2700ac11136705bd463c5) I will probably do some additional checks on these and the MG sigs once I get everything finished, however they are working as expected now.
edit 1/15/2016: spent an all nighter getting a rough version of all the code finished - I will most likely clean it up, and then make it available early next week.
edit 1/21/2016: Just FYI the code is fully working (available at https://github.com/ShenNoether/MiniNero/tree/master/brief) right now I am just doing some additional checks / testing / looking carefully for bugs, I expect to have all of these checks done by end of the week.
edit 1/26/2016: Almost completely rewrote the code to make it simpler and less pythonic so it benefits a bit more from c++'s efficiency. I think it's in pretty close to final form at this point: https://github.com/ShenNoether/RingCT
Python version of all checkpoints: https://github.com/ShenNoether/MiniNero/blob/master/RingCT2.py
(You can run this with https://github.com/ShenNoether/MiniNero/blob/master/RCTUnitTests.py )
C++ version of all checkpoints:
(You can run this with https://github.com/ShenNoether/RingCT/blob/master/Test.cpp )
Yes - there are a couple of ways to go with the multisig - once the MG sigs are there, the method detailed in section 4.4 here https://www.overleaf.com/read/qzgytbyyxvyf is available (probably even without the CT part of, but then you have to be more careful with amounts).
Very important for privacy! This will eventually make XMR more resilient because it solves some issues with XMR blockchain analysis, certainly for non-frequent users who don't have a lot of inputs in their XMR account.
Funded 1 hour of your work
45 XMR / txid: f60c52091785a60db5da2a2900868a9718445253445515c659eed44cbd6f9038