Is Kiwi News OK if its founders are arrested?
Thanks to macbudkowski.eth, casslin.eth and mishaderidder.eth for reviewing!
When Durov was arrested, Stani published a post titled “Resilient Social Networks,” in which he argued how we should build modern social networks. A core statement he makes is that:
Social networks should be built with a focus on resiliency. In practice, resiliency means minimizing any single point of failure that could disrupt or compromise the functionality and integrity of the network.
So, with this notion of resiliency in mind, let’s discuss the elephant in the room: “Is Kiwi fine if its founder is arrested?”
Keeping Kiwi News running even if its founders get arrested wasn’t why we set out to build it, as you might imagine. Instead, it is our goal to build a lasting institution for the crypto space that helps with self-regulation as to be a critical part of its cultural infrastructure. By having Kiwi News, we think the Ethereum community can have greater response-ability [sic] when things go south, for example, when there’s an influx of many new who don’t yet understand its core culture. We consider it instrumental in building Kiwi News to be as resilient and decentralized as possible so as to walk our talk.
We’ve always thought of building Kiwi News as growing a “living system.” For Kiwi News to survive, it must be alive and it must grow organically!
But let’s get to it! In the following, I will go through various points of failure, and I will assess how well Kiwi News is doing in each of them, assuming its founders got arrested.
Identity
Kiwi News’s core identity mechanism is just Ethereum addresses, so public and private key pairs. These are stored, like the keys of an Ethereum wallet on each user’s device. If a user wants, they can improve their identity’s human-readability by setting up an ENS name or a Farcaster profile. Kiwi News itself isn’t host to any important identity data, and Farcaster or ENS profiles aren’t necessary to use Kiwi News. This means that Kiwi News’ identity data is pretty much resilient throughout whatever circumstances the founders are facing.
Data
Kiwi News runs on a peer-to-peer network. Everyone’s Kiwi Pass is stored on Optimism; all upvotes, comments, and submissions are signed with an Ethereum key, and they can be replicated among many devices by running a Kiwi News node. Many decentralized social platforms harvest behavioral user data to improve their feeds. We have gone intentionally very easy on that, as any data that isn’t replicable through the Kiwi News protocol is a vector that reduces resiliency. The only data that is proprietary to my Kiwi News node is the number of clicks users make on a link. However, this data is only used temporarily to rank the “Hot” feed, and anyone who also runs a Kiwi News node can replicate this data over time.
So, how resilient is Kiwi News’s data if its founder is arrested? Well, all data except for the clicks on links can easily and immediately be replicated without the founder’s permission or involvement. We don’t store or collect any proprietary data to make it effortless for an anon to run an exact copy of Kiwi News.
Open source
There are decentralized social networks that pride themselves on being permissionless. Yet, core parts of their experience are closed source! For example, it is rather common for a VC-funded startup to close source their frontend client to have a defense against competing client developers and other adversarial VC firms. The problem with this is that if the founder gets arrested, and if, for example, their company gets compromised through that arrest, then that frontend, which might be core to the network’s experience, also gets compromised.
With Kiwi News, everything is open source. In fact, the site that you see over on kiwinews.xyz, you can run that exact website on your local machine or a web server! There’s only a single 20-line file that we haven’t open-sourced, and that is for fingerprinting who has clicked on a link. We haven’t open-sourced it, so spammers can’t manipulate the feed. But the feed isn’t strictly reliant on the file to be there.
This means if Kiwi’s founders got arrested, anyone could easily continue to host the website under a new domain.
Transparency
Because all of our code is open source, we are probably one of the most transparent social networks in the world in terms of moderation. 100% of our moderation is inspectable from the open internet. Our feed algorithms are open source, so you can go through them line by line to understand how content gets ranked. A majority of all planning conversations are done in our semi-public Telegram chat (more on Telegram later). If you’re reading it on a daily basis, it’s equivalent to being an employee at the hypothetical “Kiwi News company” (spoiler: we don’t run a company!).
Software accessibility
Many decentralized social networks use all sorts of cloud software to get going. This makes running them exceptionally difficult, tedious, and costly to set up. They also often rely on third-party services. Kiwi News, however, can be run even on a free Alchemy/Infura subscription. That is all that is needed: access to an Ethereum node.
If a third-party operator wants to scale Kiwi News to serve more users, Kiwi News makes use of Cache-Control headers, which can be used to scale it on a platform like Cloudflare effortlessly and for free. Kiwi isn’t reliant on Cloudflare, however. Cache-Control headers are part of the HTTP protocol, so any other edge cache can be used to scale the front end. Besides that, Kiwi News just runs on Linux, so you can slap it on any virtual private server.
Funding/Company
Surprise! Kiwi News isn’t developed by a company! Instead, we have always just been a loose set of freelancers who are contributing to an open-source project. This means that there is no too-big-to-lose investor or founder, and people are not relying on earning a salary to keep being part of the community. Everyone in the Kiwi News community helps because they want to.
In terms of funding, we have made it our goal since the outset of the project to become self-sufficient. This means we fund ourselves through a variety of partnerships and grants, as well as through our users buying our Kiwi Pass NFT. We have done this with great intention and despite everyone telling us that we should get VC-funded. We never thought that VC funding was interesting because it would create problems with our excellent independence.
Now, admittedly, there is a slight attack vector here. While anyone else could still raise funds for Kiwi on the founders’ behalf, the Kiwi treasury and the NFT contract are still controlled by Mac and I. That said, it would be trivial to copy the NFT collection and just sell a forked version of the Kiwi Pass NFT.
Many DAOs manage huge treasuries that have become giant honeypots for attackers and intruders. Although we are not earning a lot of money from paying out the Kiwi News treasury, we’ve made it a habit to minimize the amount of funds that are locked in the treasury by frequently paying them out to contributors.
Other than that, having gone through a lot of pain trying to build the project through loosely connected individuals, we think this way of funding and managing the treasury makes Kiwi News exceptionally resilient to survive funding outages or attacks towards a founder’s company.
A point of failure is, of course, each contributor’s personal runway, which is definitely something we have struggled with up until here. I wish there was a more sustainable way to develop Kiwi. If the project had a DAO to help with funding some of the work, almost like PurpleDAO is to Farcaster, that would be a level up in terms of resiliency.
Organization
Funnily enough, the Kiwi News community uses Telegram to communicate internally. This isn’t great at all, especially in light of Durov’s arrest. For this to improve, we should understand how we can soften our reliance on Telegram as the primary mode for communicating with each other to develop the project. Aside from Telegram, we use a bunch of tools, none of which we strongly rely on. We use a Gnosis Safe to manage the treasury. The Zora front end to adjust the pricing of our NFT and Google Analytics to get insights into how our users are using the core client.
I would say our organization could be built more strongly with tools like Signal or Matrix. However, in my view, this has to be balanced with growth and accessibility. In fact, I would argue that just using Matrix as a chat software would have also strongly reduced the cohesiveness of the community, which in itself is also a point of failure. Yet, I think we can probably do better here by making smart trade-offs.
Domain and Distribution
Kiwi News is currently hosted at kiwinews.xyz, kiwinews.io and news.kiwistand.com. I currently operate all these domains, so these access points aren’t resilient by themselves. There is kiwinews.lol, which a friend operates. Yet, we have not doing too good in that dimension. It would be better if we had more and harder points of entry, like an ENS name. But I’m not sure if this is possible with our current architecture.
Relatively speaking, though, I think Kiwi News is doing pretty well in terms of the “distribution” dimension. Our app is distributed as a “Progressive Web App,” so it is basically a plain website. This means we can’t get arbitrarily kicked off from the Apple or Google App Stores. In a scenario where all domain names for Kiwi News were always blocked, users could still each individually run the entire software on their computers in a local-first style. Additionally, Kiwi News isn’t dependent on the App Store policies. We can monetize in whatever way we want and don’t have to ask Tim Apple for permission!
Protocol
The protocol currently allows anyone to make a copy of Kiwi News’s database. By running a Kiwi News node, a person can constantly stay up to date with the latest changes so that even if the most popular domains of Kiwi News are shut down overnight, a replicator would still have copied the exact state of the now taken-down website.
Now, admittedly, the protocol is probably the weakest part of Kiwi News as we are still hardening it. It could be spammed, and the bootstrapping procedure is still fragile. The protocol right now probably couldn’t withstand adversarial conditions. The node would most likely crash at some point. However, the protocol code is separate from the chaotic frontend code, and it is well-tested, which means that someone could technically just continue to develop it. We have given talks about how it works and documented it in our docs. I’m optimistic that someone else could take over the development of the protocol code and that the Kiwi News Protocol’s resilience could be maximized.
Network
The Kiwi News network currently is small and consists, at best, of 1-2 independently run nodes. Running a node isn’t incentivized like, for example, on Ethereum, which makes it hard to motivate people. We will have to do much better on this dimension and I hope that this will improve with the project maturing and the product growing its user base.
Community
Finally, there is a question of whether Kiwi News can survive without its founders as a community of friends. Often, an open-source project dies without its founders. However, Kiwi News has managed to retain a large community of contributors. These people have self-organized hangouts in all sorts of places around the world and connected themselves beyond the communication that they do on Kiwi News. This makes me hopeful that the community could survive a founder’s arrest.
Conclusion
As of today, while we think the arrest of a founder would be a serious issue to the further development of Kiwi News, it is a nice metric for testing the project’s resiliency in the face of mounting political power on social networks. It should go without saying that none of us want to be arrested or go to war with another group. Still, having written this, it seems like an important notion, as Stani said, to minimize any single point of failure that could disrupt the project.
If you would like to get involved with developing Kiwi News, check out our GitHub or mint a Kiwi Pass to support our project and become part of the community!