Add new file

This commit is contained in:
SyntheticBird 2025-03-09 13:59:22 +00:00
parent 4847b6fc95
commit 937f4ac306

View File

@ -0,0 +1,85 @@
---
layout: fr
title: SyntheticBird Cuprate Arti integration and development (2 months)
author: SyntheticBird
date: March 9, 2025
amount: 50.2
milestones:
- name: April
funds: 50% (25 XMR)
done:
status: unfinished
- name: May and completion of Arti integration
funds: 50% (25.2 XMR)
done:
status: unfinished
payouts:
- date:
amount:
- date:
amount:
---
# Who
I am [SyntheticBird](https://github.com/SyntheticBird), 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
- Use Tor for outbound clearnet connections.
- Natively connect to onion monero nodes.
- Generate an onion service for accepting inbound Tor connections.
# Tasks
The set of tasks to complete can be separated into 3 categories:
### 1. Outbound Tor support for P2P
- Definition of a new `Transport` trait and `TcpTransport`, `TorTransport` implementations.
- Adaptation of current P2P components to this new scheme.
- Definition of a new `NetworkZone` `Tor` for connecting to onion service nodes.
- Adaptation of `cuprated` to parse new config/flags, initialize Tor runtime/boostrap, make `IncomingTxHandler` and Dandelion related services *tor-aware* and capable of relaying on both network.
- Add arguments and configuration for users. (override data directory path, enforce isolated circuits...)
### 2. Inbound Tor support for P2P
- Implement Onion service generation and launch in `cuprated`.
- Implement P2P incoming connection listener (`--anonymous-inbound` equivalent).
- Add arguments and configuration for users. (enable PoW)
### 3. Documentation
- Update Architectural book
- Update User book
# 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
25 XMR
### 2. Second Month and completion of main tasks
25.2 XMR
# Funding
I will be working 30 hours per week during 8 weeks at 45\$/hr - 215\$/XMR.
30×8=240 | 240×45=10800 | 10800÷215=50.2
Total: 50.2 XMR