InterPlanetary File System

Last updated

InterPlanetary File System
Original author(s) Juan Benet and Protocol Labs [1]
Developer(s) Protocol Labs
Initial releaseFebruary 2015 (y) [1]
Stable release
0.27.0 [2] / 4 March 2024;43 days ago (4 March 2024)
Repository github.com/ipfs/ipfs
Written in
  • Protocol implementations: Go (reference implementation), JavaScript, C, [3] Python
  • Client libraries: Go, Java, JavaScript, Python, Scala, Haskell, Swift, Common Lisp, Rust, Ruby, PHP, C#, Erlang
Available in Go, JavaScript, Python
Type
License MIT license, Apache license 2.0
Website ipfs.tech

The InterPlanetary File System (IPFS) is a protocol, hypermedia and file sharing peer-to-peer network for storing and sharing data in a distributed file system. IPFS uses content-addressing to uniquely identify each file in a global namespace connecting IPFS hosts. [4] [5]

Contents

IPFS can among others replace the location based hypermedia server protocols HTTP and HTTPS to distribute the World Wide Web. [5] [6] [7]

Design

IPFS allows users to host and receive content in a manner similar to BitTorrent. As opposed to a centrally located server, IPFS is built around a decentralized system [8] of user-operators who hold a portion of the overall data, creating a resilient system of file storage and sharing. Any user in the network can serve a file by its content address, and other peers in the network can find and request that content from any node who has it using a distributed hash table (DHT).

In contrast to BitTorrent, IPFS aims to create a single global network. This means that if two users publish a block of data with the same hash, the peers downloading content from one user will also exchange data with those downloading it from the second. [9] IPFS aims to replace protocols used for static webpage delivery by using gateways which are accessible with HTTP. [10] Users may choose not to install an IPFS client on their device and instead use a public gateway. A list of these gateways is maintained on the IPFS GitHub page. [11]

History

IPFS was created by Juan Benet, who later founded Protocol Labs in May 2014. [5] [12] An alpha version was launched in February 2015, and by October of the same year was described by TechCrunch as "quickly spreading by word of mouth." [1] Network service provider Cloudflare started using IPFS in 2018 and launched its own gateway in the system in 2022.

In March 2020, the Opera browser provided access to the centralized resources of the Unstoppable Domains provider by hosting content in IPFS.

Applications

Anti-censorship

Malware

Phishing attacks have also been distributed through Cloudflare's IPFS gateway since July 2018. The phishing scam HTML is stored on IPFS, and displayed via Cloudflare's gateway. The connection shows as secure via a Cloudflare SSL certificate. [29]

The IPStorm botnet, first detected in June 2019, uses IPFS so it can hide its command-and-control amongst the flow of legitimate data on the IPFS network. [30] Security researchers had worked out previously the theoretical possibility of using IPFS as a botnet command-and-control system. [31] [32]

See also

Related Research Articles

<span class="mw-page-title-main">Peer-to-peer</span> Type of decentralized and distributed network architecture

Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network, forming a peer-to-peer network of nodes.

<span class="mw-page-title-main">Denial-of-service attack</span> Type of cyber-attack

In computing, a denial-of-service attack is a cyber-attack in which the perpetrator seeks to make a machine or network resource unavailable to its intended users by temporarily or indefinitely disrupting services of a host connected to a network. Denial of service is typically accomplished by flooding the targeted machine or resource with superfluous requests in an attempt to overload systems and prevent some or all legitimate requests from being fulfilled. The range of attacks varies widely, spanning from inundating a server with millions of requests to slow its performance, overwhelming a server with a substantial amount of invalid data, to submitting requests with an illegitimate IP address.

Uploading refers to transmitting data from one computer system to another through means of a network. Common methods of uploading include: uploading via web browsers, FTP clients], and terminals (SCP/SFTP). Uploading can be used in the context of clients that send files to a central server. While uploading can also be defined in the context of sending files between distributed clients, such as with a peer-to-peer (P2P) file-sharing protocol like BitTorrent, the term file sharing is more often used in this case. Moving files within a computer system, as opposed to over a network, is called file copying.

BitTorrent, also referred to as simply torrent, is a communication protocol for peer-to-peer file sharing (P2P), which enables users to distribute data and electronic files over the Internet in a decentralized manner. The protocol is developed and maintained by Rainberry, Inc., and was first released in 2001. A 2004 study by Cachelogic found that one third of all internet traffic was BitTorrent traffic.

An anonymous P2P communication system is a peer-to-peer distributed application in which the nodes, which are used to share resources, or participants are anonymous or pseudonymous. Anonymity of participants is usually achieved by special routing overlay networks that hide the physical location of each node from other participants.

The Invisible Internet Project (I2P) is an anonymous network layer that allows for censorship-resistant, peer-to-peer communication. Anonymous connections are achieved by encrypting the user's traffic, and sending it through a volunteer-run network of roughly 55,000 computers distributed around the world. Given the high number of possible paths the traffic can transit, a third party watching a full connection is unlikely. The software that implements this layer is called an "I2P router", and a computer running I2P is called an "I2P node". I2P is free and open sourced, and is published under multiple licenses.

A distributed data store is a computer network where information is stored on more than one node, often in a replicated fashion. It is usually specifically used to refer to either a distributed database where users store information on a number of nodes, or a computer network in which users store information on a number of peer network nodes.

A dark net or darknet is an overlay network within the Internet that can only be accessed with specific software, configurations, or authorization, and often uses a unique customized communication protocol. Two typical darknet types are social networks, and anonymity proxy networks such as Tor via an anonymized series of connections.

BitTorrent is a proprietary adware BitTorrent client developed by Bram Cohen and Rainberry, Inc. used for uploading and downloading files via the BitTorrent protocol. BitTorrent was the first client written for the protocol. It is often nicknamed Mainline by developers denoting its official origins. Since version 6.0 the BitTorrent client has been a rebranded version of μTorrent. As a result, it is no longer open source. It is currently available for Microsoft Windows, Mac, Linux, iOS and Android. There are currently two versions of the software, "BitTorrent Classic" which inherits the historical version numbering, and "BitTorrent Web", which uses its own version numbering.

Rainberry, Inc., formerly known as BitTorrent, Inc., is an American company responsible for μTorrent and BitTorrent Mainline. The company was founded on September 22, 2004 by Bram Cohen and Ashwin Navin. It was successful during the Great Recession under the leadership of CEO Eric Klinker. In 2018, the company was acquired by cryptocurrency startup TRON, and Bram Cohen left the company. In March 2022, the SEC charged Rainberry with fraud for selling cryptocurrencies Tronix (TRX) and BitTorrent (BTT) as unregistered securities.

<span class="mw-page-title-main">Tribler</span> Peer-to-peer filesharing software and protocol

Tribler is an open source decentralized BitTorrent client which allows anonymous peer-to-peer by default. Tribler is based on the BitTorrent protocol and uses an overlay network for content searching. Due to this overlay network, Tribler does not require an external website or indexing service to discover content. The user interface of Tribler is very basic and focused on ease of use instead of diversity of features. Tribler is available for Linux, Windows, and OS X.

Peer-to-peer web hosting is using peer-to-peer networking to distribute access to webpages. This is differentiated from the client–server model which involves the distribution of web data between dedicated web servers and user-end client computers. Peer-to-peer web hosting may also take the form of P2P web caches and content delivery networks.

<span class="mw-page-title-main">Cloudflare</span> American technology company

Cloudflare, Inc. is an American company that provides content delivery network services, cloud cybersecurity, DDoS mitigation, and ICANN-accredited domain registration services. Cloudflare's headquarters are in San Francisco, California. According to The Hill, Cloudflare is used by more than 20 percent of the Internet for its web security services, as of 2022.

<span class="mw-page-title-main">Twister (software)</span> Blog software

Twister is a decentralized, experimental peer-to-peer microblogging program which uses end-to-end encryption to safeguard communications. Based on BitTorrent- and Bitcoin-like protocols, it has been likened to a distributed version of Twitter.

<span class="mw-page-title-main">PeerTube</span> Decentralised video hosting network

PeerTube is a free and open-source, decentralized, ActivityPub federated video platform powered by WebTorrent, that uses peer-to-peer technology to reduce load on individual servers when viewing videos.

<span class="mw-page-title-main">WebTorrent</span> Peer-to-peer web-based torrent client

WebTorrent is a peer-to-peer (P2P) streaming torrent client written in JavaScript, from the same author, Feross Aboukhadijeh, of YouTube Instant, and the team at WebTorrent and on GitHub, for use in web browsers, as well as a WebTorrent Desktop stand alone version able to bridge WebTorrent and BitTorrent serverless networks.

<span class="mw-page-title-main">Protocol Labs</span>

Protocol Labs is an open-source software research and development company, founded in 2014. It is best known for creating the InterPlanetary File System (IPFS), a peer-to-peer decentralized web protocol, and Filecoin, a decentralized file storage network.

<span class="mw-page-title-main">Beaker (web browser)</span> Web browser software

Beaker is a discontinued free and open-source web browser developed by Blue Link Labs. Beaker Browser peer-to-peer technology allows users to self-publish websites and web apps directly from the browser, without the need to set up and administrate a separate web server or host their content on a third-party server. All files and websites are transferred using Dat, a hypermedia peer-to-peer protocol, which allows files to be shared and hosted by several users. The browser also supports the HTTP protocol to connect to traditional servers.

The decentralized web is a network of independent computers that provide secure, censorship-resistant access to information and services without relying on central servers or clouds, using decentralized computing.

<span class="mw-page-title-main">Juan Benet (computer scientist)</span> American computer scientist

Juan Benet is an American computer scientist. He is the founder and CEO of Protocol Labs, a computer networking research and development company. He designed the InterPlanetary File System (IPFS), a decentralized web protocol, and Filecoin, a peer-to-peer file storage network.

References

  1. 1 2 3 Case, Amber (2015-10-04). "Why The Internet Needs IPFS Before It's Too Late". TechCrunch . Archived from the original on 2022-02-05. Retrieved 2019-07-16.
  2. "Release 0.27.0". 2024-03-04. Retrieved 2024-03-22.
  3. "agorise / c-ipfs". git.agorise.net.
  4. Benet, Juan (2014-07-14). "IPFS - Content Addressed, Versioned, P2P File System". arXiv: 1407.3561 [cs.NI].
  5. 1 2 3 Finley, Klint (2016-06-20). "The Inventors of the Internet Are Trying to Build a Truly Permanent Web" . Wired . ISSN   1078-3148. OCLC   24479723. Archived from the original on 2020-12-15. Retrieved 2017-03-07.
  6. Youtube: Stanford Seminar - "IPFS and the Permanent Web"- Juan Benet of Protocol Labs Archived 2022-08-09 at the Wayback Machine Quote: "...The InterPlanetary File System (IPFS) is a new hypermedia distribution protocol, to complement--and eventually replace--HTTP. It improves the security, performance, operation modes, and data friendliness of the Web. In particular, it yields a powerful new model, where websites and web applications are decoupled from origin servers, are distributed trustlessly through the network, and are encrypted, authenticated, and executed safely..."
  7. Youtube: IPFS: Interplanetary file storage! Archived 2022-08-09 at the Wayback Machine
  8. Krishnan, Armin (2020). "Blockchain Empowers Social Resistance and Terrorism Through Decentralized Autonomous Organizations". Journal of Strategic Security . 13 (1): 41–58. doi: 10.5038/1944-0472.13.1.1743 . ISSN   1944-0464. JSTOR   26907412.
  9. "Content addressing". docs.ipfs.tech. Archived from the original on 2020-08-29. Retrieved 2020-08-29.
  10. "IPFS Gateway". docs.ipfs.tech. Archived from the original on 2020-08-29. Retrieved 2020-08-29.
  11. "Public Gateway Checker | IPFS". GitHub . Archived from the original on 2020-08-24. Retrieved 2020-08-29.
  12. "About". Protocol Labs. Archived from the original on 2021-04-28. Retrieved 2021-04-28.
  13. Johnson, Steven (2018-01-16). "Beyond the Bitcoin Bubble" . The New York Times . ISSN   1553-8095. OCLC   1645522. Archived from the original on 2021-12-21. Retrieved 2018-09-26.
  14. Orcutt, Mike (2018-10-05). "A big tech company is working to free the internet from big tech companies". MIT Technology Review . ISSN   0040-1692. Archived from the original on 2021-01-26. Retrieved 2020-04-21.
  15. "Sidetree v1.0.1". identity.foundation.
  16. Simons, Alex (2019-05-13). "Toward scalable decentralized identifier systems". Microsoft . Archived from the original on 2020-04-29. Retrieved 2021-04-27.
  17. ""Anna's Archive" Opens the Door to Z-Library and Other Pirate Libraries * TorrentFreak". TorrentFreak. Archived from the original on 2022-11-19. Retrieved 2023-01-08.
  18. "'Shadow Libraries' Are Moving Their Pirated Books to The Dark Web After Fed Crackdowns". VICE. Archived from the original on 2022-11-30. Retrieved 2023-01-08.
  19. "Web3 tech helps banned books on piracy site Library Genesis slip through the Great Firewall's cracks, but for how long?". South China Morning Post. 2022-04-16. Archived from the original on 2022-11-29. Retrieved 2023-01-08.
  20. "Internet Archive: Digital Library of Free & Borrowable Books, Movies, Music & Wayback Machine". archive.org. Retrieved 2024-04-16.
  21. oduwsdl/ipwb, ODU WS-DL, 2024-04-09, retrieved 2024-04-16
  22. Universal Access to All Knowledge: Decentralization Experiments at the Internet Archive . Retrieved 2024-04-16 via archive.devcon.org.
  23. "Brave Launches New Swag Store Powered by Origin". Brave (Press release). 2020-03-24. Archived from the original on 2020-04-25. Retrieved 2020-04-21.
  24. Porter, Jon (2021-01-19). "Brave browser takes step toward enabling a decentralized web". The Verge . Archived from the original on 2021-02-26. Retrieved 2021-01-29.
  25. "Opera introduces major updates to its blockchain-browser on Android". Opera (Press release). 2020-03-03. Archived from the original on 2020-04-02. Retrieved 2020-04-21.
  26. Balcell, Marta Poblet (2017-10-05). "Inside Catalonia's cypherpunk referendum". Eureka Street . Vol. 27, no. 20. ISSN   1833-7724. Archived from the original on 2021-09-15. Retrieved 2021-09-15.
  27. Hill, Paul (2017-09-30). "Catalan referendum app removed from Google Play Store". Neowin . Archived from the original on 2020-11-01. Retrieved 2017-10-06.
  28. Dale, Brady (2017-05-10). "Turkey Can't Block This Copy of Wikipedia". Observer . ISSN   1052-2948. Archived from the original on 2017-10-18. Retrieved 2017-12-20.
  29. Abrams, Lawrence (2018-10-04). "Phishing Attacks Distributed Through Cloudflare's IPFS Gateway". Bleeping Computer . Archived from the original on 2019-10-09. Retrieved 2019-08-31.
  30. Palmer, Danny (2019-06-11). "This unusual Windows malware is controlled via a P2P network". ZDNet . Archived from the original on 2019-09-06. Retrieved 2019-08-31.
  31. Patsakis, Constantinos; Casino, Fran (2019-06-04). "Hydras and IPFS: a decentralised playground for malware". International Journal of Information Security. 18 (6): 787–799. arXiv: 1905.11880 . doi:10.1007/s10207-019-00443-0. S2CID   167217444.
  32. Macabeus, Bruno; Vinicius, Marcus; Cavalcante, João Paolo; de Souza, Cidcley Teixeira (2018-05-06). Protocolos IPFS e IPNS como meio para o controle de botnet: prova de conceito. Workshop de Segurança Cibernética em Dispositivos Conectados (in Brazilian Portuguese). Archived from the original on 2021-01-17. Retrieved 2021-04-27 via SBC Open Lib.