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] EPO Legal Sophistry and Double Dipping

    An imaginary EPO intercept of Administrative Council discussions in June 2013...



  2. Links 21/10/2021: PostgreSQL JDBC 42.3.0 and Maui Report

    Links for the day



  3. [Meme] [Teaser] “Judge a Person Both by His Friends and Enemies”

    Fervent supporters of Team Battistelli or Team Campinos (a dark EPO era) are showing their allegiances; WIPO and EPO have abused staff similarly over the past decade or so



  4. 'Cluster-Voting' in the European Patent Office/Organisation (When a Country With 1.9 Million Citizens Has the Same Voting Power as a Country With 83.1 Million Citizens)

    Today we examine who has been running the Finnish patent office and has moreover voted in the EPO during the ballot on unlawful "Strike Regulations"; they voted in favour of manifestly illegal rules and for 8.5 years after that (including last Wednesday) they continued to back a shady regime which undermines the EPO's mission statement



  5. The EPO’s Overseer/Overseen Collusion — Part XVIII: Helsinki's Accord

    The Finnish outpost has long been strategic to the EPO because it can help control the vote of four or more nations; evidence suggests this has not changed



  6. [Meme] Living as a Human Resource, Working for Despots

    The EPO has become a truly awful place/employer to work for; salary is 2,000 euros for some (despite workplace stress, sometimes relocation to a foreign country)



  7. Links 20/10/2021: New Redcore Linux and Hospital Adoption of GNU Health

    Links for the day



  8. IRC Proceedings: Tuesday, October 19, 2021

    IRC logs for Tuesday, October 19, 2021



  9. Links 19/10/2021: Karanbir Singh Leaves CentOS Board, GPL Violations at Vizio

    Links for the day



  10. [Meme] Giving the Knee

    The 'knee' champion Kratochvìl and 'kneel' champion Erlingsdóttir are simply crushing the law; they’re ignoring the trouble of EPO staff and abuses of the Office, facilitated by the Council itself (i.e. facilitated by themselves)



  11. Josef Kratochvìl Rewarded Again for Covering Up EPO Corruption and the EPO Bribes the Press for Lies Whilst Also Lying About Its Colossal Privacy Violations

    Corrupt officials and officials who actively enable the crimes still control the Office and also the body which was supposed to oversee it; it's pretty evident and clear judging by this week's press statements at the EPO's official Web site



  12. [Meme] Sorry, Wrong Country (Or: Slovenia isn't Great Britain)

    Team UPC is trying to go ahead with a total hoax which a high-level European court would certainly put an end to (if or when a referral is initiated)



  13. How Denmark, Iceland, Finland, Norway and Sweden Voted on Patently Unlawful Regulations at the EPO

    We look back and examine what happened 8 years ago when oppressed staff was subjected to unlawful new “regulations” (long enjoyed by António Campinos, the current EPO autocrat)



  14. The EPO’s Overseer/Overseen Collusion — Part XVII: The Non-Monolithic Nordic Bloc

    We start our investigation of how countries in northern Europe ended up voting on the unlawful “Strike Regulations” at the EPO and why



  15. Proof That Windows “11” is a Hoax

    Guest post by Ryan, reprinted with permission



  16. Firefox Becomes as Morally Reprehensible as Apple, Facebook, or Uber

    Guest post by Ryan, reprinted with permission



  17. Links 19/10/2021: GNU dbm 1.22 and Godot 3.4 RC 1

    Links for the day



  18. [Meme] [Teaser] GitHub an Expensive and Dangerous Trap (Also: Misogyny Hub)

    The ongoing Microsoft GitHub exposé will give people compelling reasons to avoid GitHub, which is basically just a subsidised (at a loss) trap



  19. Norway Should Have Voted Against Benoît Battistelli's Illegal (Anti-)'Strike Regulations' at the European Patent Office

    Benoît Battistelli‘s EPO faced no real and potent opposition from Norwegian delegates, who chose to abstain from the vote on the notorious and illegal so-called ‘Strike Regulations’ (they’re just an attack on strikes, an assault on basic rights of labourers)



  20. Links 19/10/2021: Sequoia PGP LGPL 2.0+, Open RAN Adoption

    Links for the day



  21. [Meme] [Teaser] Benoît Battistelli, King of Iceland

    Later today we shall see how the current deputy of the head of the EPO‘s overseeing body was in fact likely rewarded for her complicity in Benoît Battistelli‘s abuses against EPO staff, including staff from Iceland



  22. IRC Proceedings: Monday, October 18, 2021

    IRC logs for Monday, October 18, 2021



  23. Links 19/10/2021: MyGNUHealth 1.0.5 and Ubuntu 22.04 Now Developed

    Links for the day



  24. [Meme] [Teaser] Thrown Under the Bus

    Tomorrow we shall look at Danish enablers of unlawful EPO regulations, Jesper Kongstad and Anne Rejnhold Jørgensen



  25. The World Needs to Know What Many Austrians Already Know About Rude Liar, the Notorious 'Double-Dipper'

    Today we publish many translations (from German) about the Austrian double-dipper, who already became the subject of unfavourable press coverage in his home country; he’s partly responsible for crushing fundamental rights at the EPO under Benoît Battistelli‘s regime



  26. The EPO’s Overseer/Overseen Collusion — Part XVI: The Demise of the Austrian Double-Dipper

    Friedrich ‘Rude Liar’ Rödler is notorious in the eyes of EPO staff, whom he was slandering and scandalising for ages while he himself was the real scandal



  27. Links 18/10/2021: Porteus Kiosk 5.3 and Ventoy 1.0.55

    Links for the day



  28. [Meme] [Teaser] More to Life Than Patents

    Greedy sociopaths oughtn’t be put in charge of patent offices; this is what’s dooming the EPO in recent years (all they think about is money



  29. Microsoft GitHub Exposé — Part II — The Campaign Against GPL Compliance and War on Copyleft Enforcement

    Microsoft contemplated buying GitHub 7.5 years ago; the goal wasn’t to actually support “Open Source” but to crush it from the inside and that’s what Microsoft has been doing over the past 2.5 years (we have some details from the inside)



  30. Links 18/10/2021: Linux 5.15 RC6 and 7 New Stable Kernels

    Links for the day


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