diff --git a/syntheticbird_cuprate_arti_2_months.md b/syntheticbird_cuprate_arti_2_months.md new file mode 100644 index 0000000..e8a7e77 --- /dev/null +++ b/syntheticbird_cuprate_arti_2_months.md @@ -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