09.28.21

Gemini version available ♊︎

IPFS: The Good, the Bad, and the Exceptionally Ugly

Posted in Free/Libre Software at 12:21 pm by Dr. Roy Schestowitz

Video download link | md5sum 43c1ae14359c4ba2d4adc78cc9e4601a

Summary: A personal and occasionally arduous experience with a whole year of IPFS; it may come across — on the surface at least — as an unconstructive rant, but IPFS is still a promising technology, albeit it has severe limitations that need to be properly understood (some can be technically overcome, too)

THE Web is generally not decentralised. The Internet is not decentralised, either. DNS is centralised, certificates are centralised (if you rely on the concept of ‘trusted’ CAs), and with most services you rely on just one address to work (for things to become accessible; it’s possible to have multiple servers assigned/connected to the same address, but that’s redundancy, not decentralisation).

Peer-to-peer (P2P) technologies and BitTorrent are OK, but they too have their limitations, including privacy- and censorship-related limitations. There are single points of failure.

IPFS is a bit different. We started using it about a year ago, starting with daily bulletins and then adding IRC logs, both in the form of HTML and plain text (the latter was added months later).

“We started using it about a year ago, starting with daily bulletins and then adding IRC logs, both in the form of HTML and plain text (the latter was added months later).”IPFS is generally good; when it works, it sure works well (albeit not quickly, the latency is incredibly high, ranging from seconds to minutes, which is unsuitable for some use cases). As I noted in the video above, this week has been more eventful than usual because the IPFS daemon started respawning endlessly and was still malfunctioning. Last night it just completely stopped working all of a sudden. With DHT traffic taking up the lion’s share of the pie (unless you serve something such as video), IPFS does not scale well. It’s very costly, requiring a lot of energy and bandwidth for relatively small returns. To make matters worse, it occasionally can and would become inaccessible, it can use up all the bandwidth (requiring further configuration), and it’s difficult to debug. So adopting IPFS for site-related delivery of content can become a lot of work devoted to maintenance, not to mention CPU cycles and bandwidth. We have a few thousands of objects in it and it’s stretching it to the limits, at least for a device with a residential connection. Several other people have reported similar issues, so we know we’re not alone. What’s ugly is that many of those reports — like much of the code — are still hosted by proprietary software (Microsoft GitHub) and are “GitHub Issues”, i.e. vendor lock-in. That sends across a negative message; GitHub is an enemy of decentralisation, it’s proprietary, and it is a den of arbitrary censorship on behalf of Hollywood, governments, etc.

IPFS can very quickly become utterly wasteful, just like Bitcoin and other digital (or crypto) ‘coins’. But unlike coin mining, timeliness matters. IPFS can become completely inaccessible for long periods of time, with no fallbacks in place. That means downtime. We’ve been spending hours on IPFS this past week and it’s not even serving the content (it times out); it is failing for long periods of time. It’s almost impossible to debug because it is decentralised and diagnosing a swarm is incredibly difficult, akin to guesswork or “hocus pocus”. One time it works, the next time it might not…

“IPFS can very quickly become utterly wasteful, just like Bitcoin and other digital (or crypto) ‘coins’.”As noted at the end of this video, adding a new object scales poorly (but linearly, not quadratically/exponentially) as the index of objects needs to be rebuilt from scratch (in the Go implementation at least), which means that when the number of objects doubles it can take twice as long to add new ones. If this carries on for a few years it can take an hour if not hours just to add our daily objects. Hours of CPU cycles! Maybe future/present versions tackle this issue already, so we can be patient and hope IPFS will mature/evolve gracefully. Otherwise, it is untenable for the purposes/work we’ve assigned to it originally (last October).

The video isn’t an admission of mistake or regret; I don’t personally regret pouring so much energy into IPFS, I just hope to express my thoughts on things that can be improved and probably should be improved. IPFS isn’t a very young project (it has been around for quite a while), but its releases are considered not stable and work in progress. If we’re part of a large experiment and the risk we take is occasional downtime (over IPFS, not Gemini or HTTP), then so be it.

Share in other sites/networks: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Reddit
  • email

Decor ᶃ Gemini Space

Below is a Web proxy. We recommend getting a Gemini client/browser.

Black/white/grey bullet button This post is also available in Gemini over at this address (requires a Gemini client/browser to open).

Decor ✐ Cross-references

Black/white/grey bullet button Pages that cross-reference this one, if any exist, are listed below or will be listed below over time.

Decor ▢ Respond and Discuss

Black/white/grey bullet button If you liked this post, consider subscribing to the RSS feed or join us now at the IRC channels.

DecorWhat Else is New


  1. [Meme] “Social Democracy” at the EPO

    Some comments on the current situation at the European Patent Office from Goran Gerasimovski, the new EPO Administrative Council delegate for North Macedonia and Social Democratic candidate for mayor of Centar (a municipality of Skopje)



  2. [Meme] António Campinos Visits the OSIM

    António Campinos visits OSIM Director-General Ionel Muscalu in February 2014



  3. [Meme] [Teaser] Meet the President

    Later today we shall see what Romania did for Battistelli



  4. Links 26/10/2021: Latte Dock 0.10.3 and Linux 5.15 RC7

    Links for the day



  5. Gemini Protocol's Originator: “I Continue to Care About This Project and I Care About the Community That Has Formed Around It.”

    'Solderpunk' is back from a long hiatus; this bodes well for Geminispace, which grew fast in spite of the conspicuous absence



  6. Bulgarian Like Bavarian Serfdom

    Bulgarian politics seem to have played a big role in selecting chiefs and delegates who backed Benoît Battistelli‘s unlawful proposals, which treat workers almost like slaves and ordinary citizens as disposable ‘collaterals’



  7. The EPO’s Overseer/Overseen Collusion — Part XXIII: The Balkan League - Bulgaria

    Today we examine the role of Bulgaria in Benoît Battistelli‘s liberticidal regime at the EPO (as well as under António Campinos, from 2018 to present) with particular focus on political machinations



  8. Links 25/10/2021: New Slackware64-current and a Look at Ubuntu Budgie

    Links for the day



  9. Links 25/10/2021: pg_statement_rollback 1.3 and Lots of Patent Catchup

    Links for the day



  10. Microsoft GitHub Exposé — Part III — A Story of Plagiarism and Likely Securities Fraud

    Today we tread slowly and take another step ahead, revealing the nature of only some among many problems that GitHub and Microsoft are hiding from the general public (to the point of spiking media reports)



  11. [Meme] [Teaser] Oligarchs-Controlled Patent Offices With Media Connections That Cover Up Corruption

    As we shall see later today, the ‘underworld’ in Bulgaria played a role or pulled the strings of politically-appointed administrators who guarded Benoît Battistelli‘s liberticidal regime at the EPO



  12. IRC Proceedings: Sunday, October 24, 2021

    IRC logs for Sunday, October 24, 2021



  13. Links 25/10/2021: EasyOS 3.1 and Bareflank 3.0

    Links for the day



  14. The Demolition of the EPO Was Made Possible With Assistance From Countries That Barely Have European Patents

    The legal basis of today's EPO has been crushed; a lot of this was made possible by countries with barely any stakes in the outcome



  15. The EPO’s Overseer/Overseen Collusion — Part XXII: The Balkan League - North Macedonia and Albania

    We continue to look at Benoît Battistelli‘s enablers at the EPO



  16. Links 24/10/2021: GPS Daemon (GPSD) Bug and Lots of Openwashing

    Links for the day



  17. Links 24/10/2021: XWayland 21.1.3 and Ubuntu Linux 22.04 LTS Daily Build

    Links for the day



  18. IRC Proceedings: Saturday, October 23, 2021

    IRC logs for Saturday, October 23, 2021



  19. Links 24/10/2021: Ceph Boss Sage Weil Resigns and Many GPL Enforcement Stories

    Links for the day



  20. GAFAM-Funded NPR Reports That Facebook Let Millions of People Like Trump Flout the So-called Rules. Not Just “a Few”.

    Guest post by Ryan, reprinted with permission



  21. Some Memes About What Croatia Means to the European Patent Office

    Before we proceed to other countries in the region, let’s not forget or let’s immortalise the role played by Croatia in the EPO (memes are memorable)



  22. Gangster Culture in the EPO

    The EPO‘s Administrative Council was gamed by a gangster from Croatia; today we start the segment of the series which deals with the Balkan region



  23. The EPO’s Overseer/Overseen Collusion — Part XXI: The Balkan League – The Doyen and His “Protégée”

    The EPO‘s circle of corruption in the Balkan region will be the focus of today’s (and upcoming) coverage, showing some of the controversial enablers of Benoît Battistelli and António Campinos, two deeply corrupt French officials who rapidly drive the Office into the ground for personal gain (at Europe’s expense!)



  24. Links 23/10/2021: FreeBSD 12.3 Beta, Wine 6.20, and NuTyX 21.10.0

    Links for the day



  25. IRC Proceedings: Friday, October 22, 2021

    IRC logs for Friday, October 22, 2021



  26. [Meme] [Teaser] Crime Express

    The series about Battistelli's "Strike Regulations" (20 parts thus far) culminates as the next station is the Balkan region



  27. Links 23/10/2021: Star Labs/StarLite, Ventoy 1.0.56

    Links for the day



  28. Gemini on Sourcehut and Further Expansion of Gemini Space

    Gemini protocol is becoming a widely adopted de facto standard for many who want to de-clutter the Internet by moving away from the World Wide Web and HTML (nowadays plagued by JavaScript, CSS, and many bloated frameworks that spy)



  29. Unlawful Regimes Even Hungary and Poland Would Envy

    There’s plenty of news reports about Polish and Hungarian heads of states violating human rights, but never can one find criticism of the EPO’s management doing the same (the mainstream avoids this subject altogether); today we examine how that area of Europe voted on the illegal "Strike Regulations" of Benoît Battistelli



  30. The EPO’s Overseer/Overseen Collusion — Part XX: The Visegrád Group

    The EPO‘s unlawful “Strike Regulations” (which helped Benoît Battistelli and António Campinos illegally crush or repress EPO staff) were supported by only one among 4 Visegrád delegates


RSS 64x64RSS Feed: subscribe to the RSS feed for regular updates

Home iconSite Wiki: You can improve this site by helping the extension of the site's content

Home iconSite Home: Background about the site and some key features in the front page

Chat iconIRC Channel: Come and chat with us in real time

Recent Posts