Skip to content

Instantly share code, notes, and snippets.

@zelig
Created October 12, 2015 23:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zelig/3fb4406e1923e5750fea to your computer and use it in GitHub Desktop.
Save zelig/3fb4406e1923e5750fea to your computer and use it in GitHub Desktop.
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 sufficiently decentralized and redundant store of Ethereum's public record, in particular to store and distribute Đapp code and data as well as block chain data. From an economic point of view, it allows participants to efficiently pool their storage and bandwidth resources in order to provide the aforementioned services to all participants.
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.
We demonstrate how Swarm is used for hosting and serving Đapps and off-chain contract metadata (for code verification and natspec confirmation), streaming video, browsing history. We walk through the architecture and design principles; elaborate on technicalities of routing and incentivisation, then discuss features on the roadmap, including using swarm to store the Ethereum blockchain and state as well as using encryption to allow private content.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment