This is a writeup on a theoretical site I propose for Lens Protocol to eventually introduce as part of their wider initiatives to create a distributed and varied social network. This product would provide a link between Tor (.onion) services and the social graph (the Lens plant). Both of these plants share roots as a component and the word root
has been assigned meaning in technical fields over the years. I like the name roots.
Nothing like this exists for Web2 technology at present. There is no 'bridge' between darknet posters and clearnet readers. Perhaps this is for the best, however if we analyse this situtation from the perspective of journalism and censorship, this is a pretty big issue. Pastebin text dumps can only gain so much traction - hooking content into the wider social network machine is needed and there is no solution so far.
Roots is a theoretical interaction layer between darknet-only and clearnet-only users with the goal of facilitating censorship-resistant journalism and media. Roots consists of a frontend (website) which is hosted on a server (for example, a VPS) which will allow access via a .onion
address. Roots would allow for individuals who fear censorship to publish posts in a truly anonymous manner (via Tor) with minimal risk to their privacy. Obviously the final URI would look much longer than roots.onion but it might look something like rootslensbd7szmgncyruucpgfkqahzddi37ktceo3ah7ngmcopnpyyd.onion
(a Tor v3 onion address).
The roots frontend could look somewhat similar to existing platforms like Mirror, Medium or even Pastebin- all of which have seen adoption as methods of disseminating ideas via long-text-format.
The roots frontend be HTML based, with minimal JS interaction (as Tor is considered more secure with JS disabled) and no JS necessary for interaction with the backend.
As many tools (such as Ethers and Web3JS, which are commonly used to communicate with blockchains) are heavily JS reliant and bloated, the burden of operating JS can be shifted to the backend. This would allow for a simplistic yet functional frontend (ideally with a basic markdown edited like Mirror has implemented) which allows for long-form text-based content creation.
Couldn't Mirror.xyz just do this?
Maybe, but their site is so JS reliant right now that it won't even run properly on hardened Firefox, let alone Tor. Tor with JS is still private but not all privacy-conscious users will enable JS.
The roots backend would be a basic VPS-hosted server which accepts requests from the frontend as well as a signed message (or perhaps the content itself could be signed?) verifying the authenticity of the author. The backend would check this and then post the information to the Lens Protocol social graph via the publication function. Some sybil-attack resistance mechanisms may have to be implemented here to prevent network spam. A time delay for publication may also be implemented (customised by the user) to prevent time-analysis correlation attacks.
Of course, there are privacy considerations which users would need to consider when creating their lens profile NFT.
Illegal or undesirable content can mostly be mitigated by only allowing image embeds and markdown (Mirror's approach). Responsibility for removing infringing content lies with IPFS or Arweave (the hosting service). Ideally this traffic would not go to AWS S3 given it is supposed to be as censorship-proof as possible.
Sybil attack mitigation can be achieved through basic mechanisms such as Captchas (employed by many onion sites) when submitting content.
I have no experience working with VPS solutions, .onion hosting and to be honest I'm more of a JS frontend dev and this requires HTML. The reason why I am a big fan of Lens is because this is possible - Twitter has launched their own .onion site but it doesn't prevent identification through the email and mobile number they collect. I don't want to build it right now and go after a grant so consider this idea open sourced.
I do want to work at Lens though. Hit me up :)