Discreet Log #34: Scaling Cwtch Connections
15 Nov 2022
Welcome to Discreet Log 34! A regular update providing a look into the research, projects and tools that we work on at Open Privacy. This edition we want to tell you about some upcoming changes to connection management for Cwtch 1.10, the ongoing Cwtch Bug Bash list, updated build containers, and a new article about P2P communications featuring Cwtch!
Improving Cwtch Connection Management for Scalability
If you have a large number of Cwtch contacts you may have run into problems connecting to them when you first open Cwtch. We have discovered that this issue is related to how the Tor process itself implements DDoS protection/throttling.
To protect the Tor network, Tor processes only allow 32 circuits to be under construction at any given time, internally queuing additional requests. In order for Cwtch to perform better with larger contacts lists we are planning several changes to the underlying connection logic.
First, we plan to sort connection attempts on start up. Instead of attempting to connect to the entire contact list at start up, we will start with the most likely to succeed connections i.e. connections that have succeeded before, and most recently. The longer ago a successful connection attempt happened, the less priority (at start up) it will have.
Secondly, we will be adjusting out current retry policy to take into account connection attempt ordering, and reducing the number of active connection attempts.
Finally, for groups, we are introducing antispam token caching. Cwtch 1.10 will store previously fetched anti-spam tokens to limit the number of group-related connections on start up - this should both speed up time-to-post for group messages, as well as reduce the overall connection burden on Tor for profiles that make use of the group experiment.
Cwtch Bug Bash
With the goal of making Cwtch has usable as possible, Cwtch 1.10 is going to be focused on fixing many of the small UI/UX issues that have been reported over the last few months.
If you have come across any UI/UX issues recently that aren’t captured in the bugbash list then please reach out to Sarah on Cwtch, or open an issue.
Updated Containers for Flutter Desktop Builds
For people using dockerized build pipelines with Flutter for desktop apps (e.g. to build Cwtch), Dan updated the Open Privacy containers to Flutter 3.3.8 (from 3.0.2).
- Linux: openpriv/flutter-desktop:linux-fstable-3.3.8
- Windows: openpriv/flutter-desktop:windows-sdk30-fstable-3.3.8
Cwtch Mentions
From time to time people talk about Cwtch on the Internet, and we like to feature them here!
- The Guide to Peer-to-Peer, Encryption, and Tor: New Communication Infrastructure for Anarchists (It’s Going Down) - Discusses Cwtch in the context of up and coming peer-to-peer communication tools.
Privacy is Consent T-Shirts have Shipped!
All preorder claims for the new Privacy is Consent T-shirts have now been fulfilled, you should expect your t-shirt to have arrived / arriving very soon.
If you have any questions regarding the status of your t-shirt shipping please reach out!.
Stickers!
Donations of $5 or more receive stickers as a thank-you gift, and $25 or more gets you one of our new sticker sheets! To celebrate our 4th anniversary, we’ll even count cumulative pledges since November 2021 to our Patreon.
For more information about donating to Open Privacy and claiming a thank you gift please visit our Donate page.