The New Internet
Moving from a centralized to a Decentralized to a
Distributed Internet
COS216
AVINASH SINGH
DEPARTMENT OF COMPUTER SCIENCE
UNIVERSITY OF PRETORIA
Topologies
History
Originally the internet was centralized
Central sole servers
Central DNS
Central switches
Over the past few decades, the internet has become
decentralized
Multiple duplicate/backup servers (eg multiple Google
servers)
Multiple hierarchical DNS servers
Decentralized switches
History
A truly distributed internet was just a theoretical idea for a long time
With technological advances a distributed internet is now feasible
Exponential increase in computational power (Moore’s law)
Increase and internet speed and bandwidth, with a parallel decrease in price
Advances in distributed and consensus algorithms (blockchains, hashgraphs, etc)
Many projects have popped up trying to create a distributed internet
In this lecture we will look at the main projects
Future
The near to far future
1. Next 5 years: Distributed systems will only be used by a few people, mainly developers
2. Next 10 years: Entry points will be created to connect the “old internet” to the “new
internet”
3. Next 15 years: More people and applications will start using distributed systems
4. Next 20 years: The majority of the global networks will run over the “new internet”
Centralization
Centralized, and to an extent decentralized, systems have a number of problems
Bottlenecks and poor architecture
Single point of failure
Subject to certain attacks like DDoS
Ownership and profit-driven companies
Censorship, restrictions, and freedom of speech
Different distributed systems try to solve some or all of these problems
Distribution
With a truly distributed internet
Any individual (phone, laptop, desktop, etc) can join the network
These individuals can operate as servers and ISPs (miners) and earn money for that
Or the individuals can only be clients and access websites without being the server as well
With a distributed internet, there will be no need for ISPs or central servers
These roles will be taken over by individuals
Some form of ISPs will probably always exist, since someone has to provide the underlying
infrastructure
Components
Various components of our current internet/network structure has to be distributed to
create the “new internet”
Distributed DNS and routing
Distributed file storage and replication
Distributed application execution
Distributed communication, email, and chat
Distributed consensus, security, and payments
We will specifically look at a distributed web, other components to create a
distributed internet are beyond the scope of this module
Systems
Various systems have varying degree of distributed internet features
BitTorrent (2001)
Usenet (1979)
Freenet (2000)
ZeroNet (2015)
Ethereum (2015)
MaidSafe (2016)
Status (2017)
IPFS (2017)
Skycoin (2017)
BitTorrent
Distributed peer-to-peer (P2P) network protocol
Created by Bram Cohen in 2001
BitTorrent refers to
The application-layer BitTorrent protocol for data transmission
The client application GUI used to download torrents
The company (BitTorrent Inc) create by Cohen
BitTorrent is to used share files via a distributed network
Is not the “new internet”, since it only solves the distributed file storage problem
BitTorrent has some centralized aspects, such as torrent file/magnet retrieval and trackers
BitTorrent company purchased by Tron (cryptocurrency project) in 2018
Usenet
Decentralized information exchange network
Created by Tom Truscott and Jim Ellis in 1979/1980
Was the predecessor to the web (WWW)
Originally indented for journalists to exchange news articles
Similar to a forum or bulletin board (eg Reddit)
Originally only allowed text, binary support was later added
Today is mostly used for file sharing, like BitTorrent
Was never distributed, but rather decentralized
Freenet
P2P censorship resident communication network
First truly distributed web
Created by Ian Clarke in 2000
The main focus on the project was
Censorship-free internet
Freedom of speech
Privacy and anonymity
Similar to the Tor network, but has distributed internet components that Tor does not
have
Freenet
Freenet operates as follows
Each users provides disk space to Freenet
The disk space is used to stores parts of the content accessed on the Freenet
No control over which content is saved locally
Locally stored files are encrypted
If a peer request certain content, it is retrieved from another peer who has a copy of the
content
Similar to torrents, but aim is on general web content
Old/unrequested data is deleted – unvisited websites may disappear
Hence, websites are distributed over the network, similar to how other files are
distributed via BitTorrent
ZeroNet
Not a new network
Created by Tamas Kocsis in 2015
A combination of multiple other technologies
Bitcoin
BitTorrent
Tor
The focuses on creating a distributed web using existing systems
ZeroNet
ZeroNet aims to create a distributed web-based network
Servers websites without the need of centralized servers
Currently websites are limited to 10MB, but more storage can be manually granted
Users who access a website (leechers) are also serving/sharing the website (seeders)
Website can be served as long as at least one users has a copy
Nearly impossible to take down
ZeroNet
BitTorrent
Share the website data (HTML, JS, CSS, images, etc)
When accessing a website the user leeches the website and afterwards seeds the website
to others
Dedicated seeders also exist
ZeroNet uses BitTorrent trackers to establish connections between peers
ZeroNet
Bitcoin
Instead of using IP addresses to identify websites, a Bitcoin public key (wallet address) is
used as identifier
Although completely free, these addresses can also be used in the future for certain
payments, such as increasing the website storage space
ZeroNet
Tor
IP addresses are hidden through built-in Tor functionality
Domains
Website domains can be registered through Namecoin
Namecoin is the first Bitcoin fork
Provides domains and distributed DNS
Provides .bit domains
Ethereum
An open-source distributed computing platform
Created by Vitalik Buterin in 2013 (released in 2015)
The second largest cryptocurrency
Although most people see Ethereum as (only) a currency
at the moment, its intent was to create a distributed internet
Ethereum is the network/blockchain, Ether is the cryptocurrency running on top of
Ethereum
Ethereum
One mayor feature that Ethereum introduced to the blockchain community is
distributed apps (dapps)
Dapps are small pieces of code (applications) that can be executed on the Ethereum
network
These dapps run in an Ethereum Virtual Machine (EVM) supporting a number of different
programming languages (C++, Java, Python, JavaScript, Rust, Go, Haskell, etc)
Dapps require “gas” to be executed which is purchased with Ether
The creator/owner of the dapp pays for the execution, and the node/miner who executes
the code receives that money
Smart contracts are high-level programming abstractions that assigns a digital contract to
the execution of a dapp (contract to pay amount X for the execution of dapp Y)
Ethereum
Due to having dapps and smart contracts, other tokens (ERC20) can be built on top
of Ethereum
You can very easily create your own ERC20 token (only requires 5 functions)
Most tokens out there are Ethereum-based (BAT, 0x, Binance, OmiseGo, Status, etc)
Ethereum
The Ethereum Name Service (ENS) provides decentralized resource addressing
Names are human-readable and easy to use by blockchains
ENS therefore provides domains and DNS services for a distributed internet
They offer .eth domains
Ethereum
Ethereum has some features of a distributed internet
Distributed execution (dapps and smart contracts)
Distributed DNS and domains (ENS)
One thing that Ethereum is missing is a distributed file storage
This is a discussed feature in the Ethereum community
Can easily be added through an ERC20 token
Most projects now combine Ethereum with the InterPlenatary File System (IPFS) for storage
Storj is an ERC20 that offers distributed storage on the Ethereum network
Various other smaller tokens exist for distributed storage
MaidSafe
A company who started to implement the SAFE network in 2006
Massive Array of Internet Disks (MAID)
Secure Access For Everyone (SAFE)
Tried to implement a distributed internet with focus on
Distributed storage
Secure/encrypted network
Distributed routing
Some of MaidSafe’s developers are on the Silicon Valley series’ technical advisory
board
Still very early in the development phase
Status
An Ethereum token released in 2017
Company based in Switzerland
Tries to create a decentralized web
Aims at browser, chat, and payments
Starting with chat, browser will be released later
Browser will allow dapp access for the entire Ethereum network
Still in its infancy
IPFS
InterPlanetary File System (IPFS)
A distributed hypermedia P2P web
Created by Protocol Labs and released in 2017
Main focus is on
Replacing inefficient HTTP with a P2P protocol
Historic versioning to retain all content every put on the internet (like Internet Archives)
Remove duplicate data and rather maintain version control (like Git)
Dismantling the central control and ownership of the internet
Creating distributed apps (dapps) for their platform
SkyCoin
Released in 2017
Trying to create a distributed internet
Main difference with other major blockchains is the proof
Uses Obelisk proof instead of proof-of-work or proof-of-stake
They are really new
There are many online discussions that they might be a scam
Especially since they are selling their own mining hardware on the website
Be careful with this one
Conclusion
So who will win the race?
Only time will tell
Just like ARPANET and TCP/IP, most likely only one will win
Due to being one of the larges crypto, supporting dapps and ENS, and allowing
tokens to be built on top of it, Ethereum has a good chance
Although some of the other networks have more/better functionality with regards to
distributed internet
This Photo by Unknown Author is licensed under CC BY-SA