Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • monero-project/ccs-proposals
  • rehrar/ccs-proposals
  • DSal/ccs-proposals
  • el00ruobuob/ccs-proposals
  • TONGZHENGSHIJIE/ccs-proposals
  • SarangNoether/ccs-proposals
  • pwrcycle/ccs-proposals
  • onosendai/ccs-proposals
  • xeagu/ccs-proposals
  • b-g-goodell/ccs-proposals
  • xmrhaelan/ccs-proposals
  • moneromooo-monero/ccs-proposals
  • AcceptThisYouCensors/ccs-proposals
  • Needmoney90/ccs-proposals
  • erciccione/ccs-proposals
  • knueffelbund/ccs-proposals
  • xiphon/ccs-proposals
  • dsc/ccs-proposals
  • Codivorous/ccs-proposals
  • serhack/ccs-proposals
  • sgp/ccs-proposals
  • Kukks/ccs-proposals
  • gingeropolous/ccs-proposals
  • hyc/ccs-proposals
  • saumyabratadutt/ccs-proposals
  • kayront/ccs-proposals
  • rellis/ccs-proposals
  • Avantpay19/ccs-proposals
  • lazaridiscom/ccs-proposals
  • omani/ccs-proposals
  • JackBlack/ccs-proposals
  • Kyoto/ccs-proposals
  • Endogen/ccs-proposals
  • sri346/ccs-proposals
  • asymptotically/ccs-proposals
  • Avis/ccs-proposals
  • Monero/ccs-proposals
  • jtgrassie/ccs-proposals
  • Fudin/ccs-proposals
  • helloworld9998/ccs-proposals
  • lalanza808/ccs-proposals
  • TheCharlatan/ccs-proposals
  • atoc/ccs-proposals
  • randybrito/ccs-proposals
  • Ministo/ccs-proposals
  • objectorange/ccs-proposals
  • adrelanos/ccs-proposals
  • mj/ccs-proposals
  • MoneroAddict/ccs-proposals
  • h4sh3d/ccs-proposals
  • paulshapiro/ccs-proposals
  • pricode/ccs-proposals
  • naijaminer/ccs-proposals
  • niyiajayi/ccs-proposals
  • cryptosourov/ccs-proposals
  • Drowxes/ccs-proposals
  • Mon_icp/ccs-proposals
  • Madbu221b/ccs-proposals
  • suyash67/ccs-proposals
  • kdavid2008/ccs-proposals
  • xmrLovera/ccs-proposals
  • lh1008/ccs-proposals
  • jatinajwani/ccs-proposals
  • normoes/ccs-proposals
  • Wobole/ccs-proposals
  • lederstrumpf/ccs-proposals
  • AlexAnarcho/ccs-proposals
  • readifugly/ccs-proposals
  • binaryFate/ccs-proposals
  • oeAdgK01/ccs-proposals
  • nio21/ccs-proposals
  • michaelizer/ccs-proposals
  • janowitz/ccs-proposals
  • fleaw/ccs-proposals
  • gusan/ccs-proposals
  • Leo27/ccs-proposals
  • tobtoht/ccs-proposals
  • anon/ccs-proposals
  • panagot12/ccs-proposals
  • kysn/ccs-proposals
  • monerotesla/ccs-proposals
  • sahil07/ccs-proposals
  • xmronadaily/ccs-proposals
  • ClaytonBHooverIII/ccs-proposals
  • txstreet/ccs-proposals
  • Aron/ccs-proposals
  • jklein/ccs-proposals
  • wtii/ccs-proposals
  • alynoe/ccs-proposals
  • selsta/ccs-proposals
  • johnfoss67/ccs-proposals
  • benevanoff/ccs-proposals
  • op/ccs-proposals
  • cirocosta/ccs-proposals
  • ragazzo/ccs-proposals
  • 888/ccs-proposals
  • elibroftw/ccs-proposals
  • amr-monero/ccs-proposals
  • behash/ccs-proposals
  • AnonDev/ccs-proposals
  • Rucknium/ccs-proposals
  • rating89us/ccs-proposals
  • AdorableTanuki/ccs-proposals
  • neat/ccs-proposals
  • plowsoff/ccs-proposals
  • xmr_sale/ccs-proposals
  • escapethe3RA/ccs-proposals
  • DouglasTuman/ccs-proposals
  • Bl5ckj5ck/ccs-proposals
  • j-berman/ccs-proposals
  • CrypticEntertainments/ccs-proposals
  • Geroser/ccs-proposals
  • ava_haidang/ccs-proposals
  • pluja/ccs-proposals
  • msvblab/ccs-proposals
  • monerokage/ccs-proposals
  • noot/ccs-proposals
  • RogueMaven/ccs-proposals
  • xmrman/ccs-proposals
  • moneronews/ccs-proposals
  • spirobel/ccs-proposals
  • winstonsthiccbooty/ccs-proposals
  • help.ukraine/help-ukraine-to-use-monero
  • dangerousfreedom/ccs-proposals
  • moneroist/ccs-proposals
  • anon_/ccs-proposals
  • agustincruz/3-d-metal-printer-project
  • savandra/ccs-proposals
  • willk/ccs-proposals
  • max.zab/ccs-proposals
  • rimuru/ccs-proposals
  • CryptoMorpheus_/ccs-proposals
  • jeffro256_/ccs-proposals
  • m0n3r0d1c3/ccs-proposals
  • leonerone/ccs-proposals
  • marjorie69/ccs-proposals
  • monero_archive/monero-archive
  • forgotsudo/ccs-proposals
  • mikigrey321/ccs-proposals
  • anhdres/ccs-proposals
  • thelefterisjp/ccs-proposals
  • lescuer971/ccs-proposals
  • MoneroBro/ccs-proposals
  • rayatina/ccs-proposals
  • HoudiniSwap/ccs-proposals
  • nightwolf361/ccs-proposals
  • z00t/ccs-proposals
  • markofdistinction_/ccs-proposals
  • busyboredom/ccs-proposals
  • Mitchellpkt/ccs-proposals
  • Fierfek/p-2-p-publisher-monerotopia-mexico-city
  • BigmenPixel/ccs-proposals
  • cmiv/ccs-proposals
  • VOSTOEMISIO/ccs-proposals
  • valldrac/ccs-proposals
  • Titus/ccs-proposals
  • C0mradeBlin/ccs-proposals
  • kayabaNerve/ccs-proposals
  • Boog9001/ccs-proposals
  • 4rkal/ccs-proposals
  • binarybaron2/ccs-proposals-bb
  • ajs/ccs-proposals
  • sacatunquetun/ccs-proposals
  • vtnerd/ccs-proposals
  • 0xFFFC0000/ccs-proposals
  • Clodagh/ccs-proposals
  • mrcyjanek/ccs-proposals
  • detheforxmr/ccs-proposals
  • r4v3r23/ccs-proposals
  • janaka303/ccs-proposals
  • eyedeekay/ccs-proposals
  • Secrecy1337/ccs-proposals
  • rohanrhu/ccs-proposals
  • baldeagle/ccs-proposals
  • fengzie_mbz/mobazha-with-monero-in-privacy-ecommerce
  • freeross/ccs-proposals
  • DiosDelRayo/ccs-proposals
  • omnedeus/ccs-proposals
  • geonic/ccs-proposals
  • untraceable/ccs-proposals
  • ki9/ccs-proposals
  • monerobullgitlab/ccs-proposals
  • sybann/ccs-proposals-bb
  • hinto/ccs-proposals
  • HardenedSteel/ccs-proposals
  • Kewbit/ccs-proposals
  • plowsofff/ccs-proposals
  • mainnet-pat/ccs-proposals
  • SimplifiedPrivacy/ccs-proposal-carrot-animated-video
  • SimplifiedPrivacy/ccs-proposal-carrot-animated-video-b
  • SNeedlewoods/ccs-proposals
  • midipoet/ccs-proposals
  • soufiane/ccs-proposals
  • geonic1/ccs-proposals
  • v1docq47/ccs-proposals
  • fullmetalScience/ccs-proposals
  • FiatDemise/xmrchat
  • dadybayo/ccs-proposals
  • rottenwheel/ccs-proposals
  • napoly/ccs-proposals
  • techpopulus/marketplace-monero-techdaddi
  • hbs/ccs-proposals
  • acx/ccs-proposals
  • wallet-verse/ccs-proposals
  • N1co1asB1ancon1/monero-contract-system
  • SyntheticBird/ccs-proposals
206 results
Show changes
Showing
with 1132 additions and 36 deletions
---
layout: cp
title: jeffro256 full-time development 2023Q4
author: jeffro256
date: Oct 25, 2023
amount: 147
milestones:
- name: Month 1
funds: 33% (47.0)
done: 28 December 2023
status: finished
- name: Month 2
funds: 33% (47.0)
done: 29 January 2024
status: finished
- name: Month 3
funds: 33% (47.0)
done:
status: unfinished
payouts:
- date: 6 January 2024
amount: 47.8
- date: 23 February 2024
amount: 46.2
- date: 4 March 2024
amount: 53
---
## What
I plan to work full-time to work towards implementing the Jamtis changes discussed by tevador, myself, and others, [here](https://gist.github.com/tevador/50160d160d24cfc6c52ae02eb3d17024?permalink_comment_id=4665372#gistcomment-4665372), [here](https://gist.github.com/tevador/50160d160d24cfc6c52ae02eb3d17024?permalink_comment_id=4692457#gistcomment-4692457), [here](https://gist.github.com/tevador/50160d160d24cfc6c52ae02eb3d17024?permalink_comment_id=4706509#gistcomment-4706509), and [here](https://gist.github.com/tevador/50160d160d24cfc6c52ae02eb3d17024?permalink_comment_id=4708912#gistcomment-4708912). In summary, I will work to implement flexible-sized view tags, light wallet privacy protections, the simplified key derivation structure, and auxiliary enote records, all together. I have already began work on this, which you can see on [this branch](https://github.com/jeffro256/monero/tree/jamtis_lw_take_2).
I also want to begin work on the new wallet after these Jamtis changes are implemented and reviewed. There are many new wallet types enabled by Jamtis, and much thought is needed to be put into the design so that the code stays easily maintainable and robust. I want to spend a lot of time in the design phase for the wallet so we end up in a better scenario than we are in with `wallet2`.
## Who
I have been contributing to the Monero core repository for [over a year](https://github.com/monero-project/monero/pulls?page=2&q=is%3Apr+author%3Ajeffro256) with a total of [>=69 merged commits](https://github.com/monero-project/monero/graphs/contributors?from=2022-01-25&to=2023-05-30&type=c) thus far. I also began working on the Seraphis migration project, so you can see some of my contributions [here](https://github.com/seraphis-migration/monero/pulls?q=is%3Apr+author%3Ajeffro256) and [here](https://github.com/UkoeHB/monero/pulls?q=is%3Apr+author%3Ajeffro256). Some more notable contributions from this last quarter:
- I [wrote a library](https://github.com/seraphis-migration/monero/pull/4) that is able to load and store into the `wallet2` format without a dependency on `wallet2`. The way it is written allows for very robust conversion, even for hardware wallets, without the hardware being present. It is much more modular than the current `wallet` loading/storing code, and thus should be helpful in the Seraphis migration.
- I found a solution to some of the privacy problems with Jamtis light wallets and [opened a PR](https://github.com/UkoeHB/monero/pull/15) to fix those issues. I also discussed further changes on the linked Jamtis gist, and will continue to refine Jamtis.
- I [wrote documentation](https://github.com/monero-project/monero/pull/9024) for Monero decoy selection, as well as an easy-to-read, testable, modular Python script.
Previous Proposals:
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/319
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/390
## Payment
I propose to work 40 hours/week for 3 months so 480 hours total on-paper, though I usually work more than that. The proposal is broken into 3 milestones, one for each month. I am setting my hourly rate at $44/hr, and at a market price of 150 USD/XMR, that makes for a total of 141 XMR.
---
layout: cp
title: jeffro256 full-time development 2024Q2
author: jeffro256
date: Feb 27, 2024
amount: 171
milestones:
- name: Month 1
funds: 33% (57.0)
done: 7 April 2024
status: finished
- name: Month 2
funds: 33% (57.0)
done: 12 May 2024
status: finished
- name: Month 3
funds: 33% (57.0)
done: 13 June 2024
status: finished
payouts:
- date: 9 April 2024
amount: 57
- date: 18 May 2024
amount: 57
- date: 18 June 2024
amount: 57
---
## What
I plan to continue work full-time moving towards a Seraphis testnet (and wallet if I have time). These next dev cycles will likely be spent on writing production-ready serialization code, adding support for validating Seraphis transactions to the Cryptonote core, adding database backing support for these transactions, etc (generally weaving the Seraphis library into the core codebase in a way that makes it active). I have already began expanding Seraphis transaction support by beginning work on a transaction class and paired serialization code which will let us capture all possible Monero-compatible transaction forms and handle them in the codebase (expanded on below).
## Who
I have been contributing to the Monero core repository for [just over two years](https://github.com/monero-project/monero/pulls?page=2&q=is%3Apr+author%3Ajeffro256) with a total of [57 merged commits to master](https://github.com/monero-project/monero/commits?author=jeffro256) thus far. I also began working on the Seraphis migration project, so you can see some of my contributions [here](https://github.com/seraphis-migration/monero/pulls?q=is%3Apr+author%3Ajeffro256) and [here](https://github.com/UkoeHB/monero/pulls?q=is%3Apr+author%3Ajeffro256). Some more notable contributions from this last quarter:
- Polished [Jamtis changes draft PR](https://github.com/UkoeHB/monero/pull/26) and wrote up changes to the "Implementing Seraphis" paper, which were [approved by @UkoeHB](https://github.com/UkoeHB/Seraphis/pull/6).
- Began work on creating a [transaction type](https://github.com/jeffro256/monero/tree/monero_tx_variant) that encapsulates all past and Seraphis future transaction forms: cryptonote v1, v2, coinbase, Seraphis squashed, coinbase, with serialization that is backwards compatible. Along this same line, I wrote a [PR](https://github.com/monero-project/monero/pull/9174) that would help the LMDB backend code transition to Seraphis transactions.
- Wrote a [PR](https://github.com/monero-project/monero/pull/9135) that reduces hard disk usage for nodes.
- Reviewed @j-berman's [background sync PR](https://github.com/monero-project/monero/pull/8619).
Previous Proposals:
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/319
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/390
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/421
## Payment
I propose to work 40 hours/week for 3 months so `40 (hours/week) * 3 (months) * weeks_per_month = 40 (hours/week) * 3 (months) * (365 / 12 / 7) (weeks/month) = 521` hours total on-paper, though I usually work more than that. The proposal is broken into 3 milestones, one for each month. I am setting my hourly rate at 45 USD/hour (+1 USD/hour higher than last quarter), and at a market price of 136.88 USD/XMR, that makes for a total of 171 XMR. Price was calculated as 14-day simple average of opening prices on [CoinGecko](https://www.coingecko.com/en/coins/monero/historical_data) from 2024-02-23 to 2024-03-07 (day of writing).
---
layout: cp
title: jeffro256 full-time development 2024Q3
author: jeffro256
date: June 14, 2024
amount: 146
milestones:
- name: Month 1
funds: 33% (48.0)
done: 16 July 2024
status: finished
- name: Month 2
funds: 33% (49.0)
done: 11 August 2024
status: finished
- name: Month 3
funds: 33% (49.0)
done: 14 September 2024
status: finished
payouts:
- date: 17 July 2024
amount: 48
- date: 14 August 2024
amount: 49
- date: 27 September 2024
amount: 49
---
## What
In the last three months, the likely direction of the future of the Monero protocol changed
drastically with all the work done to bring FCMPs to RingCT. At my last CCS proposal, I
proposed that I would be working on the Seraphis wallet and consensus integrations. Then
I shifted gears to implementing [Jamtis-RCT](https://gist.github.com/tevador/d3656a217c0177c160b9b6219d9ebb96#).
I propose to refine this codebase and produce and LWS-client demo, in order to have these
set of features complete before the FCMP++ upgrade, assuming all goes well. This codebase
can currently construct `cryptonote::transaction`s with Jamtis info encode in the `extra` field,
and then successfully scan that data. Here is a non-exhaustive list of points that need
work with this library:
- Legacy address integration and testing
- Optimization: post-primary-view-tag scanning is about 20% slower than expected
- Testing against actual FCMP++ composition proofs
- Multi-threaded compute
- A live, over-the-wire LWS demo for evaluating the filter-assist/hidden enote trade-offs
I would also like to work on replacing `wallet2` internals with the Seraphis library 'legacy handling'
code, as discussed at this Github issue: https://github.com/seraphis-migration/wallet3/issues/64. A few people
are already working on it, but it will need a lot of manpower to bring it to fruition.
## Who
I have been contributing to the Monero core repository for [over two years](https://github.com/monero-project/monero/pulls?page=2&q=is%3Apr+author%3Ajeffro256) with a total of [68 merged commits to master](https://github.com/monero-project/monero/commits?author=jeffro256) thus far. I also began working on the Seraphis migration project, so you can see some of my contributions [here](https://github.com/seraphis-migration/monero/pulls?q=is%3Apr+author%3Ajeffro256) and [here](https://github.com/UkoeHB/monero/pulls?q=is%3Apr+author%3Ajeffro256). Some more notable contributions from this last quarter:
- Implemented [Jamtis-RCT](https://gist.github.com/tevador/d3656a217c0177c160b9b6219d9ebb96#) into the Seraphis library [here](https://github.com/jeffro256/monero/tree/jamtis_rct). This branch provides support for storing Jamtis scanning data into `tx_extra`, and performs a unit test where a pruned transaction is constructed addressed to Jamtis payment proposals, and then successfully scanned for both plain and self-send enote types. The way this branch was written merges the code paths for doing Jamtis on RingCT and Seraphis together. It could use some cleaning up, and the Seraphis multisig tests need to be updated, but otherwise all Seraphis tests are passing.
- Some other Seraphis stuff including a unified transaction format for Cryptonote, RingCT, and Squashed-Seraphis transactions.
Previous Proposals:
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/319
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/390
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/421
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/436
## Payment
I propose to work 40 hours/week for 3 months so `40 (hours/week) * 3 (months) * weeks_per_month = 40 (hours/week) * 3 (months) * (365 / 12 / 7) (weeks/month) = 521` hours total on-paper, though I usually work more than that. The proposal is broken into 3 milestones, one for each month. I am setting my hourly rate at 46 USD/hour (+1 USD/hour higher than last quarter), and at a market price of 163.97 USD/XMR, that makes for a total of 146.2 XMR. Price was calculated as 14-day simple average of opening prices on [CoinGecko](https://www.coingecko.com/en/coins/monero/historical_data) from 2024-06-01 to 2024-06-14 (day of writing), same as last quarter.
---
layout: cp
title: jeffro256 full-time development 2024Q4
author: jeffro256
date: September 16, 2024
amount: 144
milestones:
- name: Month 1
funds: 33% (48.0)
done: 9 November 2024
status: finished
- name: Month 2
funds: 33% (48.0)
done: 12 December 2024
status: finished
- name: Month 3
funds: 33% (48.0)
done: 14 January 2025
status: finished
payouts:
- date: 12 November 2024
amount: 48
- date: 12 January 2025
amount: 48
- date: 23 January 2025
amount: 48
---
## What
The last quarter I began implementing [Jamtis-RCT](https://gist.github.com/tevador/d3656a217c0177c160b9b6219d9ebb96), as written by tevador. However, with the FCMP++ integration PR opened against master, and upon discussion of the general health of wallet development in the broader ecosystem, it became readily apparent that the way to move forward is to initially support existing Monero addresses in a way that would be indistinguishable on-chain from Jamtis-RCT, adding full Jamtis-RCT support later. As such, I formulated the [Carrot specification](https://github.com/jeffro256/carrot/blob/master/carrot.md), which expanded upon the legacy address section in tevador's original Jamtis-RCT proposal. I contacted and conducted meetings with auditors in regards to auditing this spec, which culminated in several proposals. I also implemented transaction scanning code and transaction construction code for Carrot. I would like to continue this work for the next few months ahead of the hardfork. The main things to work on for Carrot at this point are 1) persistent enote stores for both legacy and Carrot scan types together, 2) integration into the main wallet codepaths, 3) hardware device support, and 4) picking and organizing an auditor to move forward with. Ideally, there should also come a point in the near future where the implementation is reviewed against the audited specification. I wish the development of Carrot generally to be swift, in order not to impede the release date of the FCMP++ consensus protocol. It should be noted that if the current addressing protocol is not modified, then users' transactions will *not* be afforded conditional forward secrecy. This would mean that a potential future adversary with the ability to solve the decisional Diffie-Helman problem (e.g. a usable quantum computer) would be able to retroactively reveal the transaction graph without any obfuscation. Carrot, like Jamtis-RCT, leverages the forward secrecy property of FCMP++ while also tackling other issues like the burning bug, Janus attacks, etc. If all goes well, the adoption of Carrot will seamlessly move Monero users into the full realization of the privacy and security that the FCMP++ proving system has to offer.
To recap, here is a list of things I will attempt to work on this quarter, in rough order of execution:
- Finalize Carrot spec audit
- Implement Carrot enote store
- Implement Carrot hardware device support
- Integrate Carrot into main wallet codepaths
- Begin soliciting Carrot implementation audit
P.S. To all the generous supporters of my previous proposals, I apologize that the direction of my work has shifted so significantly and so frequently in the past. So many developments have occurred within the last year that it makes my head spin, which in the end will no doubt be a good thing. So while a lot of previous goals have been abandoned, and a lot of previous work put on ice indefinitely, things seem to be finally solidifying towards a forseeable, readily-achieveable outcome in regards to the upcoming hardfork, thanks to many hard-working contributors. Hopefully, all of the work for this quarter will actually see the light of day in the short to medium term. Thanks for your patience. I am very grateful for it.
## Who
I have been contributing to the Monero core repository for [over two years](https://github.com/monero-project/monero/pulls?page=2&q=is%3Apr+author%3Ajeffro256) with a total of [76 merged commits to master](https://github.com/monero-project/monero/commits?author=jeffro256) thus far, with many open PRs. I also began working on the Seraphis migration project, so you can see some of my contributions [here](https://github.com/seraphis-migration/monero/pulls?q=is%3Apr+author%3Ajeffro256) and [here](https://github.com/UkoeHB/monero/pulls?q=is%3Apr+author%3Ajeffro256). Additionally, as I mentioned, last quarter I wrote up the [Carrot specification](https://github.com/jeffro256/carrot/blob/master/carrot.md) for formal auditing, which will be the main addressing protocol post-FCMP++ if all goes according to plan.
Previous Proposals:
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/319
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/390
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/421
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/436
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/467
## Payment
I propose to work 40 hours/week for 3 months so `40 (hours/week) * 3 (months) * weeks_per_month = 40 (hours/week) * 3 (months) * (365 / 12 / 7) (weeks/month) = 521` hours total on-paper, though I usually work more than that. The proposal is broken into 3 milestones, one for each month. I am setting my hourly rate at 47 USD/hour (+1 USD/hour higher than last quarter), and at a market price of 170.37 USD/XMR, that makes for a total of 143.7 XMR. Price was calculated as 14-day simple average of opening prices on [CoinGecko](https://www.coingecko.com/en/coins/monero/historical_data) from 2024-09-04 to 2024-09-17 (day of writing), same as last quarter.
---
layout: wip
title: jeffro256 full-time development 2025Q1
author: jeffro256
date: January 27, 2025
amount: 114
milestones:
- name: Month 1
funds: 33% (38.0)
done: 18 February 2025
status: finished
- name: Month 2
funds: 33% (38.0)
done:
status: unfinished
- name: Month 3
funds: 33% (38.0)
done:
status: unfinished
payouts:
- date: 24 February 2025
amount: 38
- date:
amount:
- date:
amount:
---
## What
The last quarter I implemented the core cryptography for [Carrot](https://github.com/jeffro256/carrot/blob/master/carrot.md). I will note that preliminary performance tests put Carrot scanning at about 30% faster on CPU usage versus scanning today, mostly thanks to the use of the X25519 ECDH library [mx25519](https:://github.com/tevador/mx25519). I also implemented pruned `cryptonote::transaction` [construction and scanning](https://github.com/monero-project/monero/pull/9697) for Carrot. The FCMP++ integration and Carrot integration are finally meeting ends and are almost ready for hot path integration. This next quarter, I want to continue this work to get a testnet out ASAP.
To recap, here is a list of things I will attempt to work on this quarter, in rough order of execution:
- Integrate Carrot scanning/transaction construction into main wallet codepaths
- Provide support to existing hardware wallet manufacturors on how to securely support Carrot outputs
- Use benchmarkings and static analysis to inform MRL decisions on transaction weight discussions etc
- Begin soliciting Carrot core implementation audits
- Provide Rust implementation of Carrot for Serai/Cuprate
- Solicit help for multisig implementations of Carrot
- Help out with the FCMP++ integration wherever I can
## Who
I have been contributing to the Monero core repository for [over two years](https://github.com/monero-project/monero/pulls?page=2&q=is%3Apr+author%3Ajeffro256) with a total of [84 merged commits to master](https://github.com/monero-project/monero/commits?author=jeffro256) thus far, with many open PRs. Over the last few months, I wrote up the [Carrot specification](https://github.com/jeffro256/carrot/blob/master/carrot.md), organized []auditing](https://github.com/cypherstack/carrot-audit), for which the community graciously funded, and [began](https://github.com/monero-project/monero/pull/9559) [implementing](https://github.com/monero-project/monero/pull/9697) it. Carrot will be the main supported addressing protocol post-FCMP++ if all goes according to plan. I also worked on the Seraphis migration project in 2023/2024.
Previous Proposals:
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/319
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/390
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/421
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/436
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/467
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/504
## Payment
I propose to work for 3 months at a rate of 38 XMR per month.
---
layout: cp
title: Retroactive funding for work on full-chain membership proofs
author: Luke Parker (kayabaNerve)
date: July 24, 2023
amount: 310 XMR
milestones:
- name: Implementation of Bulletproofs+
funds: 150 XMR
done: 23 June 2023
status: finished
- name: Implementation of Curve Trees
funds: 100 XMR
done: 23 June 2023
status: finished
- name: Application of elliptic curve divisors for multiple times faster proofs
funds: 50 XMR
done: 23 June 2023
status: finished
- name: Implementation of COPZ's efficient cross-group discrete log equality proof
funds: 10 XMR
done: 23 June 2023
status: finished
payouts:
- date: 21 March 2024
amount: 310
---
Prior to Monerokon, I spent a month and a half working on full chain membership proofs for Monero. This is the product of
- Discussions from https://github.com/monero-project/research-lab/issues/100
- Curve trees, as the fundamental idea https://eprint.iacr.org/2022/756
- Eagen's application of Elliptic Curve divisors https://eprint.iacr.org/2022/596
- COPZ's discrete log equality proof, letting us move to a curve cycle https://eprint.iacr.org/2022/1593
Having finished the work, which was considerable, I would like to fundraise for retroactive funding given the expenses occurred to me. Not only did I put off my own work for the significant amount of time spent on this, I made the decision to bring j-berman in at a rate we had prior established for their work on my own project.
To explain the work, it's an implementation of a membership proof _compatible with Seraphis_ which is efficient enough to feasibly support up to 777 million outputs. For more than 777 million outputs, proof time would increase ~50%, yet the chain would continue.
While this work isn't complete, it has asserted its existence as a viable path to proceed down.
# What Has Been Done
- An implementation of Bulletproofs+, designed to be clearly understandable and efficient.
A new implementation was written despite Monero already having a deployed implementation. This was due to Monero's implementation only supporting aggregate range proofs and being so tailored for them, it being infeasible to expand to include support for arithmetic circuits (the proof Curve Trees uses).
It is not yet ready for production for a few reasons.
1) It panics on invalid inputs, instead of returning errors.
2) It hasn't been externally reviewed/audited.
3) A design criteria to support curve trees is a vector commitment scheme (VCS). Bulletproofs+ does not support vector commitments, and I had to shim in my own scheme to compensate which is not viable for production.
This will be discussed below.
- An implementation of Curve Trees, or at least, the idea of Curve Trees.
Curve Trees describes a n-ary Merkle Tree where the hash function is a Pedersen hash. Since a Pedersen hash hashes from scalars to a group element, and the variables in an arithmetic circuit are scalars, Curve Trees uses a pair of Bulletproofs over a curve cycle, each layer of the tree represented by the complimentary proof. This ensures the output of the hash is always a native variable. My implementation is similar, yet instead of using the scalar multiplication algorithm provided in its paper, Eagen's application of Elliptic Curve divisors is used. This is multiple times more performant.
Additionally, my work was done over Bulletproofs+, not Bulletproofs, for minor efficiency gains. Post-deciding which arithmetic circuit proof to use, it was learned Curve Trees requires a VCS. Bulletproofs+ does not have a VCS posited, while Bulletproofs has one posited yet not proven. While work could be done to prove the VCS posited for BPs instead of developing a new scheme for BPs+, this would be detrimental in the long term.
To explain why, BPs defines a "inner-product" argument. BPs+, "weighted inner-product". BPs++, "norm". BPs++ argues its "norm" argument can be equivalent to BPs+'s "weighted inner-product", implying future development of a VCS around BPs++ would be best done from a VCS around BPs+. Since it is a goal to move to BPs++ for efficiency, not just for arithmetic circuits (this work) yet also Monero's range proofs (which BPs++ already has funding to be reviewed for), this was kept in mind.
As part of my work, I reached out to Firo, with researcher Aram Jivanyan and contracting researcher Aaron Feickert (sarangnoether) from Cypher Stack. I requested their collaboration in this effort, with current discussions being around them working on developing and proving a VCS. While no guarantees have been made, the answer to if a scheme for BPs+'s WIP argument is possible was estimated to be on the scale of weeks, not months. Accordingly, I'd personally evaluate it within timelines _and long-term fruitful_ to continue with BPs+ and not revert to BPs. If a BPs+ VCS is infeasible, then the work falls back to proving the VCS posited for BPs, which has passed first glances.
- An implementation of Elliptic Curve divisor calculation and checks
Elliptic curve divisors can be used to offer proof-of-knowledge of discrete logarithms which are several times more efficient than in-circuit elliptic curve additions. I implemented the calculation of divisors, checks for them (in and out of circuit), achieving a roughly 3x reduction in DLog PoK circuit size than the Curve Trees DLog PoK circuit. This circuit is most of the overall circuit, and circuit size does directly relate to proof verification time.
- An implementation of COPZ's discrete logarithm equality proof
Since Curve Trees effectively requires a curve cycle, Monero would have to move to one. This proof lets Monero move to a curve cycle at a marginal cost (a one-time 160-byte proof per-output).
# What's Next
A series of tasks can be defined.
1) Proving and implementing a proper VCS scheme
This is currently in progress, and doesn't actively require the Monero project. In the future, it may require our involvement, and if so, we can discuss it then.
2) Proving/formally verifying Curve Trees
I agree more certainty behind Curve Trees is needed. I do not believe we should halt development efforts until we are fully certain, given the amount of evidence before us and alternative paths ahead of us for any road blocks we may face. Already happening is the development of a VCS scheme, with proofs. Once that happens, letting us formally define our Curve Trees instantiation, we can continue obtaining certainty. All of this can be done in parallel to this work's completion.
3) Polishing the above work
This will be tackled by future CCSs. I am planning one, and j-berman has already submitted a CCS which part of is experimentally integrating Curve Trees into Monero (https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/401). I have also discussed with multiple developers in the ecosystem getting their involvement.
To be perfectly clear, in no uncertain terms, this CCS does not provide funding for nor guarantee any continued development. It is solely a representation of gratitude and acknowledgement for work already performed, and organization provided.
4) Auditing
Auditing can only occur once the academia, and the code, is completed.
5) The Monero project deciding whether or not to move to a curve cycle
I cannot truly comment here as I do not speak for the Monero community.
My personal thoughts on moving to a curve cycle can be found here: https://gist.github.com/kayabaNerve/97441ad851dc6e4d2a0b699f58a004f2
Relevant MRL issues are https://github.com/monero-project/research-lab/issues/100 and https://github.com/monero-project/research-lab/issues/110.
While this isn't the place to decide if a curve cycle is necessary, or if one will be adopted, it is important to note a curve cycle isn't technically required. It's optimal, and somewhat expected, yet we can hash Ed25519 points into a cycle (at additional cost). Accordingly, this work is relevant even if we don't move to a curve cycle.
6) The Monero project deciding whether or not to integrate this work
In order for the community to decide if this work should be integrated, it must be evaluated. Evaluation requires this work being viable for integration, which won't happen until it's complete. For now, I restate
> While this work isn't complete, it has asserted its existence as a viable path to proceed down.
And accordingly justify not only its historical funding, yet future funding.
# Why Historical Funding
The CCS has a distaste for historical/retroactive funding, which I understand. Personally, I do not accept payment for a job until it is done. While the milestone system offers that, I still must promise and obligate myself to doing the work by the fact I created a CCS and succesfully raised funds. I do not appreciate those obligations when I was unsure of my capabilities to produce not just a membership proof, yet a membership proof viable to continue with which was worth fundraising for. Before I wrote an implementation of BPs+, designed a higher-level arithmetic circuit framework, learned enough math to implement Elliptic Curve divisors, engaged with multiple other parties, and implemented Curve Trees, I was unsure this would become meaningful to Monero. It was on a scale I had never worked with before, and far too much work to ever be certain about before it is done and actual metrics can be assigned. Accordingly, I would never have felt comfortable with funding beforehand.
I also wished to avoid debate about the legitimacy of atttempting this work. This work, as currently implemented, with its current performance, commentary, and understandings, establishes itself as viable. Before it existed, it could not establish itself as viable. By waiting, I removed discussions about if it would be viable by now providing a proof it is.
While this work was done with limited visibility, I did contact parties as soon as they became relevant. Prior mentioned was a collaboration with Firo, yet I also reached out to Liam Eagen (author of BPs++ and a proof applying Elliptic Curve divisors), narodnik, and j-berman as beneficial.
# Funds Breakdown
The amount quoted is roughly 50,000 USD. Given the amount of work produced, and time spent, I believe this to be fair.
This is inclusive of my obligation to j-berman ($3,600) who:
- Reduced the multiplications performed, savings tens of percent off verification time
- Investigated a new algorithm for further reducing multiplicatios, which would also be applicable to Monero's current BP+ implementation
And my desire to thank Eagen for their contributions with $5,000. Eagen's application of divisors drastically increased the performance of this work. Also notable is narodnik who provided an initial Python reference for divisor construction and evaluation, yet they have declined to be so thanked.
With all of this in mind, and given the extended hours I generally work, my hourly rate would be roughly 100 USD.
# Resolution
If this proposal is not funded within two months, it will be closed regardless of status. All raised funds will be directed towards the already completed milestones, even if only partially funded. Whatever amount raised will close this CCS, and be considered as complete funding for these milestones.
......@@ -11,23 +11,23 @@ milestones:
status: unfinished
- name: 3 month maintenance
funds: 1.63
done:
status: unfinished
done: 2 April 2024
status: finished
- name: 3 month maintenance
funds: 1.63
done:
status: unfinished
done: 2 April 2024
status: finished
- name: 3 month maintenance
funds: 1.63
done:
status: unfinished
done: 2 April 2024
status: finished
- name: 3 month maintenance
funds: 1.63
done:
status: unfinished
done: 2 April 2024
status: finished
payouts:
- date:
amount:
- date: 9 April 2024
amount: 6.52
- date:
amount:
- date:
......
---
layout: wip
title: "From Prototype to Marketplace: Maturing the XMR-BTC Atomic Swaps Ecosystem"
author: "binarybaron and einliterflasche"
date: July 9, 2024
amount: 729
milestones:
- name: 1st month
funds: 121.5
status: finished
done: 15 October 2024
- name: 2nd month
funds: 121.5
status: finished
done: 26 November 2024
- name: 3rd month
funds: 121.5
status: finished
done: 21 January 2025
- name: 4th month
funds: 121.5
status: unfinished
done:
- name: 5th month
funds: 121.5
status: unfinished
done:
- name: 6th month
funds: 121.5
status: unfinished
done:
payouts:
- date: 19 October 2024
amount: 121.5
- date: 6 December 2024
amount: 121.5
- date: 3 February 2025
amount: 121.5
- date:
amount:
- date:
amount:
- date:
amount:
---
![https://i.ibb.co/3NvpYp2/upload-398781d371d354427bb455356731258c.png](https://i.ibb.co/3NvpYp2/upload-398781d371d354427bb455356731258c.png)
![https://i.ibb.co/wgYK9FF/generated-gif-2.gif](https://i.ibb.co/wgYK9FF/generated-gif-2.gif)
### Who
We (binarybaron and einliterflasche) are two Monero enthusiasts from Berlin and both computer science students. We have been excited about XMR<>BTC atomic swaps since the COMIT team started development of their prototype. binarybaron has contributed to the project since its early stages while einliterflasche joined later on.
### What is this project anyway?
The project mostly consists of four parts:
1. A command-line utility ([ASB](https://github.com/comit-network/xmr-btc-swap/blob/master/docs/asb/README.md)) that enables individuals to operate a 'swap provider' service. These swap providers offer to sell Monero in exchange for Bitcoin.
2. A command-line interface ([CLI](https://github.com/comit-network/xmr-btc-swap/blob/master/docs/cli/README.md)) that allows users to connect with swap providers and exchange their Bitcoin for Monero.
3. A graphical user interface ([GUI](https://github.com/UnstoppableSwap/unstoppableswap-gui/)) that utilizes the CLI behind the scenes, making the swap process way more user-friendly.
4. A command-line utility for hosting a [rendezvous point](https://github.com/comit-network/rendezvous-server) in the decentralized discovery network. Swap providers can register at these nodes to make themselves known to the network. CLI users can retrieve a list of swap providers.
### What we have been working on over the last 2 years:
- Developed an early web interface to simplify XMR<>BTC swaps. This project has since been deprecated and replaced with a desktop GUI.
- Stepped in as maintainers for the [xmr-btc-swap](https://github.com/comit-network/xmr-btc-swap) project which includes the ASB and CLI applications. We have become the main developers fixing issues, implementing new features and pushing out releases.
- Developed the [GUI](https://github.com/UnstoppableSwap/unstoppableswap-gui/). Last year alone, more than 3,000 swaps were completed using our GUI. Since we completed our second CCS from May 2022, we worked on the project during our free time. This is also the reason we weren't able to dedicate as much time to the project as we'd like to and, frankly, as it deserves.
- Running a mainnet swap provider to kickstart adoption that has performed over a thousand swaps with users. This has been put on pause for now as more swap providers have emerged.
- We have also been hosting, and developing publicely accessible infrastructure
- An API service that gathers a list of all known swap providers. This can be used in the GUI and also by others in the community (e.g [OrangeFren](https://orangefren.com/)) in addition to rendezvous points.
- A reliable rendezvous point
- As part of our efforts to make atomic swaps accessible to the general public we have have been writing [documentation](https://docs.unstoppableswap.net/) for atomic swaps in general as well for the GUI and CLI applications.
### Proposal:
We're excited to keep working on atomic swaps. While swaps work realiably under optimal conditions, there are still many imperfections. We are confident that given a few months time to fully dedicate to the project, we can transform the ecosystem from more of a proof of concept into a mature marketplace.
We are asking the community for funding in order to be able to focus our efforts on improving the atomic swaps ecosystem.
We request 729 XMR for continued development for 6 months. At the end of each month 121.5 XMR will be paid out. We will dedicate 35 hours of focused work per week per person. Our hourly rate is 60 EUR. We're calcuating these amounts at a current average price of 138 EUR/XMR.
We will be providing monthly detailed updates in the comment section.
### What we will be working on
We will continue to maintain both the GUI and the underlying CLI/ASB by:
- Planning, coordinating and implementing new features and bug fixes,
- Coordinating releases,
- Keeping in touch with users and the community as a whole as well as offering a built-in feedback system in the GUI.
Furthermore, we will continue to manage some community infrastructure:
- We host a [webpage](https://unstoppableswap.net/) for the GUI as well as [documentation](https://docs.unstoppableswap.net/).
- We maintain both a public registry of swap providers as well as a reliable node in the decentralized discovery network.
For the CLI and ASB, which form the backbone of the GUI and swap provider infrastructure respectively, our focus will be to improve overall reliability. While swaps work consistently under optimal conditions, there are many moving parts, leading to various challenges in practice. These challenges include:
- Reliably staying in sync with both the Bitcoin and Monero blockchains,
- Completing swaps amid connectivity issues,
- Discovering peers in the network,
- Maintaining backwards compatability between peers (network protocols),
- Handling concurrent swaps,
- Accounting for blockchain congestion,
- Stringently enforcing protocol compliance,
- Ensure fail safety when swaps can't be completed,
- Minimizing the manual intervention required (e.g having to manually refund in some edge cases),
- ...
For the ASB daemon specifically, our focus will be on enhancing its ability to handle large amounts of liquidity reliably. We will also make it easier for a wider range of individuals to become a swap provider and sell their Bitcoin for Monero. This will improve competition and in turn lead to lower markup rates. Our work will include:
- Developing user-friendly tooling to simplify the setup and operation of the ASB and its accompanying services.
- Improving ASB extensibility and automatability by implementing an JSON-RPC server:
- Swap providers can connect to their ASB using a standardized OpenRPC protocol
- This will enable providers to:
- Dynamically adjust their exchange rate based on current conditions and market assessment
- Flexibly set maximum and minimum swap amounts according to their risk tolerance
- Automate access to internal Bitcoin and Monero wallets for fund management
- Listen for all kinds of events
- Enabling anyone to automate their ASB service to their liking by developing easy-to-use connector libraries for popular programming languages (e.g. Python, TypeScript, Rust, Java).
Integrating the RPC server and developing client libraries will take a lot of work and large refactors, but it will be worth the effort. It will enable the creation of custom applications and scripts built on top of the ASB. This will open basically unlimited possibilities but the most obvious use cases include:
- Complete access to statistics and internal data and logging
- Adjust exchange rate and minimum swap amount based on current Bitcoin transaction fees
- Listening for specific events and executing custom actions e.g. sending notifications or replenishing funds by executing trades on other platforms
- Integration of Bitcoin privacy protocols (e.g., CoinJoin, Whirlpool) for received funds
For the GUI itself our focus will be to:
- Make the GUI more accessible to non technical users (e.g. tooltips, explanations, ...),
- Provide documentation for end users as well as technical documentation to improve transparency and attract new developers,
- Work on migrating the GUI framework (from Electron to Tauri) to simplify the architechture,
- Release an Android (and possibly iOS) version of the GUI.
- _(We are also looking into a web version, powered by WebAssembly, which can run in browsers. This may not be possible and will require extensive refactors in the code base.)_
- Build a new UI for hosting and managing the ASB from inside the GUI. Thereby enabling selling Monero for Bitcoin.
### Why
We want to enable anyone to reliably acquire Monero by building an anonymized, decentralized and trustless market that is resiliant to censorship. We believe that by realizing the potential of this project we can bring this to reality.
A mature ecosystem will attract more users and swap providers. This will lead to increased liquidity and competition and thus make atomic swaps a viable alternative to centralized exchanges.
---
layout: wip
layout: cp
title: mj part time coding Q2 2022
author: mj
date: Mar 01, 2022
......
---
layout: wip
title: Audit monero-serai and monero-wallet
author: kayabaNerve
date: October 11, 2024
amount: 1050 XMR
milestones:
- name: Audit of monero-[serai, wallet], including the FROST-inspired multisig protocol
funds: 1050 XMR
done:
status: unfinished
payouts:
- date: 3 December 2024
amount: 1050
---
monero-serai and monero-wallet are public-good libraries built by myself as part of my work on Serai DEX. Despite the "-serai" name, both libraries have always been intended to be usable and actually used by the Monero community as a whole. Development has been ongoing for over two years. During that time, I have hired developers to work on and review it (including j-berman who truly needs credit and acknowledgement for their contributions), yet have never seeked community funding for my work. Now that monero-serai and monero-wallet are ready for their 1.0 release, meaning they have reached the necessary milestone to be considered sufficiently developed and meaningful, I have decided to request the community's support for their audits.
monero-serai is a from-scratch reimplementation of the Monero transaction protocol in Rust. It originally also
included wallet functionality yet that was split out into the monero-wallet library to offer greater
flexibility to consumers.
monero-serai is used by Cuprate[[1]](
https://github.com/Cuprate/cuprate
)[[2]](
https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/405
)[[3]](
https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/422
)[[4]](
https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/431
)[[5]](
https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/456
)[[6]](
https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/469
)[[7]](
https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/484
) for its parsing/handling/stateless verification of Monero transactions. Specifically, included is:
- An implementation of v1 and v2 transactions
- Cryptonote ring signature, MLSAG, and CLSAG verification
- Borromean, Bulletproofs, and Bulletproofs(+) verification
monero-serai also underpins monero-wallet, a Rust library for sending and receiving Monero. It's intended to have a clean, high-level API, be usable in a variety of contexts (from desktops to embedded devices to web browsers), and support everything from traditional wallets to more novel use cases (such as atomic swaps). As part of this, it offers:
- Proving CLSAG, Bulletproofs, and Bulletproofs(+)
- Honest-sender outgoing view keys (deterministically derived transaction keys to simplify payment proofs and allow verifying transactions match an intent)
- A FROST-inspired multisig which has O(1) per-signer upload complexity and O(n) computational complexity, compared to Monero's multisig which has O(n!) complexity (where n is the amount of signers)
Potentially of most note is the work on multisig. FROST is a widely regarded, [IRTF standardized](https://datatracker.ietf.org/doc/rfc9591/) multisignature protocol for Schnorr signatures which I've applied to Monero's CLSAG (caveats apply). The application to CLSAG is built upon [modular-frost](https://github.com/serai-dex/serai/tree/develop/crypto/frost), a FROST implementation I wrote for Serai and have already [prior audited](https://github.com/serai-dex/serai/tree/develop/audits/Cypher%20Stack%20crypto%20March%202023).
Monero has historically had issues with its multisig which has a novel high-complexity DKG and a signing protocol which isn't formalized (though is currently Musig2-inspired). monero-wallet represents an opportunity to step forth with a formalized, proven, and audited multisignature implementation. One idea occassionally brought up has been to remove multisig from Monero proper, placing it in its own distinct repository, in order to not have multisig burden Monero. With the work done on monero-wallet, and the audit being funded here, completely deferring multisig to it would become a viable option.
monero-wallet has also been checked to have a matching decoy selection algorithm (specifically, a matching distribution of selected decoys), fee algorithm, and various other properties (such as TX extra) to ensure its transactions won't be fingerprintable.
There is interest by multiple wallets to use monero-wallet, and it's already being developed on top of by Serai, a user-facing multisignature use case, and an application premised on web technology (which compiles monero-wallet to WASM).
This CCS is to fund the formalization of the implemented CLSAG multisig protocol (already outlined), provide the necessary security proofs (derived from FROST), and audit monero-[serai, wallet]. The audit will be done by Cypher Stack (their quoted amount being the amount requested). The one milestone is to be paid directly, immediately, and in full, to Cypher Stack for their work.
After the audit, the plan is to transfer monero-serai into the newly created [monero-oxide](https://github.com/monero-oxide/monero-oxide) organization (head by myself and boog900 from Cuprate). This is to help ensure it stands as a public good and doesn't solely service a single project's needs. Additional discussions are ongoing regarding the future governance of monero-wallet.
---
layout: wip
layout: cp
title: Help an independent film featuring Monero get to the Oscars™!
author: markofdistinction_
date: January 20, 2023
......@@ -7,17 +7,15 @@ amount: 154
milestones:
- name: upon approval
funds: 77
done:
status: unfinished
done: 25 September 2023
status: finished
- name: upon qualifying for Academy Award
funds: 77
done:
status: unfinished
done: 25 September 2023
status: finished
payouts:
- date:
amount:
- date:
amount:
- date: 5 November 2023
amount: 154
---
### Note: This proposal generated significant and thoughtful discussion; potential donors are invited to read it [here](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/371).
......
---
layout: cp
title: "monerobull for website workgroup"
author: monerobull
date: 5 July 2024
amount: 30
milestones:
- name: 2 meetings + hours worked
funds: 10 XMR
done: 1 January 2025
status: finished
- name: 2 meetings + hours worked
funds: 10 XMR
done: 1 January 2025
status: finished
- name: 2 meetings + hours worked
funds: 10 XMR
done: 1 January 2025
status: finished
payouts:
- date: 30 January 2025
amount: 30
---
# Who, what, when, where?
Hi, I'm monerobull. I run monero.town & monerosupplies.com. I also never did any paid work for Monero before.
I was recently mentioned in a CCS proposal by geonic, famous Monero movie director. There's a lot of opportunity for improvement in the non-dev areas of the project, and not always enough hands to get it done. It was agreed upon that, were this to happen, this would be done through my own CCS proposal rather than through geonics. This moves me from being accountable to nobody, to accountable to the community.
A quick summary of what I'd be working on:
- Setting up / managing a Monero Website Workgroup, keep it up to date (our roadmap still mentions triptych)
- Joining the moderator teams for Matrix and helping along with discord
- Being a supportive figure in the Monero Community workgroup and helping that along as needed
- Keeping a finger on the "pulse of the community" in the various chat rooms and platforms (Telegram, Discord, not IRC, Matrix, Reddit, etc.)
- Aiding and assisting in event work as needed (part of Monerokon team since MK3)
# Why?
There's lots of non-dev stuff to do, and not so many people to do it. I am mostly capable and willing.
# How long? How much?
30 XMR for three months for half time work. Possibility of renewal depending on community sentiment.
# Deliverables
I will do all of the above in the beginning section, and give a monthly report to the community on what's been done, and tasks accomplished. Luigi does a lot of work, I'd like to take on some of that.
# COI
I would have never made this proposal without geonics preceding yolo proposal. In the past I've tried to stay away from the CCS due to all the drama surrounding it. This very proposal was born out of CCS drama.
---
layout: wip
layout: cp
title: MoneroKon 2023 CCS-1
author: ajs-xmr
date: December 12, 2022
......
---
layout: wip
title: Monerotopia 2024 Marketing and Publicity
author: geonic
date: November 6, 2024
amount: 36.68
milestones:
- name: Payment to Estrategia Blue PR
funds: 36.68
status: unfinished
done:
payouts:
- date:
amount: 36.68
---
# Monerotopia 2024 Marketing & Publicity
Hi! As discussed in the [previous community meeting](https://libera.monerologs.net/monero-community/20241026#c451916), I am proposing that we [spend the unused funds](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/70#note_26878) from the last Monero Outreach CCS on marketing & publicity for Monerotopia 2024, which starts next Thursday. I would be the key point of contact for the PR firm and will provide a final report on what's been achieved.
Our events are the perfect opportunity to publicize/advertise Monero and so far we haven't done a good job at that. This proposal is a first step in changing that.
**Estrategia Blue PR**, a leading publicity firm in Mexico, has made a [proposal](https://github.com/geonic1/geonic/blob/master/Monerotopia%20Proposal.pdf) and they are ready to start today. We need to engage them ASAP. Vik Sharma has agreed to handle the payment and receive the XMR at no surcharge. The proposed budget (~$5500) is within the remaining amount (36.68 XMR or ~$6000), which we intend to spend in full with more (or less) media buys, depending on the actual amount received by the firm.
As the only remaining, active member of Monero Outreach, I believe this is a good use of the funds and in the spirit of what the donors wished to support.
Cheers!
geonic
---
layout: wip
layout: cp
title: "moneromooo: three months from December 2020"
author: moneromooo
date: 05 December 2020
......@@ -15,11 +15,13 @@ milestones:
status: finished
- name: third month
funds: 33.34% (75 XMR)
done:
status: unfinished
done: 17 May 2023
status: finished
payouts:
- date: 17 June 2021
amount: 150
- date: 17 August 2023
amount: 75
---
Hi,
......
---
layout: wip
title: xmruw - development of cross platform wallet
author: mrcyjanek
date: February 29, 2024
amount: 76.68
milestones:
- name: Month 1
funds: 25.56
done: 8 July 2024
status: finished
- name: Month 2
funds: 25.56
done: 31 August 2024
status: finished
- name: Month 3
funds: 25.56
done:
status: unfinished
payouts:
- date: 17 July 2024
amount: 25.56
- date: 4 September 2024
amount: 25.56
- date:
amount:
---
Hello! I'm mrcyjanek and I'm currently working on the Unnamed Monero Wallet (short: xmruw) that aims to be as portable as possible and as close to `wallet2_api.h` as it is reasonably possible.
However, this project got much bigger than I initially expected and resulted in a project that is huge in size, but also has really large portability capabilities, after fighting for a couple days with Wayland implementation on SailfishOS I (with the help from Mister_Magister and NotKit) managed to run the first cryptocurrency wallet natively on SFOS ([that is available on the app store of that os](https://openrepos.net/content/mrcyjanek/unnamed-monero-wallet-xmruw)). More details and the origin story can be found in a [blog post announcing the wallet](https://www.mrcyjanek.net/p/xmruw-monero-wallet/).
I'm developing `xmruw` with a few critical points in mind:
- There should be no database responsible for any of the monero-releated functions - so I won't accidentally do something that shouldn't be done.
- The app should be as close to `wallet2_api.h` as possible to eliminate things like overly complex state management as something that causes issues.
- Privacy should be prioritized - no external services are contacted in the app, and if there ever happens to be some external feature it will be opt-in in settings with an option to route entire traffic through Tor.
- Security is also prioritized - not only by minimizing the attack surface but also by providing features such as stealth mode (inspired by Samourai wallet)
- UX is the most critical of them all in my opinion - without the right UX, not many users are going to use a wallet, so it is my responsibility as a developer to make the wallet available on all platforms and to be appealing to users.
- As a mobile Linux enthusiast I'll also do my best to offer secure monero wallet solutions for owners of non-Android and non-iOS mobile devices
# About
I've decided to take the simplest path from `wallet2_api.h` to the actual wallet UI, so instead of forking m2049r/cake implementation I've decided to use `dart:ffi` to call the native functions - this made a lot of code unnecessary, and the part that was still required was mostly generated - so I call that a huge win. But not without it's own cost - I had to write a wrapper for `wallet2_api.h` that would provide C headers instead of C++ - which meant [writing a bunch of boilerplate code](https://git.mrcyjanek.net/mrcyjanek/monero_c/src/commit/abaa3a2d165577a79ce0c3fe5382b68fa260ecc1/libbridge/src/main/cpp/wallet2_api_c.cpp#L1549) and implementing a couple of dart/flutter libraries, that gave birth to the foundation of the wallet
## Unnamed Monero Wallet (xmruw)
[Website](https://xmruw.net), [Gitea](https://git.mrcyjanek.net/mrcyjanek/unnamed_monero_wallet), [GitHub](https://github.com/mrcyjanek/unnamed_monero_wallet), [Downloads](https://download.xmruw.net/)
Features of the wallet include:
- Sending/Receiving monero
- Online/Offline wallet modes
- With URQR and file exports for Android/iOS
- With clipboard-based exports for QubesOS
- Embedded Tor support
- (soon) Embedded i2p support [^1]
- Stealth mode (fake calculator app that opens wallet if the correct pin is provided)
- Multiple account support
- Coin control
- Signing / Verifying of messages
- Custom themes
- Advanced settings
- Performance analysis tool for the `wallet2_api.h` functions called
- Debug information that makes development easier
- Configuration options to opt-in to experimental features (such as [background sync](https://github.com/monero-project/monero/pull/8619))
- OpenAlias resolving
- Backup/Restore
- Historically accurate currency conversion done fully offline
- And all of the "obvious" features such as transaction list, subaddress list, wallet locking, QR code scanning, etc.
## Scope of work
While working on Unamed Monero Wallet, here is a non-comprehensive list of the things I want to accomplish in no particular order, as it doesn't make sense to separate some things.
- Expanding compatibility of `monero_c` to all platforms that I have access to (Linux (glibc+musl), FreeBSD, iOS, MacOS, Windows) in an easily-reproducible way (single script and a docker environment)
- Making `xmruw` available for all platforms (and I do mean all platforms) and in app stores (including play store, self-hosted f-droid repository, apple app store, .deb, and .rpm repository).
- Implementing features desired by users, currently this includes
- periodic sync (via [background-sync](https://github.com/monero-project/monero/pull/8617)) to provide seamless experience, no matter how frequently the app is actually opened
- merchant mode
- many UI/UX improvements/changes (some of more important ones: make seed offset and its role more obvious, better backup mechanism, time-lock warn, automatic node selection)
- Work on documentation (this will be a significant task on its own, but the goal is to allow anybody to integrate monero no matter what language/framework they are using by using monero_c/monero.dart).
- Fix issues that were made along the way
- Bytewords entering an infinite loop when incorrect text is passed in
- No compatibility with Feather / ANONERO in offline mode due to lack of CBOR encoding
- Not cross-platform QR scanner [^2]
- Bad UI on desktop (not that it's bad, it is just mobile-first)
- and more, if found when developing
- sending fixes to relevant peers and upstream
## Milestones
Given the nebulous nature of development, I would prefer my milestones to be time-based. I prpose a milestone completion and subsequent payout once every month (after services rendered).
In addition to the above features mentioned in the scope of work, I propose an additional deliverable of a weekly report so my progress can be verified.
# Payment
I'm proposing to work for 20 hours/week for `40$/hour` at a rate of `~125,14$/XMR` (according to open prices between 2024-02-17 and 2024-03-01 (date of writing) via [CoinGecko](https://www.coingecko.com/en/coins/monero/historical_data)) for 12 weeks, summing up to a total of `~76,68` XMR split into 3 payments of `25,56` XMR every 4 weeks.
At the end of each week, I'll comment a summary of what happened along the way and what tasks were done.
[^1]: The library is there, it needs some love to be usable, cross platform and built in a reproducible fashion.
[^2]: Camera isn't fun, especially when being cross-platform is a goal, but supporting it is critical for URQRs. This isn't a milestone on it's own, but a topic that I'll research, do some PoC and come up with a solution, especially because getting camera to work is one task, then we need to scan qr the codes (and be **very** fast at it), so this milestone is more of "explore the possibilities" and come up with a reasonable plan for future regarding cross-platform camera support.
---
layout: wip
layout: cp
title: Three Months of Translation Coordination
author: netrik182
date: December 7, 2021
......@@ -15,18 +15,22 @@ milestones:
status: finished
- name: February
funds: 15
done:
status: unfinished
done: 12 February 2025
status: finished
payouts:
- date: 5 January 2022
amount: 15
- date: 8 February 2022
amount: 15
- date:
amount:
- date: 12 February 2025
amount: 15
---
### Proposal closure / funds reallocation 1st Feb 2025
The remaining 15XMR from this proposal have been transferred to [v1docq47](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests?scope=all&state=merged&author_username=v1docq47)
## Translation Coordinator for the Monero Project
My first proposal is now completed and I would like to continue working as translation coordinator for the upcoming months. You can read more about the initial proposal [here](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/260), also read the reports in the comments and on [reddit](https://www.reddit.com/r/Monero/comments/qqqoch/ccs_report_translation_coordinator/).
......
---
layout: wip
title: ofrnxmr support, docs, site, meta++ (totw pt3)
author: ofrnxmr
date: July 31, 2024
amount: 168
milestones:
- name: Aug 2024
funds: 14 XMR
done: 23 September 2024
status: finished
- name: Sep 2024
funds: 14 XMR
done: 31 January 2025
status: finished
- name: Oct 2024
funds: 14 XMR
done:
status: unfinished
- name: Nov 2024
funds: 14 XMR
done:
status: unfinished
- name: Dec 2024
funds: 14 XMR
done:
status: unfinished
- name: Jan 2025
funds: 14 XMR
done:
status: unfinished
- name: Feb 2025
funds: 14 XMR
done:
status: unfinished
- name: Mar 2025
funds: 14 XMR
done:
status: unfinished
- name: Apr 2025
funds: 14 XMR
done:
status: unfinished
- name: May 2025
funds: 14 XMR
done:
status: unfinished
- name: Jun 2025
funds: 14 XMR
done:
status: unfinished
- name: Jul 2025
funds: 14 XMR
done:
payouts:
- date: 28 September 2024
amount: 14
- date: 25 February 2025
amount: 14
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
---
Welcome back. Hopefully I still have your ear.
I'd like to take a moment to express gratitude towards all of my anonymous supporters. I see you, and I thank you for everything you've helped me with thus far. I wouldn't be here without you. If this proposal is merged, I will likely be good through til 2026.
This may not seem as abnormal as I'd have liked. The title is what it is, but the proposal is intended to cover contributions to Monero proper. It was requested that I open a new MR instead of editing the [old one](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/444).
- 14xmr/mth includes 20-25hrs/wk on customer support, docs, site, ccs, assisting devs, and attempting to take over the world:
- 3xmr/mth work with core devs, community devs, researchers, and other contributors to test or advise on features, issues, community projects etc.
- 3xmr/mth #monero-support: Lead the support channel & provide hands on support to users
- 3xmr/mth #monero-docs: Maintain¹ (or help to maintain) monero-docs repo and/or assist plowsof, 321bob321 and others with content
- 2xmr/mth #monero-site: Maintain¹ (or help to maintain) monero-site repo and/or assist plowsof, hardenedsteel and others with content
- 2xmr/mth #monero-community: Assisting CCS proposers (and plowsof) with relations/logistics
- 1xmr/mth take over the world: dedicate time to dealing with "meta" stuff. There is quite a bit of unfinished business (on and off repo) that needs to be tackled
- donate to others
The above amounts are estimates. Actual distribution may vary.
¹ Maintain = handle merges
Terms:
- 12 Months @ 168xmr total
- Estimated 20-25 hr/wk
Rate:
- 1 XMR = 1 XMR
Payout structure:
- 12 monthly milestones
\ No newline at end of file
---
layout: wip
title: "ofrnxmr feat BasicSwapDEX - take over the world pt 2"
author: ofrnxmr
date: 12 August 2024
amount: 1685
milestones:
- name: M0-O (ofnxmr, 1st month)
funds: 20 XMR
done: 3 September 2024
status: finished
- name: M0-Y (80xmr bounties, 3 months)
funds: 80 XMR
done: 28 September 2024
status: finished
- name: M0-F (~0-160hrs, 1st month)
funds: 40 XMR
done: 4 September 2024
status: finished
- name: M0-B (~0-160hrs, 1st month)
funds: 55 XMR
done: 4 September 2024
status: finished
- name: M1-O (ofrnxmr, 2nd month)
funds: 20 XMR
done: 17 October 2024
status: finished
- name: M1-F (~160-320hrs, 2nd month)
funds: 40 XMR
done: 17 October 2024
status: finished
- name: M1-B (~160-320hrs, 2nd month)
funds: 55 XMR
done: 17 October 2024
status: finished
- name: M2-O (ofrnxmr, 3rd month)
funds: 20 XMR
done: 30 November 2024
status: finished
- name: M2-F (~320-480hrs, 3rd month)
funds: 40 XMR
done: 30 November 2024
status: finished
- name: M2-B (~320-480hrs, 3rd month)
funds: 55 XMR
done: 30 November 2024
status: finished
- name: M3-O (ofrnxmr, til completion)
funds: 100 XMR
done:
status: unfinished
- name: M3-F - Frontend GUI v3.0.0 - v5.0.0+ (prepaid, ~6 months)
funds: 320 XMR
done: 19 January 2025
status: finished
- name: M3-B - Backend v0.13 - v0.15+ (prepaid, ~6 months)
funds: 410 XMR
done: 19 January 2025
status: finished
- name: M4 - Delivery of 1.0 (postpaid, ~3 months)
funds: 190 XMR
done:
status: unfinished
milestones:
- name: M5 - 1yr maintenance (ongoing)
funds: 240 XMR
done:
status: unfinished
payouts:
- date: 14 September 2024
amount: 115
- date: 28 September 2024
amount: 80
- date: 23 October 2024
amount: 115
- date: 6 December 2024
amount: 115
- date: 6 February 2025
amount: 730
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
---
Welcome ladies and gentleman, kids and pets.
Lets skip the intro.
BasicSwapDEX is, as far as I know, Monero's only Bidirectional Atomic swap service, and the only one that allows swapping monero with coins not named Bitcoin (such as Litecoin).
BasicSwapDEX has been mainnet for a while now, but is a beta / POC. With this CCS I hope empower and steward BasicSwapDex to production quality software within ~1 year. Some milestones are to be paid to ofrnxmr in advance. I'm also requesting that some funds be escrowed by the CCS Coordinator.
##### M0/M1/M2 = accelerate work / probation.
- M0 paid at funding. To be paid to ofrnxmr to distribute as follows:
- M0 = 80xmr to ofrnxmr to pay for bounties / extra help, and/or bonuses to backend/frontend devs
- M0/M1/M2 = 20xmr/month (60xmr/3months) to ofrnxmr
- M0/M1/M2 = 40xmr/160hrs (120xmr/3mths) to BasicSwap Team - Frontend
- M0/M1/M2 = 55xmr/160hrs (165xmr/3mths) to BasicSwap Team - Backend
##### M3-O - Paid end of month 4
- 100xmr
##### M3-F - Frontend GUI v3.0.0 - v5.0.0+
- Paid start of month 4
- 240xmr earmarked for frontend development (paid out by ofrnxmr as work is completed, 40xmr/160hr)
- 80xmr to ofrnxmr to pay for bounties / extra help, and/or bonuses to frontend devs
##### M3-B - Backend v0.13 - v0.15+
- Paid start of month 4
- 330xmr earmarked for backend development (paid out by ofrnxmr as work is completed: 55xmr/160hr)
- 80xmr to ofrnxmr to pay for bounties / extra help, and/or bonuses to backend devs
##### M4 - Delivery of 1.0
- Paid after M3 is completed to satisfaction, and 1.0 is shipped
- 80xmr for frontend dev(s)
- 110xmr for backend dev(s)
##### M5 = Maintenance
- Payout in Month 13 at the earliest, to be redistributed on a monthly basis
- 8xmr to backend devs
- 8xmr to frontend devs
- 4xmr to ofrnxmr
#### Scope (wherever technically possibly)
- **_M0/M1/M2 = Catchup work. Begin preparing for M3 milestones._**
- [Some things yet to be completed](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/457#note_24394)
- **_M3-F - Frontend GUI v3.0.0 - v5.0.0+_**
- CEX-like UI and UX (aside from speed)
- Orderbook
- Market depth
- Order types ie. Market, limit, stop, trailing, profit taker
- Private orderbook UI
- Overall UI and UX updates
- Mobile friendly
- Better notifications
- Improve / simplify in progress and historical bid details
- Historical swap exports
- Drop _reliance_ on centralized price APIs
- Add wallet (rpc) functionality to the wallets themselves
- Ability to use external wallets to take offers
- Include new GUI interfaces to match new backend functionalities
- **_M3-B - Backend v0.13 - v0.15+_**
- Secure the backend
- Better code reviews
- Fix and enhance user APIs
- Add provider / swapper APIs
- Web frontend APIs
- Enable swaps between incompatible coins. [Example: XMR <> FIRO]
- Integrations of atomic protocals such as those from BCH and ETH
- Disconnect SMSG from Particl blockchain
- Create and use a local price oracle
- Bridge orderbooks from other services such as Samourai
- EVM wallet compatibility
- Necessary changes to enable frontend features
- **_M4 - Delivery of 1.0_**
- M3-X Completed to satisfaction
- Ship 1.0 installation packages as (example), a Flatpak, appimage
- **_M5 - 1yr Maintenance_**
- Addressing concerns in an efficient manner
- Continued improvement of the codebase
The scope of work is quite large. You can follow Particl dev report (going back to January) for current, ongoing and planned work, which is ever evolving.
Should any part of this CCS fail, I may choose to redirect remaining funds to fork the project or to acquire devs willing/able to complete it.
In the event of total failure, all unused funds will be donated to a 2/3 multisig (The elusive "jetfund") with the COMMUNITY Coordinator and 1 other [TBD] party, to be used **as the community decides**....Though, im ofrnxmr. I'm not _fill in name of scammer_. I will see this through to completion.
##### Coverage
- M0/M1/M2 = Month 0-3
- M3-O = Month 4-12
- M3-X = Month 4 'til Completion of M3-X milestones (target = ~6 months)
- M4 = Completion of M3-X milestones til the later of completion of M4 or Month 13
- M5 = 12 Months. Earliest payouts may begin is the later of completion of M4 or Month 13
**This CCS allows the Monero Community to lead the space to a goal of having a FOSS, trustless, unregulatable, P2P, decentralized, liquid economy, with _0 platform fees, 0 dev taxes_ and _0 targets_.**
**I would hope (and assume) that non-monero communities who are under constant threat for having cypherpunk ideals (_cough_ BTC, BCH, ETH, and whoever else shares our ideals) will also support and donate to this endeavor.**
---
layout: wip
layout: cp
title: "CCS Coordinator"
author: plowsof
date: April 20th 2023
......@@ -11,18 +11,18 @@ milestones:
status: finished
- name: 2 meetings + hours worked
funds: 23 XMR
done:
status: unfinished
done: 20 August 2023
status: finished
- name: 2 meetings + hours worked
funds: 23 XMR
done:
status: unfinished
done: 16 October 2023
status: finished
payouts:
- date: 19 July 2023
amount: 23
- date:
- date: 12 September 2023
amount: 23
- date:
- date: 3 November 2023
amount: 23
---
......