The bad news is that the Information Wars have already started, and we’re losing. We live in a schizophrenic nightmare digital world where phantom voices drown out authenticity and truth. No wonder we feel like we’re going crazy. Armies of bots create fake social media accounts to manufacture false consensus. Corporations vacuum up our personal data, then turn it against us to manipulate our behavior with targeted propaganda. Invisible hostile actors wage massive deception campaigns to get us to serve their interests instead of our own.
At the same time we’re being bombarded with misinformation, we’re also being drained of time and energy at a time when we most need clarity and control: “Create an account. Wait for email confirmation. Change your password. Wait for a text message. Type in a code. Prove you’re not a robot. Enter your mailing address. Again. Watch this ad. Session expired, start over. Log in again. Accept these tracking cookies. Find the menu item. Update your payment information. Enter your credit card number. Again. Download the app. Log in again.”
We’re inundated with these useless tasks. They accumulated so slowly, we never noticed they are completely unnecessary, a distraction.
The good news is we can defend ourselves. Subverse is an internet protocol that strips away decades of exploitative infrastructure to return control where it belongs - with you.
What makes Subverse different:
- Programmable Authentication
- Cryptographic identity means no more phishing, or impersonation. All content is cryptographically signed by its originator.
- Information Control
- Information is money. The status quo steals it from you. Your network location, your address, your contact list. In Subverse, everything is on a need-to-know basis, and it’s shocking how little the corporations you deal with actually need to know. Subverse smashes data silos, and keeps your valuable data with you.
- Built-in reliability
- Your valuable data persists securely across the network. Others store it but only you can read it.
- Automation
- Build and share automated workflows as easily as sending messages. Create bots, stores, or entire applications without wrestling with infrastructure.
- Scalability
- Handle millions of requests with ease, run a large business from a mobile device with no infrastructure costs.
Subverse isn’t just another messaging app - it’s a complete reimagining of digital communication. By handling authentication, privacy, reliability, programmability, and scalability at the protocol level, it creates a foundation for genuine, efficient, and trustworthy online interaction.
Subverse is communication software that serves you.
- Users communicate with privacy and trust
- Users control their own content
- Users can program and share their own applications on the platform
- Users can automate interactions
- Users are freed from central control, by pushing functionality to the edges
With Subverse, you always know with maximum confidence, who created the content you are viewing. Since no one can impersonate anyone else, a lot of current internet problems go away completely or are greatly diminished: phishing, propaganda, deep fakes.
In the subverse protocol, authentication is automatic, programmable and flexible to balance the goals of security and convenience.
In subverse, you will never need to:
- Create an account
- Verify your email address
- Enter a username or password
- Prove you are human
- Enter your address or bank account or credit card number
Your attention is a precious resource, with millions of internet voices competing for it. Subverse provides a personal entourage that filters out the voices, leaving you in peace to communicate with friends, family, associates and people you admire.
In the Subverse protocol, no one can talk to you without first being properly introduced by someone you trust. Spam does not and cannot exist. Any low quality content you do receive immediately reduces the influence of whoever introduced you to its source, making it less and less likely over time that you’ll receive any low quality content. boot i By using an introduction-based protocol, you always know who you’re dealing with and how much you can trust them.
In subverse’s trusted environment, the presentation of content is controlled by you, not the other party. Every shopping site works exactly the same way, so you can get things done and get on with your life. You aren’t bombarded by flashy branding and ads.
Current “privacy” messengers send whispers: No one else knows what you are saying, but they can see who you’re whispering to. Subverse gives you a new superpower: telepathy. While telepathy is not possible in the physical world, Subverse brings it to the digital realm. Your thoughts reach their target and no observer knows you did anything at all.
Your private data is treated as a valuable resource. It is encrypted and replicated on the network, such that if you lose access to your device, you can pick up right where you left off on a new device. All you need is your key.
If you go offline, other peers will collect data being sent to you (in encrypted form) and deliver it when you are back online. Messages will always reach you as long as you have your secret key.
All communication is done over a censorship resistant network, which has several techniques for bypassing firewalls. Since you already have complete privacy it is not possible for anyone to block messages based on content.
Subverse is intended as a replacement for the web - it has the functionality of both a web server (it can serve your data via an API), and a browser (you can consume and view data).
The web is a document-based system originally designed for desktop computing. Subverse is a message-based system, where content from humans and programs integrate seamlessly. AI chatbots fit right in and actually benefit from the network’s authenticated nature.
Because Subverse offers strong authentication, privacy, and reliability, it eliminates the need for central servers in many use cases - denial of service attacks are harder for an attacker to pull off, no need to pay CloudFlare to serve your content for you.
Move between devices seamlessly. While technically your identity on different devices is different, you have access to the same content, and everyone will treat your multiple device identities as the same person.
Authentication is done by small programs called scripts, inspired by the way bitcoin (and other cryptocurrency) decides whether the person spending money is really the one authorized to spend it. The script acts as a lock, requires some cryptographic proof that acts as the key to unlock it. This allows users to prove who created given content and attribute the content to someone. Scripts can be off-the-shelf or customized to serve your particular security needs.
Trust starts with you. If you trust someone in Subverse, that allows them to do things that other people can’t: they can message you, introduce you to others, etc, depending on the level of trust. Your network expands just as in real life: via introductions. Introductions don’t have to be person to person - for example you can think of Google as an introduction service. Whether you trust someone like Google to make introductions is up to you. You can revoke that trust at any time.
Underlying Subverse’s networking is an anonymity network that guarantees that no third party can determine what you’re saying, or who you’re talking to, or even if you are talking to anyone at all. It also guarantees that no second party (people you talk to) can determine your physical location unless you explicitly tell them.
Subverse automatically creates new identities when needed. For example, you don’t want a search engine to compile a database of everything you’ve ever searched for, so every time you search, Subverse will use a fresh identity. It’s only when you need someone to remember you, or be able to reach you later, that subverse will re-use identities.
Subverse also encrypts data at rest on your device, and can automatically expire old content such that it does not become a liability.
All content you create becomes part of an encrypted “stream”, which is similar to a bittorrent file share, but content can be added over time and cannot be deleted. Other users participate as peers in the data sharing. Some users have the decryption key (the people who you want to be able to read the content), and some don’t (they hold the encrypted data as a backup in case anyone needs it later, but they cannot read it themselves).
Every part of the app is streamed, even those where the only person with the key is you - your address book, app configuration, message history, file attachments, etc. If you lose your phone, you can restore everything from the network onto a new phone.
Since all data in the system is duplicated in the network, message senders can go offline without delaying delivery. Receivers can go offline without dropping messages.
The way duplication is handled is similar to bittorrent in that chunks of data are exchanged between peers, and a user seeking to download an entire stream can download from multiple peers at once. Where Subverse differs is that peers who don’t care about the content also participate, and are incentivized by micropayments. They serve as both durability (store the content long term) and reliability (can serve the content when the creator is offline).
The internet itself is a powerful censorship resistance tool - it automatically routes around censorship. However most people don’t use it that way, they give all their content to a third party (google, facebook) instead of serving it themselves, and that third party can easily censor the content. Subverse fixes that by making it trivial to serve your own content.
It goes even further by using i2p for networking. Anyone who is upset about your content generally doesn’t know who or where you are, so it’s very difficult for them to threaten you.
Subverse is completely decentralized, so there is no company for governments to sue, or server to disconnect.
Most functionality in the app is programmable via a very simple programming language called kcats. In order to automate things in subverse, you create bots - programs that take some streams as input and output other streams.
The bot can do things as simple as sharing photos, or as complex as running an online store.
In Subverse, all names are local and for human eyes only. Everyone’s name in your address book is your name for them. The app itself doesn’t use names, it uses the hash of the person’s script to track who’s who. Like nearly anything else in subverse, address book entries can be shared, and the receiver can edit it however he chooses.
Many examples of modern coordination software are centralized mostly because that was the only way to get attribution and durability of data. However now we have those properties in a decentralized protocol and can move functionality to the edges, making more efficient use of computing resources and making systems more robust.
If you examine a company, each employee usually doesn’t generate that much content that they could not serve it from their own device (either a workstation or mobile device). All that remains is coordinating the communication, which is easily modeled inside subverse.
The exceptions to this are services that aggregate or process vast amounts of data. For example, while likely no Google employee generates vast amounts of data, their web crawler certainly does. That cannot be easily distributed and will still require a large datacenter. However most corporate functions could be distributed - email, issue tracking, planning and scheduling, payments, administration, etc.
The simplest example of coordinating communication without a server, is a group chat. Your device would understand the group chat protocol, which goes something like this: You produce a stream of messages, (your side of the group conversation). Each message includes an ID of the message it’s replying to. The stream is encrypted and distributed as described in the “durability” section. Similarly your device will download the encrypted streams produced by all the other members, decrypt them and assemble the messages in the correct order, displaying them in much the same way modern messaging apps do.
This is a fairly boring example because there are applications that handle this functionality already. It gets more interesting when we generalize to more complex coordination protocols. Ignoring regulatory burdens for a moment, let’s examine a much more complex group and see how its currently centralized rules and protocols could be pushed to the edges. Let’s look at a hospital.
There are many parties involved in medical care, including: the patient, doctors, nurses, technicians, imaging equipment, and administrators. Let’s look at the content each one produces, and how it can be coordinated.
Patient: he has access to his internal state - how he is feeling, if he is sick or injured, what hurts, and how much. He knows what medications he took and when, etc.
Doctor: Creates medical diagnoses and decisions on a per-patient basis
Nurse: Creates records of treatments administered to patients, observations of patient condition
Imaging and sensing equipment: produces data and images of the patient of various types (heart rate, xray, MRI etc).
Technician: interprets data and images
Administration: controls resources like rooms, equipment, doctors, nurses. Decides how much needs to be paid.
A patient breaks his ankle and goes to the hospital. At the entrance he’s asked to share his medical stream with the hospital, which would include all his medical history. It would include not only his own content but the keys he was given to other data relevant to his treatments. The doctor examines him, thinks the ankle looks broken, adds that to his stream (all hospital staff would create a new stream for each patient to preserve confidentiality), shares the key with the patient and administration. Administration allocates an ER room and xray. Patient is taken to xray machine, images are taken. The machine (which also speaks the protocol) streams the xray images and grants access to the patient, technicians, doctor, and nurses. Presumably the administration does not need to see the xray since they rely on the doctor’s diagnosis, and thus does not fetch or store any images themselves. Doctor views the xray and diagnoses a broken ankle, prescribes a cast, crutches, and pain medication, and adds those data points to his stream. Administration accesses the doctor’s stream and calculates the bill, and so forth.
The patient gets treated just as he would with a centralized coordination system that hospitals use today. However in this case, the patient leaves the hospital with all his medical data directly under his control. He has the keys to the streams and can download and view everything, and can take it with him wherever he might get treated next. The next doctor can see exactly what happened - not just the final result but who did and said what and when. If there was an initial incorrect diagnosis or other mistake, he’d see that as well since streams are append-only. The nature of the system enforces accountability because the data is immutable.
A real decentralized hospital protocol would be quite complex, but it will result in a system that has far less complexity at the center than current systems, which are run by administrators and have to store and process all the data, not just the data required for administration. A simpler center means a smaller central point of failure. All these communications protocols are independent and don’t require the others to function properly. If the hospital’s central system goes down, patients can still be treated, doctors can still view xrays and prescribe medication and nurses can receive that information and administer treatments. The administration’s system can catch up when it comes back online. In fact, the system could probably function reasonably well even without an internet connection, where data is shared p2p via bluetooth or ad-hoc wifi.
Of course, building a working system as described would be a complex undertaking, but no more complex than existing systems.
The reason a system like this is “decentralizable” is that there is not much need for aggregation where one party needs all the data. In fact, in the medical industry where confidentiality is required by law, that could be a liability.