The Wayback Machine - https://web.archive.org/web/20230627133937/https://cheapskatesguide.org/articles/mastodon-servers.html

   Cheapskate's Guide





Home   Contact   


Mastodon and Hiker


The Experiences of People Running Mastodon Servers Suggest a Bumpy Road Ahead


For the three Cheapskate's Guide readers who are still unfamiliar with Mastodon, it is an open-source decentralized microblogging social media application that is based on a distributed communications protocol called ActivityPub. Mastodon is something like Twitter but without Elon Musk. It is an alternative to Twitter that is not designed to make money or to be owned by anyone. Mastodon is not the only application running on top of ActivityPub. Some of the others are Friendica, Pleroma, PeerTube, and Lemmy. Collectively, ActivityPub applications and those based on three or four similar communications protocols form what is called the Fediverse. As with any Fediverse application, anyone with the required level of technical expertise who is interested in Mastodon can run his own server, and anyone can become a user on a server run by someone else.

In November of 2022, after Elon Musk's buy-out of Twitter, somewhere in the neighborhood of two million Twitter users decided they had had enough and moved to Mastodon. The number of users continued to climb, and by March of 2023, ten million people were on Mastodon. Predictably, Mastodon has been receiving heightened attention in the news for months, which has drawn even more new users. Many of them, especially the more technically-oriented, seem happy with the platform.

Before I continue, let me make two things clear. First, although I find the implementation issues associated with Mastodon fascinating, I have no intention of ever using it. While I do recognize the value of a free-speech-oriented microblogging platform to those who want one, I do not happen to be one of those people. I value free speech highly, but I have never been even slightly interested in microblogging. The idea of having to fit everything I have to say into a mere 280 characters, or 500, or whatever, simply does not appeal to me. Not at all. Second, I have no desire to disparage the work of Eugen Rochko, the main creator of Mastodon. As far as I am concerned, the man is a saint. I have loved everything I have heard him say about free speech and Mastodon's relationship with it. I also have no wish to belittle the efforts of those who created ActivityPub, because I have zero inside knowledge or insight into how to make it better. But, I do have several things to say about the experiences of people who have run their own Mastodon servers and about the implications of those experiences for Mastodon and ActivityPub. Some of my remarks will be less than positive. Based on what I say, no one should conclude that I am against decentralized networks or open source applications or that I secretly hope for Mastodon's failure. I don't. I also know that the issues I will be discussing here are filled with nuances and possible solutions, so nothing I say should be interpreted as being set in stone or closed for discussion. I just do not believe Mastodon (at least in its current form) is destined for the success that I fear some people seem to be anticipating.





Mastodon's Inefficiency Means It may be a Costly Traffic Jam Waiting to Happen on the Information Superhighway

For weeks I have been scouring the Internet for first-hand experiences of people who are running Mastodon servers. I found four podcast interviews in which Kris Nova participated (here, here, here, and here). She also gave a talk at Fosdem '23. Nova and friends started the hachyderm.io Mastodon instance on a server in her basement, and shortly after Musk's Twitter buy-out, the number of people using hachyderm.io grew from hundreds to about 34,000 over a period of a few weeks. She talks about the difficulties they encountered while scaling up the server before they were finally forced to re-host hachyderm.io on a commercial hosting service. Another podcast episode is by one of the hosts of the Linux Matters podcast (Alan Pope, I think), who has been hosting a Mastodon instance for a few hundred of his friends. All of these podcasts make interesting listening. I have also found valuable information on blogs whose owners have run their own small Mastodon instances.

To me, perhaps the most fascinating thing about Mastodon servers is the massive amount of computing capability required. Alan Pope said his server averaged 500 Kbit/s (300-700 Kbit/s, or 5 GB/day) of data transferred across the Internet. This was without relaying, which doubled those numbers. Nova said before her Mastodon instance transitioned to Digital Ocean's servers, it was running in her basement on three powerful Dell PowerEdge R620 servers and one R630. Her instance transmitted as much as a terabyte of egress data per day. Her Internet connection's upload bandwidth was 200 Mbit/s, and she said it was saturated "the whole time", meaning for weeks. Her servers were spreading their data across eight solid-state drives, and before she transitioned to Digital Ocean, two of those SSD's were suffering from severe performance problems under the load, the source of which was still unknown at the time of the podcasts.

Something worth mentioning is that Nova is a technical professional at GitHub, which serves about 100 million users. Yet, even though she does this type of thing on a much larger scale for a living, she was unable to keep a relatively medium-sized Mastodon Service on line from her basement. Your thoughts about this probably depend on many factors, but the question that immediate pops into my mind is that if an IT professional like this is unable to keep her Mastodon instance on line using her own skills, hardware, and a very large upload bandwidth, what should the rest of us expect when we try to run one?

Before continuing, I should probably explain part of the problem I have with the information presented in the above paragraphs. I believe the Internet is far too wasteful. Corporations think they must have massive servers to run their horribly inefficient web software, millions of broken and barely functional robots roam the Internet collecting massive amounts of data from every IP address, and average Internet users have no idea how much computing power they frivolously waste without a second thought. By some estimates, the Internet already consumes over 10% of the electricity generated on the planet. The last thing we need is another massively inefficient method of communication thrown on top of the heaping pile we already have.

One reason for the large amount of traffic on Mastodon servers is ActivityPub. I do not know all of the details. Frankly they are rather technical, so I have not spent the time to understand exactly how ActivityPub works. I have other things I am more interested in learning right now. Let me say, however, that a server using the ActivityPub protocol must transfer onto its hard drive all of the posts (or "toots" or whatever) for everyone that every user on a server follows, and each time a post is transferred, a handshake must occur in which the local server and the remote server identify themselves to each other using cryptographic keys. This is one reason Mastodon servers require so much computing power. If 1000 users reside on a server and each user is following 100 users on other servers, the posts of as many as 100,000 users are being transferred to the server. If each of those users are posting 5 "tweets" or "toots" or whatever per day, that could require the transferal of half a million posts a day. And that is for only 1000 users. For 34,000, it could be as high as 17 million! That is 17 million posts per day that could include text, cat pictures, and cat videos. Again, I am not exactly sure how all this works, so the numbers may actually be significantly smaller depending on exactly how the ActivityPub protocol works and which users are following which, but at least you should now begin to to see the magnitude of the problem.





One Back-Road, yet Efficient Social Media Site for Comparison

Let's briefly compare some of the above numbers for Mastodon to those I have calculated for my little social media site Blue Dwarf. By the way, I designed Blue Dwarf specifically to be as resource frugal as I could make it. As I write this, Blue Dwarf has only 153 registered users, so I will have to extrapolate from that to Kris Nova's 34,000. On a recent high-traffic day, Blue Dwarf received a little over 5000 requests, and those averaged something like 2.5 KB each. Each post on Blue Dwarf requires between one and three requests to download to a user's computer, depending on what each individual's browser has already cached. This averages out to about 82 KB per registered user per day. Multiply that by 34,000, and you get about 2.8 GB per day, which (not accounting for network overhead) is only about 0.25 Mbit/s of data uploaded. Remember, Nova's bandwidth was saturated at about 800 times that! Of course, one must acknowledge that while Blue Dwarf is essentially a text-only social media site (the only picture is on the main page, and it is only 6 KB), Nova's Mastodon server also handles users' pictures and videos, which can be as large as 8 and 40 MB each respectively. This means that the amount of work being done by her server and mine are not really comparable. But actually, that is part of my point.





Developers Must Learn the Economic Lessons of the Internet

Let's talk about economics for a moment. I have seen articles written by various people who say that the cost of hosting a Mastodon server is directly proportional to the number of users and comes to about 6 cents per user per month. Frankly, that sounds low to me, but let us assume it is accurate. That means to host a Mastodon instance with 34,000 users costs about $2000 US dollars per month.

Let's compare that cost to what I would be paying in the unlikely event that Blue Dwarf ever becomes a home to that many users. By the way, according to my calculations, my Raspberry Pi 3B server should be able to handle that many. I know that may sound unbelievable to many readers, but similar extrapolations based on small numbers have been fairly accurate at predicting the performance of the Raspberry Pi server when it has received requests for tens of thousands of blog article downloads in a single day. While admittedly rare, this has occurred on a number of occasions. Since a Raspberry Pi 3B runs on less than 3.6 Watts, let us begin our cost estimate by assuming that it runs continuously at 5 Watts. This accounts for the inefficiency of the power supply and perhaps a bit more just to be conservative. This comes out to about $5/year for electricity, or $0.42 per month. My Internet connection has an upload bandwidth of only 0.75 Mbit/s on average, but that is around three times what would be required on average according to my previous calculations. While this may mean that my connection could saturate at times, that should not occur often. Remember, I began this calculation by assuming a high-traffic day. So, if I wanted, I could probably get away with using my existing Internet connection, even with 34,000 users. Next, we have the cost of server maintenance. On a Raspberry Pi, that is virtually nothing. I have been using the same Raspberry Pi to host cheapskatesguide without incident for nearly 5 years. But for the sake of argument, let us say that I have to replace my Raspberry Pi and its power supply every 5 years and the media on which it is writing (let's assume a small SSD) also every 5 years. That would come out to something like $1.50 per month. The only other cost is for the domain name, which for a ".top" domain from my domain-name registrar is currently also about $0.42 per month. The fact that I should be able to continue to use my existing residential Internet connection means I would incur no additional cost there. So, the total cost of hosting Blue Dwarf with 34,000 users for someone who already maintains an Internet connection and is not already running a small web server would be only $2.34 per month (0.0069 cents per user per month, at that scale). Compare that to Nova's approximate cost of $2000 per month. She is paying about 850 times as much for the same number of users! Once again, her server is hosting text, pictures, and videos, and my server is only hosting text.

Hosting a Mastodon instance for 34,000 users is rather expensive, unless perhaps you are Mark Zuckerberg or Jeff Bezos. The rest of us who are considering doing it for a large number of strangers should be aware that the vast majority of social media users simply do not want to pay anything at all for the services they use, so my guess is that nearly everyone running a Mastodon instance is or will be doing so with his own money. Alan Pope said he was. Nova said she was siphoning money from the income from one of her other projects to pay for her Mastodon instance. Yes, advertising is one option, but that is part of what has led us to the social media hell hole in which we currently find ourselves. Mastodon was supposed to be a way out.





The Road to Large-Scale Sustainability for Mastodon Appears to be Closed for Repairs

I should point out here that although Eugen Rochko has made a point of saying that Mastodon was never intended to compete with Twitter, much less the universe of corporate-run social networks on the Internet, I suspect that in the backs of their minds, Mastodon users cannot help but hope. I assume others are placing their hopes on Pleroma, Friendica, or some other future ActivityPub application. However, in order for a large number of advertisement-free Mastodon instances (or Pleroma, Friendica, etc.) to be sustainable in the long run, one or more of the following four things must happen.




  1. Users must become willing to pay a small amount per month for their Mastodon accounts.
  2. Users must lower their expectations and learn to be happy without cat pictures and videos.
  3. Mastodon and ActivityPub must somehow become much more efficient at transferring data around the Internet.
  4. Individuals running Mastodon instances must limit their users to only a few hundred at most.



In theory, the first option seems the best, but what do I know? Even if users could be convinced to cover the costs, just the fact that a service is bringing in money raises the specter of taxes, insurance, legal fees, and all that other nasty stuff that most of us do not want to deal with. And I will only mention in passing that simply the need to collect money from users brings financial services like banks, Paypal, and Patrion into the picture, which also gives them the power to refuse to supply their services to any organization or individual they don't like. I should also add that if simply asking users to pay their own way were enough, why aren't Facebook (now Meta), Reddit, and the rest doing that? Why are they resorting to advertising?

I think we can completely rule out the second option as a solution for the masses of social media users. They could free themselves today from their walled gardens simply by deciding that their ability to look at cat pictures and watch cat videos is not worth being eternal prisoners of Big Tech. Unfortunately, they seem completely unwilling to do that.

Third on the list is more efficient software, communications protocols, and approaches to the problem. While I think ZeroNet has shown that a more efficient protocol and approach are possible, I cannot even guess what an efficient implementation of ActivityPub would look like. However, I think more efficient software and a more efficient overall approach is very much a possibility. My approach to solving the social media problem for those who are willing to use Blue Dwarf is to make it a text-only platform, not to attach my server to the Fediverse, and to use the most efficient code that I am capable of writing. Yes, I realize part of the price for the overall efficiency of Blue Dwarf is the lack of cat pictures and videos, and I am aware that means the masses will never use it. But, before I wrote a single line of code, I accepted that any social media site that I would run for years would have to operate inexpensively and within the limits imposed by the bandwidth of my existing Internet connection.

Finally, we have the approach of limiting the number of users who are accepted on each Mastodon server. I will discuss this option in a moment, but first, I must touch on how economics affect the Internet and how that includes Mastodon.





Economics is the Signpost Pointing to the Road to Success for Volunteer-Run Network Designs

Economic realities are one of the major reasons we have the corporate Internet we have today. Money is required to run servers (especially, servers running horribly inefficient software) and to provide connectivity. This is true even on the relatively small scales we have been talking about here with tens of thousands of users on a server, but the effects of economics are magnified as the scale of a service increases.

At very large scales, economics are everything. For example, even major companies cannot compete with a service like YouTube with two billion users, and forget about even a very large group of individuals being able to do that. Although user-run streaming applications do exist, I believe the reason no large and successful video streaming service exists on any of the user-run alternative networks is that not enough users are willing to donate part of their Internet connection bandwidth to support it.

I have watched the laws of economics play out on ZeroNet and other decentralized and distributed networks for years. Users' reluctance to pay for the services they enjoy severely limits what that can be provided. Without an economic incentive, an individual server owner simply will not provide a service for tens of thousands of users for a long period of time unless it is inexpensive to run. But, the only way for a particular non-commercial service--Mastodon, or any other--to grow to replace significant parts of existing social media on the Internet is for many individuals to run many such servers. Reddit alone serves 1.6 billion users. Forty-seven thousand Mastodon servers running with 34,000 users each would be required to duplicate that number. This of course ignores the fact that Reddit and Mastodon are not exactly the same, given for example that Mastodon is a microblogging platform and Reddit is a forum. Regardless, in my opinion, Mastodon or any other ActivityPub application has little hope of growing to anything close to the size of Reddit, much less of absorbing all of social media on the web, until it can bring the cost of operating a server far below its current level. I do not know what that level is, but a cost of $2000 per month for 34,000 users is far higher than it would have to be for individuals to hope to compete with corporations in the economic battle for the Internet, let alone for them to hope to dominate it.

The major point I am trying to make is that battles like the one over the control of the Internet--and just about all other large battles, by the way--are won or lost on the basis of economics. The only way to prevent corporations from bringing the battle into Mastodon's space is to completely remove money from the equation by making Mastodon servers so inexpensive to run that they are practically free. What we have already seen on the web and the trends we see developing right now on distributed networks like Secure Scuttlebutt, ZeroNet, and a few others (e.g. the growth of Scuttlebutt pubs, paid services based on bitcoin, and the initial stages of commerce in general) are a good predictor of what is likely to happen on Mastodon. Based on this, I can say with some degree of confidence that should Mastodon ever become wildly popular, it will be taken over by corporations and become just another part of the corporate Internet that it was created to help us circumvent. And almost assuredly, even if some method of non-commercial funding for expensive-to-maintain servers is found, a successful Mastodon is still likely to be taken over by corporations.

This would not be the first time corporations have taken over a network that was once open to anyone who wanted to run a server. Large companies like Google, Microsoft, and Amazon have effectively destroyed the incentives for the vast majority of individuals to run their own email servers. Email has always been based on open protocols, so Individuals have always been able to run their own email servers. Almost none do now because corporations began running email servers many years ago and somehow, despite our best interests, managed over those years to convince us to use them. Practically as soon as they had corralled most of us onto their servers, they refused to accept email from individual-run servers. At that point, except in certain limited scenarios in which most email users have no interest, we were all forced to use their email servers. This behavior has in fact become so egregious that when my doctor's office tried to email me a few days ago, neither my Gmail account nor a family member's Hotmail account would accept the email or even acknowledge that they had blocked it. In desperation, I put Blue Dwarf's email server (which almost never blocks other servers) back on line briefly, and it accepted the email! The person who sent the email claimed to be completely unaware that more than 50% of her emails are not reaching their destinations simply because the major email services refuse to accept them. When a problem becomes this onerous and no one appears to even understand that it is happening, one has to ask why. The problem with which we are concerned now, however, is that nothing at all prevents corporations from repeating this tactic to take over Mastodon.

While running a 34,000-user Mastodon instance at a cost of $2000 per month is prohibitively expensive for most people, running a 200-user instance at a cost of $12 per month is not. This is an example of the fourth option on our list. Unfortunately, this approach may not be a practical way of replacing a significant portion of corporate social media on the Internet. According to the US Bureau of Labor Statistics, approximately 6.8 million engineers, technicians, technologists, and computational professionals were employed in the US in 2018. This means in the US, we may have only a few million people who are even capable of installing a Mastodon instance (or Pleroma, etc.) and keeping it on line when problems occur. Remember, 8 million 200-user Mastodon servers would be required just to replace Reddit. I should probably not assume that all computer geeks without technical jobs are not up to the task, but the technical disciplines go a long way toward providing the type of foundation that the required knowledge must be built on. Digital Ocean does provide a Mastodon server as a service, but I do not know how much it charges, and that sort of defeats the purpose of Mastodon by putting control of the server back into the hands of a corporation. In fact, Digital Ocean being involved at all with Mastodon could be a source of problems down the road. When factoring in the millions of technology workers around the world, 8 million of them running Mastodon servers does not look quite as bad, but it is still a substantial number compared to the number who are available and likely to be interested in running a server. Of course, if a bullet-proof, push-button-installable, zero-maintenance version of Mastodon were to be developed, that would help--assuming it is possible. Currently, however, whether we consider 47,000 rather expensive-to-run Mastodon instances or 8 million inexpensive ones, the numbers present something of a challenge.

Just for fun, let's quickly run through an additional number or two for a social media universe composed of non-federated Blue Dwarf servers--a Dwarf-iverse, if you will. As already mentioned, providing online homes for the 1.6 billion who are now on Reddit would require forty-seven thousand Blue Dwarf servers (at $2.34 per month each). Forty-seven thousand servers is about one server for every 145 tech workers in the US. That sounds much more reasonable to me than 8 million Mastodon servers. By the way, the total cost of creating this Dwarf-iverse would be roughly $110,000 per month. Compare that to the $96 million per month ($12 x 8,000,000) that would be required to replace Reddit with Mastodon. Of course, a Dwarf-iverse in no way satiates the appetite of the masses of social media users for their cat pictures and videos, and users would then be segregated into much smaller groups of 34,000 users each who would only be able to talk to other users on their own servers.





Some Final Words about the Roads to Nowhere that Many Developers Seem to be Building

From its inception, the web has always been an economic battleground between the big players and the rest of us, and it will continue to be so until the costs of operating Internet services are brought down substantially. While many developers are now proposing solutions that are designed to favor our side in the conflict, they are largely failing to focus on the costs of running the services they design. Many of these new services are actually substantially more expensive to run than the centralized services already provided by Big Tech. What sense does it make to propose an even more expensive platform to replace one that is already suffering from the evils of advertising in order to fund its operation? And, even if one or more of these new services were to succeed, it could significantly increase the total cost of running the Internet. Is this a price we are willing to pay to provide a questionable means of escape from the corporate-controlled walled gardens in which the masses currently find themselves imprisoned?

If you have found this article worthwhile, please share it on your favorite social media. You will find sharing links at the top of the page.





Related Articles:

Finding "The Internet" Toxic and Depressing? Consider Leaving Your Walled Garden.

The Quest for Better Online Communities

Escaping from the Mainstream Internet and Leaving the Web Behind

Normal People are Beginning to Acknowledge Their Loss of Free Speech on the Internet

Only We can Create a More Human Internet

The New Internet We can Expect, Not the One We Want

Peer-to-Peer Social Networks: One Solution to the Social Dilemma

How to Take Back the Internet by Choosing the Internet Less Traveled

ZeroNet and the Future of the Internet

Comments


Required Fields *