Small Technology Foundation

Research & Development

Imagine a peer-to-peer web where where you own your own home at your own address and where only you have the key to your front door.

This is what we’re building and we call it Tincan.

Tincan logo

What is it?

Diagram: a peer-to-peer network that bridges with the centralised web

Tincan is a peer-to-peer network that bridges to the centralised web.

Tincan is a peer-to-peer network that bridges to the centralised web via an always-on untrusted web node.

The untrusted web node (unweb node) is training wheels for the peer-to-peer network. It provides two crucial features that peer-to-peer networks lack:

Findability

Having your own web domain means that people can easily find you. It’s basically a phone number for the web.

At your domain, people can view your public posts even if they don’t have their own Tincan node. Those with a Tincan node can also add you as a friend and message you privately if you allow them to.

Availability

The unweb node is always on so it ensures that you can always be found. If you have a mobile phone and a laptop where you use Tincan and they’re both off, messages that people send you will still be saved on the unweb node. The unweb node is an untrusted node, it will never see the contents of these messages. All it can do is store the encrypted messages and, when one of your trusted nodes (e.g. your phone) is online, sync the messages to them. Only your own devices (your trusted nodes) have the keys with which to unlock private messages.

The plan

Diagram: arrow pointing from Site.js logo to Tincan logo.

From Site.js to Tincan.

To democratise everyday technology, we must first democratise the tools we use to build technology.

All our design and development tools today are made by startups and enterprises to meet the needs of startups and enterprises. What’s missing are tools individuals can use to build technologies for other individuals.

The goal of a venture-capital-funded startup under surveillance capitalism is to grow exponentially by gathering as many “users” as possible and hoarding as much of their data as they can. This then means the startup can be sold, either to another surveillance capitalist, or to the public at large via an Initial Public Offering (IPO). So it should come as no surprise that the open source tools made by and for startups are all centralised in nature.

Similarly, so-called enterprise technologies are made by businesses for other businesses and to meet the needs of business. Since businesses can afford to protect themselves better, sometimes privacy features they implement for themselves can “trickle down” for use by everyday people but this is, if anything, a side effect.

Small Technology, on the other hand, is made by individuals for individuals.

We cannot build Small Technology with the tools of Big Technology, we must first make our own tools.

This is why we made Site.js and are building Tincan on top of it.

Evolving a peer web

What if the Web wasn’t centralised? What if we didn’t want the servers to store data? What if we didn’t trust servers? What if a server wasn’t designed to host to 10,000s of people but just one? What if the next Web was single tenant? What if a single developer could set up a secure web site in 30 seconds instead of hours? What if the fundamental nature of the Web was peer-to-peer and private by default?

What would such a Peer Web look like?

Our plan to help evolve the Peer Web is three-fold:

  1. Create a tool that makes it easy to build and host personal single-tenant web sites.

    Site.js makes deploying a secure static or dynamic web site a 30-second affair.

    We’re looking for VPS hosts and domain registrars to offer one-click installation of Site.js to make it even easier to get started. Please see our partners page if you’re interested.

    Learn more about Site.js.

  2. Add peer-to-peer persistence via DAT.

    Tincan will be built on Site.js and will add peer-to-peer persistence.

  3. Make it as easy to sign up for your own Tincan network as it is to sign up for a centralised social media account.

    Integrate interoperable domain registration and hosting for a 30-second sign-up.

    If you’re a domain registrar or a VPS host and you’d like to start talking to us about this ahead of time, please see our partners page for details.

Architecture

Diagram: showing the nodes of two people interacting.

Two people communicating on Tincan.

Tincan is a bridge between the centralised web and peer to peer.

The untrusted web node will be built on top of Site.js. The first trusted peer node will be a Web Browser node. Native nodes may also be built for specific platforms in the future.

Tincan continues the work we started at Ind.ie five years ago with the Heartbeat project and which we iterated on in 2017 with the Indienet project in collaboration with the City of Ghent.

Work on Tincan is currently at an exploratory phrase where we’ve spiked out the fundaments. We are currently focusing our energy on improving Site.js as we wait for multiwriter DAT (see this issue for current status as well as this planning document) to land in the DAT project, which Tincan will use as its core peer-to-peer replication mechanism.

(We plan to look into PeerFS – which implements multiwriter functionality using kappa-core and the new hypertrie-based hyperdrive – as a possible alternative.)

Where we are today

We have released Site.js, we are looking for VPS and domain registrars to partner with, and we are working on improving Site.js and starting work on implementing Tincan on top of Site.js.

Tincan logo