From 037f0c4ef210913c5d5235ec32ca18de1991f814 Mon Sep 17 00:00:00 2001
From: SyntheticBird <syntheticbirdxmr@protonmail.com>
Date: Wed, 19 Mar 2025 01:23:36 +0000
Subject: [PATCH] SyntheticBird Cuprate Arti integration and development (2
 months)

---
 syntheticbird_cuprate_arti_2_months.md | 88 ++++++++++++++++++++++++++
 1 file changed, 88 insertions(+)
 create mode 100644 syntheticbird_cuprate_arti_2_months.md

diff --git a/syntheticbird_cuprate_arti_2_months.md b/syntheticbird_cuprate_arti_2_months.md
new file mode 100644
index 00000000..d262e9ba
--- /dev/null
+++ b/syntheticbird_cuprate_arti_2_months.md
@@ -0,0 +1,88 @@
+---
+layout: fr
+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
-- 
GitLab