Research & Development
Imagine a peer-to-peer web 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.
What is it?
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:
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.
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.
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:
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.