May 30, 2023
147 XMR
24 contributors
I plan to work full-time to work towards accomplishing:
To expand on point 2, I think the decoy selection code is in need of a makeover. In light of recent, high-impact decoy selection bugs (more info here and here), and whereas ring signatures are generally regarded as the weakest link in Monero's privacy model, I believe a new development initiative needs to take place to replace the decoy selection code. Typically I am against refactoring code "just because", but in this case it is warranted. All of the aforementioned bugs could have been spotted by statistical checks. However, currently, it is rather difficult to test the decoy selection in isolation due to the monolithic design of wallet2
. In theory, decoy selection code could be written to be rather functional. To over-simplify, we take distribution of enotes on-chain usable for given for true spends, apply arbitrary picker distribution, then request information for selected decoys over RPC, retrying the process if enotes are blackballed or otherwise unsuitable. There are a lot of edge cases to consider, but there isn't any major reason why decoy selection can't be modularized and standarized apart from the rest of the wallet code. This goal also overlaps with point number 1, since this code can be used not only in wallet2
, but in future versions of core wallets if written correctly.
I have been contributing to the Monero core repository for over a year with a total of >=48 merged commits thus far. Some more notable contributions:
Previous Proposals:
I propose to work 40 hours/week for 3 months so 480 hours total. I'm setting my hourly rate at ~$43/hour, and at a price of $140/XMR (as of June 10th 2023), this makes for a total of 147.4 XMR. The proposal is broken into 3 milestones, one for each "month". These milestones may lag behind schedule if I do not complete 40 hours per calendar week, but in that event, I will not ask for payout until the hours are done.
View community discussion, comments, and proposal updates on GitLab
To be paid: 33% (49.0)
Completion date: 3 August 2023
To be paid: 33% (49.0)
Completion date: 7 September 2023
To be paid: 33% (49.0)
Completion date: 17 October 2023
Funds Awarded: 49
Date: 16 August 2023
Funds Awarded: 49
Date: 12 September 2023
Funds Awarded: 49
Date: 3 November 2023