CryptoLesson #4 : Delegated Byzantine Fault Tolerance et présentation ICO : NEO, l'ICO basé sur le consensus unanime
Il existe plusieurs façons différentes d'alimenter les solutions blockchain.
Nous avons déjà vu 2 des types les plus courants : CryptoLesson : Proof-of-work (POW) ou preuve de travail, concept essentiel du bitcoin et CryptoLesson #2 : Proof-of-stake (PoS) ou preuve d'enjeu, pour répondre aux problématiques du proof-of-work.
Cependant, de temps en temps, on peut voir un nouveau type d'algorithme qui peut être confusant pour certaines personnes.
Le dBFT ou aussi Delegated Byzantine Fault Tolérance, qu'on pourrait traduire par la Tolérance des Fautes Byzantines Déléguées est l'un de ces algorithmes.
Il est notamment utilisé par NEO.
Delegated Byzantine Fault Tolerance
Même si certains estiment que le proof-of-work est le système de distribution « le plus juste » pour les nouvelles monnaies, il y a aussi quelques inconvénients associés à cet algorithme comme nous l'avions déjà vu.
Il nécessite beaucoup d'électricité, ce qui est souvent considéré comme un gaspillage.
En particulier en ce qui concerne le minage, car les rapports indiquent qu'une transaction Bitcoin consomme en moyenne autant d'électricité que l'alimentation de plusieurs foyers (pour l'instant, cela reste encore à vérifier).
De plus, il faut du matériel spécialisé pour la distribution du proof-of-work.
D'autre part, le *proof-of-stake nécessite beaucoup moins d'électricité. Il n'est pas nécessaire d'avoir non plus du matériel informatique puissant.
Cependant, le wallet doit être connecté à Internet à tout moment, ce qui pourrait en faire une cible pour les pirates.
En outre, ceux qui possèdent le plus de crypto gagnent plus de récompenses.
Ce qui ne rend pas le système le plus juste, même si au moins, il incite les gens à ne pas dépenser leurs pièces immédiatement.
Ces 2 algorithmes sont largement reconnus comme étant "utiles" dans le monde de la crypto-monnaie.
Les développeurs recherchent toujours de meilleurs alternatives.
Le Delegated Byzantine Fault Tolerance (dBFT) est un algorithmes que très peu de projets utilisent activement.
Il peut être très intéressant pour peu que l'on l'applique correctement.
Consensus
Obtenir un consensus dans un système décentralisé est loin d'être facile, surtout si les utilisateurs ne se font pas confiance.
En utilisant le Delegated Byzantine Fault Tolerance, la relation entre les différents nœuds de la blockchain est réorganisée.
Plus précisément, l'ensemble du réseau devient presque invulnérable au problème des Byzantins Généraux tout en étant capable de parvenir à un consensus si un nœud malveillant tente de nuire.
Pour se faire, il faut reconnaître les différentes entités qui composent l'écosystème.
- D'une part, il existe des opérateurs de nœuds professionnels, qu'on appelle les bookkeepers, qui gèrent un nœud pour gagner un revenu supplémentaire.
- D'autre part, il y a les utilisateurs qui veulent explorer toutes les fonctionnalités de l'écosystème.
Reconnaître les deux groupes de membres de cet écosystème est de la plus haute importance, surtout lorsqu'il s'agit de le sécuriser.
La partie consensuelle du protocole de tolérance aux fautes byzantines déléguées se produit par le biais d'une **forme "gammifiée" de vérification de bloc parmi les bookkeepers.
Les bookkeepers sont notés au moyen d'un processus de "vote délégué".
Le bookkeeper diffuse sa version de la blockchain sur le réseau.
- Si 66% des autres nœuds sont d'accord avec l'information, un consensus est atteint.
- Si ce seuil n'est pas atteint, un nœud professionnel différent est désigné pour diffuser sa version blockchain jusqu'à ce qu'un consensus puisse être établi.
Particularités et NEO
Le Delegated Byzantine Fault Tolerance présente plusieurs points intéressant.
- Unicité de la chaine
Dans le cas de NEO, il n'est possible de réaliser un split de la blockchain.
La philosophie de NEO est d'amener l'économie réelle sur la blockchain et permettre aux entreprises d'y enregistrer leurs actifs.
Il serait par exemple impensable qu'un même actif soit possédé par des personnes différentes en fonction de la version de la chaine.
Au quel cas, lors d'un split, les entreprises auraient leurs titres multipliés par deux.
Un élément fondamental dans le dBFT est qu'une information placée sur la blockchain ne peut plus bouger. Il n’y aura pas une version différente qui viendra la contredire.
- Vitesse de transaction
La vitesse de transaction est exprimée en tps (transactions/seconde).
- Vitesse théorique
- Vitesse pratique.
La différence se fait sur les limitations et variations qui ont lieu dans la vie réelle.
Les développeurs crypto améliorent constamment les protocoles pour pouvoir se rapprocher le plus possible de la vitesse théorique.
La première raison qui explique la différence de vitesse réside dans la génération de nouveaux blocs (block time).
Par exemple, idéalement, le Bitcoin génère un nouveau bloc en moyenne toutes les 10 minutes.
Ethereum génère un bloc toutes les 17 secondes.
NEO quant à lui génère un bloc toutes les 15 secondes (l'objectif de NEO étant une génération d'un bloc par seconde !)
La seconde raison est le système des nœuds de comptabilité.
Comme on l'a dit précédemment, le mécanisme ne va pas demander au réseau entier de valider un bloc. La validation va se faire par un nombre restreint de délégués : les bookkeepers.
Ils répondent à certains critères de sélection : équipement spécifique, connexion internet dédiée, montant de GAS mis en caution.
La vitesse théorique de Bitcoin est de 7 tps.
La vitesse théorique d'Ethereum est de 30 tps.
La vitesse théorique de NEO est de 10 000 tps.
La vitesse pratique de Bitcoin est de 3tps.
La vitesse pratique d'Ethereum est de 15 tps.
La vitesse pratique de NEO est de 1 000 tps.
Si on devait comparer ces chiffres avec des acteurs financiers traditionnels, VISA tourne autour de 1700 tps avec des pics à 4000 !
Paypal a une vitesse moyenne de 115 tps.
- Décentralisation moindre
Malheureusement, vous l'aurez compris, le prix à payer pour un tel écosystème et pour bénéficier d'une transaction élevée est une décentralisation moindre.
On qualifie souvent NEO de « Blockchain décentralisée centralisée ».
NEO a fait le choix d'une « décentralisation future ».
Cette stratégie consiste à lancer la plateforme sous une forme plutôt centralisée dans un premier temps.
Une fois que l'écosystème fonctionne parfaitement, alors commencera la phase de décentralisation.
Il faut aussi bien comprendre la différence entre décentralisation et distribution du réseau :
- la décentralisation concerne les personnes qui contrôlent ces nœuds.
- la distribution des nœuds concerne le nombre de nœuds en question.
Coins mentioned in post: