diff --git a/syntheticbird_cuprate_arti_2_months.md b/syntheticbird_cuprate_arti_2_months.md index e8a7e77..a4eae59 100644 --- a/syntheticbird_cuprate_arti_2_months.md +++ b/syntheticbird_cuprate_arti_2_months.md @@ -30,33 +30,28 @@ Cuprate is currently in alpha version and a lot of features are planned on the r 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 +- 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 set of tasks to complete can be separated into 3 categories: +The planned set of tasks to complete can be found at this Github gist: https://gist.github.com/SyntheticBird45/4c554d3c1e7ae6f8d237d7dd49c2d2f0 -### 1. Outbound Tor support for P2P +It is subject to change but overall the required work can be separated into 3 categories: -- 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...) +### 1. Alternative network integration into P2P components. -### 2. Inbound Tor support for P2P +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. -- Implement Onion service generation and launch in `cuprated`. -- Implement P2P incoming connection listener (`--anonymous-inbound` equivalent). -- Add arguments and configuration for users. (enable PoW) +### 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 -- Update User book +Update [Architectural book](https://architecture.cuprate.org) and [User book](https://user.cuprate.org/) # Additional work