Please login or register.

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)
  • ECDH
  • genRangeProof
  • genRCTSig
  • 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

edit 2/3/2016:

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:

https://github.com/ShenNoether/RingCT/blob/master/rctSigs.cpp

(You can run this with https://github.com/ShenNoether/RingCT/blob/master/Test.cpp )

Replies: 7
Gingeropolous posted 1 year ago Replies: 1 | Weight: 0 | Link [ - ]

Does this also make multisig development possible / move that into realm of possibility somehow?

Reply to: Gingeropolous
shen posted 1 year ago Weight: 0 | Link [ - ]

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).

AJIekceu4 edited 1 year ago Weight: 0 | Link [ - ]

+1000 XMR

dnaleor edited 1 year ago Weight: 0 | Link [ - ]

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

pa posted 1 year ago Weight: 0 | Link [ - ]

500 xmr sent

canth posted 1 year ago Weight: 0 | Link [ - ]

Awesome. Just dumped in another 100XMR!

TheKoziTwo posted 1 year ago Weight: 0 | Link [ - ]

+275 XMR

Thank you for doing this Shen.