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 1108 additions and 0 deletions
---
layout: cp
title: Boog900 full time work on Cuprate (3 months)
author: Boog900
date: January 27, 2024
amount: 190
milestones:
- name: The PeerSet + Routing methods excluding D++
funds: 54 XMR
done: 15 June 2024
status: finished
- name: D++ Routing method + Network Initialisation
funds: 54 XMR
done: 15 June 2024
status: finished
- name: The Block Downloader + Syncer
funds: 54 XMR
done: 15 June 2024
status: finished
- name: P2P Documentation
funds: 28 XMR
done: 18 July 2024
status: finished
payouts:
- date: 20 June 2024
amount: 162
- date: 1 August 2024
amount: 28
---
This proposal is to continue my work on [Cuprate](https://github.com/Cuprate/cuprate), specifically I will be working on
Cuprate's P2P layer and syncing. While doing this I will also expand [monero-book](https://monero-book.cuprate.org), which I created during my last CCS,
with the P2P types, message encoding and message flows (handshakes etc).
# Who
I am [Boog900](https://github.com/Boog900), you can see my last CCS [here](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/405).
# What
As well as continuing to lead coordination of Cuprate, I will also be an active maintainer for monero-rs, during the past few months
I have been reviewing and merging PRs and have released a new version: [ v0.20.0 ](https://github.com/monero-rs/monero-rs/releases/tag/v0.20.0)
For this CCS I will be working on getting Cuprate's P2P layer into a working state.
Currently Cuprate's P2P has:
- Levin header decoding/ encoding
- Every P2P message decoding/ encoding
- Handshakes.
- Rough individual peer message routing.
- A P2P address book.
What I will be doing:
## Hardening Individual Peer Message Routing
Individual peer message routing needs to be hardened, currently we don't do any checks the data received is the data we
asked for, we should be doing these checks in the connection task before handing the message to the rest of Cuprate.
## The PeerSet
The `PeerSet` is the structure that holds all currently connect peers on a certain network, it will have methods to get
peers by direction (Inbound, Outbound) or by a custom strategy, e.g a load balancing algorithm. This structure is then
used by the different routing methods.
## All The Routing Methods
The routing methods are how the rest of Cuprates interact with the P2P network. The goal is to have there be one end point
that the rest of Cuprate can send requests to. This end point will need to be made up of multiple `tower::Services` for the different
routing methods (broadcast to all, etc).
I will also be creating the Dandelion++ routing method, which will handle keeping the current d++ state, selecting out peers to route to and
keeping track of stem routes. It won't handle all of D++ as that requires knowledge of the tx-pool, but it will handle all the routing
side.
## Network Initialisation
I will make the network initialisation code, to start the network and return the end point that requests can be sent to.
## The Block Downloader
The block downloader will be a `futures::Stream` that will handle finding the chain with the most PoW from the `PeerSet` and will download
this chain from the peer(s), giving the downloaded blocks back to the caller to then verify and add to our chain.
## The Syncer
The syncer will handle synchronisation after falling behind, it will use [the block downloader](#the-block-downloader) and
the consensus service I created for my last CCS. It will get the blocks from the downloader, verify them and then
giving them to the database*.
*the database will not be worked on for this CCS, see [hinto's CCS](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/422).
If this CCS and [hinto's CCS](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/422) are accepted then when both are complete Cuprate will
be able to sync, verify and store the blockchain.
## Documentation
There are already documents describing the [levin header format](https://github.com/monero-project/monero/blob/master/docs/LEVIN_PROTOCOL.md) and [epee binary format](https://github.com/monero-project/monero/blob/master/docs/PORTABLE_STORAGE.md).
I will be documenting the format of each P2P message (how they are encoded, the fields) and successful message flows: handshakes, syncing etc.
# Why
I believe that having an alternative node is needed to help to protect against implementation issues like [this one](https://github.com/monero-project/monero/pull/9013) I found during my
last CCS.
Having an accessible P2P library and documentation will make it easier for devs to build software that needs to interact with the P2P network.
# Milestones
1. The PeerSet + Routing methods excluding D++
2. D++ Routing method + Network Initialisation
3. The Block Downloader + Syncer
4. Documentation
# Funding
I am asking for $45/hr for 50hrs/week for 3 months at $142/XMR this gives 190 XMR
---
layout: cp
title: Boog900 full time work on Cuprate (3 months)
author: Boog900
date: June 28, 2024
amount: 215
milestones:
- name: Month 1
funds: 71 XMR
done: 4 September 2024
status: finished
- name: Month 2
funds: 72 XMR
done: 29 October 2024
status: finished
- name: Month 3
funds: 72 XMR
done: 6 January 2025
status: finished
payouts:
- date: 27 September 2024
amount: 71
- date: 10 November 2024
amount: 72
- date: 21 January 2025
amount: 72
---
This proposal is to continue my work on [Cuprate](https://github.com/Cuprate/cuprate).
# Who
I am [Boog900](https://github.com/Boog900), you can see my last CCS [here](https://ccs.getmonero.org/proposals/boog_3_months_cuprate.html).
# What
Cuprate is very close to having an alpha binary ready. During my last CCS I created a test binary with the components
we currently have to test a full sync, a full sync with this binary wasn't achieved due to a few issues discovered, which have since
been fixed, however timings up to the height (~2,300,000) we did reach are promising for Cuprate's performance.
This proposal will be for 3 months work on Cuprate while continuing coordination of the Cuprate project and also being an active maintainer
for monero-rs.
My main plan is to work towards what is needed to achieve a working alpha binary that can sync, stay synchronized, handle reorgs and
participate in transaction propagation.
This will include:
### Blockchain service
The blockchain service is what will keep the blockchain's state, handle incoming blocks, decide when to re-org, etc. It will use
the consensus and database services created in previous CCS proposals (https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/405 & https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/422).
### Tx Pool
The transactions in the txpool will be stored in a separate database from where the blockchain is stored, using the same database abstraction.
I will work on the txpool tables and the service that will handle txpool requests from other parts of Cuprate.
Hinto, as apart of their CCS, has already began work here. Although Hinto's CCS includes a small note about completing the persistent transaction
pool: `The persistent transaction pool will be finished within this CCS`, I will be taking over from where hinto has left off as the exact
transactions pool tables are yet to be decided and the transaction pool service is heavily tied in to other areas I will be working on.
### Peer Protocol Request Handler
The peer protocol request handler is what is given to `cuprate-p2p`, it is used to handle requests for blocks/transactions and other chain data.
In our test binary I created a mock request handler that just doesn't respond to requests, this lead to pretty unstable connections, with the other
components here though I will be able to create a working request handler.
### Other Tasks
There are other smaller things that need to be worked on for Cuprate to be ready for an alpha binary, mainly bug fixes and leftover TODOs.
# Milestones
Unlike my previous CCS proposals, I am basing milestones on hours worked instead of completed work.
There are a few reasons for this. The exact work needed is likely to change as we get closer to an alpha binary, for example, bugs that need
fixing may come up. It also brings the proposal closer to the average full-time developer proposal.
Although doing milestones based on time requires more trust, we are doing weekly [Cuprate meetings](https://github.com/monero-project/meta/issues/1028)
where I am, and will be reporting progress.
# Funding
I am asking for $55/hr for 50 hrs/week for 3 months at $166/XMR. This gives 215 XMR.
This is a raise over my last CCS ($45 -> $55), I believe this is justified given my past work.
---
layout: wip
title: Boog900 full time work on Cuprate (3 months) + January
author: Boog900
date: February 11, 2025
amount: 160
milestones:
- name: January
funds: 40 XMR
done:
status: unfinished
- name: Month 1
funds: 40 XMR
done:
status: unfinished
- name: Month 2
funds: 40 XMR
done:
status: unfinished
- name: Month 3
funds: 40 XMR
done:
status: unfinished
payouts:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
---
# Who
I am [Boog900](https://github.com/Boog900), you can see my last CCS [here](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/469).
# What
I will work for 3 months on Cuprate with an initial focus on releasing an alpha `cuprated`, the basic roadmap can be seen here: https://github.com/Cuprate/cuprate/issues/376.
I plan to work on what I think is best to advance the project.
I am also asking for payment for the hours I worked in January. We had some discussions about changing the way we
get funded, potentially making a combined "cuprate CCS", however we decided against it, this lead to the delay of this CCS.
A list of things I did during January:
- finished the init PR: https://github.com/Cuprate/cuprate/pull/344
- worked on improving our consensus API: https://github.com/Cuprate/cuprate/pull/366, to prepare for fast-sync.
- Started working on [issue 174](https://github.com/Cuprate/cuprate/issues/174): https://github.com/Cuprate/cuprate/pull/382
- Investigated why monerod was syncing the first 100,000 blocks faster than cuprated, which lead to this PR: https://github.com/Cuprate/cuprate/pull/377
- Started working on changing monero-oxide's tx type to use compressed points: https://github.com/Cuprate/serai/tree/monero-comp-points
- Started working on fast-sync: https://github.com/Cuprate/cuprate/tree/fast-sync
All the tasks that have been started are pretty much ready just need to be cleaned up, they are all used in the fast-sync branch
which a few people have tested syncs on, the quickest sync _so far_ was just over 4 hours.
# Funding
I am asking for 40 XMR for my work in January.
$55/hr for 480 hrs at $220/XMR: 120 XMR
total: 160 XMR
---
layout: cp
title: Bulletproofs+ Audit 2
author: Justin Ehrenhofer
date: 28 February 2021
amount: 67
milestones:
- name: Bulletproofs+ Final Report
funds: 67
done: 22 March 2021
status: finished
payouts:
- date: 24 March 2021
amount: 67
---
I am opening this CCS proposal on behalf of JP Aumasson for a second audit of Bulletproofs+. Payout will be to him directly in XMR. Bulletproofs+ make Monero transactions faster and more efficient.
JP's SoW: https://github.com/monero-project/meta/files/6037185/bpplus-review-sow.pdf
First audit from ZenGo: https://suyash67.github.io/homepage/assets/pdfs/bulletproofs_plus_audit_report_v1.1.pdf
JP will build upon the previous audit and code changes resulting from it. Audits are critical for Monero's code security. Bulletproofs+ are a drop-in replacement for Bulletproofs, and they will remain useful for future Monero improvements like Triptych.
I would like to thank the companies who submitted a SoW for this second audit. I would also like to thank the other members of the Monero Audit Workgroup, who coordinated an audit with companies entirely on its own for the first time.
JP is available effectively immediately after the CCS funds are raised to begin the audit.
Cost breakdown:
* Audit amount: $12,500
* Buffer (10%): $1,250
* Total: $13,750
* XMR ($205): 67
---
layout: cp
title: "Bulletproofs+ Audit for Monero"
author: Suyash Bagad
date: 22 December 2020
amount: 90.3
milestones:
- name: Audit Report of Bulletproofs+ Code and the E-print paper
funds: 100% (90.3 XMR)
done: 13 February 2021
status: finished
payouts:
- date: 14 February 2021
amount: 90.3
---
### Overview
Hello everyone! This CCS proposal is for the audit of the Bulletproofs+ [implementation](https://github.com/SarangNoether/monero/tree/bp-plus) for range proofs in Monero. [Bulletproofs+](https://eprint.iacr.org/2020/735) is a more efficient range proof protocol building on [Bulletproofs](https://eprint.iacr.org/2017/1066.pdf). Bulletproofs+ for Monero has been implemented by Dr. Sarang Noether as per [this](https://charity.gofundme.com/o/en/campaign/dr-sarang-noether-to-implement-bulletproofs-in-monero) proposal. Bulletproofs+ offers at least 5% proof size reduction and 5-10% speedup in verification[^1]. Refer to our blogs[^2] for in-depth technical differences between Bulletproofs and Bulletproofs+.
### Scope
We aim to perform a cryptographic and security assessment of the Bulletproof+ (referred to as BP+ hereafter) protocol specific to the Monero blockchain. Our goal is to establish the readiness of a specific C++ implementation of BP+ as a drop in replacement to the existing range proof protocol Bulletproofs in Monero. We plan to cover the following points as a part of the audit:
1. A full peer review of the eprint version ([link](https://eprint.iacr.org/2020/735)) of the paper with focus on the soundness of the scheme. Note that at the time of writing this proposal, the paper is not yet published in a peer-reviewed conference/journal.
2. Thorough examination if the BP+ code ([link](https://github.com/SarangNoether/monero/tree/bp-plus)) accurately represents the Bulletproofs+ prove and verify algorithms, in particular
- To check if the code allows an attacker to generate a false proof that the verify algorithm deems as correct,
- To check if the code leaks any information to an attacker from examining the proof generated by an honest prover,
3. Assess the correctness of the C++ code (~1500 lines of code of BP+ including tests and headers) from a logical and an implementation point of view, including the underlying elliptic curve arithmetic used. We will use an independent Rust [implementation](https://github.com/ZenGo-X/bulletproofs) to provide an extra layer of validation.
4. Focus on identifying vulnerabilities related to security and in particular the cryptographic properties. We will do our best effort to offer improvements to the code.
### About Us
Our team consists of the following members:
1. [Omer Shlomovits](https://www.omershlomovits.com/): Co-founder of [ZenGoX](https://zengo.com/research/), [MPC-Alliance](https://www.mpcalliance.org/), [ZK-Tel-Aviv](https://www.meetup.com/Zero-Knowledge-Tel-Aviv/). Vastly [experienced](https://www.omershlomovits.com/work) in Crypto & Blockchain research, implementing complex cryptographic systems.
2. [Suyash Bagad](https://suyash67.github.io/homepage/): Cryptography Engineer at Aztec Protocol, ZenGoX Research member, B.Tech and M.Tech from the Indian Institute of Technology, Bombay with thesis primarily on [Privacy-preserving Proofs of Reserves for Monero and Grin](https://suyash67.github.io/homepage/assets/pdfs/suyash-masters-thesis.pdf). First author of 2 papers presented to IEEE S&B, Crypto Valley conferences. Experienced in implementing zero-knowledge proof systems.
Note: We are the same team who had first [proposed](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/156) the implementation of BP+ for Monero.
### Funding Note
We estimate to complete the project in about 1 month in two steps: (i) Full peer review of the paper, (ii) Complete audit of the implementation in form of a well-compiled report. We need a funding of XMR 90.3 (equivalent of $15,000) as per 7-day average price (1 XMR = $166.13) on Kraken. This project will include both Suyash and Omer working as well as academic advisory from [Prof. Claudio Orlandi](https://users-cs.au.dk/orlandi/).
[^1]: Dr. Sarang's blog on Bulletproofs+. Available: https://gist.github.com/SarangNoether/ee6367fa8b5500120b2a4dbe23b71694
[^2]: Comparing Bulletproofs and Bulletproofs+. Available ([Part I](https://suyash67.github.io/homepage/project/2020/07/03/bulletproofs_plus_part1.html), [Part II](https://suyash67.github.io/homepage/project/2020/07/03/bulletproofs_plus_part2.html), [Part III](https://suyash67.github.io/homepage/project/2020/07/03/bulletproofs_plus_part3.html))
---
layout: cp
title: Bulletproofs++ Peer Review
author: Monero Research Lab
date: March 22, 2023
amount: 130
milestones:
- name: Bp++ eprint peer review CCS part
funds: 130
done: 6 March 2024
status: finished
- name: Bp++ eprint peer review GenFund part
funds: ~$14000
done: 29 March 2024
status: finished
payouts:
- date: 7 March 2024
amount: 130
- date: 7 April 2024
amount: 101
---
## Bulletproofs++ Peer Review
This CCS will provide funding for the first step towards Bulletproofs++ implementation in Monero. (and also the planned Seraphis upgrade). Bulletproofs+ were added in the latest [Network Upgrade](https://www.getmonero.org/2022/04/20/network-upgrade-july-2022.html). They reduce the typical transaction size by ~5-7% and improve typical verification performance by ~5-7%, making every transaction lighter and faster. Bulletproofs++ claims to significantly improve upon this (e.g. ~27% smaller than Bp+).
## Scope / Deliverables
A full peer review of the eprint version [[link]](https://eprint.iacr.org/archive/2022/510/20230717:163509) of the paper. Note that at the time of writing this proposal, the paper is not yet published in a peer-reviewed conference/journal.
The deliverable is a write-up which will include recommendations, notes, weaknesses, and issues (if any) of the BP++ paper touching on:
- The soundness, completeness, and zero knowledge portions of the paper.
- Efficiency* Aggregation. ~~Batching. MPC compatibility.~~
- Making sure it fits neatly and completely into the place that BP+ currently sits by checking the correctness of proofs.
## Out of scope
- Multiparty computation. There are no specific protocols presented for this, and no corresponding security model of proofs of security.
- Batch verification. While the preprint mentions that BP++ supports batch verification, it provides no details on the corresponding algebra.
- Multi-asset transactions. The preprint discusses multi-asset transactions in the context of its protocols, but these are not required for range proofs.
- Optimized binary range proofs. The protocol proposed for optimized binary range proofs has only an informal and vague security proof that is insufficient to assert the claims of the corresponding theorem.
## Funding
The latest version of the paper is now greatly expanded. CypherStack has given a new quote for this paper of $32,000. Core will decide how the shortfall is handled.
- Funds are released by Core to a third party and converted.
- $32,000 will be paid directly to [CypherStack](https://cypherstack.com/).
- Excess XMR after conversion will be donated to the next Bp++ CCS.
- Any shortfalls from volatility will be paid by the Monero General Fund.
---
layout: wip
title: Standalone AcceptXMR
author: busyboredom
date: February 31, 2023
amount: 44
milestones:
- name: Dockerize AcceptXMR
funds: 14
done: 5 July 2024
status: finished
- name: Wordpress Plugin
funds: 10
done:
status: unfinished
- name: Maintenance 1 year
funds: 20
done:
status: unfinished
payouts:
- date: 19 July 2024
amount: 14
- date:
amount:
- date:
amount:
---
_Note: this proposal has been awarded 30 XMR from [xmrSale](https://ccs.getmonero.org/proposals/xmrsale-2021.html)_
# Standalone AcceptXMR
Another payment gateway CCS proposal.
## Summary
I would like to create a standalone, dockerized, AcceptXMR-based payment gateway with wordpress
support.
AcceptXMR ([demo](https://busyboredom.com/projects/acceptxmr),
[docs](https://docs.rs/acceptxmr/latest/acceptxmr/),
[repo](https://github.com/busyboredom/acceptxmr/)) is a payment gateway library (or crate, in rust
lingo) I wrote as a hobby project and have made available to the community. While my library serves
its purpose well, I understand that most merchants are not programmers therefor cannot use
AcceptXMR.
This proposal aims to make AcceptXMR usable for anyone capable running a docker container and
installing a wordpress plugin.
## Why AcceptXMR
Lots of reasons!
* View pair only, no hot wallet.
* Subaddress based (as opposed to the older integrated addresses).
* Pending invoices can be stored persistently, enabling recovery from power loss.
* Ignores transactions with non-zero timelocks.
* Zero-conf works out of the box.
* No local node, wallet RPC, or block explorer needed. Just pick a public remote node.
And of course, I am already intimately familiar with it.
## How It'll Happen
I will dedicate a portion of my weekends (you can expect about 10 hours a week on average) to
completing the following milestones. There will be some weeks with more progress and others with
less, but that's the average I'll be aiming for.
### Dockerize AcceptXMR
_14 XMR from xmrSale's abandoned funding._
This is the largest milestone. I'll be taking the webserver and frontend work you see in my demo,
cleaning it up significantly to bring it up to production standards and dockerizing it for easy
setup. I will also provide documentation on how to perform that setup.
### Wordpress Plugin
_10 XMR from xmrSale's abandoned funding._
Wordpress is popular, and it has a plugin system that supports custom payment gateways. I will write
a wordpress plugin for the freshly dockerized AcceptXMR implementation. I will also provide
documentation on how to use the plugin.
### Maintenance for 1 Year
_20 XMR total, with 6 XMR coming from xmrSale's abandoned funding and the remaining 14 XMR coming
from this CCS proposal._
Both rust and monero have rapidly changing ecosystems. Left alone, my work would likely be out of
date by the end of the year due to breaking changes in my library's dependencies if nothing else.
Keeping AcceptXMR up-to-date and functional is something I currently do for free, but building out a
full standalone gateway adds overhead. For this reason, I've bookmarked 20 XMR for maintenance for 1
year from the funding date.
I am hesitant to provide target dates for first two milestones above, but I have been maintaining
AcceptXMR for over a year now and I don't plan on ghosting on it now.
## Stretch Goals / Future work
I'm not promising any of the following happens, but I'm putting it here to let the community know
it's on my radar and I want to do it if I get the opportunity:
* TOR support for the daemon RPC connection.
* A no-JS frontend. I have an example with this implemented on github, but I'll have to clean it up
a bit and integrate it into the new dockerized setup.
* ZMQ support as a more performant alternative to polling the remote node.
## Prerequisites
Before I start work on this CCS, I'll need to wrap up changes I'm making with v0.12.0 of AcceptXMR.
I'm not charging for that work, I'm just disclosing here that I need to resolve the issues in that
milestone before I start work on this CCS.
## License
AcceptXMR is dual-licensed under the MIT and Apache 2.0 licenses. I am not planning on changing the
license. It will always be under a permissive license.
## About Me
Busyboredom is _not_ an anonymous alias, you can see my minimally-redacted resume on my personal
website [busyboredom.com](https://busyboredom.com).
Proposal Expiration: January 1st, 2025.
Note: This CCS was originally intended to be funded entirely by the 30 XMR leftover from the abanoned
xmrSale project. At the request of the community, I have extended my maintenance commitment and
increased the maintenance budget by 14 XMR. This change allows CCS donors to act as a final check on
whether this proposal goes forward.
---
layout: wip
title: CCS Coordinator
author: plowsof
date: September 14, 2024
amount: 99.0
milestones:
- name: Month 1
funds: 33.0
status: finished
done: 22 November 2024
- name: Month 2
funds: 33.0
status: finished
done: 16 February 2025
- name: Month 3
funds: 33.0
status: unfinished
done:
payouts:
- date: 6 December 2024
amount: 33.0
- date: 26 February 2025
amount: 33.0
- date:
amount: 33.0
---
# Who?
Hello, plowsof here, I show up and try to be helpful. My [previous](https://ccs.getmonero.org/proposals/plowsof-com-rel.html) [proposals](https://ccs.getmonero.org/proposals/plowsof-ccs-coordinator-2.html) [happened](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/418), [previously](https://ccs.getmonero.org/proposals/plowsof-ccs-coordinator-4.html). I would like to make it happen again, and do more of the same things.
# What?
- Gather consensus for CCS proposals. (feedback from GitLab/IRC/Reddit).
- Organise bi-weekly meetings to discuss proposals / current events (more if necessary).
- Provide decisions in 1 month or less (Yes/No to being funded or if something has to be changed with the proposal to satisfy our community).
- Be impartial when communicating with CCS proposers - everyone gets a fair shake.
- Checking up on the WIP list to find / fix problems early (e.g. payments overdue or proposers AWOL).
- Take responsibility for the entire CCS process - It's my fault when 'things go wrong'.
- Someone who is online for several hours a day / 7 days a week that knows what's going on.
- Act as a liaison to Core - keep them informed of whats happening / poke them when required / handle their requests.
- As part of this CCS, you will also be sponsoring my work when quality assurance testing new features/bug fixes each release cycle in the GUI, CLI, and RPC wallets.
- And Getmonero.org contributions.
- Consultancy before / during / after the idea stage.
- Secretarial tasks for https://bounties.monero.social/ (requesting payouts upon completion of bounties and such)
# Funding
Work for 25 hours per week over the next 3 months (from September to end of November 2024) at a rate of 45€ / hour. At 147.94€ / XMR (90-day EMA) this makes ~99.0 XMR.
---
layout: cp
title: "Do they know its CCSmas time again?"
author: plowsof
date: December 25th 2023
amount: 0.069
milestones:
- name: 3+ months of transaction fees
funds: 0.069 XMR
done: 28 December 2023
status: finished
payouts:
- date:
amount: 0.069
---
## Update
We're back! here is a brief summary of events before we get testing:
- After the [CCS wallet was drained](https://github.com/monero-project/meta/issues/916) a Vote was held to determine if luigi [should continue as an escrow](https://github.com/monero-project/meta/issues/935).
- Feedback obtained from the community determined how the new CCS wallet would be created/used in a secure manner;
- A new, single-purpose, air-gapped laptop was purchased (bluetooth/wifi disabled).
- The OS is Debian, and FeatherWallet will be used to sign and transport transaction files (via QR codes)
- Special thanks to tobtoht of FeatherWallet who worked tirelessly to push out a new version with convenient air-gapped signing capabilities, and every community member who offered feedback on how to best move forward.
- The exact amount stolen + 21 XMR extra was sent to the General Fund ([X](https://twitter.com/WatchFund/status/1732391070216908886) / [nitter](https://nitter.net/WatchFund/status/1732391070216908886))
- The machine where the drained wallet resided is being [forensically anaylised](https://github.com/monero-project/meta/issues/923) to determine if it was compromised.
- Luigi will escrow a temporary wallet until the [31st March 2024](https://github.com/monero-project/meta/issues/935#issuecomment-1867257410).
We must now begin to prepare for a 'post March 31st CCS' and wish everyone a merry RandomX'mas and a happy new year!
## Milestone 1
Lets test the new CCS wallet by raising approx ~$12.16 / 0.069XMR to subsidise transaction fees for several hundred consolidations/payouts for the next 3 months.
---
layout: cp
title: CLSAG Audit
author: Monero Audit Workgroup
date: 4 June 2020
amount: 179
milestones:
- name: Audit amount
funds: 100% (179 XMR)
done: 15 June 2020
status: finished
payouts:
- date: 15 June 2020
amount: 172.09664848
- date: 15 June 2020
amount: 6.90335152
---
This is the funding request for Monero Research Lab's Concise Linkable Ring Signatures (CLSAG) research. CLSAG promises to provide more efficient Monero transactions without sacrificing privacy. CLSAG improves Monero transactions with no meaningful disadvantages. It's a drop-in improvement for MLSAG like Bulletproofs was. CLSAGs require a hardfork to implement.
The Monero Audit Workgroup cooperated with [OSTIF](https://ostif.org/) to create [this SoW](https://ia601504.us.archive.org/24/items/jp-ostif-clsag-signed/JP%20OSTIF%20CLSAG%20SIGNED.pdf) with [Teserakt](https://teserakt.io/). The Monero community has cooperated with OSTIF for the past [Bulletproofs](https://ostif.org/the-ostif-and-quarkslab-audit-of-monero-bulletproofs-is-complete-critical-bug-patched/) [audits](https://ostif.org/the-quarkslab-and-kudelski-security-audits-of-monero-bulletproofs-are-complete/) and [RandomX audits](https://ostif.org/four-audits-of-randomx-for-monero-and-arweave-have-been-completed-results/).
The workgroup consists of the following members. They do not receive compensation:
* ArticMine
* binaryFate
* Justin Ehrenhofer
* Sarang Noether (abstained)
* SerHack
Cost breakdown:
* Audit amount: $14,400
* OSTIF fee (10%): $1,440
* OSTIF audit credit: ($4,800)
* Subtotal: $11,040
* Buffer (10%): $1,104
* Total: $12,144
* XMR ($68): 179
The credit is from excess from the last audit with OSTIF, and from a ~~$1650~~ $3,300 donation from Sweetwater Digital Asset Consulting, LLC.
Teserakt has already begun working on this audit by their own decision.
Any excess or shortfalls from volatility will be donated to or paid by the Monero General Fund.
\ No newline at end of file
---
layout: fr
title: CLSAG Audit
author: Monero Audit Workgroup
date: 4 June 2020
amount:
milestones:
- name: Audit amount
funds: 100% (206 XMR)
done:
status: unfinished
payouts:
- date:
amount:
---
This is the funding request for Monero Research Lab's Concise Linkable Ring Signatures (CLSAG) research. CLSAG promises to provide more efficient Monero transactions without sacrificing privacy. CLSAG improves Monero transactions with no meaningful disadvantages. It's a drop-in improvement for MLSAG like Bulletproofs was. CLSAGs require a hardfork to implement.
The Monero Audit Workgroup cooperated with [OSTIF](https://ostif.org/) to create [this SoW](https://ia601504.us.archive.org/24/items/jp-ostif-clsag-signed/JP%20OSTIF%20CLSAG%20SIGNED.pdf) with [Teserakt](https://teserakt.io/). The Monero community has cooperated with OSTIF for the past [Bulletproofs](https://ostif.org/the-ostif-and-quarkslab-audit-of-monero-bulletproofs-is-complete-critical-bug-patched/) [audits](https://ostif.org/the-quarkslab-and-kudelski-security-audits-of-monero-bulletproofs-are-complete/) and [RandomX audits](https://ostif.org/four-audits-of-randomx-for-monero-and-arweave-have-been-completed-results/).
The workgroup consists of the following members. They do not receive compensation:
* ArticMine
* binaryFate
* Justin Ehrenhofer
* Sarang Noether (abstained)
* SerHack
Cost breakdown:
* Audit amount: $14,400
* OSTIF fee (10%): $1,440
* OSTIF audit credit: ($3,150)
* Subtotal: $12,690
* Buffer (10%): $1,269
* Total: $13,959
* XMR ($68): 206
Teserakt has already begun working on this audit by their own decision.
Any excess or shortfalls from volatility will be donated to or paid by Core.
\ No newline at end of file
---
layout: cp
title: HotShop Point of Sale
author: cryptogrampy
date: April 7, 2022
amount: 18
milestones:
- name: Milestone 1 - Create and publish payment code, perform basic payment generation and verification on deployed webapp
funds: 0
done: 29 May 2022
status: finished
- name: Milestone 2 - Create and publish draft Point of Sale user interface for feedback
funds: 8
done: 29 May 2022
status: finished
- name: Milestone 3 - Create finalized Point of Sale interface, create install and deployment instructions, publish freely available version
funds: 10
done: 27 May 2023
status: finished
payouts:
- date: 1 June 2022
amount: 8
- date: 7 June 2023
amount: 10
---
HotShop - a browser-based, ephemeral, no-server point of sale
**who**
Hello, it's me, your great-grandfather CryptoGrampy. You might know me on Twitter as @CryptoGrampy or from my work on the Monerod-on-Termux Android script, the Android PocketNode(tm), the Monero Drag n' Drop Electron app or from Friday morning bridge club in the cafeteria.
**what is this**
Monero is really lacking in the physical Point of Sale department. Let's fix that.
The HotShop will be a simple to use webapp with a simple aesthetic and UI similar to Kasisto (RIP) and POS.cash that can be accessed from just about any web browser (on mobile or desktop) with a slight amount of user customization (company name/image, etc).
You will be able to hit HotShop.cryptogrampy.com, enter your payment details, type in the desired XMR (optionally USD if you allow that API request) amount... a QR code and address will display, and the UI will update (payment confirmation progress as well) immediately when someone has paid the correct amount.
No hosting, private spend keys, personal servers/VPS's or payment gateways will be required. The app will be able to be added to any free web host- Github pages, etc and available for anyone to use because the magic happens in your browser (you'll be able to self-host it if you want) Users will need provide the app with their primary and view keys (no spend key involved!) on the client side (this info does NOT get sent to the server) and they will specify a remote Monero node of their choice.
The tech stack will be something like: Monero-Javascript, Vue3, and Typescript.
You'll be able to set this up at a garage sale, coffee shop, with your friends, etc and generate fresh/unused payment addresses displayed as QR codes. In the settings, you'll set your desired number of confirmations (or do zero conf!), point it at a remote Monero node of your choice, and be able to collect payments and immediately validate that they were received/watch them as they get confirmed.
You'll be able to bookmark a link on your phone/browsers that contain all of the credentials necessary to start up the POS or have a QR code on a card containing a special link in your wallet... Just scan it with any device- your friend's phone, the library computer, the ipad at your store, and Boom! you have an instant Point of Sale.
**Who does this benefit? Why do I need this when I can just use a mobile wallet?**
- I think the physical Point of Sale situation is still pretty lacking in Monero
- No existing wallets have good Point of Sale tech or UI
- Perhaps you're in a situation where you can't have a wallet app on your phone/desktop but want to receive/validate payment
- Perhaps you're in a situation where you want to be able to accept payments, but are worried about someone stealing your device or spend key wallet
- An ephemeral point of sale that sort of lives on a QR code or bookmark in your phone sounds really cool
- Maybe your mobile wallet is 1000000 blocks behind and want to IMMEDIATELY accept and verify a payment
- Don't you want to make 100% sure your buddy at the bar *actually* sent those funds? It's better than a static payment address.
Also... Need yet another payment gateway? The code for this will be written in a clean way that could be used in a NodeJS server or as a different front end implementation via simple exposed methods for instantiating the gateway, creating new payment requests and verifying payments. If I have enough time, I will publish this portion of the code separately, and ideally as an npm library.
**what does this not do**
- It's not going to keep track of payments that occurred before you hit the website (it's not going to be a full wallet). It will sync at the latest block height to have the ability to immediately begin accepting payments
- It's not going to keep track of prices, photos and items you have for sale in your store
**potential reach ideas**
- CSV export of tx's that occur in a session
- Vending machine exploration
- Pin code lock/unlock
- Display past tx's within the session in a pleasant way
- Local browser storage of user data
- Importing prices/items via github repo json files
- TOR support
- Payment completion callback (provide a POST endpoint to receive completed payment data)
**milestones**
1st milestone - Coding up the basic payment portion in a nice/clean way, publishing a mostly bug-free, minimal version for testing user setting import and payments
2nd milestone - Publish first draft of the POS interface (will be responsive), getting feedback from testers
3rd milestone - Publish functioning POS to Github pages, etc, create documentation/video demo for use and self-hosting
**amount**
I estimate that this will take about 4 to 5 weeks of mostly full time work and I am asking for 18 XMR.
**expiration**
I will be working on this in the evenings and weekends but expect to have this complete within 4-8 months.
---
layout: wip
title: Carrot Spec Peer Review
author: Monero Research Lab
date: October 11, 2024
amount: 126
milestones:
- name: Carrot spec peer review
funds:
done:
status: unfinished
payouts:
- date: 24 October 2024
amount: 126
---
## Carrot Peer Review
This CCS will provide funding for the first step towards a Carrot implementation in Monero. Carrot is a specification for a backwards-compatible addressing protocol, as well as a new wallet key hierarchy for the upcoming FCMP++ consensus upgrade. This peer review will be over the specification, not any specific implementation. CypherStack was chosen for this audit from among several firms during the Monero Resarch Lab meetings the last couple weeks.
## Scope / Deliverables
A full peer review of the spec document [[link](https://github.com/jeffro256/carrot/blob/master/carrot.md)]. Note that at the time of writing this proposal, the paper is not yet published in a peer-reviewed conference/journal.
The deliverable is a write-up which will include security proofs for all properties listed in section 9. It will also include notes on weaknesses, issues, or recommendations (if any). In the case that a security proof is not possible, a note will be included describing why that proof is not possible. In the case that CypherStack requires more funds to complete the security proofs, an MRL meeting will be held and a new CCS may be opened.
## Out of scope
- Multiparty computation. There are no specific protocols presented for this, and no corresponding security model of proofs of security.
- Collaborative construction. For the same reason as multiparty computation.
## Funding
Because CypherStack has had a long successful history with Monero, has agreed to accept the XMR directly, wishes to mitigate volatility risks, and has received upfront payment for reviews before, the 126 XMR for this review is to be paid out in full to Cypherstack immediately upon reaching the funding goal.
---
layout: cp
title: Generalized Bulletproofs Security Proofs
author: Cypher Stack
date: April 4, 2024
amount: 200
milestones:
- name: Funded
funds: 200
done: 11 April 2024
status: finished
- name: Completed
funds: 0
done: May 6th, 2024
status: finished
payouts:
- date: 11 April 2024
amount: 200
---
Hello everyone, Diego "rehrar" Salazar here on behalf of [Cypher Stack](https://cypherstack.com/). We've recently [made a proposal to review the general Seraphis paper](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/441). After some discussion with MRL, including at an official MRL meeting, it was decided that while all parties do want this done eventually, there are perhaps some more immediate wins available for Monero's privacy tech, particularly in the form of Generalized Bulletproofs (GBP).
To summarize what it is, why it's important, and what work will be done, I post a blurb from Dr. Aaron Feickert, Cypher Stack's on-staff cryptographer:
```
"Full-chain membership proofs are a construction being proposed for future Monero protocol upgrades. These proofs can be used to replace ring signatures (used in the current Monero protocol) and membership proofs (used in the proposed Seraphis protocol) to improve privacy.
The proofs use a technique called curve trees that in turn rely on a Bulletproofs arithmetic circuit protocol. However, to meet technical requirements, the arithmetic circuit protocol needs to be modified to handle Pedersen vector commitments in a specific way. The modification, called generalized Bulletproofs, was informally described, but completely implemented, in a curve trees proof-of-concept implementation by one of its authors.
In collaboration with Firo and Luke Parker, we've already done a more thorough documentation of generalized Bulletproofs to aid future implementation. To our knowledge, however, the technique has never been proven secure.
Cypher Stack proposes to develop security proofs for generalized Bulletproofs. The goal is to produce a modified Bulletproofs arithmetic circuit protocol security proof that accommodates the generalized Bulletproofs technique and shows the required properties of perfect completeness, perfect special honest-verifier zero knowledge, and computational witness-extended emulation. This will mirror the existing proof of Theorem 4 in the Bulletproofs preprint.
We stress that it is not known if the generalized Bulletproofs technique readily admits such a security proof. As such, this is a research proposal that has a nontrivial risk of failure. Should the research be successful, Cypher Stack will produce a report containing the proof. Should it fail, Cypher Stack will produce a report containing any relevant information that may be useful for other researchers."
```
A few things I (rehrar) want to emphasize on this quote.
1. There is a non-negligible chance of failure to produce a satisfying proof. If this happens, the proposal is not considered a failure, and our deliverable changes to a report for future research.
2. Much of this work will be directly applicable and cross-over with Seraphis in the future. So it's not a distraction that will delay things, in that sense.
Cypher Stack asks for a total of 200 XMR to complete the review. We add a 10% volatility buffer, bringing the total up to 220 XMR. We aim to complete the review within 1.5 calendar (actual hours are not 1.5 months of man hours, but we have other work for other clients as well) months of the proposal being funded.
EDIT: We have been asked during the community and MRL meetings to remove the volatility buffer and receive the entirety of the money up front to simplify things and get this merged faster. The original proposal above remains in its original state for posterity purposes, but the proposal has changed to reflect the new terms. The new total is 200 XMR to be paid out as soon as the proposal is merged and fully funded.
---
layout: cp
title: Triptych research and optimizations
author: Cypher Stack
date: April 8, 2021
amount: 22.86
milestones:
- name: First 20 hours complete
funds: 6.325
done: 28 June 2021
status: finished
- name: Second 20 hours complete
funds: 6.325
done: 28 July 2021
status: finished
- name: Third 20 hours complete
funds: 6.325
done:
status: unfinished
- name: Fourth 20 hours complete
funds: 6.325
done:
status: unfinished
payouts:
- date: 28 June 2021
amount: 6.325
- date: 28 July 2021
amount: 6.325
- date:
amount:
- date:
amount:
---
### Proposal closed
The remaining funds (12.65XMR) have been donated to the General Fund.
THIS PROPOSAL HAS BEEN CHANGED FROM TRIPTYCH RESEARCH OPTIMIZATIONS TO TRIPTYCH MULTISIG RESEARCH AFTER A MEETING WITH THE MONERO DEVS ON APRIL 21, 2021.
## Brief Intro
As of April 12th, 2021, Aaron "Sarang Noether" Feickert has joined Cypher Stack LLC as a resident researcher.
Cypher Stack is a for-profit LLC owned by Diego "rehrar" Salazar. It started as a design firm but has since expanded to include blockchain consultancy and digital utilities and infrastructure hosting. They already donate to the Monero Project in the form of employing Dan "pigeons" Miller as a system administrator, who is responsible for running and securing much of Monero's infrastructure including Taiga, Matrix, and other key infrastructure in conjunction with the core team.
Sarang himself needs no introduction. A previous full-time researcher of MRL paid for by the CCS, he wants to continue doing research into next-gen privacy with Monero (particularly in Triptych), hence this proposal.
## The scope
Sarang Noether and collaborators created the Triptych and Arcturus privacy protocols, which, if implemented in Monero, could allow ring sizes of greater than 100 with similar size transactions to present ones (though verification times would increase linearly).
Work is already underway to include Triptych into Monero's codebase, but one of the big question marks shrouding the new protocol is multisig. The Monero ecosystem is maturing in such a way that Monero's multisig feature is being used in more and more applications, and moving to Triptych would break the current implementation. This could potentially stop Triptych's implementation in its tracks.
The goal of this proposal would be to do further research into Triptych's multisig options. Some research has already been done, and a path forward is already known, but the details and specifics need to be ironed out. Sarang would conduct this research to see if multisig is possible, and how a migration from the old to the new might be conducted in a way that is safe, private, and efficient.
## The structure, milestones, and price.
This proposal is structured to be paid out along time-based milestones, but the time will not be consecutive. Each milestone will be paid out at intervals of 20 hours.
In other words, after 20 hours-worth of work is complete, a payout will be made to the completed milestone, but it may take one month or more to complete this 20 hours depending on time, availability, and other concurrent projects.
We are putting in a request for 80 hours (one cumulative month worth) of work. We are requesting $100/hour for this highly specialized work, which comes out to $8,000. At the exchange rate of $350/XMR we reach 22.86 XMR. We round it up to 23 and add a 10% buffer, which brings us to 25.3 requested XMR.
## The Deliverables
Deliverables to the community: Sarang will give an update every calendar month on his progress to the Monero community in the form of a Reddit post in the Monero subreddit. Other update platforms can be explored as well. Keep in mind, because of the structure of the proposal, some updates may have little to no progress as a result of other work. These reports would say as much.
Deliverables to the devs: Sarang will provide write-ups, documentation, or proof-of-concept code to the developers as applicable based on research progress and results, toward the goal of a potential future Triptych release that meets the needs of the community.
## Risks
A risk of this research is that multisig may not be possible with Triptych after all. If this is ascertained early on, further research on Triptych may be unnecessary as it will not be fit for our use given the importance of multisig in the Monero ecosystem. This means the research will stop immediately, and any partially completed milestones will be paid out to the extent of hours fulfilled. Remaining funds can be dispersed amongst other active fundraising proposals or however Core sees fit. The funds should NOT be rolled into the general fund as usual due to a conflict of interest, which is outlined below.
It is also possible that the work is finished early. If this occurs, the remaining funds from milestones will be utilized in the same manner as previously stated in the event that Triptych multisig can not be used.
## Conflict of interest
After some discussion on IRC I have added this section at the end to clarify that I, Diego Salazar, owner of Cypher Stack and employer of Sarang Noether, am also paid by the general fund to work for the Core Team. I have powers to merge in the CCS but only do so with permission from luigi1111, who oversees the whole CCS system. I recuse myself from any sort of merging or moving processes with this CCS proposal due to the conflict of interest.
Cypher Stack also has another active research contract with privacy coin Firo, and Sarang works on this project.
---
layout: cp
title: dangerousfreedom - wallet work
author: DangerousFreedom
date: September 17, 2023
amount: 64
milestones:
- name: deliver of proposed demonstrator and wallet functions
funds: 56
done: 30 March 2024
status: finished
payouts:
- date: 10 April 2024
amount: 56
---
## Note amount wasn't updated properly so there is 8 XMR left over from this proposal.
## What and Why ?
The end goal is twofold:
1) Get started with a basic variant to handle transactions both in legacy and seraphis: since a blockchain is made of blocks and blocks are made of transactions, we probably need a class to handle node queries smoothly between the classes `transaction` and `SpTxSquashedV1`. Hopefully this will generate discussions and start paving the way for future works about reading/writing data from/in the blockchain (1/4 of total time).
2) Make a basic but broad demonstrator of the seraphis_wallet by: opening a wallet, make mock transactions, make transaction proofs, show enotes and balance, close wallet. A lot of work has been done in this direction but they are not yet fully organized. So the goal is to have this basic but organized demonstrator capable of doing that (3/4 of total time).
I would work on the following tasks:
- Create the `TransactionVariant = tools::variant<transaction, SpTxSquashedV1>` to handle similar methods of these classes.
- Create unit_tests with legacy and seraphis transactions to test these methods.
- Create basic functions for wallet initialization, program flow and terminal handling.
- Create the basic components of a seraphis_wallet (basically the wallet needs to load/save the `KeyContainer`, `EnoteStore` and `TransactionHistory` components).
- Create basic function to fill `EnoteStore`.
- Use mock transactions like `construct_tx_for_mock_ledger_v1` to create txs.
- Add entries to `TransactionHistory` when a transaction creation is attempted.
- Create terminal functions to show enotes and provide knowledge proofs.
- Close/save wallet and make sure it loads everything when reopened.
All the efforts will be documented and made public on the seraphis_wallet group. Unit_tests will be provided whenever possible.
## Who?
- I did [this](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/298), [this](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/344) and [this](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/377) previous works.
I propose to work for 40 USD per hour, 20h per week, for 12 weeks (or until I finish all the tasks), which makes 64 XMR considering 150 USD/XMR.
---
layout: cp
title: dangerousfreedom - more Seraphis development
author: DangerousFreedom
date: September 20, 2022
amount: 120
milestones:
- name: Audit framework Seraphis.
funds: 20
done: 9 February 2023
status: finished
- name: PoC CLI Wallet.
funds: 100
done: 9 February 2023
status: finished
payouts:
- date: 23 February 2023
amount: 120
---
## TLDR
Hello, I would like your help to develop more features for Seraphis like the audit framework and a simple CLI wallet.
## What and Why ?
I will try to address the following issues:
1) Create the necessary functions and explanation for the audit framework in Seraphis, i.e., proofs of ownership, unspentness, tx in, tx out (InProof,UnspentProof,SpendProof, OutProof) and update the [legacy](https://github.com/monero-project/monero/issues/7353) protocol if necessary .
2) Help developing a wallet for Seraphis. My goal is to be able to create the necessary functions to open a wallet, perform a CLI 'transfer address amount' that would create a transaction in the Seraphis/Jamtis standards, close the wallet, re-open a new wallet where the transferred funds are, 'scan the blockchain' and transfer the funds back to the original wallet. I will closely work with koe, rbrunner and jberman to better elaborate the tasks and get feedbacks or follow-ups whenever possible. Initially, the simplest wallet would open/save/close a file, keep track of the transactions inputs and outputs, perform a transfer in the Seraphis standards and prepare everything for the serialization and storage in the blockchain. These are the minimum features I will implement. More about it [here](https://github.com/seraphis-migration/wallet3/issues/10).
## Who
- I created the website [www.moneroinflation.com](www.moneroinflation.com) where you can find some information to improve your odds of winning a debate about the inflation issue in Monero.
- I have spotted a [fungibility issue](https://github.com/monero-project/monero/issues/8351) (Monero allows the storage of non-canonical points which harms the fungibility of transactions).
- I have spotted a [malleability issue](https://github.com/monero-project/monero/issues/8438) (Monero has wrong signatures - signatures that don't match the data stored in the blockchain according to the canonical standards, which came from a wrong operation of a function when certain conditions are not met).
- AFAIK I was the first to make an implementation of the core functions of Monero in another language and (try to) scan the whole blockchain with them.
I propose to work for 40 EUR per hour, 25h per week, for 18 weeks. Which makes 120 XMR considering 150 EUR/XMR.
If everything goes well, I believe we could have a basic PoC CLI wallet by the end of January/23 and enough achievements to move to testnet.
---
layout: wip
title: dangerousfreedom - seraphis wallet work until regtest
author: DangerousFreedom
date: March 30, 2024
amount: 80.64
milestones:
- name: deliver of proposed demonstrator of a wallet in a regtest
funds: 80.64
done:
status: unfinished
payouts:
- date:
amount:
---
## What and Why ?
Since we have now a basic demonstrator of a wallet using a mock ledger, my next goal is to have it on a real ledger. Many components are well developed for that goal like the enote_scanner from @jberman with @SNeedlewoods modifications and the serialization functions from @jeffro256 to enable write/reading transactions into a block in a blockchain file. So the idea is to put all the components together and finish developing the remaining ones in order to have a functional (local) regtest.
The tasks I can foresee for that goal are:
- Review @ghostway's KeyContainer to get it into its final form
- Have a working MockLedger that correctly handles legacy and seraphis enotes.
- Have a prototype of a wallet that loads a legacy wallet, derive a seraphis wallet from that and create seraphis transactions (both using Grootle proofs and FCMP) using legacy enotes.
- Create the basic functions to mine blocks and send enotes to an user.
- Save/Load the blocks into the blockchain using a LMDB database.
- Make sure to have a basic wallet working on a LMDB regtest database capable of doing basic functions like loading the wallet keys and its enote/history, transferring, visualizing and making knowledge proofs on enotes.
There are many intermediary tasks that would be necessary to do that I am not fully aware of now.
## Who?
- I did [this](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/298), [this](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/344), [this](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/377) and [this](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/409) previous works.
I propose to work for 42 USD per hour, 20h per week, for 12 weeks (or until we have a functional seraphis wallet in regtest), which makes 80.64 XMR considering 125 USD/XMR.
---
layout: cp
title: Defcon equipment storage for one year
author: rehrar
date: 15 June 2020
amount: 13
milestones:
- name: Payout
funds: 13
done: 23 June 2020
status: finished
payouts:
- date: 23 June 2020
amount: 13
---
Heyo everyone. Diego here with a CCS proposal. As some of you may know, we raised funds last year for equipment that will be used at Defcon (and potentially other conferences). This equipment is currently in a storage unit in Las Vegas, Nevada. It's time to pay for another year for the storage space.
Also as some of you may know, there's a virus thingy going around and conferences are cancelled, including Defcon (which is now having an online conference which we may take part of). This means we won't be using the equipment this year, sadly. Still, it's not going anywhere for future years.
The total cost for the year is $1020. There is still 5 XMR leftover in the Defcon wallet (where sponsors donated to be a part), so that's $300 (assuming $60/XMR). That brings the total needed down to $720, or 12 XMR. Add a sub-10% buffer of 1 XMR and we get 13 XMR.
ajs is currently paying this out of pocket so the XMR will go to him. I'm just making the proposal. If this takes a while to fund I may pay him out of pocket so he's not out money for too long and it'll go to me. Something like that.
Bai
\ No newline at end of file
---
layout: cp
title: dangerousfreedom - wallet development 2
author: DangerousFreedom
date: February 26, 2022
amount: 31
milestones:
- name: deliver of proposed wallet functions
funds: 31
done: 19 September 2023
status: finished
payouts:
- date: 30 November 2023
amount: 31
---
## What and Why ?
Transaction history component with knowledge proofs
The idea is to collect transaction records (both for legacy and seraphis) authored by the wallet in order to provide the user the information he wants to look back. This component should import or update authored txs by looking at their enote's key-image and spent status.
The plan is to go in the direction of building a component to handle transactions by integrating the following non-comprehensive list of equivalent wallet2 methods into a component: get_transfers, get_payments, get_payments_out, get_unconfirmed_payments_out, get_unconfirmed_payments, export_outputs, import_outputs, import_outputs_from_str, export_payments, import_payments, import_payments_out, get_num_transfer_details, transfer_details, get_tx_proof, check_tx_proof, get_spend_proof, check_spend_proof, get_reserve_proof, check_reserve_proof.
An initial discussion about this topic can be found [here](https://github.com/seraphis-migration/wallet3/issues/49).
Since some of these functions are not purely wallet functions as they depend on a daemon, I expect to help and get help to properly interface them with a proto daemon.
All the efforts will be documented and unit_tests will be provided whenever possible.
## Who?
- I did [this](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/298) and [this](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/344) previous works and I believe I'm sharpening my skills and understanding of Jamtis and Seraphis to accomplish this work as described.
I propose to work for 30 USD per hour, 20h per week, for 8 weeks (2 months). Which makes 31 XMR considering 155 USD/XMR.