Swarm

serverless hosting incentivised peer-to-peer storage and content distribution

Swarm is a distributed storage platform and content distribution service, a native base layer service of the ethereum web 3 stack. The primary objective of Swarm is to provide a decentralized and redundant store of Ethereum's public record, in particular to store and distribute dapp code and data as well as block chain data.

From the end user's perspective, Swarm is not that different from WWW, except that uploads are not to a specific server. The objective is to peer-to-peer storage and serving solution that is DDOS-resistant, zero-downtime, fault-tolerant and censorship-resistant as well as self-sustaining due to a built-in incentive system which uses peer to peer accounting and allows trading resources for payment. Swarm is designed to deeply integrate with the devp2p multiprotocol network layer of Ethereum as well as with the Ethereum blockchain for domain name resolution, service payments and content availability insurance.

Two major features of swarm that sets it apart from other decentralised distributed storage solutions (bittorent, zeronet, IPFS) are 'upload and disappear' and the incentive system. The former refers to fact that Swarm does not only serve content, but it also provides a cloud storage service. Unlike related systems, you do not only publish the fact you host content, but there is a genuine sense in which you can just upload stuff to the swarm and potentially disappear (drop off as a node, disconnect or just operate without storage entirely) right away. Swarm aspires to be the generic storage and delivery service catering for all usecases ranging from serving low latency realtime interactive web applications as well as acting as guaranteed persistent storage for rarely used content. The incentive system makes sure that participating nodes following their rational self interest nontheless converge on an emergent swarm behaviour that is beneficial for the entire system as well as economically self-sustaining. In particular, it allows nodes in the network to pool their bandwidth and storage resources in the most efficient way to collectively provide services.

The planned features of swarm include integrity protection, random access (range queries), url-based addressing, manifest-based routing on virtual hosts, domain name resolution via Ethereum Name Service, encryption support, plausible deniability, bandwidth and storage incentives, associated metadata, on-demand download of ethereum blockchain state/receipts/contract-storage, auto-scaling by popularity (elastic cloud), auto-syncing, client side configurable redundancy/availability A swarm-based internet needs to provide solutions for web3 usecases with decentralised infrastructure, so broadly speaking, it is a project towards the ambitious goal of building the third web in the ethersphere.

code and status

Swarm is alpha software. Use at your own risk.

Code is currently at POC 0.2 codename 'sworm'. The source is now in the main branch of the go-ethereum repository.

The testnet is up and running POC 0.2 on Microsoft azure cloud connected to the Ropsten testnet.

orange paper series

The ethershere orange paper series is an attempt to provide an umbrella for sharing and publishing technical reports of the ongoing research on formal foundations of web3 base layer infrastructure. Our aim is to foster synergy and collaboration between various groups and individuals working in the ethersphere. The Orange of the orange paper pays hommage to the yellow paper but tainted with the blood sweat and tears of cutting edge research.

The ethersphere orange lounge research group is a weekly reading seminar and brainstorming session. If you are interested to join, please contact us.

Swarm incentive system research papers. We really encourage and appreciate any feedback be it a thorough acedemic peer review, suggestions for improvement, criticism, questions, typos or just a word of support.

talks on swarm

contact

online press