Delegated Proof-of-Stake Consensus

Partie 2/4 – Tout sur les blocs

DPOS_Blocs

Définitions

Afin de rendre la lecture de ce document la plus agréable possible, nous nous devons de définir quelques termes et vous fournir quelques explications.

Un consensus : est un mot latin qui signifie « accord », au sens de « sentiment commun ».

Une blockchain : c’est une base de données, souvent appelée blockchain ou mainchain, qui contient l’enregistrement de tous les blocs validés et approuvés selon l’algorithme mis en place. Dans la suite du texte, nous utiliserons les termes blockchain et mainchain. La mainchain est la blockchain principale du réseau Lisk.

Un bloc : un ensemble de transactions effectuées sur le réseau est assemblé au sein d’un bloc (au sens imagé). Le bloc est alors traité selon l’algorithme mis en place afin soit d’être validé – donc ajouté dans la blockchain-, soit refusé (les transactions ne sont pas validées).

Le forging : action qui consiste à mettre 25 transactions dans un bloc et à le valider (forger) ou non dans la mainchain.

Comment sont produits et validés les blocs ?

Nous vous l’expliquions dans notre précédent billet, chaque voteur disposant de Lisk est en mesure de choisir ses 101 délégués. Les 101 délégués recouvrant alors le plus de votes seront autorisés à forger !

Techniquement, lorsque vous envoyez ou recevez des Lisks (ou même quand vous vous enregistrez en tant que délégué), vous produisez une transaction sur le réseau Lisk.

La blockchain est composée de blocs, et un bloc est composé d’un en-tête et d’une liste de transactions confirmées.

Lorsqu’un délégué est assigné au forgeage (c’est à son tour), il génère le bloc suivant en sélectionnant 25 transactions dans la queue des transactions.

L’en-tête de ce bloc est composé d’un ensemble d’information résultant d’une part, du nombre de Lisk transféré (ce nombre est la somme de toutes les transactions présentent dans la liste), d’autres part, d’informations relatives au réseau Lisk.

 

Lisk_Bloc_Header

Le processus de signature du bloc entraine son écriture dans la blockchain. Ce processus est identique au processus de signature d’une transaction. Un hash (SHA-256) de l’en-tête du bloc construit est généré en utilisant la clé privée du délégué qui forge. Un bloc ID est ensuite généré ce qui permet de connaitre l’emplacement du bloc dans la blockchain mais également de lié les blocs entre eux. Le bloc suivant recevra un autre ID et ainsi de suite. (Nous ne décrirons pas la manière dont l’ID est généré).

 

Funny : la somme maximale de Lisk échangée dans un bloc (de 25 transactions) est de 9,223,372,036,854,775,807 LSK (ce nombre tient sur un entier de 64 bits – soit le maximum autorisé pour le champ « Amount of Lisk transfered).

Business : lorsqu’un bloc est traité, le délégué qui l’a forgé reçoit 5 LSK en récompense plus la totalité des frais de transactions (Amount of fee). Cette récompense diminue d’année en année selon un tableau d’amortissement prédéfini.

 

Au prochain article, nous traiterons de la manière dont les nœuds Lisk (et les délégués) dialoguent entre eux !

Sources: Lisk.io

2017-11-16T16:35:45+00:00