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 1488 additions and 3 deletions
---
layout: wip
title: "koe: Seraphis Ongoing Support"
author: koe
date: 31 March 2023
amount: 163.7
milestones:
- name: PoC
funds: 100% (163.7 XMR)
done:
status: unfinished
payouts:
---
## Intro
Hi all, I [closed out](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/369#note_21022) my previous [Seraphis Library Work 2 CCS](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/369) after consuming all the hours. There are additional tasks I would like to work on. For background on this CCS, please see the links in the previous sentence.
In the previous CCS I refined the seraphis library to a satisfying state. It can now be considered in 'final draft' form.
## Continuing work
Here are the tasks I hope to finish by the end of this CCS.
- Update the [Seraphis paper draft](https://github.com/UkoeHB/Seraphis). I will split the current draft into two papers, one focused on the core Seraphis abstraction and the other focused on the current implementation using Jamtis. My goal is to get those papers to a place where I can collaborate with (as yet undetermined) security researchers to add proper security analysis.
- Support the seraphis migration workgroup with focused architecture design work, and possibly contribute development work to that effort.
- Build a demo for a secure and efficient escrowed market using Monero 2-of-3 multisig with the seraphis library.
- As usual, participate in ongoing Monero R&D discussions and tasks.
## Funding
It has been a year and a half since I opened my first Seraphis-related CCS. I feel I have reached a level of proficiency with Monero research and development to justify asking for a raise of `10 USD + 0.1 XMR / hr` in this CCS.
- Rate: 60 USD + 0.3 XMR
- Hours: 240hrs
- XMR equivalent: 72 + (60\*240)/USD\_EXCHANGE\_RATE XMR
- USD\_EXCHANGE\_RATE: set from 14-day EMA on a major exchange
- 157 USD/XMR at 2135 UTC 03/31/2023 w/ 14-day EMA on Kraken -> 163.7 XMR total
---
layout: cp
title: "koe: Seraphis Proof-of-Concept"
author: koe
date: 1 October 2021
amount: 92.6
milestones:
- name: PoC
funds: 100% (92.6 XMR)
done: 22 February 2022
status: finished
payouts:
- date: 25 April 2022
amount: 92.6
---
## Intro
Hi all, after some encouragement I decided to request funding for my ongoing work on Seraphis. Specifically, funding for future work on the Seraphis C++ proof-of-concept that I have been developing since the second week of September.
My goal is for this code to be 95% production-ready. It is appropriate to get large pieces of code funded if they have a strong potential to be merged into the master branch.
## What is Seraphis?
[Seraphis](https://github.com/UkoeHB/Seraphis) is a next-gen transaction protocol abstraction, which means it defines various high-level rules for a concrete transaction protocol. RingCT can be thought of as the current tx protocol abstraction, even though [the RingCT paper](https://web.getmonero.org/resources/research-lab/pubs/MRL-0005.pdf) specified concrete proving structures directly without abstraction.
The main innovation of Seraphis (and [Lelantus-Spark](https://eprint.iacr.org/2021/1173), a very similar protocol developed independently) is using _only_ simple commitments-to-zero for showing that a transaction input (an output being spent) exists in the ledger. This allows proofs about key images to be independent of membership proofs, which means one-time addresses and key images can be creatively designed. In particular, it is possible to avoid one of the main drawbacks of [Triptych](https://eprint.iacr.org/2020/018), namely a key image construction that makes multisig [much more complicated](https://github.com/cypherstack/triptych-multisig).
Seraphis has other potential benefits over RingCT and Triptych (depending on concrete design choices):
- membership proof delegation (allows transaction chaining, offloading proof construction to third parties, improved indistinguishability of multisig tx [construct membership proofs at the last minute to avoid leaking timing details], allows the 10-block lock time to be somewhat ignored when transacting with a trusted party)
- multi-tier wallet permissions (e.g. a view-only wallet that can detect spent outputs, a view-only wallet that can see received outputs but not their amounts)
The main costs of Seraphis compared to Triptych are:
- more implementation effort
- all users would have to generate new addresses from their private keys (don't need new private keys, seeds, or wallets); all old addresses would become unusable
- **note**: Replacing old addresses is an opportunity to deprecate 'normal addresses' in favor of 'subaddresses' only. A uniform address format would simplify UX and various implementation details.
## PoC
**Scope**: I am working on a core component library for Seraphis, which includes proof structures, transaction structure and validation, core transaction building pieces (both normal and multisig transactions), unit tests, performance tests. The scope is similar to the `ringct/` subdirectory. I currently do not plan to touch the `wallet/` subdirectory.
- The scope also extends to my efforts to performance test different variants of Seraphis, and Lelantus Spark. However, only the main parts of Seraphis will get high-quality attention until performance results are available.
Building a new transaction-builder component library is a good opportunity to both re-imagine how to architect component versioning (i.e. instead of spaghetti conditionals, which are rampant in some parts of the codebase after 13 hard forks), and to add various things from my wishlist.
Ultimately, I want to include the following in my PoC (found in the MRL and Monero GitHub Issues linked below):
- reorganized tx semantics (`tx_supplement` takes some stuff out of the `tx_extra`)
- view tags
- enforce 1 tx pub key for 2-out tx, 1 key per output for >2-out tx
- enforce sorted-TLV in the extra field
- Janus mitigation (one way or another - depending on the address scheme chosen)
### PoC: current progress
The PoC currently has:
- mock-up of RingCT with CLSAG (for performance comparisons)
- mock-up of Triptych (for performance comparisons)
- concise Grootle proof (with 'aggregation coefficients', like found in Triptych)
- plain Grootle proof (without 'aggregation coefficients', like found in Lelantus-Spark)
- **note**: The guys at Firo theorize this should have faster verification than concise Grootle proofs (using 'small scalar weighting'), but in my tests it is slower. This may be due to a limitation of Monero's crypto library, which contains no optimizations for small scalar EC multiplication, so future improvements may be possible.
- Seraphis composition proof
- unit tests for all of the above
- tx mock-up performance testing framework
### PoC: TODO
My immediate plans for the PoC include:
- core multisig functionality in Seraphis composition proof
- mock-up of 4 different Seraphis variants
- mock-up of Lelantus-Spark (probably... it turns out coding complex cryptographic algorithms like advanced signature schemes is a lot of work)
- unit tests for all of the above
- comprehensive performance testing of all tx protocol mock-ups
Once performance tests are complete, I will take a break of 1-4 weeks to finish the Seraphis paper. Then, after making various design decisions to narrow down the optimal tx protocol and address scheme (based on discussion in the Monero community - primarily IRC channels #monero-dev and #monero-research-lab), I want to add the following to the PoC (I will probably make a new branch for this, and cut out all the extra stuff from performance testing).
- mock-up of Seraphis addressing framework
- mock-up of Seraphis transaction builder framework (with multisig)
- the wishlist from [above](#PoC)
## Past and current Monero work
- [Seraphis paper](https://github.com/UkoeHB/Seraphis): in-progress
- [Seraphis PoC branch](https://github.com/UkoeHB/monero/tree/seraphis_perf): in-progress
- [ZtM2](https://web.getmonero.org/library/Zero-to-Monero-2-0-0.pdf): complete
- [ZtM1](https://web.getmonero.org/library/Zero-to-Monero-1-0-0.pdf): complete
- [MRL issues](https://github.com/monero-project/research-lab/issues/created_by/UkoeHB): many are active/open (the fee issue is [close to merging on master](https://github.com/monero-project/monero/pull/7819))
- [Monero issues](https://github.com/monero-project/monero/issues/created_by/UkoeHB): tx semantics proposal is open
- [Monero PRs](https://github.com/monero-project/monero/pulls/UkoeHB): multisig address-generation rework is open
## Funding
- Rate: 50 USD + 0.2 XMR
- Hours: 6 weeks @ 40hr/wk = 240hrs
- XMR equivalent: 48 + (50\*240)/USD\_EXCHANGE\_RATE XMR
- USD\_EXCHANGE\_RATE: set from 14-day EMA on a major exchange when merging proposal
- 269 USD/XMR at 1800 UTC 10/13/2021 w/ 14-day EMA on Kraken -> 92.6 XMR total
If it takes me fewer than 240hrs, then I will allocate the extra hours toward whatever future Monero work I end up doing (or pass the left-over funds into the general fund if necessary).
If I require more time, and the community supports it, then I may make another proposal to extend the hours.
---
layout: cp
title: "koe: Seraphis Wallet Proof-of-Concept 2"
author: koe
date: 1 May 2022
amount: 155
milestones:
- name: PoC
funds: 100% (155 XMR)
done: 18 August 2022
status: finished
payouts:
- date: 24 October 2022
amount: 155
---
## Intro
Hi all, I [closed out](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/290#note_16046) my previous [Seraphis Wallet PoC CCS](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/290) after consuming all the hours. There are additional tasks I would like to work on. For background on this CCS, please see the links in the previous sentence.
## Continuing work
Here are the tasks I hope to finish by the end of this CCS. As before, these will be implemented in my [seraphis_lib](https://github.com/UkoeHB/monero/tree/seraphis_lib) branch.
- Add tx builder plumbing for _discretized_ tx fees (see the [04/20/22 MRL meeting](https://github.com/monero-project/meta/issues/691) for a discussion).
- Consider using 16-byte address indices (instead of 7), with 2-byte encoded address index MACs (instead of 1).
- Implement a robust 'input selection' solver that takes advantage of statically-determinable tx weights.
- Implement a maximally-efficient and generic enote-scanning workflow.
- Build a wallet proof-of-concept that demonstrates all the 'transaction engineering' capabilities and implementation modularity of Seraphis/Jamtis. My goal is to have unit tests representing all the main workflows possible with Seraphis, and all the main wallet implementations necessary (i.e. mock-ups of interfaces that could potentially be developed into full-fledged wallet software).
- Test out using x25519 for enote ECDH instead of ed25519, which may speed up enote scanning by a non-trivial amount (>10%).
- Miscellaneous code cleanup (mostly update/add comments, cleanup TODOs).
As usual, I will also lump all the miscellaneous Monero R&D tasks that I work on into this CCS (e.g. in the last period I did more review/work on multisig security patches, among other things).
## Funding
- Rate: 50 USD + 0.2 XMR
- Hours: 16 weeks @ 20hr/wk = 320hrs
- XMR equivalent: 64 + (50\*320)/USD\_EXCHANGE\_RATE XMR
- USD\_EXCHANGE\_RATE: set from 14-day EMA on a major exchange
- 175 USD/XMR at 0100 UTC 05/16/2022 w/ 14-day EMA on Kraken -> 155 XMR total
If I require more time, and the community supports it, then I may make another proposal to extend the hours.
---
layout: cp
title: "koe: Seraphis Wallet Proof-of-Concept"
author: koe
date: 23 February 2022
amount: 81.4
milestones:
- name: PoC
funds: 100% (81.4 XMR)
done: 25 April 2022
status: finished
payouts:
- date: 12 May 2022
amount: 81.4
---
## Intro
Hi all, after the [completion](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/256#note_15087) of my previous [Seraphis PoC CCS](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/256), there are additional tasks I would like to work on. For background on this CCS, please see the links in the previous sentence.
## New tasks
These tasks will be implemented in my [seraphis_lib](https://github.com/UkoeHB/monero/tree/seraphis_lib) branch. My ultimate goal is that, once this CCS is complete, I can hand off seraphis_lib to other Monero developers who can start working on/thinking about how to get Seraphis actually used in Monero.
- Build a wallet proof-of-concept that demonstrates all the 'transaction engineering' capabilities and implementation modularity of Seraphis/Jamtis. My goal is to have unit tests representing all the main workflows possible with Seraphis, and all the main wallet implementations necessary (i.e. mock-ups of interfaces that could potentially be developed into full-fledged wallet software).
- Test out using x25519 for enote ECDH instead of ed25519, which may speed up enote scanning by a non-trivial amount (>10%).
- Add validation code and plumbing for `tx_extra` fields.
- Add tx builder plumbing for tx fees.
- Add multisig tx builders for Seraphis (with unit tests) after the master branch is updated with PR #7877.
- Miscellaneous code cleanup (mostly update/add comments, cleanup TODOs).
I will also lump all the miscellaneous Monero R&D tasks that I work on into this CCS (e.g. in the last period I did a bunch of review/work on multisig security patches, among other things).
## Funding
- Rate: 50 USD + 0.2 XMR
- Hours: 8 weeks @ 20hr/wk = 160hrs
- XMR equivalent: 32 + (50\*160)/USD\_EXCHANGE\_RATE XMR
- USD\_EXCHANGE\_RATE: set from 14-day EMA on a major exchange when merging proposal
- 162 USD/XMR at 2100 UTC 02/23/2022 w/ 14-day EMA on Kraken -> 81.4 XMR total
If I require more time, and the community supports it, then I may make another proposal to extend the hours.
---
layout: wip
title: Monero Payment gateways Gateways part 3
author: SerHack
date: March 2020
amount: 11
milestones:
- name: Monero PHP library maintenance
funds: 4
done:
status: unfinished
- name: Monero Woocommerce payment gateway maintenance
funds: 7
done:
status: unfinished
- name: Others ideas
funds:
done:
status: unfinished
payouts:
- date:
amount:
- date:
amount:
---
### What?
I am [SerHack](https://serhack.me), the author of [Mastering Monero](https://masteringmonero.com) and security engineer; I am one of the maintainers for [Monero integrations](https://monerointegrations.com) project. The project aims to provide a set of payment gateways and libraries (coded mainly in PHP, at the time of writing) for merchants and developers. As you might find on Github, the payment gateways are not in any third party companies, then no data is sent to any other website beside yours.
With this request, I would like to keep the two main repositories (PHP library and Woocommerce libraries) updated. I have set two main milestones.
#### Milestone 1: PHP library maintenance
I've listed all the possible issues I can fix or improve. Note that I would like to keep this library without any external dependencies (e.g. guzzle from composer) for security reasons. Honestly, I have some difficulties at trusting composer, but I'd like to discuss about this.
* [Enable SSL validation by default for non loopback connections](https://github.com/monero-integrations/monerophp/issues/11)
* [Daemon RPC Wrapper: "Other Methods"](https://github.com/monero-integrations/monerophp/issues/34)
* [Make stable version on packagist](https://github.com/monero-integrations/monerophp/issues/82)
* [Use code stype](https://github.com/monero-integrations/monerophp/issues/84)
* [Remove dead code](https://github.com/monero-integrations/monerophp/issues/85)
* [Library returns NULL when it receives a blank response or an error](https://github.com/monero-integrations/monerophp/issues/92)
* [PHP 7.2 - json_encode() breaks transfer submission of certain amounts](https://github.com/monero-integrations/monerophp/issues/100)
* [offline mnemonic support planned?](https://github.com/monero-integrations/monerophp/issues/103)
* [Make sure we support the latest PHP versions and do not support PHP < 7.2](https://github.com/monero-integrations/monerophp/issues/109)
* General improvement
If you have any additional idea, feature request, or issue, please let me know!
#### Milestone 2: Monero Woocommerce payment gateway maintenance
Monero Woocommerce Payment Gateway had only 40 installations from [Wordpress.org](https://wordpress.org/plugins/monero-woocommerce-gateway/#installation). This is partially my fault since the page was created to attract more merchants. As per Milestone 1, I have listed all the issues I would like to fix.
* [Switch to subaddresses](https://github.com/monero-integrations/monerowp/issues/56) – This has already been implemented, but in a cryptic way. It needs some review.
* [List of currencies vanishes](https://github.com/monero-integrations/monerowp/issues/67)
* [Improve the upcoming release 3.0](https://github.com/monero-integrations/monerowp/issues/74)
* [Decrypting payment id in Monero_Cryptonote results in infinite loop](https://github.com/monero-integrations/monerowp/issues/81)
* [Feature request: checkout shutdown on timeout](https://github.com/monero-integrations/monerowp/issues/83)
* [javascript disabled fall-back support](https://github.com/monero-integrations/monerowp/issues/84)
* [One payment will cause all pending orders with the same value to be marked as paid.](https://github.com/monero-integrations/monerowp/issues/85)
Any other idea is really appreciated!
### Why?
I would like to expand more this section since it is a subject close to my heart. Monero was created to be the most private cryptocurrency ever created; when I joined the Monero community, I had some difficulties at finding payment gateways that were private. Thus I've started this project.
### Costs
If milestones are not modified, I'll ask 11 XMR (~700 euros) - fixed price.
### Proposal transfer
This proposal will be transferred to recanman who will enjoy an exclusivity period of 5 months to show reasonable progress in completing this proposal. They will receive payments for completed milestones directly.
SerHack: https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/402#note_22039
>To consider the CCS completed, all the issues mentioned in the CCS must be completed: recanman will need to push changes to monero-integrations repositories and after reviewing the PRs, I'll close the issues.
---
layout: wip
title: SolOptXMR - Solar Optimal mining of XMR
author: mj
date: Mar 26, 2022
amount: 110.55 XMR
milestones:
- name: 1 Initial setup
funds: 20.10 XMR
done: 29 May 2022
status: finished
- name: 2 Profitability calculator
funds: 16.75 XMR
done:
status: unfinished
- name: 3.1 Measurements mj
funds: 20.10 XMR
done: 22 July 2022
status: finished
- name: 3.2 Measurements Endor
funds: 16.75 XMR
done:
status: unfinished
- name: 4.1 Automation mj
funds: 20.10 XMR
done: 24 November 2022
status: finished
- name: 4.2 Automation Endor
funds: 16.75 XMR
done:
status: unfinished
payouts:
- date: 2 July 2022
amount: 20.1
- date: 28 December 2022
amount: 40.2
- date:
amount:
- date:
amount:
- date:
amount:
---
# What
The goal is to create open-source software that aids people mining Monero with excess solar power in the most profitable way. It will accommodate for issues such as:
- Time of day
- Weather fluctuations
- Avoiding depleting batteries below a threshold, that would damage them
- Avoiding overheating the mining rig
- Leaving enough power for your daily use
# Intro
I promised I'd help out in the [Monero Recruitment Matrix Room](https://matrix.to/#/#monero-recruitment:monero.social).
Although there was just one direct request to me so far, recently I've also pro-actively proposed cooperation to the chat room members. I presented there 2 projects, that are on my mind, and don't require extensive crypto knowledge, typically not available to students. Yet the projects are still useful for Monero specifically. One of the projects that I have on mind is optimization of mining performance on a solar farm, depending on varying inputs. The member Endor ([endorxmr](https://github.com/endorxmr) on GitHub and endor00 on Matrix) signed up for being the main contributor to the project, while I would serve as a mentor: namely coordinator, reviewer and designer. Such a setup will guarantee, that I won't get dragged away too much from the maintenance of Monero, that I signed up for, while at the same time, Endor will be able to continuously have access to my years of experience in automatic control and object oriented design. Endor on the other hand is heavily involved in everything, that’s connected to mining profitability.
Should Endor not make it until the deadline, I guarantee, that I will finalize the project by myself until the coming winter.
Introducing the project: SolOptXMR – Solar Optimal mining of XMR.
# Why
The following [YT video](https://www.youtube.com/watch?v=7OpM_zKGE4o) is able to bring you more context why this idea has a chance for being a trending subject and is here to stay. The outline of this video is the following:
Because of high initial, as well as perpetual investments required for producing power from solar collectors in Sahara/Nevada and delivering it to northern states, such an investment, contrived in the previous decade under the name "DESERTEC", turned out to be not the best possible investment. The project's relative profitability decreased across the years even more. The reason is, that the costs of production of solar panels dropped so low, that now it makes more sense to place them exactly where the produced power is most needed, even though the solar irradiation is lesser at these places.
On a sentiment / geopolitical side of things, with the rising prices of heating gas, I expect many people will be wanting to save on their gas costs by switching to electrical heating. Since the majority of such heaters demand high power, ranging from 2kW to 2.5kW and since a given population will typically want to switch them on all at the same time, I predict that we'll be facing a decent wave of blackouts in the coming winter. This has motivated me to build my solar farm.
If you are an individual who likes to take the matters into your own hands, you might have considered building a small solar farm yourself. Although our system won't assume a given user's setup, my particular farm is configured as an isolated island. This means, that I don't sell my overproduction to the grid for the pennies, that the state offers, but rather use the production for mining and cooking, while the overproduction is temporarily stored in a pair of cheap but reliable car batteries. My farm serves as a perfect test bed for the system, that we're going to design and automate for you. Optimized mining of Monero on such a system amortizes the installation costs over the long run, will help you learn about electricity and motivate you to become more resilient. Further compatible extensions are possible, such as small wind generators as well as bikes with flywheels, that [recover kinetic energy](https://www.youtube.com/watch?v=MBW_2gUSMXc). Such systems are already available on the market, that tends to think ahead of the time, so you don’t have to DIY.
# System description
The dynamics of the system, that tries to optimize the mining efficiency has to take into account the following inputs and goals. Some of them are obvious while others maybe not so much.
- Static astronomic data, that describe the relative movement of the Sun across the sky in various latitudes and times of year - yielding the maximal expected power that can be reached
- Weather predictions - a cloudy sky can reduce the power output by more than 80%
- If the predicted power generation is off the measured generation, a warning might be issued to clean the panels
- Voltage (load state) of the batteries, as well as voltage that reaches the DC->AC transformer, as some of it might be lost in the cables, that are either too long or have accidentally formed an inductor
- Predicted load state of the batteries on the next day before the Sun rises and the charging starts, as emptying the chemical batteries below 50% tends to damage them
- Mining rigs' temperature readouts as it's not worth to meltdown your hardware for those couple of Piconeros being mined.
- A given computer's hashrate per Watt - use the most efficient ones first, but don't overheat them
- A given computer's idle power cost - sometimes it will make sense to switch on certain less efficient computers only if there's really way too much power production, and/or the most efficient ones overheat, or it's predicted that they'd overheat soon under the, also predicted, future conditions.
- Per core efficiency compared against multithreaded efficiency - for CPUs with smaller caches, the efficiency (in this case: hashrate) scales poorly with more threads working at the same time. In such cases it will make sense to spread the mining across longer periods of time on a single core.
- The owners' power usage habits - taking into account, that you might want to use a low powered, compatible electric heating system at a given time of day, by leaving some energy in the batteries for you to consume, before the predicted event – learned either from your usage habits, or from your manually scheduled input.
- The owners' setup – whether an isolated solar island is used, output connected to grid (for selling) or supplementing power losses from the grid (buying) or both of the last 2 options.
The control mechanisms of the system would be the following:
- Downclocking the CPUs - very easy to achieve under Linux with a high precision, thus allowing for a smooth control
- Restarting the mining with a smaller number of cores
- Putting computers to sleep and waking them up with Wake On LAN on the next day
While it would be easy enough to control the system via PID controller, and I know a lot about it, such a system would have little prediction power, delivered only by the first differential part of the controller (the D) and only between the current and the previous state. Using a Time Series Analysis and Prediction tool, such as the already available `tsqsim`, will give the system the ability to look ahead into the future (like at least 48 hours ahead) and plan accordingly to maximize the gain per the unit of energy used, while at the same time planning carefully against overheat of the hardware, under-voltage of the DC->AC transformer, leading to an immediate halt of the system, as well as against under-voltage (as in: capacity) of the batteries, which would otherwise quickly damage them.
The inputs to the system will come in a few forms – either assumed, input by the user or measured. The measurements can be easily supplied via smart plugs or measured directly. Ultimately it has to be left to the user to decide how much time to spend on providing additional inputs, that result in improvements of predictions, thus profitability. The goal here is however to keep the measurements optional, not to impose burden on the user.
# Who
mj – working for Monero since 2 years on the purely technical level. Speeding up compilation and Continuous Integration on GitHub, keeping an eye on overall efficiency, generating [Monero health report](http://cryptog.hopto.org/monero/health/), reviewing technical PRs, helping out new developers. Lately developing Time Series Analysis tool for Monero Research Lab, called `tsqsim`. [Here’s a list](https://github.com/search?q=is%3Apr+author%3Amj-xmr+archived%3Afalse+is%3Aclosed) of all my contributions to Monero and to the supporting software.
Endor – Aerospace Engineering student and a junior Python developer on the side. I already have a few small projects under my belt - one of which related to automation and monitoring of a live system. I've been following the Monero project for over 5 years, learning the ins and outs of cryptocurrency mining and moderating the Supportxmr chat and the Monero Mining room on Matrix (#xmrmine:matrix.org). I am currently developing a comprehensive economic model of mining, and I plan to publish a small paper/series of articles over the next few weeks that will (hopefully) serve as "the ultimate guide to mining" for newcomers and professionals alike. A glimpse into my work can be seen in [this minimalistic script](https://gist.github.com/endorxmr/07364dc54f277abf487574d455d67341), that dynamically calcylates the CPUs mining profitability and compares it across various other CPUs. An example output (though shortened) can be seen below:
```
python3 mining-profitability.py
Difficulty: 354634073114
Average blocktime @6500 H/s: 631 days, 11:18:08
Price: 201.98 - XXMRZUSD
Expected crypto income/s: 1.236e-08
Expected fiat income/s: 2.496e-06
Profitability: 38.2%
Miner efficiency: 100.0 H/s/W
ROI time: 12577.0 days to recover 750 USD
Breakeven efficiency @0.1/kWh: 72.3 H/s/W
Network power consumption @0.1/kWh: 40849693 W
+--------+--------+-------+--------+
| Period | Profit | Mined | Power |
+========+========+=======+========+
| Day | 0.060 | 0.001 | 0.156 |
| Week | 0.417 | 0.007 | 1.092 |
| Month | 1.789 | 0.032 | 4.680 |
| Year | 21.770 | 0.390 | 56.940 |
+--------+--------+-------+--------+
+-------------------------------+--------+-------+------------+--------+
| CPU | Speed | Power | Efficiency | Amount |
+===============================+========+=======+============+========+
| AMD EPYC 7763 (dual) | 100000 | 750 | 133.333 | 54467 |
| AMD Ryzen Threadripper 3990X | 65000 | 600 | 108.333 | 68083 |
| AMD Ryzen 3600X | 7500 | 70 | 107.143 | 583568 |
| Intel Xeon Silver 4216 (dual) | 16157 | 312 | 51.785 | 130929 |
| Intel Core i7-4720HQ | 1768 | 45 | 39.289 | 907771 |
+-------------------------------+--------+-------+------------+--------+
```
# Milestones
## 1 Initial setup
The initial setup, that is able to use static astronomic data inputs (let’s call it by its name used in the industry: seasonality) and simple weather forecasts (sunny/cloudy/in-between) to make predictions based mostly on user input as to how much power a given computer and its cores consume, taking into account how much power is expected to be consumed in house for other purposes, that have to be treated as of a higher priority. Initially a status message will be displayed about what to do manually to maximize the selected goals. Plots of the inputs and outputs will be displayed, that explain why such a suggestion was presented.
Will be done mostly by mj, since Endor shouldn’t be strained with too many foreign systems, only receive the system’s output signals. This will require about 2 weeks of work full time, that makes:
- 6 (Monday-Saturday) * 2 (weeks) * 8 (hours) = 96 work hours
- 96 work hours / 10h in a week = 9.6 weeks spread.
## 2 Profitability calculator
Profitability calculator, taking into account the power costs, grid’s buy-back prices (if available) and user’s price target, at which to sell the mined coins. Also a very important input will be the time-bound energy availability, delivered through the system from the Milestone 1
This milestone will be done mostly by Endor, due to his experience in the field. I will only support via tips such as obtaining user input and code reviews, design suggestions, etc. I won’t count my pay on this one. This can be started before milestone 1) is finished, on a basis of simple generated sinusoidal signals, that will soon enough be replaced with real data.
Endor’s:
- 6 (Monday-Saturday) * 3 (weeks) * 8 (hours) = 144 work hours
- 144 work hours / 15h in a week = 9.6 weeks spread.
## 3 Measurements
3) Support for various kinds of measurements – smart plugs, digital converters, software temperature readouts and even simple image recognition of LCD/LED displays of the DC→AC transformer and MPPT regulator.
Both of us have experience in various parts here and wish to take equal part in this milestone. I’ll create up to two examples of image recognition.
mj’s:
- 6 (Monday-Saturday) * 2 (weeks) * 8 (hours) = 96 work hours
- 96 work hours / 10h in a week = 9.6 weeks spread.
Endor’s:
- 6 (Monday-Saturday) * 3 (weeks) * 8 (hours) = 144 work hours
- 144 work hours / 15h in a week = 9.6 weeks spread.
## 4 Automation
Automation of the system, including remote CPU downclocking, selecting the number of threads, putting computers to sleep, and waking them up via the Wake On LAN technology. We will be promoting privacy oriented and non-controversial software, namely: [p2pool](https://github.com/SChernykh/p2pool) and [xmrig](https://github.com/xmrig/xmrig), accordingly.
Same as above, both of us have experience and ideas here. I already perform such tasks manually (via scripts) on my solar farm, so I know “the feel” of the system. Endor has many great ideas and a lot of expertise for this milestone as well, as this resonates with his prior experience with mining profitability and a variety of mining software + hardware.
mj’s:
- 6 (Monday-Saturday) * 2 (weeks) * 8 (hours) = 96 work hours
- 96 work hours / 10h in a week = 9.6 weeks spread.
Endor’s:
- 6 (Monday-Saturday) * 3 (weeks) * 8 (hours) = 144 work hours
- 144 work hours / 15h in a week = 9.6 weeks spread.
# Legal & privacy
The project shall be released under AGPLv3. It will send no telemetry by default, unless the user wishes to have their data uploaded and analyzed. The data will surely serve as a stabilization asset of the project and will be included in the automated system tests as one of many test cases. The complete data set to be sent will always be shown to the user for a review and approval.
As I’m familiar with the EU laws regarding solar panels a bit, I will be providing the users non-legally-binding relevant advice.
Even though I’m not strictly an electrical engineer, I know enough tricks in this field and I understand many nuances about the inner workings of such systems. I know what hardware are compatible with each other and how to calculate the supply and demand of the produced power. Therefore I can provide advice in this field as well, yet again: non-legally-binding.
# Proposal
As of 12 April, XMR/EUR is at 214.92 EUR.
## mj:
I will be able to spend about 10 hours / week on the project. An amount so low, that it doesn’t collide with my maintenance assignment, nor Monero Research Laboratory, once I switch there for a while. My rate per hour is 45 EUR. The total number of work hours is: 96 + 96 + 96 = 288.
288 [h] * 45 [EUR/h] / 214.92 [XMR/EUR] = 60.3 XMR
## Endor:
I will be able to spend about 15 hours / week on the project. My rate in my first ever proposal is at 25 EUR / h. The total number of work hours is: 144 + 144 + 144 = 432.
432 [h] * 25 [EUR] / 214.92 [XMR/EUR] = 50.25 XMR
Since in this case we are really talking about seasonal data, that doesn’t require a lot of readjustments, further maintenance will not be a burden for any of us. Unless many new features are requested, we will gladly maintain it for you without asking for compensation.
## Summary:
60.3 + 50.25 = 110.55 XMR is what we're asking for. Thanks in advance!
## Deadline calculation
A rough deadline calculation based on the spread of the hours and including the tasks that can be done in parallel:
9.6 [weeks] * 3 / 4.1 [weeks in a month] ~ 7 months.
This coincides with the promise to finalize the project until winter if all goes well with Endor’s plan. If not, I can take over most of the responsibilities, as there are always ~1-1.5 month breaks between my maintenance proposals.
Cheers!
# Expiration date
31 Oct, 2022
---
layout: cp
title: Robust and modular wallet-rpc library
date: Sep 10, 2024
author: Spirobel
amount: 100
milestones:
- name: Deved + prepayment for first month
funds: 20 XMR
done: 9 October 2024
status: finished
- name: First month
funds: 30 XMR
done: 23 December 2024
status: finished
- name: Second month + value commitment
funds: 50 XMR
done: 19 February 2025
status: finished
payouts:
- date: 16 October 2024
amount: 20
- date: 28 February 2025
amount: 80
---
# Robust and modular wallet-rpc library
## Who
**Spirobel**
References:
#### found and reported a "pay what you want" vulnerability in AcceptXMR
https://x.com/spirobel/status/1672479215512588288
https://github.com/busyboredom/acceptxmr/issues/64
#### open sourced a Patreon like tool for Monero
https://x.com/spirobel/status/1595949928634667008
https://github.com/spirobel/monero-discourse-subscriptions
#### open sourced a merchant focused wallet-rpc
https://x.com/spirobel/status/1596299822516285440
https://github.com/spirobel/monerochan-merchant-rpc
#### implemented a Monero Browser wallet extension
https://www.youtube.com/watch?app=desktop&v=4DLcsQ45zoE
Contact: twitter.com/spirobel
## What
Result: A robust and modular wallet-rpc library, implemented in Rust with WebAssembly (WASM) as the primary target. This library aims to provide a flexible foundation for Monero wallet functionality. The deliverable for this proposal will be:
1. the first part of the wallet-rpc library that can sync transactions and works reliably with remote nodes.
2. A checkout flow built with this library. This is meant to be used, not just to demonstrate the features.
3. Detailed documentation for the library, the relationship between nodes and wallets during the syncing process and a guide on how to use this to implement monero payment gateways.
### Implementation
list of initial tasks:
- create function to turn address and private viewkey into viewpair
- create function to scan transaction with sub functions
- verify that there is no timelock present
- calculate transaction amount
- clarify responsibility of burning bug prevention for the caller
- implement transaction fetching and storage
- implement burning bug prevention in the checkout flow
- write unit tests, document and publish the library
- implement UI for the checkout flow
this task list is not exhaustive and subject to change
## Why
As discussed as far back as two years ago: https://github.com/seraphis-migration/strategy/issues/2
The wallet2 Monero library is a 15k lines CPP file. The official monero repo does not contain a deliverable that is easily linkable from other programs. Every project that is a wallet or contains wallet-like functionality (payment processors, hardware wallets, point of sale terminals) needs to implement its own wrapper to expose a C ABI.
This results in collectively wasted hours and headaches. It increases supply chain risk and makes building things with Monero harder. As a result, projects get more expensive, take longer or don't happen at all.
This library aims to counteract the issues and limitations of wallet2.cpp by directly targeting wasm.
Using wasm as the main target means that this library is forced to be implemented in a way that meets the expectations outlined here: https://github.com/seraphis-migration/strategy/issues/1
The benefits of this approach:
### 1. It will be easily linkable
WASM is a very constrained target. There is no garbage collection and multi threading. Getting code to run there means having to write it in a way that is easy to interact with from any language and in any environment.
### 2. It will be more robust
The current monero wallet-rpc is at times unresponsive, because its concurrency mixes the responses of the local rpc with the network interacting with the node. More details in the [monero-playground repository](https://github.com/spirobel/monero-playground). The WASM target constraints ensure that this library decouples the concurrency and networking from the wallet code. The result will be more robust.
### 3. It will be more flexible and not tied to any platform / target
Wallet code deals with the most sensitive data. It should not have unnecessary dependencies or bloat. To give a practical example: monero currently vendors a 4000 lines of code [logging library](https://github.com/monero-project/monero/blob/master/external/easylogging%2B%2B/easylogging%2B%2B.cc) that introduces a dependency on signals. The WASM target constraint means that things like that can't and wont be introduced into this library.
## Milestones and Timeline
value commitment:
The 3 deliverables outlined in the **What** section are the promised outcome of this proposal. Any time left over from the time commitment will be used to further advance the road map. The value commitment is due for the milestone of the second month.
time commitment:
- 100 hours per month for two months (100 hours total)
- Compensation: 50 XMR per month (100 XMR total)
- Total compensation: 100 XMR
## Future Roadmap
The next step on the road map is to add transaction building and signing functionality to the library and migrate [the browser wallet](https://www.youtube.com/watch?v=4DLcsQ45zoE) to it.
My endgame is to **remove all friction from the privacy enabled web shopping experience**. Currently most **Monero shoppers** have to copy and paste addresses from the tor browser into their wallets. This opens the door to unnecessary opsec failures, as it is easy to get confused and intimidated by long strings of random numbers.
**A core part of staying private and safe online is to compartmentalize identities.** Qubes OS made some advancements in improving the UX of this activity by coloring different windows that are tied to different identities in a unique way.
The reality is, that installing a different operating system is a large ask for the average person. At the same time we need to onboard as many people as possible to these habits, so we can operate safely in the crowd.
The other venue of attack is **using the browser for compartimentalization.** And before anybody complains: no this does not involve untrusted javascript frontend code.
There is a big difference between a browser wallet and web wallet. A web wallet is a flawed experiment that is borderline custodial, as it runs wallet code inside the context of a website. This is not to be confused with a browser wallet.
**A browser wallet runs trusted code as a compartmentalized, constrained program inside of a sandbox.**
There is a massive opportunity here to reduce friction by making it easy to separate online identities. The TOR browser currently enables the use of one separate TOR circuit for each tab. **Imagine we have one monero address per tab that is used for login and to send and receive payments.** It makes it much harder to mess up.
One last concern that comes up is that there might be zero day exploits in the browser, as it exposes a potentially larger attack surface. This can be mitigated by making the wallet a multisignature wallet and **using a second device like an android phone or a monero seedsigner to authorize every transaction.**
This means two devices need to be compromised to capture funds, which is unlikely.
---
layout: cp
title: Translation and review of GUI Wallet, monero-site, Monero Means Money (subtitles) and Sound Money, Safe Mode (subtitles) to Italian.
author: staff91
date: November 18, 2020
amount: 28
milestones:
- name: Milestone 1 - Completion of GUI Wallet, monero-site Translation and review to Italian
funds: 4 XMR
done:
status: unfinished
- name: Milestone 2 - Completion of Monero Means Money (subtitles), Sound Money, Safe Mode (subtitles) Translation and review to Italian
funds: 24 XMR
done:
status: unfinished
payouts:
- date:
amount:
- date:
amount:
---
## Proposal Closure
The remaining funds (28 XMR) have been donated to the General Fund.
---
# About this Proposal
Translation and review of the [GUI Wallet](https://translate.getmonero.org/projects/monero/gui-wallet/), [monero-site](https://translate.getmonero.org/projects/getmonero/monero-site/), [Monero Means Money (subtitles)](https://translate.getmonero.org/projects/community/monero-means-money/) and [Sound Money, Safe Mode (subtitles)](https://translate.getmonero.org/projects/community/sound-money-safe-mode-subtitles/) to Italian.
Review of translation made by others (if any) of the [GUI Wallet](https://translate.getmonero.org/projects/monero/gui-wallet/), [monero-site](https://translate.getmonero.org/projects/getmonero/monero-site/), [Monero Means Money (subtitles)](https://translate.getmonero.org/projects/community/monero-means-money/) and [Sound Money, Safe Mode (subtitles)](https://translate.getmonero.org/projects/community/sound-money-safe-mode-subtitles/) for free to Italian.
# About the Translators
## staff91
Hello my name is Stavros Kilonis and I was a member of the RChain Cooperative Bounties Program. I am a translator and a developer. Created the Italian website and translated everything for the bounties to Italian.
### Links
- [Monero Project Translations (Weblate)](https://translate.getmonero.org/user/staff91/)
- [GitHub](https://github.com/staff91)
- [Monero's GitLab](https://repo.getmonero.org/staff91)
## Chris-Arv
I have worked with staff91 in the past for the same projects.
### Links
- [Monero Project Translations (Weblate)](https://translate.getmonero.org/user/Chris-Arv/)
- [GitHub](https://github.com/Chris-Arv)
- [Monero's GitLab](https://repo.getmonero.org/Chris-Arv)
# Milestones and Projected Timeline
## Milestone 1 - Completion of GUI Wallet, monero-site Translation and Review to Italian
Complete translation of the [GUI Wallet](https://translate.getmonero.org/projects/monero/gui-wallet/) and [monero-site](https://translate.getmonero.org/projects/getmonero/monero-site/).
Comprises of 4909 words, which equals to 4 XMR.
Timeline: 20/11/2020 - 30/11/2020
## Milestone 2 - Completion of Monero Means Money (subtitles), Sound Money, Safe Mode (subtitles) Translation and Review to Italian
Complete translation of the [Monero Means Money (subtitles)](https://translate.getmonero.org/projects/community/monero-means-money/) and [Sound Money, Safe Mode (subtitles)](https://translate.getmonero.org/projects/community/sound-money-safe-mode-subtitles/).
Comprises of 24093 words, which equals to 24 XMR.
Timeline: 01/12/2020 - 15/12/2020
**Proposal Expiration Date**: 30/11/2020
\ No newline at end of file
---
layout: wip
layout: cp
title: Surae Funding for Q2 2019
author: Surae N
date: 18 March 2019
......@@ -7,8 +7,8 @@ amount: 618 XMR
milestones:
- name: Research begins and payout occurs upon completion of funding round
funds: 100%
done:
status: unfinished
done: 30 June 2019
status: finished
payouts:
- date: 11 April 2019
amount: 618
......
---
layout: cp
title: "Continued funding for Surae for another quarter, Aug Sep Nov 2019"
author: suraeNoether
date: 20 July 2019
amount: 357
milestones:
- name: Funding is released
funds: 100% (357 XMR)
done: 23 September 2019
status: finished
- name: Work is done
funds: 0% (0 XMR)
done: 30 November 2019
status: finished
payouts:
- date: 23 September 2019
amount: 357
---
# Surae's Mostly-Quarterly Funding Request
**WHO** My name is Brandon Goodell. I am Monero Research Lab’s first postdoctoral researcher into cryptocurrency. I have a Ph.D. in Mathematical Sciences from Clemson University, a M.Sc. in Mathematics from North Dakota State University, and a B.S. in Mathematics from Colorado State University. I taught as a graduate student for 9 years at the university level, and I have participated in the Monero community under the pseudonym Surae Noether on-and-off 2014-2016, and I have worked at MRL full-time since June 2017.
**WHAT** I am requesting a continuation of funding for research, educational outreach, and community service. _My request covers the dates of Aug 1 to Oct 31, with the stipulation that the dates of Aug 6 to Aug 20 will be used for paid time off._ These three months are mainly for research; I have no Konferenco right now to organize and I have had a lot of outreach lately. As in my previous request, I am requesting this money be paid up front at the time that funding is complete (see the note below).
**WHY** Please see my Quarterly Update [here](https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/50#note_5435) for a very brief summary of the past 3 months of contributions to the Monero community I have made. I believe that Q2 of 2019 speaks for itself. My biggest recent success is the Monero Konferenco. We had some surprise guests; dignitaries from Malta, Slovakia, Australia, Thailand, and Taiwan all attended our event with last-minute notice. We even had a plan to have these folks to hop onto our panel, but things didn’t quite work out. I am keenly interested in finishing my matching simulations, assisting Sarang with an analysis of the big three sublinear RingCT replacement schemes we are considering, continuing my work in general at Monero Research Lab, and assisting the 2020 Konferenco efforts.
**See Sarang's request for the following comment, which also applies to my request:** _Please read this paragraph carefully for an important change._ An ongoing issue with multi-month research funding is that of price volatility. Because the XMR/USD conversion rate is subject to large changes over several months, neither donors nor I know what the actual value of donations will be when they are eventually paid out. To mitigate this and provide the most stability, this request will be paid out in full when it is funded.
**To re-iterate:** My request covers the dates of Aug 1 to Oct 31, with the stipulation that the dates of Aug 6 to Aug 20 will be used for paid time off.
**HOW MUCH TOTAL** 357 XMR. My monthly rate is 10,400 USD per month. I am asking at 87.39 USD/XMR as my baseline exchange rate based on the 14-day EMA on Kraken as of the moment I’m writing this post.
\ No newline at end of file
---
layout: cp
title: "Surae: research funding for Nov 2019 - Jan 2020"
author: Surae Noether
date: November 15, 2019
amount: 499 XMR
milestones:
- name: Funding is released
funds: 100% (499 XMR)
done: 31 January 2020
status: finished
payouts:
- date: 4 January 2020
amount: 499
---
*WHO* My name is Brandon Goodell. I am Monero Research Lab’s first postdoctoral researcher into cryptocurrency. I have a Ph.D. in Mathematical Sciences from Clemson University, a M.Sc. in Mathematics from North Dakota State University, and a B.S. in Mathematics from Colorado State University. I taught as a graduate student for 9 years at the university level, and I have participated in the Monero community under the pseudonym Surae Noether on-and-off 2014-2016, and I have worked at MRL full-time since June 2017.
*WHAT* I am requesting a continuation of funding for November and December 2019, and January 2020. In the past quarter (or so) MRL has proven CLSAG and DLSAG signatures secure (allowing for a more efficient blockchain and allowing for claim-or-refund approaches in multiparty computation) and submitted these papers for peer review through the Financial Cryptography 2020 conference, started preparation on submitting the thring signature paper for peer review, and developed a quantifiable approach to assessing privacy-based ledgers (the so-called Matching simulations). Sarang has also been all over analysis of four major possible replacements for ring signatures that are sublinearly sized, and I've begun assisting with some security proofs on one of these novel approaches called Triptych, first invented/proposed by randomrun [here](https://github.com/monero-project/research-lab/issues/56) and fleshed out by Sarang; this proposal is rather tailor-fit for applications in Monero. The quarter before that, MRL hosted the first Monero Konferenco, which was a smashing success in terms of content.
*WHY* Monero Research Lab has communicated with researchers all over the cryptocurrency industry, cryptographers, computer scientists, and computer engineers. In the past year, we have traveled internationally to conferences to learn and participate in the dissemination of results, contributed to several published technical notes/white papers on the technology underlying Monero, helped read and review papers for other researchers, participated in the cryptocurrency community more broadly, even hosted the first annual Monero Konferenco. Our measurable results include concrete suggestions for mitigating side channel de-anonymization vulnerabilities with subaddresses (see e.g. [here](https://web.getmonero.org/2019/10/18/subaddress-janus.html)) and significant reductions to blockchain sizes when CLSAG
*RATES AND AMOUNTS* My rate is based on the 14-day moving average exponential on Kraken from 1 November 2019, which is approximately 62.50 USD per XMR, and my monthly rate of 10,400 USD per month.
*PAYOUTS AND MILESTONES* Research funding over many months suffers from price volatility. Neither donors nor researchers at MRL know the value of donations when they are eventually paid out. To mitigate this and provide the most stability, this request will be paid out in full when it is funded; MRL has a track record of continuously performing in exchange for our funding, and we feel this funding approach makes sense for sustained research.
*EXPIRATION* If, for some reason, this proposal is not funded, I'd like to specify that any funding is set aside for funding future MRL proposals, whether by Sarang, myself, or any other contributors.
Thank you, Monero Community! We at MRL strongly value community input into the funding process, and welcome discussions regarding my funding proposal. Thank you again to the entire community, whether you've donated to me or not… you guys are absolutely running the show, and you all kick some major butt. I hope by making Monero better, we're all a little better off.
---
layout: wip
title: SyntheticBird Cuprate Arti integration and development (2 months)
author: SyntheticBird
date: March 9, 2025
amount: 52.5
milestones:
- name: April
funds: 50% (26 XMR)
done:
status: unfinished
- name: May and completion of Arti integration
funds: 50% (26.5 XMR)
done:
status: unfinished
payouts:
- date:
amount:
- date:
amount:
---
# Who
I am [SyntheticBird](https://github.com/SyntheticBird45), Cuprate contributor.
# What
Cuprate is currently in alpha version and a lot of features are planned on the roadmap up to beta phase. One of the features present on this roadmap, and that was [originally presented when announcing Cuprate](https://github.com/Cuprate/cuprate/blob/fc9b077d946fe8b7746c45ae8b299a87b2014cbf/readme.md?plain=1#L57), is native support for Tor network. This CCS proposal intend to fulfill this milestone.
I will work for an estimated 2 months, from April to end of May, on Cuprate with the goal of implementing native Tor support into `cuprated` through the `arti-client` crate and other miscellaneous improvements.
At the end of this CCS, testers will be able to:
- Bootstrap Tor network within Cuprate or use Tor system daemon.
- Use Tor for outbound clearnet connections.
- Natively connect to onion monero nodes.
- Generate an onion service for accepting inbound Tor connections.
# Tasks
The planned set of tasks to complete can be found at this Github gist: https://gist.github.com/SyntheticBird45/4c554d3c1e7ae6f8d237d7dd49c2d2f0
It is subject to change but overall the required work can be separated into 3 categories:
### 1. Alternative network integration into P2P components.
Currently, Some P2P components have limited support for alternative network rules. This will require modifying `AddressBook`, `Connector`, `HandshakeBuilder`, `cuprate-dandelion` crate and `cuprated`'s dandelion implementation, and others to be *anonymization-network-aware*. After this work, we will define a new `NetworkZone` called `Tor` to connect to onion monero nodes.
### 2. Implementation of Arti and Tor Daemon support
Implementing `arti-client` inside `cuprated` and `cuprate-p2p{-*}`. Configurations, initialization, bootstrapping and launching onion services if requested. System tor daemon will also be supported.
### 3. Documentation
Update [Architectural book](https://architecture.cuprate.org) and [User book](https://user.cuprate.org/)
# Additional work
In the event that all guaranteed items are completed before the 2 months, I will spend my remaining time assisting (Issues, PRs and Reviews) on whatever is agreed is highest priority, or working on the following items:
- Custom Allocator support (Performance improvements for Musl based linux distributions and potentially minor improvements on other OSs)
- SOCKS5 proxy support for p2p
- Fjall database integration
- Related documentation
# Milestones
### 1. First month
26 XMR
### 2. Second Month and completion of main tasks
26.5 XMR
# Licensing
All the works completed under this CCS will be delivered to the [`Cuprate/cuprate.git`](https://github.com/Cuprate/cuprate) github repository. This work will follow the current repository licensing:
- All work inside `/binaries` is licensed under `AGPL-3.0-only`.
- The rest of the root and crates are licensed under `MIT`.
For more information about the Cuprate github organization, please [visit the organization page](https://github.com/Cuprate)
# Funding
I will be working 30 hours per week during 8 weeks at 45\$/hr - 205\$/XMR.
30×8=240 | 240×45=10800 | 10800÷205=52.5
Total: 52.5 XMR
---
layout: cp
title: "TheCharlatan: VPS funding for reproducible gui builds"
author: TheCharlatan
date: 22 January 2020
amount: 14
milestones:
- name: VPS
funds: 15.01 XMR (actual amount raised)
done: 6 February 2020
status: finished
payouts:
- date: 6 February 2020
amount: 15.01
---
### What are Reproducible builds and why do we need it?
[Reproducible builds](https://reproducible-builds.org/) (aka "Deterministic Builds") are a set of software development practices that create an independently-verifiable path from source code to the binary code used by computers.
See this [reddit post](https://www.reddit.com/r/Monero/comments/9wojxi/the_watering_hole_attack_and_some_points_on/) I wrote some time ago explaining some of the reasons we need this.
### Why you should fund me:
About two years ago I started my journey to support a cross-platform reproducible way to compile the monero cli binaries. After creating the first funding request at the end of last year (again to fund renting a VPS) I began developing the tools and documentation needed for Reproducible Builds (old tracking issue [here](https://github.com/monero-project/monero/issues/2641) and already merged code [here](https://github.com/monero-project/monero/commits?author=TheCharlatan)).
My work culminated into the [Boron Butterfly, Major Point Release 1](https://github.com/monero-project/monero/releases/tag/v0.14.1.0), which was the first monero release that was reproducibly built. I was glad to see the community [enthusiastically embrace](https://www.reddit.com/r/Monero/comments/c0l7tj/cli_v01410_has_been_tagged/) this new tool with many contributing their signatures of the release binary hashes to the [gitian.sigs](https://github.com/monero-project/gitian.sigs) repository, which I now maintain. It also has to be noted that other developers, chiefly amongst them Howard Chu and Jonathan Cross, expanded on my contributions, cleaning them up and adding further build targets, like freebsd (many thanks to them!).
The obvious step now is to add reproducible builds to the monero-gui. A first step in this direction was made by adopting my rough cmake recipe in this [pull request](https://github.com/monero-project/monero-gui/pull/2404). To get this far was a lot of work. Now, I am again asking for the tools to continue my work. The main bottleneck I face is access to modern, fast hardware to test these resource intensive build system changes.
I am therefore asking the community to help fund access to fast hardware to improve my efficiency.
### Funding details:
I currently work on a VPS / cloud server and I will apply whatever funds I receive from the community towards it, as my current contract will expire next month and I don’t have excess funds to renew it.
12 [month development workstation VPS](https://www.worldstream.nl/en/dedicated/custom/order/HP_ProLiant_DL360_2x_Intel_Xeon_E5620_2_40GHz?config_token=42d84460e0f0af36d72fb0e07ba5b181)
€ 64 / month × 12 months = € 786 approx. 14 XMR (rounded up to account for fluctuations)
If I find a better fitting VPS host for the same cost, I reserve myself the right to use it instead.
NOTE: If some generous souls end up donating more than the amount requested, I will gladly apply that towards faster hardware, more RAM, etc. The project (and my productivity) would benefit greatly from a more powerful computer than the one I am requesting (I could easily make use of 16 or even 32 cores, 64GB DDR4 RAM, etc).
## What I will do with the VPS
On the monero cli side I would like to finish the following over the next year:
* Support compiling the tests in the strict gitian environment
* Build and verify release binaries from other gitian builders
For the gui my work will mainly include:
* Writing build recipes to cross-compile qt with opengl support
* Improving the cmake recipe
* Lots of small iterative changes to get the hairy bits like device support and better native performance working
* Finally releasing gitian build scripts for the gui builds
### About me
I'm a physics and computer science student studying at the University of Zurich and I do part time work as a developer at a hardware wallet manufacturer: https://github.com/digitalbitbox . My contributions so far to Monero are found [here](https://github.com/monero-project/monero/commits?author=TheCharlatan) and [here](https://github.com/monero-project/monero-gui/commits?author=TheCharlatan). I currently still view working on Monero as a hobby, so I am not looking for hourly compensation, however the hardware costs are a problem for me and I do not want this to restrict my contribution to the project. I have already implemented reproducible builds for the cli and for other gui based projects, so I am reasonably confident that I will be able to complete them for the gui as well, despite the significant challenges it presents.
Next to the reproducible builds I have also started tinkering into the direction of writing a flexible monero transaction library in Rust that can be used in both on-system and embedded contexts.
If you have any questions or concerns about this funding request, please don’t hesitate to reach out to me.
---
layout: cp
title: "tipxmr.live - a non-custodial livestream donation service for OBS"
author: AlexAnarcho and hundehausen
date: September 16, 2020
amount: 72
milestones:
- name: Milestone 1 - Basic setup of webpack with monero javascript and react
funds: 2% (1.44 XMR)
done: 17 March 2022
status: completed
- name: Milestone 2 - Working Prototype with implemented WASM wallet and front-end mockups
funds: 48% (34.56 XMR)
done: 21 December 2024
status: completed
- name: Milestone 3 - Finished product and launch of serivce
funds: 50% (36 XMR)
done: 21 December 2024
status: completed
payouts:
- date: 17 March 2022
amount: 1.44
- date: 12 February 2025
amount: 70.56
---
## Proposal deprecation / Repurposing of funds (21st Dec, 2024)
AlexAnarcho and hundehausen shared a [candid update](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/524#note_27732) regarding progress of TipXMR. Exerpt below:
>We were young and naive and thought "how hard can it be to code this up" - harder than we thought it turned out.
>
>We had very high standards, trying to use WASM wallets on the client-side where no info is leaked to the hoster of the TipXMR service, but this lead to a high barrier - which in turn lead to us never shipping anything
>
>[...]
>
>We are okay to deprecate the TipXMR CCS proposal and pass our collected funds on to this XMRChat proposal.
The remaining funds from:
* Milestone 2 - Working Prototype with implemented WASM wallet and front-end mockups (34.56XMR)
* Milestone 3 - Finished product and launch of serivce (36XMR)
Will be rewarded to https://xmrchat.com/ - [source](https://github.com/sa8ab/xmrchat)
Who instead of implementing a WASM wallet to not share view keys with the service host have performed the following tasks deemed to be of the same value/importance:
* Integrated monero-lws to handle multiple streamer view-keys.
* extra misc. features such as a personal donation page with comments attatched.
# CCS Proposal: tipxmr.live - a non-custodial livestream donation service for OBS
## Exec Summary
[Tipxmr.live](https://github.com/hundehausen/tipxmr) aims to be a non-custodial service for streamers to accept and display Monero donations in their livestreams.
Much like the existing solutions, this allows for an interactive experience for viewers and an easy way to monetize for the streamer.
For this we use a browser based Monero WASM wallet and OBS.
## The Problem we want to solve
Censorship on the internet is an ongoing issue. Big platforms like YouTube and Twitch wield godlike power when it comes to their users. Not only do they impose barriers to entry, they also deplatform at whim and destroy years of work take away steady income streams. Content creators either have to conform and self censor or change their occupation.
Furthermore, streaming platforms take big chunks of the streamers income, for example Twitch Bits. Some platforms take as much as 40% of the streamers donations (Chaturbate).
Tipxmr.live fixes this.
### Advantages of our solution
With tipxmr.live we enable streamers to recieve income independent of a given platform. For this we employ Monero natively in the browser. Donors send XMR directly to the streamer without tipxmr.live as a custodian.
Being build upon the Monero project, we inherit many benefits of the privacy coin we all love.
Streamers are not required to have access to the banking system, all they need is provided for free on the internet (i.e. Monero and OBS).
Moreover, streamers do not have to hand over personal information such as location, real identity and more. This opens the door for marginalized groups to recieve income, even if the doors to the tradional system is barred.
## Who we are
We are two Monero enthusiasts that have been following the project since the beginning of 2017. Our values are privacy, sound money and individual souvereignty. Crypto in general and Monero in particular fulfill these values and are the tool of the future.
In the beginning of 2018 we created the [MoneroMumble Podcast](https://moneromumble.de/), a german-speaking, monthly podcast/roundtable to inform and engage the German community about developments concerning Monero. The roundtables take place on the second Sunday of every month on Jitsi and are livestreamed to YouTube.
It was in this setting that the idea of a livestream donation program based on Monero was born. Tipxmr.live is therefore aiming to fulfill our need and we are our own customers.
Grischa, aka hundehausen, has contributed many times to the Monero community, most recently with an [infographic about the workings of a Monero wallet](https://reddit.com/r/Monero/comments/gy0m1u/i_made_an_infographic_on_how_a_monero_wallet_is/). Grischa also wrote his bachelor thesis on the thought of "Monero as a currency for the masses" (thesis in German).
Alex, aka AlexAnarcho, has been involved in the early days of the Monero Outreach and is a well-known outspoken advocate for Monero in the German community. Alex has been working for various cryptocurrency magazines such as the BeInCrypto and BTC-ECHO. In August he quit his full-time job at BeInCrypto to dedicate himself to tipxmr.live.
[mghny](https://github.com/mghny) - who chooses to remain pseudonymous - has been a professional software-engineer for 5 years and has been coding for 8 years. They have been involved with tipxmr.live since the very beginning and keeps an eye on architecture, code and many more technical aspects. It cannot be overstated how beneficial an experienced engineer is in a project like ours, since it reduces complexity and makes the code easily reusable by other developers.
## What is your project
Since our [original idea and prototype](https://github.com/hundehausen/obs-monero-donations), the implementation has significantly evolved. The most obvious issue with the prototype was that it required a broad technical understanding. You can try it out by cloning the repo and seeing first-hand how cumbersome this process is. After cloning the repo you have to set up either a VPS or self-host and use portforwarding. Then you have to install monero, run an RPC, buy a domain, issue a SSL-certificate and so forth. In short, a process that no ordinary person would go through.
But we don't want to be the only people enjoying the benefits of Monero. We want to make it accessible to _everybody_ - even non techy people. Therefore we went back to the drawing board and came up with a way that is intuitive yet non-custodial and as safe as possible.
The current vision only requires [OBS](https://obsproject.com/), which is not only the biggest streaming software but also open source. In this we are platform agnostic and our users can use YouTube, Twitch, any other streaming platform or even host the stream themselves.
### How it works
The biggest issue in the beginning was how to make this whole thing non-custodial AND easy to use. Thanks to the awesome [monero-javascript library of woodser](https://github.com/monero-ecosystem/monero-javascript) that now includes a Monero WASM wallet, we are able to offer just that. WASM or WebAssembly basically means that you are running a full Monero wallet _in your browser_. You are the only one controlling the keys, they never leave your system. _But_ we are able to create a nice userinterface, a dashboard with settings, and much more.
Of course the details are of no concern to the normal user. The streamer simply navigates to tipxmr.live, clicks to create a new account and the WASM wallet will generate a XMR seed on the clients machine. The streamer writes down the seed and chooses a username.
Then the streamer can log in using only their seed. We have a small database running on our server that checks the hash of the seed and logs the user in if it checks out. The streamer is then shown a dashboard where they have an overview of their usage. The dashboard also includes a wallet section where they can send/recieve XMR (for instance if they want to withdraw to a cold storage). Last but not least the streamer can change some settings, i.e. how donations should be displayed etc.
Every steamer has their own animation URL that they can point an OBS browser source to. Donation messages are displayed there, so if the browser source in OBS is active, they will overlay over the stream.
For donors the whole process is very easy as well: The streamer simply displays his donation URL (tipxmr.live/$username). Depending on the streamers configuration a donor can enter a message and their name. Once they hit "submit" the donors browser will query the streamers browser over our backend for a subaddress. Once the subaddress is payed the animation site of the streamer is refreshed and the message is displayed.
Donors are shown the subaddress with XMR URI and the corresponding QR code to pay either via desktop or mobile wallet.
Donations are accepted on a 0-conf basis, meaning they will be queued up to display once they are seen in the mempool.
It is surprising _how easy paying with Monero actually is_. Much easier than paying with PayPal or a bank. Also, _way more private_ and cheaper.
### Other awesome stuff
Since monero is an internet-based technology, there are many cool things we can do. Here is a few thoughts:
- allow the streamer to specify a "second price". I.e. if the second costs 0.00043 XMR the donor can select how many seconds he wants his message to stay visible and then will be given a specific amount of XMR to donate
- allow the streamer to set a cost per character in the message, same procedure as with the second price for the donor
- upload custom sounds to be played when recieving a message
- allow donors to send gifs with their message, and demand a minimum amount for this feature from the donor
- have a funding goal that gets added to with every donation
- and much more...
## How our projects benefits the Monero community
- Tipxmr.live strives to give one more usecase to Monero and do so natively without having to use another cryptocurrency.
- We enable streamers to _earn_ XMR - the best way to aquire Monero. Furthermore, like Dr. Daniel Kim always talks about tipxmr.live is a usecase for the squeaqy clean guy. In short a way to use Monero that has nothing to do with illegal activity. This lends legitimacy to Monero as a medium of exchange and gives one more example in the narrative for our fight to privacy.
- Community led streams such as Monero Coffee Chat, Monero Space, Monero Mumble and many more will have an easy way to monitize to cover costs and increase enagement from the community.
- Monero has low fees and pretty good privacy. However, the privacy increases with every transaction on the blockchain and makes a blackball attack much harder. Since all our donations are on-chain, we increase the number of decoys for everybody. Notice that we as a service do not store any on-chain information such as TX-Id. Don't believe us? Check the code.
- We are one of the first, if not the first project to make use of the Monero javascript WASM wallet, as such we serve as an example project for implementation that many others can copy and look to. This is actually a big deal for everybody that knows some webdevelopment but is not savy enough to configure Webpack with monero javascript and say, Reactjs. Been there, done that - you are welcome!
- All of our code is open source, of course. This means that you do not have to use tipxmr.live, you can fork the repo and setup your own service. We also encourage everybody to look through the codebase and raise issues when needed.
- We aim for a high developer friendlyness so others can take our implementation and change it to their needs. The implementation of the WASM Wallet should be a good example for others.
- To sum it up, we increase the possiblities in the Monero universe for streamers, average users and developers.
## What has been done so far
Since we are very passionate about Monero and the idea, we already have a GitHub repo with some code in it. We started on this late August 2020 and have been working on it full time (70-80 hours per week in total). We can see that there is still much work to be done and in order to get some feedback and support ourselves we turn to the Community Crowdfunding System.
## What we ask for
We ask for 72 XMR (approx. 5400 EUR) in total. So far we have invested more than 250 hours and will take another 150 hours to complete the minimum viable product.
The cost for this project is considerabely lower than it would be if we were not bleeding heart fans of Monero and our idea. We want to see the Monero Project grow and enable more usecases.
The first two milestones will cover the work we have already done. Which is mainly setting up the Webpack configuration for Monero javascript and React. And then implementing functions of Monero javascript with the WASM wallet, backend to allow communication between streamer and client (using socket.io) and writing of wallet functions (i.e. sync, getSubaddress etc.).
The third milestone is when the project is finished and the service will officially launch. This will happen within the year 2020.
We will also provide a server to host the website, our own full node and proxy to solve to [CORS issue](https://github.com/monero-project/monero/issues/5172).
We also contemplate expanding on tipxmr.live and generating income that way. But please keep in mind that we are 100% open source and anybody can copy our idea and hard work.
## Future Plans
To be absolutely clear: Tipxmr.live will be a paid service!
We host the website and allow streamers to have a comfortable experience in recieving live donations. To cover costs and to protect against spam of accounts, we will charge a small, flat fee (probably 1 USD worth of XMR per month) for our base model. From our experience with livestream donations this fee is negleable, since most streams will earn far more than the fee.
We are also thinking of a higher fee for premium tier that allows for more customizations. The premium account will hopefully make our innovative business model sustainable and keep us improving the project.
---
layout: cp
title: "tobtoht full-time feather + core development (3 months)"
author: tobtoht
date: 1 Jan 2024
amount: 170
milestones:
- name: 240 hours
funds: 50% (85)
done: 14 March 2024
status: finished
- name: 240 hours
funds: 50% (85)
done: 20 August 2024
status: finished
payouts:
- date: 9 April 2024
amount: 85
- date: 4 September 2024
amount: 85
---
### What
- work on issues/ideas reported by users
- work on tasks listed on the [ideas](https://featherwallet.org/ideas/) page and [MAINTENANCE.md](https://github.com/feather-wallet/feather/blob/master/MAINTENANCE.md)
- upstream useful patches to monero core
- test and review pull requests (GUI/core)
- help out where I can
My primary focus for Q1 2024 is practical multisig UX.
### Who
Hi, I'm tobtoht. I am an active contributor to the Monero ecosystem since April 2018. Currently, I maintain Feather Wallet and contribute to the core codebase.
Previous CCS: https://ccs.getmonero.org/proposals/tobtoht-feather-dev-2023-3.html
### Proposal
Work for 480 hours at a rate of €45/h + 0.05 XMR/h. At €148 / XMR (14 day EMA) this makes 170 XMR.
---
layout: cp
title: "tobtoht full-time feather + core development (3 months)"
author: tobtoht
date: 20 Aug 2024
amount: 179
milestones:
- name: 240 hours
funds: 50% (89.5)
done: 8 Octoboer 2024
status: finished
- name: 240 hours
funds: 50% (89.5)
done: 20 December 2024
status: finished
payouts:
- date: 15 October 2024
amount: 89.5
- date: 13 January 2025
amount: 89.5
---
### What
- work on issues/ideas reported by users
- [maintain](https://github.com/feather-wallet/feather/blob/master/MAINTENANCE.md) and [improve](https://featherwallet.org/ideas/) feather
- upstream useful patches to monero core
- test and review pull requests (GUI/core)
- help out where I can
My primary focus for this period will be [reproducible/bootstrappable fcmp++ builds](https://github.com/monero-project/monero/pull/9440) (core) and finishing work on [multisig support](https://github.com/feather-wallet/feather/commit/f944b6e6f78a29abe910b8f1d5d88b7c783553d6) (feather).
### Who
Hi, I'm tobtoht. I am an active contributor to the Monero ecosystem since April 2018. Currently, I maintain Feather Wallet and contribute to the core codebase.
Previous CCS: https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/428
### Proposal
Work for 480 hours at a rate of €45/h + 0.05 XMR/h. At €139 / XMR (14 day EMA) this makes 179 XMR.
\ No newline at end of file
---
layout: wip
title: "tobtoht full-time feather + core development (3 months)"
author: tobtoht
date: December 20, 2024
amount: 150
milestones:
- name: 240 hours
funds: 50% (75)
done: 2 February 2025
status: finished
- name: 240 hours
funds: 50% (75)
done:
status: unfinished
payouts:
- date: 24 February 2025
amount: 75
- date:
amount:
---
### What
- work on issues/ideas reported by users
- [maintain](https://github.com/feather-wallet/feather/blob/master/MAINTENANCE.md) and [improve](https://featherwallet.org/ideas/) feather
- [help maintain](https://github.com/monero-project/monero/pulls?q=is%3Apr+label%3A%22build+system%22+author%3Atobtoht) monero core's build system and CI
- test and review pull requests (GUI/core)
- upstream useful patches to monero core
- help out where I can
I want to start off the year by clearing out a good chunk of the small-to-medium size issue/feature backlog for Feather. At the same time, making sure [pending build system PRs](https://github.com/monero-project/monero/issues/9631) for Monero core get reviewed and merged, particularly everything we need for FCMP++.
After that, I want to continue efforts to add multisig support to Feather by evaluating kaya's FROST-inspired multisig implementation as a more robust replacement for wallet2's implementation. A related [audit](https://ccs.getmonero.org/proposals/monero-serai-wallet-audit.html) is expected to conclude in March.
### Who
Hi, I'm tobtoht. I am an active contributor to the Monero ecosystem since April 2018. Currently, I maintain Feather Wallet and contribute to the core codebase.
Previous CCS: https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/492
### Proposal
Work for 480 hours at a rate of €50/h + 0.05 XMR/h. At €190 / XMR (14 day EMA) this makes 150 XMR.
---
layout: cp
title: "Continued Feather Wallet development (3 months)"
author: tobtoht
date: 12 May 2021
amount: 91.5
milestones:
- name: First month
funds: 33% (30.5 XMR)
done: 16 June 2021
status: finished
- name: Second month
funds: 33% (30.5 XMR)
done: 11 July 2021
status: finished
- name: Third month
funds: 33% (30.5 XMR)
done: 30 October 2021
status: finished
payouts:
- date: 21 June 2021
amount: 30.5
- date: 11 July 2021
amount: 30.5
- date: 1 November 2021
amount: 30.5
---
### What
This CCS proposal is for 3 months of full time Feather Wallet development.
The goal for this proposal is to get Feather out of Beta and release the 1.0 version.
### Background
See the previous [CCS proposal](https://ccs.getmonero.org/proposals/tobtoht_feather_dev_q1_2021.html).
### What I want to work on
To ensure the first major release is as stable, robust, and reliable as possible I will be mainly focussing my efforts on polishing the existing feature set (and extending it where needed).
- Fix bugs and issues as they arrise
- Further improve the UI/UX (layout, actionable error messages, etc)
- Improve documentation and user guides
- Add more compile flags for minimal/alternative builds: (no-Tor, no-Websocket, etc)
- Refactor parts of the codebase
- Allow compiling on more architectures
- Extensive QA testing on all supported platforms
- Commission a redesigned logo
- Upstream changes to libwalletqt / wallet_api
- Improve the setup procedure (Windows installer, Debian package on PPA, mac DMG)
- More advanced coin control: manual input selection and individual output labeling
- Extend hardware wallet support to include Trezor devices
- Allow opening multiple wallets at once
Once the is more clarity surrounding Triptych-compatible multisig (see [1](https://repo.getmonero.org/monero-project/ccs-proposals/-/blob/master/cypherstack-sarang-triptych-research.md), [2](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/225#note_10903)) I will continue working on integrating multisig into Feather.
As always I will rely heavily on user feedback to determine where to put my focus.
### Who
Hi, I'm tobtoht. Creator of xmrguide and maintainer of Feather Wallet.
I have been an active contributor to the Monero ecosystem since April 2018.
Some of the things I have worked on are:
- Created and maintained guides to set up Monero on Tails and Whonix ([xmrguide](http://xmrguide42y34onq.onion/), [reddit](https://old.reddit.com/r/Monero/comments/h8pbc2/))
- Made miscellaneous contributors to the GUI (most notably Tails support)
- Maintained a [list](http://xmrguide42y34onq.onion/remote_nodes) of .onion remote nodes with their status
- Co-created Feather Wallet with dsc
### Proposal
40 hours per week at 45 USD/hour for 3 months (mid May to mid August) for a total of 91.5 XMR. At a rate of $236/XMR.
Progress will be reported in #feather on OFTC. Monthly updates will be posted to /r/FeatherWallet in the form on release changelogs.
Feedback and comments are welcome.
**To donators**: In the week since I made this proposal there has been some very significant volatility, making it difficult to establish a "fair" XMR/USD price. As such I had to adjust the quoted price down several times because the difference had grown larger than my risk tolerance. I have currently settled on ${current_price} + 20%, in the expectation that the price will recover a bit after such a steep decline.
To ensure I can sustain myself in the coming months AND the community gets its money's worth, I will extend the time spent on this proposal in case there is significant price appreciation over the next three months, like I did with my previous CCS (1.5 months overtime).
---
layout: cp
title: "Continued Feather Wallet development (3 months)"
author: tobtoht
date: 1 Nov 2021
amount: 93
milestones:
- name: First month
funds: 33% (31 XMR)
done: 8 July 2022
status: finished
- name: Second month
funds: 33% (31 XMR)
done: 8 July 2022
status: finished
- name: Third month
funds: 33% (31 XMR)
done: 8 July 2022
status: finished
payouts:
- date: 16 July 2022
amount: 93
---
### What
This CCS proposal is for 3 months of full time Feather Wallet development.
Non-exhaustive list of things I want to work on / towards or experiment with:
- Prepare for next network upgrade
- Translations
- Persistent payment requests
- Recurring payments
- Reproducibe macOS builds
- More transaction types (e.g. multi-destination transactions with manual input selection)
- Improved wallet_api thread safety
- Move to Qt6
- Improving UI and documentation
- Fix bugs and issues as they arrise
I'll also:
- Work on upstreaming patches to core
- Help review pull requests on core / GUI where needed
As always I will rely heavily on user feedback to determine where to put my focus.
### Who
Hi, I'm tobtoht. Creator of xmrguide and maintainer of Feather Wallet.
I have been an active contributor to the Monero ecosystem since April 2018.
Some of the things I have worked on are:
- Worked on Feather Wallet full-time for ~1.5 years
- Created and maintained guides to set up Monero on Tails and Whonix ([xmrguide](https://xmrguide.org), [reddit](https://old.reddit.com/r/Monero/comments/h8pbc2/))
- Made miscellaneous contributors to the GUI (most notably Tails support)
- Maintained a [list](http://xmrguide.org/remote_nodes) of .onion remote nodes with their status
### Proposal
Work 40 hours per week over the next 3 months (Nov, Dec, Jan) at a rate of 45 EUR/hour. At €232 / XMR (14 day EMA) this makes 93 XMR.
Progress will be reported in #feather on OFTC. Updates will be posted to /r/FeatherWallet in the form on release changelogs.
---
layout: cp
title: "Continued Feather Wallet development (3 months)"
author: tobtoht
date: 20 Jul 2022
amount: 162
milestones:
- name: First month
funds: 33% (54 XMR)
done: 9 January 2023
status: finished
- name: Second month
funds: 33% (54 XMR)
done: 9 January 2023
status: finished
- name: Third month
funds: 33% (54 XMR)
done: 13 Februrary 2023
status: finished
payouts:
- date: 9 January 2023
amount: 108
- date: 16 February 2023
amount: 54
---
### What
This CCS proposal is for 3 months of full time Feather Wallet development.
Non-exhaustive list of things I want to work on/towards or experiment with:
- Bootstrappable builds
- Leverage [Guix](https://github.com/bitcoin/bitcoin/tree/master/contrib/guix) to produce cross-compiled, reproducible, [bootstrappable](https://bootstrappable.org/) builds for all target platforms and operating systems. Most of the work for this is already [done](https://github.com/feather-wallet/feather/pull/20). This has the added benefit of greatly speeding up release engineering, allowing for quicker release cycles.
- Offline transaction signing using animated QR codes
- Export/import outputs, key images and transactions using animated QR Codes based on Blockchain Common's [Uniform Resources](https://github.com/BlockchainCommons/bc-ur).
- Work with the [Keystone](https://keyst.one/) team to add support for Monero and integrate with Feather.
- Multi-node syncing (experiment)
- Syncing a month worth of blocks now requires more than 300 MB of data. Wallet synchronization (when connected to a remote node) is often limited by one of two things: your download speed or a node's upload speed (for mobile devices your CPU might play a role too). Multi-node syncing will experimentally determine the fastest nodes from your node list and automatically gather blocks from the highest performing nodes to utilize as much of your available bandwidth as possible. If you are on a fast internet connection this can result in dramatically faster syncing.
- Allow skipping synchronization
- POV: You just opened your wallet on Tails after leaving it unopened for 3 months. You proceed to wait an hour or more for your wallet to synchronize knowing that there has been no activity. An advanced option to skip synchronization will eliminate the wait and allow you to send transactions almost immediately.
- Improve Tor support and add support for more anonymity networks
- Add support for Tor bridges and stream isolation
- Switch the Tor client implementation to [Arti](https://blog.torproject.org/announcing-arti/) (when it is ready)
- Remove the hard dependency on Tor and allow Feather to be used without anonymity networks
- Modularize the anonymity network code to make it possible to integrate other networks like I2P and [Nym](https://github.com/nymtech/nym).
- Mining interface overhaul (+ P2Pool support)
- The Mining tab is a bit crude. Mining is [not trivial](https://docs.featherwallet.org/guides/mining-setup) to set-up for new users, and it lacks configurability for advanced users. It's currently not possible to mine without having a wallet open. I want to move the Mining tab to a utility that can be accessed via the taskbar icon. Users should be able to quickly setup P2Pool, solo and pool mining. Feather will be able to run in the background and allow users configure scheduled mining, as well as provide a dashboard where users can check their mining stats and make changes to the configuration.
- Improve packaging for Linux distributions
- Make Feather available as a Flatpak, Debian package, and maintain a working -bin package on the AUR. I also want to work on documentation that will help maintainers package Feather for their distribution.
- Support more ways of spending Monero
- The libwallet interface lacks support for various advanced ways of spending Monero. The current Feather release added manual input selection. More is still desired, such as multi-destination sweeps or spends with an alternative change address.
- Improved documenatation
- I'm already quite happy with the [documentation](https://docs.featherwallet.org/) in it's current state, but there is still room for improvement. A search feature is lacking and some parts could be improved with screenshots. Other parts can be rewritten to improve clarity and a glossary would be a welcome addition. I also want to add a section that goes in depth about threat-modeling to help users make more informed decisions about how they should use and configure the program to address their specific privacy or security concerns.
- Fix bugs and issues as they arise
I'll also work on reviewing contributions to CLI / GUI where I can and work on upstreaming patches to core.
As always I will heavily prioritize user feedback when deciding what to focus on.
### Who
Hi, I'm tobtoht. I am an active contributor to the Monero ecosystem since April 2018. Currently, I maintain Feather Wallet and contribute to the core codebase.
Previous CCS proposals:
- https://ccs.getmonero.org/proposals/tobtoht-feather-dev-2021-3.html
- https://ccs.getmonero.org/proposals/tobtoht-feather-dev-2021-2.html
- https://ccs.getmonero.org/proposals/tobtoht_feather_dev_q1_2021.html
- https://ccs.getmonero.org/proposals/feather-2020.html
### Proposal
Work 40 hours per week over the next 3 months at a rate of €45 / hour. At €133 / XMR (14 day EMA) this makes 162 XMR.