A Deep Dive into Swarm: Decentralized storage and communication system

A Deep Dive into Swarm: Decentralized storage and communication system

Last week, we announced the Swarm Token Sale on CoinList, starting June 14, 17:00 UTC. By design, Swarm is an economically self-sustaining system of peer-to-peer networked nodes that create a decentralized storage and communication service. This week, we sat down with the Swarm team to break down what they are building, its use cases, and recent traction in realizing their vision of becoming the operating system of the re-decentralized internet.

Let’s dive in:

1. What is Swarm and what problem does it solve?

Swarm is a peer-to-peer network of nodes that collectively provide a decentralised storage and communication service. It is economically self-sustaining due to a built-in incentive system that is enforced through smart contracts on the Ethereum blockchain and powered by the BZZ token.

Swarm fosters freedom of information, responding to the growing demand for security on the web. Swarm solves the problem of decentralized incentivized storage. This  means node operators are rewarded to keep the network healthy and running flawlessly. As for use-cases: freedom of press, scalable dapp hosting and a true decentralized social media platform are low-hanging fruits.

2. Why did you decide to build on top of Ethereum?

Swarm started as an Ethereum Foundation project. It was mostly the brainchild of Gavin Wood. When this vision of web3 was fully realized by the Founders, the world computer analogy was elaborated to encompass the holy trinity of Ethereum, Swarm, and Whisper.

Most people in our ecosystem will be familiar with Ethereum, the processing part of the World Computer. Swarm is the storage part, and Whisper was foreseen as the messaging part. Both Swarm and other parties took Whisper’s concept and integrated it into their solution. In Swarm’s case, the messaging layer became a fully decentralized censorship resistant messaging system with trojan capabilities. This means not only the content of the message is secret, but also the sender and receiver. So the piece of data that represents a message is unidentifiable as being a message.

In 2015 Swarm eagerly started to work on architecting the storage and messaging system within the Geth team of the Foundation. 4 years later Swarm was going through a phase transition. To complement the original scope of file storage it soon grew to cover all aspects of permissionless publication and private data exchange.

Last year, Swarm “graduated” from Ethereum Foundation and became an independent project. While Swarm aims to become a multi-blockchain system, currently the team focuses its efforts on Ethereum.

3. Who are Swarm’s target users? What sort of interactions do these users have on your platform?

Swarm is a base-layer infrastructure project that aims to be the foundation of the re-decentralised internet. This is a project that touches all humankind. The reason is that Swarm aims to solve one of the biggest problems the internet today has.

The cost of storage was always one of the biggest burdens for people who developed content and apps. Yes, anyone could start a blog and thus have a voice in a worldwide debate, but with growing popularity of the content, the cost goes up until the point where the original creator can no longer afford publishing their opinion. With web 2.0 this problem was solved in a way that was not optimal for the users: big corporations paid for storage and bandwidth and in return, they demanded ownership of the data.

User’s data was eventually sold on data markets, making huge profits for corporations controlling bandwidth and storage capacities. Privacy was out of the window, and power was accumulated by companies such as Amazon, Facebook, and Google. People became their products. Their personal data was sold to marketing and research companies. In return, people got free services like Facebook and Google.

With web3 new paradigms and economies became possible. But until there is a solid, decentralised storage system, even the web3 dApps need to store data in centrally controlled environments.

Swarm’s mission is to provide web 3 with such a solution. Users can decide to keep their data private, sell it on data markets, or donate it to research institutions of their own choice.

Since storage and bandwidth are not paid for by developers/content creators, they can focus on creating good content and services which in turn will enable fast adoption.

4. How does Swarm distribute and store data across the Swarm network? How does it ensure continued availability of this data?

The DISC (Distributed Immutable Store of Chunks) is the underlying storage model of Swarm. It consists of nodes that collaborate in storing and serving data in such a way that the collection of strategies followed by profit-maximizing nodes gives rise to the following emergent properties:

  • Privacy-preserving and permissionless upload and download
  • Robust defences against blocking or changing access to specific content once it is online
  • Auto-scaling with increased demand
  • Integrity protected content
  • Ultimately forgetting content that is no longer relevant to preserve

Participating in the DISC as a node operator and being rewarded for doing so is possible for anyone with spare storage and bandwidth capacity. When joining the DISC, a node operator becomes part of the network, essentially taking care of one sector of this global hard drive.

The canonical unit of storage in Swarm is called a chunk. A chunk consists of 4 kilobytes of data and has an address. Since a chunk’s address is contained within the same address space as a node’s address, it is possible to compute their relative proximity. Swarm’s storage scheme declares that each chunk is stored by the nodes with an address that is close to that of the chunk itself.

Swarm nodes don’t choose what chunks they store. The fact that a chunk may be part of one or several pieces of content, while there is no easy way for node operators to figure out what content a chunk belongs to provides protection to node operators against liability for the content they host.

The DISC ultimately forgets content that is rarely accessed and not paid for. Through pinning, nodes can ensure to preserve specific content locally. Furthermore, such nodes can participate in a reactive or proactive recovery of this content.

5. How does the Swarm network enable a fair data economy? In other words, what are the incentives for using Swarm and operating a network node?

The Swarm Accounting Protocol (SWAP) ensures that node operators are motivated to collaborate in routing messages, while simultaneously providing protection against frivolous messaging.

As nodes collaborate in routing requests and responses, they keep track of the relative consumption of bandwidth with their peers. Within bounds, this ensures that peers engage in a service-for-service exchange.

Once a limit is reached, a peer that has used more than served can either wait until its debt is amortized over time or pay by sending cheques, representing BZZ.

6. What are some of the Swarm use cases that you are most excited about?

As a developer team, we are excited about any data flowing through the network. But Social Media Platforms, freedom of press and information sharing, Content creation with incentives (NFT’s), secure communications (Waggle) seems to be the low-hanging fruit.

To give a few examples, here are a few projects already building on Swarm:

  • ZetaSeek is a search engine with the primary focus of being used by each user separately — to organize their files, links and references in uploaded content to upcoming p2p storage networks.
  • Upala is building an anti-Sybil system for dApps. It provides a digital identity uniqueness score valued in dollars.
  • GetLoginEth is a Đapp for providing a decentralized single sign-on solution for Ethereum-based social applications.
  • Waggle – A spam-free, secure and decentralized email service on top of Swarm, inspired by the idea of a mail-transfer protocol proposed by Daniel J. Bernstein in which the sender, and not the recipient, is responsible for storing the email messages.
  • Swarmify – Swarmify wants to use Swarm for decentralized & fair music streaming.
  • Embedded Swarm on RISC-V – Imagine Swarm in every fridge, TV, or IoT device. Let the smallness of the solution not fool you as to how big the impact is.

And that is only a few. You can check more projects on Swarm here.

7. What is the use case for the BZZ token?

The BZZ token is an ERC20-compatible utility token, used by node operators and end-users alike.

Swarm nodes engage in the Swarm Accounting Protocol to track relative bandwidth contribution, and unequal consumption is ultimately settled in BZZ.

Content uploaders must purchase a batch of postage stamps so that they attach one to each chunk generated from their uploaded content in order to indicate their wish to keep the chunk in advance. Storer nodes use this signal to persist the highest-valued chunks, thus optimizing the utility of the DISC.

Swarm is eagerly following any L2 solution that makes scaling Swarm more easy. There are many interesting solutions out there. On a whole other front, more strict privacy laws like Europe’s GDPR ultimately will lead to solutions such as Swarm. Users should be in control of their own data at all times. Swarm believes it can provide that service.

9. What is the best way for the community to get involved with Swarm?

Check out our website www.ethswarm.org. In the footer you will find all the links to our social media and chat communities.


Leave a Reply

Your email address will not be published. Required fields are marked *