How Swarm Makes Internet Decentralized Again
25th June 2021
Four days ago, on Jun. 21, a peer-to-peer data storage and communication ecosystem Swarm activated its inaugural mainnet iteration dubbed Swarm 1.0.
xDai (STAKE) blockchain was chosen as a backbone of the transactions scaling model.
Meanwhile, the project started its way to this ambitious milestone in 2016. What is special about Swarm’s approach to decentralized data sharing?
In Chunks: Swarm offers a one-stop base layer for decentralized data
In a nutshell, Swarm should be referred to as a self-sustainable scalable attack-resistant fault-tolerant P2P node system. Interacting with each other, Swarm nodes provide the technical platform for seamless and decentralized storing of information of various types e.g. messages, media streams, databases, and so on.
This sophisticated ecosystem is powered by The DISC (Distributed Immutable Store of Chunks), a core design model behind Swarm. It is DISC that is responsible for messaging between nodes. For secure and long-lasting communications, Swarm nodes utilize libp2p protocol, a state-of-the-art instrument for the entire Web3 scene.
The optimal routing of information between nodes is achieved within Kademlia connectivity. Nodes identify each other by ‘Swarm addresses’ and take part in messages broadcasting to each other.
Here’s how the Swarm nodes structure looks like. Image via https://www.ethswarm.org/
Canonical units of information in Swarm are called ‘chunks’: one chunk is equal to 4 kB. Since the information is split up in chunks and encrypted, there’s no way even for a misbehaving node operator to recognize the origin and destination of this or that chunk.
Swarm Accounting Protocol (SWAP) is another element of Swarm design that is of paramount importance for cross-node messaging. It represents a set of rules required to optimize bandwidth usage and prevent network congestion.
Bee sting: Running your own gateway to decentralization
To take part in Swarm’s decentralized data ecosystem, an Internet user needs to utilize Bee end-user client. Bee can be installed even on low-key computers such as Raspberry Pi 4 or on a small cloud-hosted VPS.
The Swarm team released Bee packages for MacOS and Ubuntu, Raspbian, Debian and CentOS based Linux distributions.
First of all, future operators of Swarm nodes need to install Bee Clef, an external signer for Bee. Then, Bee software should be installed and customized (mainnet/testnet, light node/full node, etc.)
In order to get connected to the internal payment system, the new Swarm node operator should access XDAI nodes. He/she can either run his/her own node or utilize the provider's resources.
GetBlock is recommended by Swarm developers as a reliable provider of access to xDai nodes:
You can run your own XDAI node or, use a provider instead – we recommend Getblock.
Not even a full day after the mainnet launch, and @ethswarm 🐝 keeps destroying the "Active accounts by projects per day" dashboard, bringing thousands of new users to the #xDai ecosystem. 🚀— xDai (@xdaichain) June 22, 2021
📊➡️ https://t.co/JHX9N2EAqK pic.twitter.com/dC2OX0t4v4
xDai stablecoin and BZZ, a core native asset of Swarm are two building blocks of Swarm’s tokenomics. BZZ is used to reward node operators for their contribution while xDai serves as a payment method for network resources.
Once a user is connected to xDai blockchain and his/her account is fueled with BZZ and xDai, he/she should set up his/her connection: set NAT address, debug API, and wait for the initialization by the system.
Finally, the new Bee in Swarm needs to check whether it is working right - and he/she is good to go!
That said, participation in Swarm not only allows your computer to contribute to the decentralization of data across the globe but also can earn you periodical BZZ rewards.