Topology

RetroShare builds a decentralized, serverless, distributed, peer-to-peer mesh network.

The meaning of these terms has changed in time and so different interpretations are met.

  • decentralized
  • distributed
  • serverless
  • peer to peer
  • meshed

Let's explain the different kinds of networks.

History of Network Topology's

The first architecture of computer networks was client-server architecture. If the central server is offline, the whole network breaks. The military had first thoughts to make the computer network still available in the case of a first strike by an opponent.

network types
Baran, Paul. On Distributed Communication Networks: I. Introduction to Distributed Communications Networks. Santa Monica, CA: RAND Corporation, 1964. http://www.rand.org/pubs/research_memoranda/RM3420.html. Also available in print form.

These thoughts have been utilized in the design of the ARPANET(1969) which can be seen as a predecessor of the modern internet as we know it.

The categorization of Paul Baran has evolved since the 60's

Modern Network Topology

Nowadays the definition have shifted from:

Decentralization today
GSoC2014 Social Network Plugin for RetroShare

Ring

ring connected network
Ring Network

IBM introduced Token-Ring(1984) protocol which was the most used protocol for this type of network architecture.

Ring Topology

Disadvantages of a Ring network.

  • One malfunctioning workstation can create problems for the entire network.
  • Moving, adding and changing the devices can affect the network
  • Communication delay is directly proportional to number of nodes in the network
  • Bandwidth is shared on all links between devices
  • More difficult to configure than a Star: node adjunction = Ring shutdown and reconfiguration

Centralized -> Client Server

central connected network
Centralized Network

A star topology with the server in the middle, and clients connected to it. That's an efficient way to run a network. Big Corporations run their service also in this fashion. Once you register an account with them, you have to stick with your data to them. It's not possible to move your account to a different provider. Communication is done always inside their network and is barely going outside. It's a competitive the winner takes it all market which tends to monopolization.

centralized network

The downside of this network is, the central infrastructure is a single point of failure. If something happens with the server, all users are affected and the service is broken for all. Peer Pressure makes it hard to withstand to not use these services.
These Services are often free (as in free beer) but include hidden costs. User generated data is gathered all the time in each possible way.
When a third party or the company wants to censor/filter/block parts of the communication they can do whenever they want with ease. They have the right to do this, because it's their property.

Federated Servers

E-Mail is a decentralized network by design. Everyone can run a Mail for its own purpose. If a single Mail Server is offline for whatever reason, the other Mail Servers will still work and send/receive mails. This client-to-server-to-server-to-client architectures is also referred as Federated Network.

Besides e-mail, other known Social and Communication Networks with a federated structure are Diaspora and XMPP/Jabber.

Users become a member of a server, and in principle only connect directly with their own server; these servers in turn are connected to each other to allow users in different servers to interact with each other. This matches the distributed network of centralized networks description given above quite well.

In the case of e-mail, we can see, single persons still run their own personel mail servers, but most users stick to a few Mail Server Providers. This concentration to monopoly's renders the federation in fact useless and feels for the majority like a centralized network. The biggest mail provider has a market share of ~70% (2015).
In fact e-Mail is nowadays a totally centralized network with all the downsides of centralized networks.

decentralized network

Small Mail Providers had also to shut down in the last years, for example the case of Lavabit. They did not comply with the government which ordered them to spy on their users. Other mail providers do fully comply with the orders and hand over the infrastructure as a whole to the surveillance state.

Decentralized

Torrent

fully connected network
Fully Connected Network

BitTorrent is well known for it's decentralization. It started with a torrent tracker server to keep the torrent files and help the clients to connect to each other. So a single server does not share any files in the network, but distribute the load of downloads between all clients. Each client is doing uploads and downloads.

BitTorrent
Torrent Swarm with a central Torrent Tracker.

This was a single point of failure as the tracker was a centralized service. Someone had to operate and pay the server, and could be held liable for the Users doing or serving the torrent files. Torrent Files are not containing any copyrighted material. Tracker owners have been targeted and had to close down the service.
This made it necessary to evolve BitTorrent into a Trackerless system. The work of the tracker is distributed with a DHT (distributed hash table) between all Torrent Nodes.

BitTorrent
Fully connected Network: everyone is connected to everyone

All Users inside a Torrent Network might connect with each other directly, which makes it very efficient, fast and fault tolerant. Everyone can become part of this network, even malicious nodes can join a swarm and monitor the activity with ease.

RetroShare

partially connected network
Partially Connected Network & Mesh Network

  • Decentralized
    Clients do not require a central service. When a node is under attack, the other parts of the network are still working without interruption.
  • Serverless
    Each node is server&client at the same time. No external service is necessary for the network to function.
  • Peer to Peer
    Nodes are connected directly to each other.
  • Meshed
    Each node relays data for the network.
  • Distributed
    Meshed nodes cooperate in the distribution of data in the network

RetroShare Network
A Small World Network is a type of mathematical graph in which most nodes are not neighbors of one another, but the neighbors of any given node are likely to be neighbors of each other and most nodes can be reached from every other node by a small number of hops or steps.

Small-world networks tend to contain cliques, and near-cliques, meaning sub-networks which have connections between almost any two nodes within them.

RetroShare networks tend to follow that rule, though there are lot of isolated island networks which build closed groups as darknets.

Face Avatars by deleket CC BY-NC-ND 3.0
corporate logos by icondesigner CC BY 3.0 and vectorgraphit CC BY 3.0 and aha-soft CC BY 3.0