Stellar Consensus Protocol (SCP) : le consensus des Ă©toiles 🚀

Stellar est un réseau blockchain open source qui permet aux développeurs de créer des applications financiÚres. Le Stellar Consensus Protocol (SCP) est un algorithme de consensus distribué qui permet à Stellar de gérer les transactions et de maintenir la sécurité du réseau.

L'algorithme Stellar Consensus Protocol, publiĂ© en 2015, appartient aux algorithmes de type Federated Byzantine Agreement (FBA), il dĂ©crit un moyen pour un ensemble de nƓud de s'entendre sur un Ă©tat commun. Il est utilisĂ© par la blockchain Stellar pour dĂ©terminer l'Ă©tat de la blockchain.

Le rĂ©seau Stellar est un rĂ©seau dĂ©centralisĂ© public, tout le monde peut participer et maintenir un ou plusieurs nƓuds du rĂ©seau.

Une des caractéristiques du réseau Stellar est sa faible latence, en comparaison avec d'autres algorithmes de consensus SCP traite les transactions plus rapidement.

Concepts

Quorum

Un quorum est un ensemble de nƓuds suffisant pour pouvoir arriver Ă  un accord, une fois qu'un quorum a pris une dĂ©cision concernant une transaction, il est capable de convaincre le reste du rĂ©seau de cette dĂ©cision.

Quorum slice

Un quorum slice est un ensemble de nƓuds suffisant pour convaincre un autre nƓud de la validitĂ© d'une information. Si un nƓud trouve un quorum slice Ă  qui il fait confiance, il va accepter toutes les dĂ©cisions que le quorum slice a prises.

Exemple de deux quorums, les quorums slices sont représentés par les flÚches

Node Blocking sets

Un nƓud peut ĂȘtre stoppĂ© dans sa prise de dĂ©cision par un ensemble de nƓuds qui le bloquent, un blocking set est un ensemble de nƓuds dans un quorum qui empĂȘchent ce quorum de trouver un accord.
Par exemple : N'importe quelle combinaison de deux nƓuds est un blocking set pour un nƓud si dans un quorum de quatre nƓuds trois sont requis pour convaincre ce nƓud.

Fonctionnement

L'algorithme utilise un systĂšme de vote fĂ©dĂ©rĂ© pour garantir la sĂ©curitĂ© et la disponibilitĂ© de l'information. Le vote est dit fĂ©dĂ©rĂ©, car il n'y a pas de nƓud qui fonctionne comme une autoritĂ© centrale organisant le vote. Chaque nƓud prend une dĂ©cision en fonction des informations qu'il reçoit des nƓuds voisins.

Lors d'un vote un nƓud peut effectuer trois actions, nous avons dans l'ordre :

  • le vote
  • l'acceptation
  • la confirmation

Le vote commence par la phase de nomination oĂč les nƓuds envoient des candidats Ă  la prochaine valeur de la blockchain. Les nƓuds qui reçoivent les candidats les envoient Ă  leurs voisins.

La phase de vote commence lorsque le nƓud a reçu des candidats de la part de suffisamment de nƓuds. Il envoie alors un vote pour un candidat. Les nƓuds qui reçoivent le vote le transmettent à leurs voisins.

Concernant une proposition A un nƓud peut avoir quatre Ă©tats :

  • le nƓud ne sait rien de la proposition A (aucun de ses voisins ne lui a donnĂ© d'information sur A)
  • le nƓud vote pour A, il considĂšre A comme valide, mais ne sait pas si c'est la bonne dĂ©cision
  • le nƓud accepte A, car suffisamment de nƓuds sont d'accord avec A, mais il n'est toujours pas sĂ»r de sa dĂ©cision.
  • le nƓud confirme A, mĂȘme si tout le quorum auquel il appartient n'a pas encore acceptĂ© A, il est sĂ»r que A est la bonne dĂ©cision.

Pour passer du vote pour une proposition Ă  la confirmation de cette mĂȘme proposition, il faut qu'au moins une des deux conditions suivantes soient remplies :

  • que tous les nƓuds du quorum slice aient votĂ©s ou acceptĂ©s la proposition
  • que le blocking set ait acceptĂ© la proposition

Pour passer de l'acceptation Ă  la confirmation, il faut que tous les nƓuds du quorum slice aient acceptĂ© la proposition A.

Conclusion

Utiliser un registre utilisant l'accord Byzantin fĂ©dĂ©rĂ© (FBA) permet de garantir la sĂ©curitĂ© et la cohĂ©rence de l'information. Le tout de maniĂšre extrĂȘmement rapide puisque n'ayant pas besoin de l'accord de tous les nƓuds du rĂ©seau, mais seulement d'une partie d'entre eux via la notion de quorum.

Une partie du quorum (le quorum slice) est capable de convaincre un autre nƓud de la validitĂ© d'une information, tandis qu'un quorum peut ensuite convaincre tout le rĂ©seau de la validitĂ© de cette information.

Sources



0
0
0.000
11 comments
avatar

Merci pour cette lecture extremement intĂ©ressante et facilement comprĂ©hensible 👍 Maintenant je sais pourquoi j'ai toujours bien aimĂ© le Stellar (en plus de ses frais plutot intĂ©ressant pour effectuer des transactions)

0
0
0.000
avatar

Vote tardif, on avait pas vu votre article.
Merci à @mintrawa de l'avoir repéré ;)

!PGM
!PIZZA


ItharaGaian
Principauté du Bastion (@hive-143869 Community)
Curation Manuelle

BlasonPrincipautéBastionTransparentSmall.png

0
0
0.000
avatar

Sent 0.1 PGM - 0.1 LVL- 1 STARBITS - 0.05 DEC - 15 SBT - 0.1 THG - tokens to @itharagaian

remaining commands 3

BUY AND STAKE THE PGM TO SEND A LOT OF TOKENS!

The tokens that the command sends are: 0.1 PGM-0.1 LVL-0.1 THGAMING-0.05 DEC-15 SBT-1 STARBITS-[0.00000001 BTC (SWAP.BTC) only if you have 2500 PGM in stake or more ]

5000 PGM IN STAKE = 2x rewards!

image.png
Discord image.png

Support the curation account @ pgm-curator with a delegation 10 HP - 50 HP - 100 HP - 500 HP - 1000 HP

Get potential votes from @ pgm-curator by paying in PGM, here is a guide

I'm a bot, if you want a hand ask @ zottone444


0
0
0.000
avatar


✒ Pour vous encourager dans vos Ă©tudes, nous vous offrons 💝50 points-fr💝, un reblogue, un mini-upvote
🎁 Recevez en plus un bonus de 3 points-fr pour votre sĂ©lection et ce pourboire : !LUV !GIF algorithm
💰 Plus de Tokens de 2eme couches vous attendent dans les posts de sĂ©lections et de rĂ©compenses

@points-fr / @challenge-fr / @tokens-fr / @loterie-fr / @bonus-fr

Cumulez facilement les points-fr
RĂ©compense Multi-engagements des Francophones



0
0
0.000
avatar

Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!

Please consider delegating to the @stemsocial account (85% of the curation rewards are returned).

You may also include @stemsocial as a beneficiary of the rewards of this post to get a stronger support. 
 

0
0
0.000
avatar

Congratulations @benjil! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)

You distributed more than 10 upvotes.
Your next target is to reach 50 upvotes.
You received more than 300 upvotes.
Your next target is to reach 400 upvotes.
You received more than 10 HP as payout for your posts, comments and curation.
Your next payout target is 50 HP.
The unit is Hive Power equivalent because post and comment rewards can be split into HP and HBD

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Check out the last post from @hivebuzz:

HiveBuzz World Cup Contest - Recap of Day 9
Hive Power Up Day - December 1st 2022
HiveBuzz World Cup Contest - Check your ranking
Support the HiveBuzz project. Vote for our proposal!
0
0
0.000
avatar
(Edited)

Bonjour !

En tant que membre francophone de Hive, vous avez été ajouté à l'auto-vote de @laruche.

La puissance de vote de base est de 25%, deux votes par tranche de 24h et 7 max par semaine.
Vous pouvez augmenter la puissance de vote en déléguant à la Ruche si vous le souhaitez. Voici notre serveur Discord si vous avez des questions ou juste pour discuter avec d'autres francophones de Hive !

https://discord.gg/46gdrud

Bienvenue dans la Ruche !

0
0
0.000