I haven’t made any big changes to my life for the last couple of weeks in terms of decentralization. I’m continuing to use and prefer privacy-oriented ethical services:
- Search: DuckDuckGo
- Email: ProtonMail
- Browser: Firefox + containers
- Chat: Signal, Element
- Calls: Jitsi Meet
- Office: LibreOffice, CryptPad
- Passwords: Bitwarden
- 2FA: andOTP
- Analytics: Koko
- Games: GOG
- CMS: WordPress
I tried to use two Linux distros (Fedora, Ubuntu) as a primary OS but the software I want to use is not available or it’s a hassle to get running. I’m back on Windows 10. At least, I made sure to disable all the “spying” options Windows provides during the installation.
Furthermore, I looked into alternatives to Google Android but was discouraged by complicated tutorials. When my current phone die I might get Fairphone. TBD.
Merkle DAGs are Awesome!
I went through a couple of tutorials about decentralized concepts at ProtoSchool. I learned about content-adressing, content identifiers (CIDs) and Merkle Directed Acyclic Graphs (DAGs).
The last one was particularly interesting since it got me thinking how to apply DAGs in the context of Red Hat (see my LinkedIn profile for more details about my work).
Merkle DAG uses content addressing to point to data. It does deduplication really well. One large dataset can be distributed on many nodes thus enabling parallel download. Because of content hashing you can verify the data haven’t been tampered with. Existing graphs can be made part of new graphs thus providing a way for versioning.
One idea is using Merkle DAG for distributing data to & between edge nodes. It could save a ton of storage space and bandwidth. It could make downloads faster (it wouldn’t really on single server to download the entire dataset in sequence). Nodes could host bits of data and exchange them. It could enable versioning data (just create a new graph point to unchanged content in the old graph and provide new subtree with new content).