Protocol de consens estel·lar

El protocol de consens estel·lar (SCP) és l’algoritme de consens subjacent de la xarxa estel·lar que funciona com una construcció probablement segura de l’Acord Federat Bizantí (FBA). La xarxa d’Stellar implementa molts mecanismes similars per a la tolerància a fallades distribuïdes a través d’una xarxa financera com altres criptomonedes amb algunes variacions diferents.

Protocol de consens estel·lar

El SCP deriva del concepte d’Acords Bizantins (BA) i s’adapta a una xarxa descentralitzada i sense permisos que utilitza quòrums i talls de quòrum. La comprensió del SCP requereix un breu historial dels BA i de com es comparen amb els FBA seguits d’una descripció dels quòrums i les parts del quòrum, el model de vot federat i, finalment, el sistema de votació commit / abort del protocol SCP.

Acords bizantins i acords bizantins federats

L’acord bizantí és Tolerància a les falles bizantines de sistemes informàtics distribuïts que els permeten arribar al consens malgrat el comportament arbitrari d’una fracció dels nodes de la xarxa. El consens BA no fa supòsits sobre el comportament dels nodes al sistema. La tolerància pràctica a les falles bizantines (pBFT) és el model prototípic de l’acord bizantí, i pot arribar a un consens de forma ràpida i eficient alhora que desacompanya el consens dels recursos (és a dir, la participació financera a PoS o l’electricitat a PoW).

Tolerància pràctica a les falles bizantines

Llegiu: Què és la tolerància pràctica a les falles bizantines?

Tanmateix, BA (pBFT) no escala bé i requereix una gran despesa de comunicació entre tots els nodes participants. A més, el sistema necessita un acord unànime sobre la pertinença a la xarxa per mitigar-la Atacs de Sibila.

L ‘Acord bizantí federat va ser introduït per la Llibre blanc SCP i aborda explícitament les limitacions de la BA fomentant un protocol de consens que garanteixi el següent:

  • Control descentralitzat
  • Confiança flexible
  • Baixa latència
  • Seguretat asimptòtica

Una de les conseqüències principals de FBA en comparació amb BA és que un sistema FBA està obert als nodes que s’uneixen en un entorn sense permís en lloc de fer-ho mitjançant una llista de membres tancada (autoritzada)..

FBA arriba a un acord sobre les actualitzacions estatals mitjançant un sistema únic ranura on es dedueixen les dependències d’actualització entre nodes. Els nodes han d’acordar l’actualització de les ranures en cada ronda de consens. No obstant això, atès que el sistema està obert a que els nodes s’uneixin i abandonin la xarxa a voluntat, no funcionarà un mecanisme de consens de quòrum basat en la majoria. En canvi, s’utilitza l’FBA de l’SCP llesques de quòrum que són subconjunts de quòrums capaços de convèncer determinats nodes d’un acord.

Segons el Stellar bloc:

“La diferència clau entre un sistema d’acords bizantins i un sistema federat d’acords bizantins (FBAS) és que a FBA cada node tria les seves pròpies parts de quòrum”.

A continuació, es discutiran els fòrums de quòrum i de quòrum, però aquí cal emportar-se que els nodes individuals poden decidir de manera independent en quins altres nodes (participants) confien per obtenir informació. Per tant, SCP és el primer protocol BA que dóna a cada participant la màxima llibertat a l’hora de seleccionar en qui confiar.

Quòrums i llesques de quòrum

A quòrum es defineix com un conjunt de nodes necessaris per arribar a un acord en un sistema distribuït. Quan els nodes intenten arribar a un acord, es comuniquen entre ells (suposant que no es falsifiquen missatges, la criptografia entra aquí) i coincideixen que una actualització de l’estat és vàlida un cop es compleix un llindar específic de nodes d’acord..

Llesques de quòrum són els subconjunts d’un quòrum capaç de convèncer determinats nodes d’un acord, és a dir, que un node pot confiar en diversos conjunts de nodes que afirmen afirmacions. Un node pot dependre de nombroses parts d’informació, i aquesta confiança es pot basar en informació de fora del sistema. Cal destacar la confiança dins el node config , permetent la formació dinàmica de talls de quòrum i la posterior descentralització.

Com un exemple:

El node A pot determinar que no confia en els bancs, cosa que resulta en la necessitat d’una altra part del quòrum en què confia el node A per arribar a un acord amb els bancs. Un cop s’arriba a un acord, es forma un quòrum. El gràfic següent és excel·lent per entendre millor aquest exemple. El node 7 (i 8) representaria el node A que no confia en els bancs.

Crèdit de la imatge – David Mazieres Presentació a Google

El BA tradicional requereix que tots els nodes acceptin les mateixes parts, en lloc de discernir fonts d’informació fiable per si mateixos. Com a tal, no hi ha manera de distingir les parts i els quòrums que requereixen un accés tancat i autoritzat a la xarxa.

El model FBA es basa en nodes individuals per triar els seus propis conjunts de talls de quòrum, permetent efectivament la formació orgànica i més descentralitzada de quòrums que es basen en decisions individuals, d’aquí el nom de “federat”. En discutir seguretat i vivacitat al protocol FBA, hem d’avaluar intersecció del quòrum i quòrums disjunts.

Segons el llibre blanc SCP:

“Un protocol només pot garantir l’acord si els talls de quòrum representats per la funció Q compleixen una propietat de validesa que anomenem intersecció de quòrum”.

Els fòrums es creuen si comparteixen un node. Els bons quorums comparteixen nodes i condueixen a superposició de quòrums. Els nodes s’encarreguen d’assegurar-se que la seva selecció de talls de quòrum no infringeixi la intersecció del quòrum i solen requerir que els nodes seleccionin talls conservadors i que condueixin a grans quòrums..

Quan els quòrums no es creuen, es coneixen com a quòrums disjunts. Els quòrums disjunts són quorums dolents que poden conduir a afirmacions contradictòries que soscaven el consens. Per garantir un procés de selecció adequat de la secció, els nodes han d’equilibrar-se seguretat i vivacitat.

Els nodes no tenen seguretat quan externalitzen valors que contradiuen altres nodes. Els nodes no tenen vida quan es bloquegen en el camí cap a l’acord. El model de vot federat té un paper crític en els nodes que arriben a un acord sobre una declaració.

Votació federada

El vot federat és el mètode pel qual el SCP acorda les declaracions dels participants. En general, s’intercanvien dos conjunts de missatges entre nodes i les dues rondes de missatges es poden subdividir en estats d’acord de desconegut, acceptat, i confirmat. En particular, votar en un entorn federat ha de tenir cabuda la membresía oberta, cosa que complica el procés que un sistema tancat.

El procés de votació federada consta de 4 fases:

  1. Votació inicial
  2. Acceptació
  3. Ratificació
  4. Confirmació

Votació inicial és on els nodes voten per una afirmació específica que afirmen que és vàlida i que no votaran per declaracions contradictòries. Tanmateix, això encara deixa oberta la possibilitat que el node canviï el seu vot si hi ha prou quantitat dels altres nodes participants (que un node confia), que voten per un altre missatge vàlid. Els vots en aquesta etapa són vots tècnicament preliminars.

Acceptació és l’etapa en què un node accepta una declaració en funció de si aquest node específic ha acceptat o no una declaració contradictòria o bloqueig de v El conjunt de nodes que es troben en talls de quòrum amb aquest node (intersecció de quòrum) accepten una sentència. Si el node no ha acceptat una declaració contradictòria o un conjunt de nodes de bloqueig de v vota per acceptar una declaració, el node accepta la declaració.

Ratificació és on tots els membres d’un quòrum voten per acceptar una declaració. Si ho fan, els nodes ratifiquen la declaració. Tornant al Node A que no confia en els bancs, si els nodes amb els quals comparteix un segment de quòrum, a més d’altres nodes en els quals confia, voten per acceptar una declaració, el Node A el ratifica..

Confirmació és un acord en tot el sistema sobre una declaració. El sistema accepta una declaració particular un cop es processi un llindar suficient de missatges a tota la xarxa. Els nodes propaguen els missatges d’acceptació a la xarxa des dels nodes del seu quòrum. Aquests missatges poden influir en altres nodes per acceptar-lo, fins i tot si haguessin acceptat un missatge inicial diferent. Finalment, s’emet una ronda de missatges de confirmació per confirmar-lo, finalitzant la ronda de votacions.

El mecanisme de votació és complicat, però Stellar ofereix uns recursos excel·lents sobre com traçar-lo amb més eficàcia. Proporcionen un “Consens galàctic“Gràfic per obtenir una visió general més àmplia, així com una publicació útil al bloc mitjançant Exemple de migdia. Per a una immersió tècnica profunda, podeu llegir la secció de vot federat del Paper SCP.

El protocol de consens estel·lar

El SCP és la implementació del Protocol d’Acord Federat Bizantí dissenyat per minimitzar els casos d’acord bloquejat i neutralitzar-los mitjançant un sistema de votació. El protocol SCP està format per 2 subprotocols primaris, el protocol de nominació i el protocol de votació.

Per a cada espai de consens, el protocol de nominació produeix valors candidats. Finalment, cada node pot generar determinísticament un valor de convergència per a cada ranura. No obstant això, no poden saber quan es produeix la convergència i els nodes maliciosos poden restablir el procés de nominació.

El protocol de votació s’executa un cop els nodes accepten que el protocol de nominació ha convergit. Al protocol de votació, una papereta està lligada al valor candidat i ha de ser un node compromís o bé avortar el valor lligat a aquesta papereta. Per evitar el bloqueig d’acords, els nodes poden avortar determinats vots i passar a un altre. Per contra, els nodes poden votar per fer una votació, cosa que externalitza el valor associat amb aquesta votació a la ranura de consens.

A un nivell alt, la forma en què el SCP tracta cada ranura independentment és similar al consens d’una ranura única Paxos, només amb moltes instàncies separades.

No hi ha estats bloquejats a l’SCP amb intersecció de quòrum. Els nodes inclosos (nodes que depenen en gran mesura de nodes defectuosos) fins i tot es poden passar per mitjà d’un mecanisme prescindible on els nodes bons poden ratificar declaracions sense la cooperació de nodes encoratjats. Els nodes inclosos tampoc no poden soscavar el consens.

Tant el protocol de nominació com el protocol de votació contenen alguns detalls altament complexos per a escenaris específics com ara vots fraccionats. Aquests detalls també estan disponibles al document SCP.

Una de les limitacions del SCP és que només pot garantir la seguretat si els nodes escullen talls de quòrum adequats. A més, és possible que hi hagi problemes de seguretat en sistemes federats, com ara nodes de gran confiança que aprofiten les seves posicions per obtenir avantatges poc ètics. Per exemple, si una gran quantitat de nodes confia en els bancs, és possible que tinguin un avantatge d’informació no disponible per a altres nodes de la xarxa..

Conclusió

En general, el SCP és el primer protocol de consens provablement segur que pot proporcionar control descentralitzat, baixa latència, confiança flexible i seguretat asimptòtica. Hi ha diferents formes de consens amb les seves compensacions, però el SCP manté un alt nivell d’eficàcia per arribar ràpidament a un consens en una xarxa distribuïda sense permisos sense sacrificar la seguretat.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me