Nifhmu l-Protokoll tal-Kunsens Stellari

Nifhmu l-Protokoll tal-Kunsens Stellari

Il-protokoll ta 'kunsens Stellar ġie deskritt għall-ewwel darba fi artikolu xjentifiku David Mazier fl-2015. Din hija "sistema ta 'ftehim federali Biżantin" li tippermetti li n-netwerks tal-kompjuters deċentralizzati u bla mexxej jilħqu b'mod effiċjenti kunsens dwar deċiżjoni. In-netwerk tal-ħlas Stellar juża l-Protokoll tal-Kunsens Stellar (SCP) biex iżomm storja konsistenti tat-tranżazzjonijiet li tkun viżibbli għall-parteċipanti kollha.

Il-protokolli ta' kunsens huma kkunsidrati diffiċli biex jinftiehmu. SCP huwa aktar sempliċi minn ħafna minnhom, iżda xorta jaqsam din ir-reputazzjoni - parzjalment minħabba l-idea żbaljata li "votazzjoni federata", li hija s-suġġett tal-ewwel nofs tal-artikolu xjentifiku, hija SCP. Imma dan mhux veru! Dan huwa biss blokk importanti li t-tieni nofs tal-artikolu juża biex joħloq attwali Protokoll ta' kunsens stellari.

F'dan l-artikolu se nispjegaw fil-qosor x'inhi "sistema ta 'ftehimiet", x'jista' jagħmilha "Biżantina" u għaliex is-sistema Biżantina ssir "federali". Imbagħad se nispjegaw il-proċedura tal-votazzjoni federata deskritta fl-artikolu SCP, u finalment aħna nispjegaw il-protokoll SCP innifsu.

Sistemi ta' ftehim

Sistema ta’ ftehimiet tippermetti lil grupp ta’ parteċipanti biex jilħqu kunsens dwar suġġett, bħal dak li jordna għall-ikel.

F'Interstellar, implimentajna s-sistema tagħna ta' ftehim dwar l-ikel: nordnaw dak li jgħid il-maniġer tal-operazzjonijiet tagħna, John. Din hija sistema ta’ ftehim sempliċi u effettiva. Ilkoll nafdaw lil John u nemmnu li kuljum se jsib xi ħaġa interessanti u nutrittiva.

Imma x’jiġri jekk John jabbuża mill-fiduċja tagħna? Huwa jista’ waħdu jiddeċiedi li lkoll għandna nsiru vegani. Fi żmien ġimgħa jew tnejn, x’aktarx inwarrbuh u ngħaddu l-poter lil Elizabeth. Imma f’daqqa waħda tħobb l-avokado bl-inċova u taħseb li kulħadd għandu jkun hekk. Il-poter jikkorrompi. Għalhekk aħjar li ssib xi metodu aktar demokratiku: xi mod biex jiġi żgurat li l-preferenzi differenti jiġu kkunsidrati, filwaqt li jiġi żgurat riżultat f'waqtu u mhux ambigwu, sabiex ħadd ma jispiċċa jordna l-ikla, jew ħames persuni jagħmlu ordnijiet differenti, jew id-diskussjoni jkaxkar għal filgħaxija.

Jidher li s-soluzzjoni hija sempliċi: żomm il-vot! Iżda din hija impressjoni qarrieqa. Min se jiġbor il-voti u jirrapporta r-riżultati? U oħrajn għala għandhom jemmnu dak li jgħid? Forsi nistgħu għall-ewwel jivvota lil mexxej li aħna nafdaw li jmexxi l-votazzjoni – imma li jmexxiha l-ewwel bil-vot? X'jiġri jekk ma nistgħux naqblu dwar mexxej? Jew x’jiġri jekk nilħqu ftehim, imma dan il-mexxej jeħel f’laqgħa jew imur fuq sick leave?

Problemi simili jseħħu fin-netwerks tal-kompjuter distribwiti. Il-parteċipanti jew in-nodi kollha jridu jaqblu dwar xi deċiżjoni, bħal min ikun imiss li jaġġorna fajl kondiviż jew ineħħi kompitu mill-kju tal-ipproċessar. F'netwerk ta 'kripto-munita, in-nodi ripetutament iridu jagħżlu kif tidher l-istorja sħiħa minn diversi verżjonijiet possibbli, li kultant jikkonfliġġu. Dan il-ftehim tan-netwerk jipprovdi assigurazzjoni lir-riċevitur li l-munita hija (a) valida (mhux foloz) u (b) għadha mhix intefqet x'imkien ieħor. Dan jassigura wkoll li jkun jista’ jonfoq il-muniti fil-futur għaliex ir-riċevitur il-ġdid ikollu l-istess garanziji għall-istess raġunijiet.

Kwalunkwe sistema ta' kunsens f'netwerk ta' kompjuters distribwit trid tkun tolleranti għall-ħsarat: għandha tipproduċi riżultati konsistenti minkejja żbalji bħal links bil-mod, nodi li ma jirrispondux, u ordni ħażina tal-messaġġi. Biżantin Is-sistema tal-ftehim hija wkoll reżistenti għall-iżbalji "Biżantini": nodi li jagħtu informazzjoni falza, kemm jekk minħabba żball jew f'tentattiv intenzjonat biex jimmina s-sistema jew jiksbu xi vantaġġ. Tolleranza għal ħtija "Biżantina" - il-kapaċità li wieħed jafda deċiżjoni tal-grupp anke meta xi membri tal-grupp jistgħu jigdeb jew inkella ma jsegwux ir-regoli tat-teħid tad-deċiżjonijiet - tissejjaħ parabbola dwar il-ġenerali tal-Imperu Biżantinli ppruvaw jikkoordinaw l-attakk. Deskrizzjoni tajba f'Anthony Stevens.

Ikkunsidra lis-sid tal-munita kripto Alice, li trid tagħżel bejn tixtri ġelat Delicious mingħand Bob u tħallas id-dejn ta 'Carol. Forsi Alice trid tħallas lit-tnejn f'daqqa billi tonfoq l-istess munita b'mod frodulenti. Biex tagħmel dan, hi trid tikkonvinċi lill-kompjuter ta’ Bob li l-munita qatt ma tħallset lil Carol, u tikkonvinċi lill-kompjuter ta’ Carol li l-munita qatt ma tħallset lil Bob. Is-sistema Biżantina ta 'ftehimiet tagħmel dan prattikament impossibbli, bl-użu ta' forma ta 'regola tal-maġġoranza msejħa kworum. Nodu f'netwerk bħal dan jirrifjuta li jimxi għal verżjoni partikolari tal-istorja sakemm jara li numru suffiċjenti ta 'pari - kworum - jaqblu ma' tali tranżizzjoni. Ladarba dan iseħħ, se jiffurmaw blokk ta' votazzjoni kbir biżżejjed biex iġġiegħel lin-nodi tan-netwerk li fadal jaqblu mad-deċiżjoni tagħhom. Alice tista' ġġiegħel lil xi nodi jimteddu f'isimha, iżda jekk in-netwerk ikun kbir biżżejjed, it-tentattiv tagħha jkun megħlub mill-voti ta 'nodi onesti.

Kemm-il nodi huma meħtieġa għall-kworum? Bħala minimu, maġġoranza, jew aħjar, maġġoranza kwalifikata biex jiġu miġġielda l-iżbalji u l-frodi. Iżda biex tgħodd il-maġġoranza, trid tkun taf in-numru totali ta 'parteċipanti. Fl-uffiċċju Interstellar jew fl-elezzjonijiet tad-distrett, dawn in-numri huma faċli biex jinstabu. Imma jekk il-grupp tiegħek huwa netwerk definit b'mod laxk li fih in-nodi jistgħu jidħlu u jitilqu skond ir-rieda mingħajr approvazzjoni miċ-ċentru, allura għandek bżonn federali sistema ta’ ftehim Biżantini kapaċi li tiddetermina kworums mhux minn lista predeterminata ta’ nodi, iżda b’mod dinamiku, minn stampa ta’ nodi li dejjem tinbidel u inevitabbilment mhux kompluta f’punt partikolari fiż-żmien.

Jista 'jidher impossibbli li jinħoloq kworum mill-perspettiva ta' nodu wieħed f'netwerk vast, iżda huwa possibbli. Kworum bħal dan jista' saħansitra jiggarantixxi r-riżultati tal-votazzjoni deċentralizzata. Il-white paper SCP turi kif tagħmel dan billi tuża proċedura msejħa b’vot federali.

Għall paċenzja

Il-bqija tal-artikolu jiddeskrivi l-votazzjoni federata u l-protokoll ta 'kunsens Stellar f'aktar dettall. Jekk m'intix interessat fid-dettalji, hawn ħarsa ġenerali ġenerali tal-proċess.

  1. In-nodi jwettqu rawnds ta 'votazzjoni federali fuq "in-nominati". Sewnd ta' votazzjoni federali jfisser:
    • In-nodu jivvota għal xi dikjarazzjoni, pereżempju, "Nipproponi l-valur ta 'V";
    • In-nodu jisma' l-vuċijiet tal-pari sakemm isib wieħed li jista '"jirċievi";
    • In-nodu jfittex "kworum" għal din l-affermazzjoni. Kworum “jikkonferma” lill-persuna nominata.
  2. Ladarba nodu jkun jista' jikkonferma nomina waħda jew aktar, jipprova "jħejji" il-"votazzjoni" permezz ta' diversi rawnds ta' votazzjoni federata.
  3. Ladarba nodu jkun jista' jivverifika li l-votazzjoni hija lesta, jipprova jikkommettiha permezz ta' saħansitra aktar rawnds ta' votazzjoni federata.
  4. Ladarba nodu jista 'jikkonferma impenn ta' votazzjoni, jista '"esternalizza" il-valur ta' dik il-votazzjoni billi jużaha bħala riżultat ta 'kunsens.

Dawn il-passi jinvolvu rawnds multipli ta’ votazzjoni federata, li kollettivament jiffurmaw rawnd SCP wieħed. Ejja nagħtu ħarsa aktar mill-qrib lejn x'jiġri f'kull pass.

Votazzjoni federata

Il-votazzjoni federata hija proċedura biex jiġi ddeterminat jekk in-netwerk jistax jaqbel fuq proposta. Fir-rawnd tal-votazzjoni, kull nodu jrid jagħżel wieħed minn potenzjalment ħafna valuri possibbli. Ma jistax jagħmel dan sakemm ma jkunx kunfidenti li nodi oħra fin-netwerk mhux se jagħżlu riżultat differenti. Biex jiġi żgurat li dan, in-nodi jiskambjaw barage ta 'messaġġi 'l quddiem u lura sabiex kulħadd ikkonfermatLi kworum ngroppi taċċetta l-istess ħaġa deċiżjoni. Il-bqija ta’ din it-taqsima tispjega t-termini f’din is-sentenza u kif isseħħ il-proċedura kollha.

Quorums u slices tal-kworum

Nibdew billi niddefinixxu kworum. Kif iddiskutejna hawn fuq, f'netwerk deċentralizzat bi sħubija dinamika, huwa impossibbli li tkun taf minn qabel in-numru ta 'nodi u għalhekk kemm huma meħtieġa għall-maġġoranza. Il-votazzjoni federata ssolvi din il-problema billi tintroduċi idea ġdida qtugħ tal-kworum (porzjon tal-kworum): Sett żgħir ta’ peers li node jafda biex jikkomunika informazzjoni dwar l-istatus tal-votazzjoni lill-bqija tan-netwerk. Kull node jiddefinixxi l-porzjon tal-kworum tiegħu stess (li tiegħu jsir membru de facto).

Il-formazzjoni tal-kworum tibda b’qatgħa tal-kworum. Għal kull nodu, in-nodi maqtugħin tiegħu huma miżjuda. Imbagħad it-termini tal-porzjon huma miżjuda dawn in-nodi u l-bqija. Hekk kif tkompli, hemm aktar u aktar nodi li ma tistax iżżid minħabba li huma diġà inklużi fil-porzjon. Meta ma jkunx hemm aktar nodi ġodda x'jiżżid, il-proċess jieqaf: ffurmajna kworum b'"għeluq transittiv" tal-porzjon tal-kworum tan-nodu inizjali.

Nifhmu l-Protokoll tal-Kunsens Stellari
Biex issib kworum minn nodu partikolari...

Nifhmu l-Protokoll tal-Kunsens Stellari
... żid membri tal-porzjon tagħha...

Nifhmu l-Protokoll tal-Kunsens Stellari
... imbagħad inżidu membri slice ta 'dawn in-nodi.

Nifhmu l-Protokoll tal-Kunsens Stellari
Aħna nkomplu sakemm ma fadal l-ebda nodi x'inżidu.

Nifhmu l-Protokoll tal-Kunsens Stellari

Nifhmu l-Protokoll tal-Kunsens Stellari
M'hemm l-ebda nodi xellug biex iżżid. Dan huwa kworum.

Fil-fatt, kull nodu jista 'jidher f'aktar minn porzjon wieħed. Biex tifforma kworum, agħżel waħda biss mill-flieli u żid il-membri; imbagħad agħżel kwalunkwe porzjon għal kull wieħed mill-membri u żid membri ta 'dan maqtugħa u l-bqija. Dan ifisser li kull nodu huwa membru ta 'ħafna kworums possibbli.

Nifhmu l-Protokoll tal-Kunsens Stellari
Agħżel porzjon ta' kworum wieħed biss f'kull pass.

Nifhmu l-Protokoll tal-Kunsens Stellari

Nifhmu l-Protokoll tal-Kunsens Stellari

Nifhmu l-Protokoll tal-Kunsens Stellari
Quorum wieħed possibbli. Jew alternattiva...

Nifhmu l-Protokoll tal-Kunsens Stellari
... agħżel slices oħra...

Nifhmu l-Protokoll tal-Kunsens Stellari

Nifhmu l-Protokoll tal-Kunsens Stellari
…(meta jkun possibbli)…

Nifhmu l-Protokoll tal-Kunsens Stellari
... joħloq kworum ieħor.

Kif node jaf f'liema flieli hemm nodi oħra? Bl-istess mod bħal informazzjoni oħra dwar nodi oħra: mit-trażmissjonijiet li kull nodu jxandar lin-netwerk meta l-istat tal-votazzjoni tiegħu jinbidel. Kull xandira tinkludi informazzjoni dwar il-flieli tan-node li jibgħat. Il-white paper tal-SCP ma tispeċifikax mekkaniżmu ta' komunikazzjoni. Implimentazzjonijiet tipikament jużaw protokoll tal-gossip għal xandir garantit ta' messaġġi fin-netwerk kollu.

Ifakkar li fis-sistema ta 'ftehimiet Biżantini mhux federali, kworum huwa definit bħala maġġoranza tan-nodi kollha. Is-sistema ta 'ftehim Biżantin hija mfassla mil-lat tal-mistoqsija: kemm-il nodi diżonesti tista' tittollera s-sistema? F'sistema ta 'N nodes iddisinjati biex jgħix f fallimenti, node għandu jkun kapaċi jagħmel progress billi jirċievi feedback minn N-f peers peress li f minnhom jistgħu jkunu stabbiliti. Iżda wara li rċevejna tweġiba minn N-f peers, nistgħu nassumu li f peers kollha (li minnhom in-node ma rċievax tweġiba) huma fil-fatt onesti. Għalhekk, f minn N-f peers (li minnhom waslet ir-risposta) huma malizzjużi. Biex in-nodi jaslu għall-istess kunsens, il-maġġoranza tan-nodi li fadal għandhom ikunu onesti, jiġifieri, għandna bżonn li N-f ikun akbar minn 2f jew N > 3f. Allura tipikament sistema ddisinjata biex tgħix f fallimenti se jkollha total ta 'N=3f+1 nodi u daqs tal-kworum ta' 2f+1. Ladarba proposta tgħaddi mil-limitu tal-kworum, il-bqija tan-netwerk ikun konvint li kwalunkwe proposta li tikkompeti se tfalli. Dan huwa kif in-netwerk jikkonverġi għar-riżultat.

Iżda f'sistema federali ta 'ftehim Biżantin, mhux biss ma jistax ikun hemm maġġoranza (għax ħadd ma jaf id-daqs totali tan-netwerk), iżda l-kunċett ta' maġġoranza huwa kompletament inutli! Jekk is-sħubija fis-sistema tkun miftuħa, allura xi ħadd jista 'jikseb maġġoranza sempliċiment billi jwettaq l-hekk imsejjaħ attakk Sybil: ripetutament jingħaqad man-netwerk f'diversi nodi. Allura għaliex jista 'jissejjaħ l-għeluq tranżittiv tal-porzjon kworum, u kif kapaċi irażżan il-proposti li jikkompetu?

Teknikament, bl-ebda mod! Immaġina netwerk ta 'sitt nodi, fejn żewġ triplets huma iżolati fil-biċċiet tal-kworum ta' xulxin. L-ewwel sottogrupp jista’ jieħu deċiżjoni li t-tieni qatt mhu se jisma’ dwarha, u viċeversa. M'hemm l-ebda mod biex dan in-netwerk jilħaq kunsens (ħlief b'kumbinazzjoni).

Għalhekk, SCP jeħtieġ li għall-votazzjoni federata (u biex japplikaw it-teoremi importanti tal-karta), in-netwerk irid ikollu proprjetà msejħa intersezzjoni tal-kworums. F'netwerk b'din il-proprjetà, kwalunkwe żewġ kworums li jistgħu jinbnew dejjem jikkoinċidu f'mill-inqas nodu wieħed. Biex jiġi ddeterminat is-sentiment prevalenti tan-netwerk, dan huwa tajjeb daqs li jkollok maġġoranza. Intuwittivament, dan ifisser li jekk xi kworum jaqbel mad-dikjarazzjoni X, l-ebda kworum ieħor ma jista' qatt jaqbel ma' xi ħaġa oħra, għax bilfors se jinkludi xi nodu mill-ewwel kworum li diġà ivvota għal X.

Nifhmu l-Protokoll tal-Kunsens Stellari
Jekk ikun hemm intersezzjoni ta' kworums fin-netwerk...

Nifhmu l-Protokoll tal-Kunsens Stellari
...mela kwalunkwe żewġ kworum li tista' tibni...

Nifhmu l-Protokoll tal-Kunsens Stellari
... dejjem se jaqsmu.

Nifhmu l-Protokoll tal-Kunsens Stellari

Nifhmu l-Protokoll tal-Kunsens Stellari

(Naturalment, l-għoqiedi li jikkoinċidu jistgħu jirriżultaw li jinsabu biżantini jew inkella ħżiena. F'dan il-każ, l-intersezzjoni tal-kworum ma tgħin xejn li n-netwerk jaqbel. Għal din ir-raġuni, ħafna mir-riżultati fil-white paper SCP huma bbażati fuq suppożizzjonijiet espliċiti, bħal dak li jibqa' fil-qsim tal-kworum tan-netwerk anke wara li tneħħi l-għoqiedi ħżiena. Għal sempliċità, ejja nħallu dawn is-suppożizzjonijiet impliċita fil-kumplament tal-artiklu).

Jista 'jidher mhux raġonevoli li wieħed jistenna li qsim ta' kworum affidabbli huwa possibbli f'netwerk ta 'nodi indipendenti. Iżda hemm żewġ raġunijiet għaliex dan huwa hekk.

L-ewwel raġuni hija l-eżistenza tal-Internet innifsu. L-Internet huwa eżempju perfett ta 'netwerk ta' nodi indipendenti b'kworums li jintersetaw. Il-biċċa l-kbira tan-nodi fuq l-Internet jgħaqqdu biss ma 'ftit nodi lokali oħra, iżda dawn is-settijiet żgħar jikkoinċidu biżżejjed li kull nodu jista' jintlaħaq minn kull nodu ieħor tul xi rotta.

It-tieni raġuni hija speċifika għan-netwerk ta 'ħlas Stellar (l-aktar użu komuni ta' SCP). Kull assi fuq in-netwerk Stellar għandu emittent, u l-linji gwida ta 'Stellar jeħtieġu li kull emittent jinnomina nodu wieħed jew aktar fin-netwerk biex jipproċessa talbiet ta' fidwa. Huwa fl-aħjar interess tiegħek li direttament jew indirettament tinkludi dawn in-nodi fi slices tal-kworum għal kull assi li inti interessat fih. Il-kworum għan-nodi kollha interessati f'assi partikolari mbagħad jikkoinċidu mill-inqas f'dawk in-nodi ta' fidwa. In-nodi interessati f'diversi assi se jinkludu n-nodi kollha tal-fidwa tal-emittenti rispettivi fil-biċċiet tal-kworum tagħhom, u se jfittxu li jiġbru l-assi kollha flimkien. Barra minn hekk, kwalunkwe assi li mhumiex marbuta b'dan il-mod ma 'oħrajn fuq in-netwerk, u m'għandhomx ikunu konnessi - dan huwa ddisinjat sabiex ma jkun hemm l-ebda kworum għal dan in-netwerk (pereżempju, banek miż-żona tad-dollaru kultant iridu jinnegozjaw ma’ banek miż-żona tal-euro u banek miż-żona tal-peso, għalhekk huma fuq l-istess netwerk, iżda xejn minnhom jimpurtahom min-netwerk separat tat-tfal li jbigħu karti tal-baseball).

Of course, stennija qsim tal-kworum mhuwiex garanzija. Sistemi oħra ta’ ftehim Biżantini għandhom ħafna mill-kumplessità tagħhom għall-garanzija tal-kworums. Innovazzjoni importanti ta 'SCP hija li tneħħi r-responsabbiltà għall-ħolqien ta' kworums mill-algoritmu ta 'kunsens innifsu u ġġibha għal-livell ta' applikazzjoni. Għalhekk, għalkemm il-votazzjoni federata hija ġenerali biżżejjed biex tivvota fuq kwalunkwe kwistjoni, l-affidabbiltà tagħha fil-fatt tiddependi b'mod kritiku fuq it-tifsira usa' ta' dawn it-tifsiriet. Xi użi ipotetiċi jistgħu ma jwasslux għall-ħolqien ta' netwerks konnessi tajjeb daqs oħrajn.

Votazzjoni, aċċettazzjoni u konferma

F'rawnd ta' votazzjoni federata, node b'għażla jibda jivvota għal xi valur V. Dan ifisser li jxandar messaġġ lin-netwerk: "Jien node N, il-biċċiet tal-kworum tiegħi huma Q, u qed nivvota għal V." Meta nodu jivvota b'dan il-mod, iwiegħed li qatt ma ivvota kontra V u qatt ma se.

F'xandiriet peer-to-peer, kull node jara kif jivvutaw l-oħrajn. Ladarba node jkun ġabar biżżejjed minn dawn il-messaġġi, jista' jsegwi slices tal-kworum u jipprova jsib kworums. Jekk jara kworum ta’ sħabhom li jivvutaw ukoll għal V, jista’ jipproċedi għal adozzjoni V u xandar dan il-messaġġ ġdid lin-netwerk: "Jien node N, il-biċċiet tal-kworum tiegħi huma Q, u naċċetta V." L-aċċettazzjoni tipprovdi garanzija aktar b'saħħitha minn votazzjoni sempliċi. Meta nodu jivvota għal V, qatt ma jista' jivvota għal għażliet oħra. Imma jekk node jaċċetta V, l-ebda nodu fuq in-Netwerk qatt ma jaċċetta l-għażla l-oħra (Teorema 8 fil-white paper SCP jipprova dan).

Naturalment, hemm probabbiltà kbira li mhux se jkun hemm immedjatament kworum ta 'nodi li jaqblu ma' V. Nodi oħra jistgħu jivvutaw għal valuri oħra. Iżda hemm mod ieħor biex nodu jimxi minn votazzjoni sempliċi għal aċċettazzjoni. N jista’ jaċċetta valur differenti għal W, anke jekk ma vvotax għaliha, u anke jekk ma jarax kworum għalih. Biex tiddeċiedi li tibdel il-vot tiegħek, ara biss imblukkar sett nodi li aċċettaw W. Sett imblukkar huwa nodu wieħed minn kull waħda mill-biċċiet tal-kworum N. Kif jissuġġerixxi l-isem, jista' blokka kwalunkwe tifsira oħra. Jekk in-nodi kollha f'sett bħal dan jaċċettaw W, allura (mit-Teorema 8) qatt ma jkun possibbli li jiġi ffurmat kworum li jieħu valur differenti, u għalhekk huwa wkoll sigur għal N li jaċċetta W.

Nifhmu l-Protokoll tal-Kunsens Stellari
Node N bi tliet slices tal-kworum.

Nifhmu l-Protokoll tal-Kunsens Stellari
BDF huwa sett ta 'imblukkar għal N: jinkludi nodu wieħed minn kull slices ta' N.

Nifhmu l-Protokoll tal-Kunsens Stellari
BE huwa wkoll sett imblukkar għal N minħabba li E jidher f'żewġ slices ta 'N.

Iżda s-sett tal-imblukkar mhuwiex kworum. Ikun faċli wisq li tqarraq in-node N biex jaċċetta l-valur mixtieq jekk ikun biżżejjed li tħassar nodu wieħed biss f'kull waħda mill-biċċiet ta 'N. Għalhekk, l-aċċettazzjoni tal-valur mhix it-tmiem tal-votazzjoni. Minflok, N għandu jikkonferma l-valur, jiġifieri, ara kworum ta 'nodi li jaċċettawh. Jekk jasal daqshekk, allura, kif jipprova l-whitepaper SCP (fit-Teorema 11), il-bqija tan-netwerk eventwalment jikkonferma wkoll l-istess valur, għalhekk N itemm il-vot federat b'ċertu valur bħala riżultat.

Nifhmu l-Protokoll tal-Kunsens Stellari
Votazzjoni federata.

Il-proċess tal-votazzjoni, l-aċċettazzjoni u l-konferma jikkostitwixxi rawnd wieħed sħiħ ta’ votazzjoni federata. Il-protokoll ta 'kunsens Stellar jgħaqqad ħafna minn dawn ir-rawnds biex joħloq sistema ta' kunsens kompluta.

Protokoll ta 'Kunsens Stellari

Iż-żewġ proprjetajiet l-aktar importanti ta 'sistema ta' kunsens huma - sigurtà и sopravivenza. Algoritmu ta 'kunsens huwa "sikur" jekk qatt ma jista' jagħti riżultati differenti lil parteċipanti differenti (il-kopja tal-istorja ta 'Bob qatt ma tikkontradixxi lil Carol). "Livability" tfisser li l-algoritmu dejjem jipproduċi riżultat, jiġifieri, mhux se jeħel.

Proċedura ta' votazzjoni federali deskritta sigur fis-sens li jekk nodu jikkonferma l-valur ta 'V, l-ebda nodu ieħor ma jikkonferma l-valur l-ieħor. Iżda "mhux se jikkonferma tifsira oħra" ma jfissirx li bilfors tikkonferma xi ħaġa. Il-parteċipanti jistgħu jivvutaw fuq tant valuri differenti li xejn ma jilħaq il-limitu ta 'aċċettazzjoni. Dan ifisser li fil-votazzjoni federali m'hemmx sopravivenza.

Il-protokoll ta 'kunsens Stellar juża votazzjoni federata b'mod li jiżgura kemm is-sigurtà kif ukoll is-sopravivenza. (Il-garanziji tas-sigurtà u tas-sopravivenza tal-SCP għandhom limitu teoretiku. Id-disinn jagħżel garanzija ta 'sigurtà b'saħħitha ħafna, li jissagrifikaw mitigazzjoni żgħira tas-sopravivenza, iżda minħabba biżżejjed żmien, huwa probabbli ħafna li jintlaħaq kunsens.) Fil-qosor, l-idea hija li jkun hemm voti federati multipli fuq valuri multipli sakemm wieħed minnhom jgħaddi mill-fażijiet kollha tal-votazzjoni SCP deskritti hawn taħt.

Il-valuri li SCP tfittex kunsens dwarhom jistgħu jkunu storja ta’ tranżazzjoni jew ordni ta’ ikla jew xi ħaġa oħra, iżda huwa importanti li wieħed jinnota li dawn mhumiex il-valuri li huma aċċettati jew ikkonfermati. Minflok, il-votazzjoni federali sseħħ skond dikjarazzjonijiet dwar dawn il-valuri.

L-ewwel rawnds tal-votazzjoni federali jsiru stadju tan-nomina (fażi ta 'nominazzjoni), fuq sett ta' dikjarazzjonijiet bħal "Nnomina V," forsi għal ħafna valuri differenti ta 'V. L-iskop tan-nomina huwa li ssib dikjarazzjoni waħda jew aktar li jgħaddu minn aċċettazzjoni u konferma.

Wara li ssib kandidati verifikabbli, SCP jgħaddi għall-fażi tal-votazzjoni, fejn l-għan huwa li jinstab ċertu bulettin (jiġifieri, kontenitur għall-valur propost) u kworum li jista 'jiddikjara jikkommettu għaliha (kommit). Jekk kworum jimpenja votazzjoni, il-valur tiegħu jiġi aċċettat bħala l-kunsens. Iżda qabel node jista' jivvota fuq impenn tal-votazzjoni, l-ewwel irid jikkonferma kanċellazzjoni il-voti kollha b'valur ta' kontro aktar baxx. Dawn il-passi—li tikkanċella l-votazzjonijiet biex tinstab waħda li tista’ tiġi impenjata—jinvolvi rawnds multipli ta’ votazzjoni federata fuq talbiet għal votazzjoni multipli.

It-taqsimiet li ġejjin jiddeskrivu n-nomina u l-votazzjoni f'aktar dettall.

Nominazzjoni

Fil-bidu tal-fażi tan-nomina, kull nodu jista’ jagħżel b’mod spontanju valur għal V u jivvota għad-dikjarazzjoni “Ninnomina V.” L-għan f'dan l-istadju huwa li tiġi kkonfermata n-nomina ta' xi valur permezz ta' vot federat.

Forsi biżżejjed nodi jivvutaw fuq proposti differenti biżżejjed li l-ebda nomina ma tista’ tilħaq il-limitu ta’ aċċettazzjoni. Għalhekk, minbarra li jxandru l-voti tan-nomina tagħhom stess, in-nodi "riflettu" in-nomini ta' sħabhom. Echo tfisser li jekk nodu jivvota għan-nomina V, iżda jara messaġġ minn ġar jivvota għan-nomina W, issa se jivvota kemm għal V kif ukoll għall-W. nominati differenti. SCP jinkludi mekkaniżmu biex jirregola dawn il-voti. Fil-qosor, hemm formula biex tiġi ddeterminata l-"prijorità" ta 'pari mill-perspettiva ta' node, u biss il-voti ta 'nodi ta' prijorità għolja huma riflessi. Aktar ma tkun itwal in-nomina jieħu, iktar ma jkun baxx il-limitu, sabiex in-nodu jespandi s-sett ta' peers li l-voti tagħhom se jirrifletti. Il-formula ta 'prijorità tinkludi n-numru ta' slot bħala wieħed mill-inputs tagħha, għalhekk peer ta 'prijorità għolja għal slot wieħed jista' jkun peer ta 'prijorità baxxa għal ieħor, u viċi versa).

Kunċettwalment, in-nomina hija parallela, kemm V kif ukoll W huma voti federali separati, kull wieħed individwalment kapaċi jikseb aċċettazzjoni jew konferma. Fil-prattika, il-messaġġi tal-protokoll SCP jippakkjaw dawn il-voti individwali flimkien.

Għalkemm il-votazzjoni għan-nomina ta’ V hija wegħda li qatt ma tivvota kontra n-nomina ta’ V, huwa fil-livell tal-applikazzjoni – f’dan il-każ SCP – li jiġi determinat xi tfisser “kontra”. SCP ma jarax dikjarazzjoni li tikkontradixxi l-vot "Jien innomina X", jiġifieri, m'hemm l-ebda messaġġ "Jien kontra n-nomina X", għalhekk in-nodu jista' jivvota biex jinnomina kwalunkwe valuri. Ħafna minn dawn in-nomini mhu se jmorru imkien, iżda eventwalment in-nodu jkun jista 'jaċċetta jew jikkonferma valur wieħed jew aktar. Ladarba persuna nominata tiġi kkonfermata, isir kandidat.

Nifhmu l-Protokoll tal-Kunsens Stellari
Nominazzjoni SCP bl-użu ta' votazzjoni federata. Jista 'jkun hemm ħafna valuri "B" mressqa minn sħabhom u "riflessi" min-nodu.

Nomini jistgħu jirriżultaw f'ħafna kandidati kkonfermati. Għalhekk, SCP jeħtieġ li s-saff ta 'applikazzjoni jipprovdi xi metodu ta' kif jgħaqqad il-kandidati f'wieħed kompost (kompost). Il-metodu li jgħaqqad jista 'jkun xi ħaġa. Il-ħaġa prinċipali hija li jekk dan il-metodu huwa deterministiku, allura kull nodu se jgħaqqad l-istess kandidati. F'sistema ta' votazzjoni għall-ikla ta' nofsinhar, "unifikazzjoni" tista' sempliċiment tfisser li tiċħad wieħed minn żewġ kandidati. (Iżda b'mod deterministiku: kull nodu għandu jagħżel l-istess valur biex jerġa 'jiġi reset. Per eżempju, l-għażla preċedenti f'ordni alfabetiku). Fin-netwerk tal-ħlas Stellar, fejn tiġi vvutata l-istorja tat-tranżazzjonijiet, l-għaqda ta’ żewġ nominati proposti tinvolvi l-għaqda tat-tranżazzjonijiet li fihom u l-aħħar miż-żewġ timestamps tagħhom.

Il-whitepaper SCP tipprova (Teorema 12) li sa tmiem il-fażi ta 'estensjoni, in-netwerk eventwalment jikkonverġi għal kompost wieħed. Iżda hemm problema: il-votazzjoni federata hija protokoll asinkroniku (bħal SCP). Fi kliem ieħor, in-nodi mhumiex ikkoordinati bil-ħin, iżda biss mill-messaġġi li jibagħtu. Mill-punt di vista tan-node, mhuwiex ċar meta spiċċat fażi ta' estensjoni. U għalkemm in-nodi kollha eventwalment jaslu fl-istess kompost, jistgħu jieħdu rotot differenti tul it-triq, u joħolqu kandidati komposti differenti tul it-triq, u qatt ma jistgħu jgħidu liema waħda hija l-aħħar waħda.

Imma huwa normali. In-nomina hija biss tħejjija. Il-ħaġa prinċipali hija li jiġi limitat in-numru ta 'kandidati biex jinkiseb kunsens, li jseħħ fil-proċess kandidat għall-kariga (votazzjoni).

Running

Bullettin huwa koppja , fejn counter huwa numru sħiħ li jibda f'1 u l-valur huwa kandidat mill-istadju tan-nomina. Dan jista' jkun kandidat ta' node stess jew kandidat ta' nodu ġar aċċettat minn dak in-nodu. Bejn wieħed u ieħor, votazzjoni tinvolvi tentattivi ripetuti biex in-netwerk jiġi mġiegħel jilħaq kunsens dwar xi kandidat fuq xi votazzjoni billi potenzjalment jinżammu ħafna voti federati fuq dikjarazzjonijiet tal-votazzjoni. Il-kontaturi fuq il-voti jżommu rekord tat-tentattivi li saru, u l-voti b'għadd ogħla jieħdu preċedenza fuq il-voti b'għadd aktar baxx. Jekk in-newsletter jeħel, jibda vot ġdid, issa fuq il-vot .

Huwa importanti li ssir distinzjoni valuri (pereżempju, x'għandha tkun l-ordni tal-ikla: pizza jew insalati), newsletters (par ta’ kontro-valur) u dikjarazzjonijiet dwar il-voti. Ir-rawnd SCP jinkludi diversi rawnds ta' votazzjoni federali, b'mod partikolari fuq id-dikjarazzjonijiet li ġejjin:

  • "Jien lest li nikkometti l-vot B" u
  • "Nħabbar l-impenn tal-votazzjoni B"

Mill-perspettiva ta' nodu partikolari, jintlaħaq kunsens meta jsib votazzjoni B li għaliha tista' tikkonferma (jiġifieri, issib kworum li taċċetta) id-dikjarazzjoni "Nagħmel votazzjoni B." Minn dan il-punt 'il quddiem, huwa sikur li taġixxi fuq il-valur speċifikat f'B - pereżempju, it-tqegħid ta' din l-ordni għall-ikel. Huwa msejjaħ esternalizzazzjoni tifsiriet. Ladarba l-aċċettazzjoni tal-votazzjoni tiġi kkonfermata, nodu jista' jkun ċert li kwalunkwe nodu ieħor esternalizza l-istess valur jew se jagħmel dan fil-futur.

Għalkemm ħafna voti federati huma konċettwalment imwettqa fuq pretensjonijiet għal ħafna votazzjonijiet differenti, ma jiskambjawx daqstant messaġġi minħabba li kull messaġġ jiġbor fih numru ta 'voti. B’hekk messaġġ wieħed jippromwovi l-istat ta’ ħafna voti federati f’daqqa, pereżempju: “Naċċetta votazzjonijiet ta’ impenn li jvarjaw minn qabel "

Xi jfissru t-termini “ppreparat” u “jimpenjaw”?

Nodu jivvota biex jikkommetti votazzjoni meta jkun kunfidenti li nodi oħra ma jikkommettux votazzjonijiet b'valuri differenti. Konvinċenti dan huwa l-iskop tat-tħejjija tal-applikazzjoni. Vot li jgħid "Jien lest li nikkometti votazzjoni B" hija wegħda li qatt ma tikkommetti votazzjoni iżgħar minn B, jiġifieri b'għadd iżgħar (SCP jeħtieġ li l-valuri fil-votazzjonijiet ikunu f'ċerta ordni. Għalhekk, newsletter anqas , jekk N1

Għaliex “Jien lest li nikkommetti votazzjoni B” tfisser “Jien inwiegħed li qatt ma nikkommetti votazzjonijiet iżgħar minn B”? Minħabba li SCP jiddefinixxi abort bħala l-oppost ta 'kommit. Vot biex titħejja vot jinvolvi wkoll vot biex jiġu skwalifikati xi votazzjonijiet oħra, u, kif iddiskutejna qabel, il-votazzjoni għal ħaġa waħda hija wegħda li qatt ma tivvota kontriha.

Qabel ma jxandar impenn, node għandu l-ewwel isib bulettin li jista' jikkonferma kif ippreparat. Fi kliem ieħor, jagħmel vot federat fuq is-suġġett “Jien lest li nwettaq il-vot B,” possibilment fuq ħafna votazzjonijiet differenti, sakemm isib waħda li taċċetta kworum.

Minn fejn ġejjin il-voti biex jitħejja l-vot? L-ewwel, in-node ixandar tħejjijiet biex jivvota għal <1,C>, fejn C huwa l-kandidat kompost prodott fl-istadju tan-nomina. Madankollu, anke wara li jibdew it-tħejjijiet għall-votazzjoni, in-nomini jistgħu jirriżultaw f’kandidati addizzjonali jidhru li jsiru votazzjonijiet ġodda. Sadanittant, sħabhom jista’ jkollhom kandidati differenti u jistgħu jiffurmaw sett ta’ imblukkar li jaċċetta “Jien lest li nikkometti l-vot B2” li jikkonvinċi lin-node jaċċettah ukoll. Fl-aħħar nett, hemm mekkaniżmu ta’ timeout li jiġġenera rawnds ġodda ta’ votazzjoni federata fuq votazzjonijiet ġodda b’għadd ogħla jekk il-voti attwali jkunu mwaħħla.

Hekk kif in-nodu jsib votazzjoni B li tista' tikkonferma kif ippreparata, ixandar messaġġ ġdid "Ibda l-votazzjoni B." Dan il-vot jgħid lil sħabhom li n-node qatt mhu se jċedi lil B. Fil-fatt, jekk B hija votazzjoni , imbagħad “Impenja votazzjoni " tfisser il-kunsens inkondizzjonat għall-votazzjoni għall-prontezza ta' kull votazzjoni minn sa <∞, s>. Dan il-valur żejjed jgħin lil peers oħra jlaħħqu mal-commit peer jekk ikunu għadhom fi stadji aktar bikrija tal-protokoll.

F'dan l-istadju, ta 'min jenfasizza għal darb'oħra li dawn huma protokolli asinkroniċi. Sempliċement għax nodu wieħed jibgħat upvotes għal impenn ma jfissirx li sħabu jagħmlu wkoll. Xi wħud minnhom jistgħu jkunu għadhom qed jivvutaw fuq dikjarazzjonijiet bi tħejjija għall-votazzjoni, oħrajn jistgħu jkunu diġà esternalizzaw it-tifsira. SCP jispjega kif node għandu jipproċessa kull tip ta 'messaġġ bejn il-pari irrispettivament mill-fażi tiegħu.

Jekk il-messaġġ "Ħabbar impenn » ma tistax tiġi riċevuta jew ikkonfermata, jiġifieri, il-probabbiltà li l-messaġġ jiġi aċċettat jew ikkonfermat jew - jew, fi kwalunkwe każ, kwalunkwe votazzjoni bil-valur C, u mhux kwalunkwe oħra, peress li n-nodu diġà wiegħed li qatt ma jikkanċella . Sakemm node ixandar il-voti għal impenn, ikun C jew xejn, skont kemm imur il-kunsens. Madankollu, dan għadu mhux biżżejjed biex in-node jesternalizza C. Xi sħabhom Biżantini (li jikkostitwixxu inqas minn kworum, ibbażat fuq is-suppożizzjonijiet tas-sigurtà tagħna) jistgħu jimteddu għan-nodu. Li taċċetta u mbagħad tikkonferma xi votazzjoni (jew firxa ta 'voti) huwa dak li jagħti lin-nodu l-kunfidenza biex finalment jesternalizza C.

Nifhmu l-Protokoll tal-Kunsens Stellari
Votazzjoni SCP permezz ta' votazzjoni federata. Mhux muri: It-tajmer jista' jintefa' fi kwalunkwe ħin, u dan iżid l-għadd fuq il-votazzjoni (u possibilment jipproduċi kompost ġdid ta' kandidati nominati addizzjonali).

U kollox! Ladarba n-netwerk ikun laħaq kunsens, ikun lest li jagħmel dan għal darb'oħra u għal darb'oħra. Fuq in-netwerk tal-ħlas Stellar, dan iseħħ bejn wieħed u ieħor darba kull 5 sekondi: proeza li teħtieġ kemm is-sigurtà kif ukoll is-sopravivenza garantiti minn SCP.

SCP jista' jikseb dan billi jiddependi fuq rawnds multipli ta' votazzjoni federata. Il-votazzjoni federata hija possibbli permezz tal-kunċett ta' slices ta' kworum: settijiet ta' peers li kull nodu ddeċieda li jafda bħala parti mill-kworum (suġġettiv) tiegħu. Din il-konfigurazzjoni tfisser li jista' jintlaħaq kunsens anke f'netwerk b'sħubija miftuħa u qerq Biżantini.

Aktar qari

  • Tista' ssib il-white paper oriġinali tal-SCP hawnU hawn abbozz ta' speċifikazzjonijiet għall-implimentazzjoni tiegħu.
  • L-awtur oriġinali tal-protokoll SCP, David Mazier, jispjegah b'mod simplifikat (iżda xorta tekniku). hawn.
  • Forsi kont sorpriż li ma ssibx it-termini "minjieri" jew "prova ta 'xogħol" f'dan l-artikolu. SCP ma jużax dawn il-metodi, iżda xi algoritmi oħra ta 'kunsens jagħmlu. Zane Witherspoon kiteb aċċessibbli ħarsa ġenerali tal-algoritmi ta' kunsens.
  • Deskrizzjoni pass pass netwerk sempliċi li jilħaq kunsens f'rawnd wieħed sħiħ ta 'SCP.
  • Għal qarrejja interessati fl-implimentazzjonijiet SCP: ara Kodiċi C++, użat min-netwerk tal-ħlas Stellar, jew Mur kodiċi, li ktibt biex nifhem aħjar l-SCP.

Sors: www.habr.com

Żid kumment