Réseau client-serveur vs pair à pair

Un article du dossier Cyberdemocratie
email Facebook Twitter
Màj : 20 août 2019 – # pages A4 : 4

Définitions

https://democratiedirecte.net/reseau-client-serveur-vs-pair-a-pair/#definition
Types de réseau

De plus en plus de logiciels concernent des applications de réseau (mail, navigateur, Facebook, Bitcoin, ...). Celles-ci sont conçues sur base de deux types possibles de réseau :

  • client-serveur c-à-d centralisé (exemple : Facebook) : une machine "serveur" fournit des services à des machines "clientes" ;
  • pair à pair c-à-d décentralisé (exemple : Bitcoin) : chaque client a la possibilité d'assumer des fonctions serveur (c'est pourquoi on parle alors de "noeuds" plutôt que de clients/serveurs), avec deux options possibles :
    • un même service est fourni par plusieurs noeuds interchangeables ;
    • les différentes composants d'un même service (stockage, calcul, ...) sont opérées par différents noeuds (ou groupes de noeuds selon l'option précédente).

Des technologies de réseau décentralisé sont le cloud et la blockchain.

L'animation ci-dessus reflète un phénomène fréquent voire systématique : en pratique, dans un réseau dit "pair à pair" :

  • la plupart des noeuds n'assument pas de fonction serveur ;
  • parmi les noeuds serveurs il y en a presque toujours un qui se distingue des autres par un nombre de connexions substantiellement plus élevé.

Un réseau "100% décentralisé" est donc une vue de l'esprit. la distinction dichotomique "centralisé vs décentralisé" est essentiellement théorique. Dans la pratique la réalité est plutôt un continuum à partir de 100% centralisé : on peut juste dire que tel réseau est "moins centralisé" ou "plus décentralisé" que tel autre.

Exercice : identifiez les différences entre un réseau "décentralisé" et un marché de réseaux clients-serveur fournissant en concurrence un service de même type.

Le cas du Bitcoin

Le système de la cryptomonnaie Bitcoin :

  • n'est pas un système sans intermédiaires puisqu'il ne peut fonctionner sans le travail des mineurs, qui sont rémunérés en bitcoins pour (i) la validation des transactions (ce qui requiert la résolution d’une série d’algorithmes), (ii) l'hébergement d'une copie du registre (inscription de chaque transaction dans les chaîne de blocs) et partant (iii) l'achat et la maintenance des (puissants) ordinateurs que requièrent ces opérations.
  • n'est décentralisé que dans le groupe des mineurs, mais celui-ci constitue bien de facto un serveur par rapport au reste des utilisateurs.

Avantages et inconvénients

https://democratiedirecte.net/reseau-client-serveur-vs-pair-a-pair/#avantages-et-inconvenients

Dans un réseau pair à pair aucun des noeuds n'est indispensable, contrairement au modèle centralisé qui ne peut fonctionner sans serveur. Mais c'est encore là une simplification théorique (utile notamment pour la communication) : en pratique il serait plus exacte de dire que le coût collectif de remplacement d'un noeud serveur est inférieur à celui d'un serveur.

Le coût total d'une machine serveur (matériel, local, maintenance, sécurité, ...) est bien plus élevé que celui d'une machine client.

En revanche une application en réseau pair à pair est confrontée à une plus grande complexité, et même – selon le théorème CAP – à des limitations induisant d'inévitables arbitrages entre critères de performance des fonctionnalités de l'application. Il en résulte que le coût global d'une application décentralisée peut être plus élevé que celui d'une application mixte (notamment lorsqu'on intègre dans le coût la formation des utilisateurs et la gestion du risque).

Exemple. Un moteur de recherche décentralisé est confronté à la difficulté d'opérer de façon décentralisée les fonctions suivantes :

  1. apprendre la topologie des nœuds du réseau (annuaire des utilisateurs, ...) ;
  2. rechercher l’information sur tous les nœuds ;
  3. recevoir une réponse d’un nœud répondant aux critères de recherche.

Exemple d'arbitrage : garantir que toute recherche obtient un résultat peut impliquer que deux mêmes recherches n'obtiendront pas le même résultat.

Réseau mixte

https://democratiedirecte.net/reseau-client-serveur-vs-pair-a-pair/#reseau-mixte

La stratégie optimale en matière de réseau peut-être une solution mixte. Selon le business modèle ou l'orientation politique on pourra choisir :

  • soit de maximiser la décentralisation ;
  • soit de maximiser la centralisation ;
  • soit de déterminer un équilibre par arbitrage entre centralisation (souvent associée à l'efficacité) et décentralisation (souvent associée à la résilience et à la démocratie).
CentraliséP2P
Efficacité+
Résilience+
Démocratie+

Modèles de choix

https://democratiedirecte.net/reseau-client-serveur-vs-pair-a-pair/#modeles-de-choix

Un réseau purement pair-à-pair est difficilement compatible avec un modèle d'entreprise privée, dont l'organisation est pyramidale (sauf les véritables coopératives). D'autre part les applications dite de "réseau social" ont tendance à évoluer vers une situation de monopole car les utilisateurs préfèrent logiquement le réseau le plus populaire (cf. loi de Metcalfe).

Il importe donc de ne pas limiter l'analyse à la seule problématique technologique, qu'il convient de compléter par des considérations économiques, sociologique et juridique car celles-ci déterminent le comportement et les choix des utilisateurs.

Les autres articles du dossier "Cyberdémocratie" :

  1. Groupware (théorie) 7 p.
  2. Identification et authentification sur Internet 32 p.
  3. Logiciel libre vs open source 5 p.
  4. Référendum automatique 6 p.
  5. Réseau client-serveur vs pair à pair 4 p.
  6. Vote par Internet 25 p.