Kumvetsetsa Stellar Consensus Protocol

Kumvetsetsa Stellar Consensus Protocol

Protocol yogwirizana ya Stellar idafotokozedwa koyamba mu nkhani yasayansi David Mazier mu 2015. Uwu ndi "mgwirizano wamgwirizano wa boma la Byzantine" womwe umalola ma network opanda atsogoleri kuti agwirizane bwino pachisankho. Njira yolipira ya Stellar imagwiritsa ntchito Stellar Consensus Protocol (SCP) kuti isunge mbiri yokhazikika yomwe imawoneka kwa onse omwe akutenga nawo mbali.

Ma protocol ogwirizana amaonedwa kuti ndi ovuta kumvetsetsa. SCP ndi yosavuta kuposa ambiri a iwo, komabe amagawana mbiri iyi - mwina chifukwa cha lingaliro lolakwika kuti "mavoti a federal", omwe ndi mutu wa theka loyamba la nkhani ya sayansi, ndi SCP. Koma zimenezo si zoona! Ichi ndi chomangira chofunikira chomwe theka lachiwiri la nkhaniyi limagwiritsa ntchito popanga zenizeni Stellar consensus protocol.

M'nkhaniyi tifotokoza mwachidule zomwe "dongosolo la mgwirizano" ndi chiyani, chomwe chingapange "Byzantine" ndi chifukwa chiyani kupanga dongosolo la Byzantine "Federal". Tidzafotokozeranso ndondomeko yovota yogwirizana yomwe yafotokozedwa m'nkhani ya SCP, ndipo potsiriza tidzafotokozera ndondomeko ya SCP yokha.

Mgwirizano machitidwe

Ndondomeko ya mgwirizano imalola gulu la anthu kuti ligwirizane pamutu, monga momwe angayitanitsa nkhomaliro.

Ku Interstellar, takhazikitsa dongosolo lathu la mgwirizano wodyera: timayitanitsa zomwe woyang'anira ntchito, John, akunena. Iyi ndi njira yosavuta komanso yothandiza ya mgwirizano. Tonsefe timakhulupirira John ndipo timakhulupirira kuti adzapeza chinthu chosangalatsa komanso chopatsa thanzi tsiku lililonse.

Koma bwanji ngati John agwiritsa ntchito molakwa chikhulupiriro chathu? Akhoza kusankha yekha yekha kuti tonse tizikhala okonda kudya. Pakatha sabata imodzi kapena ziwiri, mwina tidzamugonjetsa ndikupereka mphamvu kwa Elizabeti. Koma mwadzidzidzi amakonda mapeyala okhala ndi anchovies ndipo amaganiza kuti aliyense ayenera kukhala choncho. Mphamvu zimawononga. Chifukwa chake ndi bwino kupeza njira ina ya demokalase: njira ina yowonetsetsa kuti zokonda zosiyanasiyana zimaganiziridwa, ndikuwonetsetsa zotsatira zanthawi yake komanso zomveka bwino, kuti palibe amene amamaliza kuyitanitsa nkhomaliro, kapena anthu asanu amayika malamulo osiyanasiyana, kapena kukambirana. zimakokera mpaka madzulo.

Zikuwoneka kuti yankho lake ndi losavuta: sungani voti! Koma izi ndi malingaliro osokeretsa. Ndani adzatole mavoti ndi kunena zotsatira zake? Nanga n’cifukwa ciani ena ayenela kukhulupilila zimene iye amakamba? Mwina tingathe poyamba voterani mtsogoleri yemwe timamukhulupirira kuti atsogolere kuvota - koma amene adzawatsogolera choyamba mwa kuvota? Bwanji ngati sitingagwirizane za mtsogoleri? Kapena bwanji ngati tigwirizana, koma mtsogoleriyu angokhala pamisonkhano kapena kupita kutchuthi chodwala?

Mavuto ofananawo amapezeka pamakompyuta ogawidwa. Onse omwe atenga nawo mbali kapena ma node akuyenera kuvomereza lingaliro lina, monga kuti ndi nthawi yani yosinthira fayilo yogawana kapena kuchotsa ntchito pamzere wokonza. Mu netiweki ya cryptocurrency, ma node mobwerezabwereza amayenera kusankha momwe nkhani yonse imawonekera kuchokera kumitundu ingapo, yomwe nthawi zina imatsutsana. Mgwirizano wapaintanetiwu umapereka chitsimikizo kwa wolandira kuti ndalamazo ndi (a) zovomerezeka (osati zabodza) komanso (b) sizinagwiritsidwebe kwina. Izi zimatsimikiziranso kuti adzatha kugwiritsa ntchito ndalamazo m'tsogolomu chifukwa wolandira watsopanoyo adzakhala ndi zitsimikizo zomwezo pazifukwa zomwezo.

Dongosolo lililonse logwirizana mu network yogawa makompyuta liyenera kukhala lololera zolakwika: liyenera kutulutsa zotsatira zofananira ngakhale zolakwika monga maulalo oyenda pang'onopang'ono, ma node osayankha, ndi kuyitanitsa kolakwika kwa uthenga. Byzantine Dongosolo la mgwirizanowu limalimbananso ndi zolakwika za "Byzantine": ma node omwe amapereka zidziwitso zabodza, kaya chifukwa cha zolakwika kapena mwadala kuyesa kusokoneza dongosolo kapena kupeza mwayi. "Byzantine" kulolerana zolakwa - kuthekera kokhulupirira chigamulo cha gulu ngakhale mamembala ena anganama kapena osatsata malamulo opangira zisankho - amatchedwa. fanizo la akazembe a Ufumu wa Byzantineamene anayesa kugwirizanitsa kuukira. Kufotokozera kwabwino ndi Anthony Stevens.

Ganizirani za Alice yemwe ali ndi ndalama ya crypto, yemwe ayenera kusankha pakati pa kugula ayisikilimu okoma kwa Bob ndi kulipira ngongole ya Carol. Mwina Alice akufuna kuwalipira onse awiri nthawi imodzi mwachinyengo pogwiritsa ntchito ndalama imodzi. Kuti achite izi, ayenera kutsimikizira kompyuta ya Bob kuti ndalamazo sizinalipidwe kwa Carol, ndikutsimikizira kompyuta ya Carol kuti ndalamazo sizinalipidwe kwa Bob. Mgwirizano wa Byzantine umapangitsa izi kukhala zosatheka, pogwiritsa ntchito mtundu waulamuliro wambiri wotchedwa chiwerengero. Node mu maukonde oterowo amakana kusamukira ku mtundu wina wa mbiri mpaka atawona kuti anzako okwanira - quorum - amavomereza kusintha kotere. Izi zikachitika, apanga bwalo lovota lalikulu mokwanira kukakamiza ma netiweki otsalawo kuti agwirizane ndi lingaliro lawo. Alice akhoza kukakamiza mfundo zina kuti zimunyemere m'malo mwake, koma ngati maukonde ndi aakulu mokwanira, kuyesa kwake kudzagonjetsedwa ndi mavoti a mfundo zoona.

Ndi ma node angati omwe amafunikira pa quorum? Pang'ono ndi pang'ono, ambiri, kapena kani, ambiri oyenerera kuti athane ndi zolakwika ndi chinyengo. Koma kuti muwerenge ochuluka, muyenera kudziwa chiŵerengero chonse cha otenga nawo mbali. Ku ofesi ya Interstellar kapena pamasankho achigawo, manambalawa ndi osavuta kupeza. Koma ngati gulu lanu lili ndi netiweki yodziwika bwino momwe ma node amatha kulowa ndikuchoka popanda chilolezo chapakati, ndiye kuti muyenera Federal dongosolo la mgwirizano wa Byzantine lomwe limatha kudziwa kuchuluka kwa ma quorums osati kuchokera pamndandanda wokonzedweratu wa node, koma mwamphamvu, kuchokera pazithunzi zosinthika nthawi zonse komanso zosakwanira za nodi panthawi yake.

Zingawoneke zosatheka kupanga quorum kuchokera pamalingaliro a node imodzi mu network yayikulu, koma ndizotheka. Chiwerengero choterechi chingathe kutsimikizira zotsatira za kuvota kogawidwa. Pepala loyera la SCP likuwonetsa momwe mungachitire izi pogwiritsa ntchito njira yotchedwa pa voti ya federal.

Kwa osapirira

Nkhani yonseyi ikufotokoza kuvota kwa federal ndi Stellar consensus protocol mwatsatanetsatane. Ngati mulibe chidwi ndi zambiri, nazi mwachidule za ndondomekoyi.

  1. Ma node amayendetsa mavoti a federal pa "osankhidwa." Kuvotera ku federal kumatanthauza:
    • Node imavotera mawu ena, mwachitsanzo, "Ndikupereka mtengo wa V";
    • Node imamvetsera mawu a anzawo mpaka itapeza yemwe angathe "kulandira";
    • Node imayang'ana "quorum" pazolinga izi. Chiwerengero "chimatsimikizira" wosankhidwayo.
  2. Node ikatsimikizira osankhidwa kapena angapo, imayesetsa "kukonzekera" "voti" kudzera m'magulu angapo ovotera.
  3. Node ikatha kutsimikizira kuti voti yakonzeka, imayesa kuvota kudzera m'mavoti ochulukirapo.
  4. Node ikangotsimikizira kuvota, imatha "kutulutsa" mtengo wa votiyo poigwiritsa ntchito ngati zotsatira zogwirizana.

Masitepewa amaphatikiza mavoti angapo ogwirizana, omwe onse amapanga gulu limodzi la SCP. Tiyeni tione bwinobwino zimene zimachitika pa sitepe iliyonse.

Kuvota kogwirizana

Kuvota kwa Federated ndi njira yodziwira ngati maukonde angagwirizane pamalingaliro. Munthawi yovota, nodi iliyonse iyenera kusankha chimodzi mwazinthu zambiri zomwe zingatheke. Sichingathe kuchita izi pokhapokha ngati muli ndi chidaliro kuti ma node ena pa intaneti sangasankhe zotsatira zosiyana. Kuti muwonetsetse izi, ma node amasinthanitsa mauthenga ambiri mmbuyo ndi mtsogolo kuti aliyense anatsimikizira, izo chiwerengero mawanga amavomereza chinthu chomwecho chisankho. Gawo lonseli likufotokoza mawu omwe ali mu chiganizochi komanso momwe ndondomeko yonse imachitikira.

Quorums ndi magawo a quorum

Tiyeni tiyambe ndi kufotokoza quorum. Monga tafotokozera pamwambapa, mu network decentralized ndi umembala wamphamvu, ndizosatheka kudziwa pasadakhale kuchuluka kwa node kotero kuti ndi angati omwe amafunikira ambiri. Kuvota kogwirizana kumathetsa vutoli poyambitsa lingaliro latsopano quorum kudula (quorum slice): Gulu laling'ono la anzawo omwe malo amawakhulupirira kuti azitha kufotokoza zambiri za mavoti ku netiweki yonse. Node iliyonse imatanthauzira gawo lake la quorum (lomwe limakhala membala wa de facto).

Kupanga koramu kumayamba ndikudula chiwerengero. Pa mfundo iliyonse, ma node ake odulidwa amawonjezeredwa. Kenako mawu ang'onoang'ono amawonjezeredwa nodes izi ndi zina zotero. Pamene mukupitiriza, pali ma node ochulukirachulukira omwe simungathe kuwonjezera chifukwa aphatikizidwa kale mugawoli. Pamene palibe ma node atsopano owonjezera, ndondomekoyi imayima: tapanga quorum mwa "kutseka kwapang'onopang'ono" kwa gawo la quorum la node yoyamba.

Kumvetsetsa Stellar Consensus Protocol
Kuti mupeze quorum kuchokera ku node yomwe mwapatsidwa...

Kumvetsetsa Stellar Consensus Protocol
... onjezani mamembala agawo lake...

Kumvetsetsa Stellar Consensus Protocol
...ndiye tikuwonjezera magawo a magawo awa.

Kumvetsetsa Stellar Consensus Protocol
Timapitilira mpaka palibe node zomwe zatsala kuti tiwonjezere.

Kumvetsetsa Stellar Consensus Protocol

Kumvetsetsa Stellar Consensus Protocol
Palibe mfundo zomwe zatsala kuti muwonjezere. Ichi ndi chiwerengero.

M'malo mwake, node iliyonse imatha kuwoneka m'magawo angapo. Kuti mupange quorum, sankhani gawo limodzi lokha ndikuwonjezera mamembala; kenako sankhani kagawo kalikonse kwa mamembala onse ndikuwonjezera mamembala izo kudula ndi zina zotero. Izi zikutanthauza kuti mfundo iliyonse ndi membala wa ma quorum ambiri.

Kumvetsetsa Stellar Consensus Protocol
Sankhani gawo limodzi lokha la anthu pa sitepe iliyonse.

Kumvetsetsa Stellar Consensus Protocol

Kumvetsetsa Stellar Consensus Protocol

Kumvetsetsa Stellar Consensus Protocol
Koramu imodzi yotheka. Kapena njira ina ...

Kumvetsetsa Stellar Consensus Protocol
...sankhani magawo ena...

Kumvetsetsa Stellar Consensus Protocol

Kumvetsetsa Stellar Consensus Protocol
…(pamene zingatheke)…

Kumvetsetsa Stellar Consensus Protocol
... imapanga koramu ina.

Kodi nodi imadziwa bwanji magawo ena omwe alimo? Mofanana ndi zina zokhudza mfundo zina: kuchokera ku mauthenga omwe node iliyonse imawulutsira pa intaneti pamene dziko lake lovota likusintha. Kuwulutsa kulikonse kumaphatikizapo zambiri za magawo otumizira. Pepala loyera la SCP silifotokoza njira yolumikizirana. Zomwe zimagwiritsidwa ntchito nthawi zambiri miseche protocol kuti mauthenga atsimikizidwe pamanetiweki.

Kumbukirani kuti mumgwirizano womwe si wa boma la Byzantine, quorum imatanthauzidwa ngati ma node ambiri. Dongosolo la mgwirizano wa Byzantine lapangidwa kuchokera ku funso: ndi mfundo zingati zosakhulupirika zomwe dongosololi lingalole? M'dongosolo la N node lopangidwira kuti lipulumuke ku zolephera, mfundo iyenera kupita patsogolo polandira ndemanga kuchokera kwa anzawo a N-f popeza f a iwo akhoza kukhala pansi. Koma titalandira yankho kuchokera kwa anzawo a N-f, titha kuganiza kuti anzako onse (kumene node sanalandire yankho) ndi oona mtima. Chifukwa chake, f kuchokera mwa anzawo a N-f (komwe yankho lidalandiridwa) ndi oyipa. Kuti ma node agwirizane chimodzimodzi, mfundo zambiri zotsalira ziyenera kukhala zowona, ndiko kuti, tifunika N−f kukhala wamkulu kuposa 2f kapena N> 3f. Chifukwa chake dongosolo lomwe lapangidwa kuti lipulumuke kulephera kwa f lidzakhala ndi nambala zonse za N=3f+1 ndi kukula kwa quorum 2f+1. Pempho likadutsa malire, maukonde ena onse amakhala otsimikiza kuti malingaliro aliwonse opikisana adzalephera. Umu ndi momwe maukonde amasinthira ku zotsatira zake.

Koma mu dongosolo la mgwirizano wa boma la Byzantine, sikuti sipangakhale ambiri (chifukwa palibe amene amadziwa kukula kwa maukonde), koma lingaliro la ambiri ndilopanda ntchito! Ngati umembala mudongosolo uli wotseguka, ndiye kuti wina atha kupeza zambiri pongochita zomwe zimatchedwa Sybil attack: kujowina mobwerezabwereza ma netiweki kudutsa ma node angapo. Ndiye chifukwa chiyani kutsekedwa kwa kagawo kakang'ono kungatchulidwe chiwerengero, ndipo zingatheke bwanji kupondereza malingaliro omwe akupikisana nawo?

Mwaukadaulo, palibe! Tangoganizani maukonde a mfundo zisanu ndi imodzi, pomwe mapatatu atatu adzipatula mu magawo a chiwerengero cha wina ndi mzake. Gulu loyamba likhoza kupanga chisankho chomwe chachiwiri sichidzamva, ndipo mosiyana. Palibe njira yoti netiweki iyi igwirizane (kupatula mwamwayi).

Chifukwa chake, SCP imafuna kuti kuvota kogwirizana (komanso kuti mfundo zofunika za pepala zigwiritsidwe ntchito), maukonde ayenera kukhala ndi malo otchedwa mphambano ya quorums. Mu netiweki yokhala ndi izi, ma quorum awiri aliwonse omwe amatha kupangidwa nthawi zonse amalumikizana mu node imodzi. Kuti mudziwe momwe ma network alili, izi ndi zabwino ngati kukhala ndi ambiri. Mwachidziwitso, izi zikutanthauza kuti ngati quorum iliyonse ivomereza kunena X, palibe quoramu ina yomwe ingagwirizane ndi china chilichonse, chifukwa idzaphatikizanso mfundo zina kuchokera mu quorum yoyamba yomwe idavotera kale X.

Kumvetsetsa Stellar Consensus Protocol
Ngati pali mphambano ya quorums mu network ...

Kumvetsetsa Stellar Consensus Protocol
...ndiye ma quorum awiri aliwonse omwe mungapange...

Kumvetsetsa Stellar Consensus Protocol
...zidzadutsana nthawi zonse.

Kumvetsetsa Stellar Consensus Protocol

Kumvetsetsa Stellar Consensus Protocol

(Zowonadi, ma node ophatikizika amatha kukhala onama a Byzantine kapena ayi. Pachifukwa ichi, kuphatikizika kwa quorum sikuthandiza kuti maukonde agwirizane konse. Pachifukwa ichi, zotsatira zambiri mu pepala loyera la SCP zimachokera ku zongoganiza momveka bwino, monga zomwe zatsala mu network quorum kuwoloka ngakhale mutachotsa mfundo zoipa. Kuti zikhale zosavuta, tiyeni tisiye malingaliro awa wosatsimikizika m’nkhani yotsalayo).

Zitha kuwoneka ngati zosayenera kuyembekezera kuti kuwoloka kodalirika kovomerezeka ndikotheka mumndandanda wamagulu odziyimira pawokha. Koma pali zifukwa ziwiri zimene zilili choncho.

Chifukwa choyamba ndi kukhalapo kwa intaneti yokha. Intaneti ndi chitsanzo chabwino cha maukonde odziyimira pawokha okhala ndi ma quorum odutsana. Ma node ambiri pa intaneti amalumikizana ndi ma node ena am'deralo, koma magawo ang'onoang'ono awa amalumikizana mokwanira kotero kuti node iliyonse imatha kufikika kuchokera kunjira ina iliyonse.

Chifukwa chachiwiri ndi chachindunji pa network yolipira ya Stellar (yogwiritsa ntchito kwambiri SCP). Katundu aliyense pa netiweki ya Stellar ali ndi wopereka, ndipo malangizo a Stellar amafuna kuti wopereka aliyense asankhe node imodzi kapena zingapo pamaneti kuti akonze zopempha zawombole. Ndikwabwino kwa inu kuphatikizira mwachindunji kapena mwanjira ina ma node awa m'magawo a quorum pachinthu chilichonse chomwe mukufuna. Ma quorum a ma node onse omwe ali ndi chidwi ndi katundu woperekedwa adzalumikizana osachepera pa ma node awo owombola. Magawo omwe ali ndi chidwi ndi katundu wambiri adzaphatikizanso magawo onse owombola a omwe adapereka m'magawo awo a quorum, ndipo adzafuna kuphatikiza zinthu zonse pamodzi. Komanso, katundu aliyense kuti si ogwirizana motere kwa ena pa maukonde, ndi sayenera kulumikizidwa - izi zidapangidwa kuti pasakhale kuphatikizika kwa quorum pamaneti iyi (mwachitsanzo, mabanki ochokera kudera la dollar nthawi zina amafuna kugulitsa ndi mabanki ochokera kumayiko a euro ndi mabanki ochokera kudera la peso, kotero ali pamaneti omwewo, koma palibe a iwo amasamala za maukonde osiyana a ana ogulitsa makadi a baseball).

Inde, kudikirira kuwoloka quorum si chitsimikizo. Machitidwe ena a mgwirizano wa Byzantine ali ndi zovuta zambiri chifukwa cha chitsimikizo cha quorums. Kupanga kofunikira kwa SCP ndikuti kumachotsa udindo wopanga ma quorums kuchokera mu algorithm yogwirizana ndikubweretsa pamlingo wofunsira. Chifukwa chake, ngakhale kuti kuvota kophatikizana kumakhala kokwanira kuvota pa nkhani iliyonse, kudalirika kwake kumadalira kwambiri tanthauzo la matanthauzo amenewa. Ntchito zina zongopeka sizingakhale zothandiza kupanga maukonde olumikizidwa bwino monga ena.

Kuvota, kuvomereza ndi kutsimikizira

M'magulu ovota ochita mgwirizano, mavoti akuyamba kuvotera mtengo wake V. Izi zikutanthauza kuulutsa uthenga ku netiweki: "Ndine node N, magawo anga owerengera ndi Q, ndipo ndikuvotera V." Node ikavota motere, imalonjeza kuti sinavotere motsutsana ndi V ndipo sichidzatero.

Pakuwulutsa kwa anzawo, nodi iliyonse imawona momwe ena amavotera. Nodi ikatolera mauthenga okwanira, imatha kutsata magawo a quorum ndikuyesera kupeza ma quorum. Ngati awona gulu la anzawo omwe amavoteranso V, atha kupita kulera ana V ndikuwulutsa uthenga watsopanowu ku netiweki: "Ndine node N, magawo anga a quorum ndi Q, ndipo ndikuvomereza V." Kuvomereza kumapereka chitsimikizo champhamvu kuposa kuvota kosavuta. Node ikavotera V, singavotere zosankha zina. Koma ngati node ivomereza V, palibe node pa Network yomwe ingavomereze njira ina (Theorem 8 mu SCP whitepaper imatsimikizira izi).

Zoonadi, pali kuthekera kwakukulu kuti sipadzakhala nthawi yomweyo chiwerengero cha mfundo zomwe zimagwirizana ndi V. Ma node ena akhoza kuvotera mfundo zina. Koma pali njira ina yoti node isunthire kuchoka pakuvota kosavuta kupita ku kuvomera. N akhoza kuvomereza mtengo wosiyana wa W, ngakhale sanavotere, ndipo ngakhale sakuwona quorum yake. Kuti musankhe kusintha voti yanu, ingowonani kutsekereza seti mfundo zomwe zavomereza W. A blocking set ndi mfundo imodzi kuchokera pagawo lililonse la quorum N. Monga dzina likunenera, ikhoza chipika tanthauzo lina lirilonse. Ngati ma node onse mu seti yotere avomereza W, ndiye (mwa Theorem 8) sikungatheke kupanga quorum yomwe imatenga mtengo wosiyana, chifukwa chake ndikotetezekanso kuti N avomereze W.

Kumvetsetsa Stellar Consensus Protocol
Node N yokhala ndi magawo atatu a quorum.

Kumvetsetsa Stellar Consensus Protocol
BDF ndi seti yotchinga ya N: imaphatikizapo mfundo imodzi kuchokera pagawo lililonse la N.

Kumvetsetsa Stellar Consensus Protocol
BE ndiyonso yotsekera ya N chifukwa E imawoneka mu magawo awiri a N.

Koma kutsekereza seti si quorum. Zingakhale zosavuta kunyenga mfundo N kuvomereza mtengo wofunidwa ngati kunali kokwanira kuthyolako mfundo imodzi mu magawo onse a N. Choncho, kuvomereza mtengo si mapeto a kuvota. M'malo mwake, N iyenera kutsimikizira mtengo, ndiko kuti, kuwona kuchuluka kwa ma node akuvomereza. Zikafika patali, ndiye, monga whitepaper ya SCP ikutsimikizira (mu Theorem 11), maukonde ena onse pamapeto pake adzatsimikiziranso mtengo womwewo, kotero N idzathetsa voti yogwirizana ndi mtengo wake monga zotsatira.

Kumvetsetsa Stellar Consensus Protocol
Kuvota kogwirizana.

Njira yovota, kuvomereza, ndi kutsimikizira kumapanga gawo limodzi la kuvota kogwirizana. Protocol yogwirizana ya Stellar imaphatikiza zambiri mwazozungulira izi kuti apange dongosolo lathunthu logwirizana.

Stellar Consensus Protocol

Zinthu ziwiri zofunika kwambiri za dongosolo la mgwirizano ndi - chitetezo и kupulumuka. Chigwirizano chogwirizana ndi "chotetezeka" ngati sichingapereke zotsatira zosiyana kwa otenga nawo mbali (mbiri ya Bob sichidzatsutsana ndi Carol). "Livability" amatanthauza kuti algorithm nthawi zonse imatulutsa zotsatira, ndiye kuti, sizidzakakamira.

Tafotokoza ndondomeko ya voti ya federal otetezeka m'lingaliro lakuti ngati node imatsimikizira mtengo wa V, palibe node ina idzatsimikizira mtengo wina. Koma “sizidzatsimikizira tanthauzo lina” sizitanthauza kuti zidzatsimikiziradi kanthu kena. Otenga nawo mbali atha kuvotera pazikhalidwe zosiyanasiyana kotero kuti palibe chomwe chingafike povomerezeka. Izi zikutanthauza kuti mu voti ya federal palibe kupulumuka.

Protocol yogwirizana ya Stellar imagwiritsa ntchito kuvota kogwirizana m'njira yomwe imatsimikizira chitetezo komanso kupulumuka. (Zitsimikizo za chitetezo ndi kupulumuka kwa SCP zili ndi malire ongoyerekeza. Mapangidwewo amasankha chitsimikiziro champhamvu kwambiri chachitetezo, kupereka nsembe yochepetsera kupulumuka pang'ono, koma kupatsidwa nthawi yokwanira, kuvomerezana kumakhala kotheka kwambiri.) Mwachidule, lingaliro ndikukhala ndi mavoti angapo ogwirizana pamikhalidwe ingapo mpaka mmodzi wa iwo akwaniritse magawo onse ovota a SCP omwe afotokozedwa pansipa.

Miyezo yomwe SCP ikufuna kuvomerezana ikhoza kukhala mbiri yamalonda kapena nkhomaliro kapena china chake, koma ndikofunikira kudziwa kuti izi sizinthu zomwe zimavomerezedwa kapena kutsimikiziridwa. M'malo mwake, kuvota kwa federal kumachitika molingana ndi mawu okhudza mfundo izi.

Mavoti oyamba a federal amachitika pa siteji yosankhidwa (gawo losankhidwa), pamagulu a ziganizo monga "Ndimasankha V," mwinamwake pazikhalidwe zosiyanasiyana za V. Cholinga cha kusankhidwa ndikupeza chiganizo chimodzi kapena zingapo zomwe zimadutsa kuvomereza ndi kutsimikiziridwa.

Pambuyo popeza ofuna kutsimikizika, SCP imapitilira gawo lovota, komwe cholinga chake ndikupeza wina. nkhani (ndiko kuti, chidebe cha mtengo womwe ukufunidwa) ndi quorum yomwe ingathe kulengeza perekani kwa izo (kudzipereka). Ngati quorum ipanga voti, mtengo wake umavomerezedwa ngati mgwirizano. Koma node isanavotere povota, iyenera kutsimikizira kaye kuletsa mavoti onse okhala ndi mtengo wotsika. Masitepe awa - kuletsa mavoti kuti apeze omwe atha kuchitidwa - akuphatikiza mavoti angapo ogwirizana pamavoti angapo.

Magawo otsatirawa akufotokoza za kusankhidwa ndi kuvota mwatsatanetsatane.

Kusankhidwa

Kumayambiriro kwa gawo losankhidwa, nodi iliyonse imatha kusankha mtengo wa V ndikuvotera mawu oti "Ndasankha V." Cholinga pakadali pano ndikutsimikizira kusankhidwa kwa mtengo wina kudzera mu voti yogwirizana.

Mwinanso ma node okwanira amavotera pamalingaliro osiyanasiyana mokwanira kuti palibe kusankhidwa komwe kungafikire pamlingo wovomerezeka. Chifukwa chake, kuwonjezera pa kuwulutsa mavoti awo osankhidwa, ma node "amawonetsa" kusankhidwa kwa anzawo. Echo imatanthawuza kuti ngati node ivotera V, koma ikuwona uthenga wochokera kwa mnansi wake akuvotera W, tsopano idzavotera onse V ndi W. (Sikuti mavoti onse a anzawo amamveka panthawi yosankhidwa chifukwa izi zingayambitse kuphulika kwa Osankhidwa osiyanasiyana SCP ikuphatikizapo njira yoyendetsera mavotiwa Mwachidule, pali njira yodziwira "chotsogola" cha mnzanu kuchokera kumalingaliro amtundu wina, ndipo mavoti okhawo omwe ali ofunika kwambiri amawonekera. kutsitsa, kutsika polowera, kotero kuti mfundoyo imakulitsa gulu la anzawo omwe mavoti ake amawonetsa. Njira yofunika kwambiri imaphatikizapo nambala ya slot ngati imodzi mwazolowetsa zake, kotero kuti mnzake yemwe ali patsogolo kwambiri pagawo limodzi akhoza kukhala mnzake wocheperako wina, ndi mosemphanitsa).

M'malingaliro, kusankhidwa kukufanana, onse V ndi W ndi mavoti aboma osiyana, aliyense payekha amatha kuvomereza kapena kutsimikiziridwa. M'malo mwake, mauthenga a protocol a SCP amayika mavoti awa pamodzi.

Ngakhale kuti kuvota kwa V kusankhidwa ndi lonjezo loti simudzavota motsutsana ndi kusankhidwa kwa V, ndi pa mlingo wa ntchito-pankhaniyi SCP-kuti zatsimikiziridwa kuti "motsutsa" amatanthauza chiyani. SCP sichiwona mawu omwe amatsutsana ndi voti ya "Ndimasankha X", ndiko kuti, palibe "Ine ndikutsutsana ndi kusankha X" uthenga, kotero node ikhoza kuvota kuti isankhe zikhalidwe zilizonse. Zambiri mwazosankhidwazi sizipita kulikonse, koma pamapeto pake node idzatha kuvomereza kapena kutsimikizira chimodzi kapena zingapo. Wosankhidwayo akatsimikiziridwa, amakhala woyimira.

Kumvetsetsa Stellar Consensus Protocol
Kusankhidwa kwa SCP pogwiritsa ntchito kuvota kogwirizana. Pakhoza kukhala zinthu zambiri za "B" zomwe zimaperekedwa ndi anzawo komanso "zowonetsedwa" ndi mfundo.

Kusankhidwa kungapangitse kuti anthu ambiri atsimikizidwe kuti adzasankhidwa. Chifukwa chake, SCP imafuna gawo la ntchito kuti lipereke njira ina yophatikizira ofuna kukhala amodzi gulu (zophatikiza). Njira yolumikizira ikhoza kukhala chilichonse. Chinthu chachikulu ndi chakuti ngati njira iyi ndi yotsimikizika, ndiye kuti mfundo iliyonse idzaphatikizanso osankhidwa omwewo. M'mavoti a masana, "kugwirizanitsa" kungatanthauze kukana mmodzi mwa awiri omwe akufuna. (Koma m'njira yotsimikizika: mfundo iliyonse iyenera kusankha mtengo womwewo kuti mukhazikitsenso. Mwachitsanzo, kusankha koyambirira mu dongosolo la zilembo). Mu network yolipira ya Stellar, pomwe mbiri yamalonda imavoteledwa, kuphatikiza osankhidwa awiri omwe akufunsidwa kumaphatikizapo kuphatikiza zomwe ali nazo komanso zaposachedwa kwambiri paziwonetsero zawo ziwiri.

Whitepaper ya SCP imatsimikizira (Theorem 12) kuti pakutha kwa gawo lokulitsa, maukonde amasinthidwa kukhala gulu limodzi. Koma pali vuto: kuvota kogwirizana ndi njira yosasinthika (monga SCP). Mwa kuyankhula kwina, ma node samagwirizanitsidwa ndi nthawi, koma ndi mauthenga omwe amatumiza. Kuchokera pamalingaliro a node, sizikudziwika kuti ndi liti inatha gawo lowonjezera. Ndipo ngakhale ma node onse pamapeto pake adzafika pamphatikizidwe womwewo, amatha kutenga njira zosiyanasiyana panjira, ndikupanga osankhidwa osiyanasiyana panjira, ndipo sangadziwe kuti yomaliza ndi iti.

Koma zabwinobwino. Kusankhidwa ndikukonzekera chabe. Chinthu chachikulu ndikuchepetsa chiwerengero cha ofuna kuti akwaniritse mgwirizano, zomwe zimachitika panthawiyi kuthamangira udindo (kuvotera).

Kuthamanga

Bulletin ndi banja , pomwe kauntala ndi nambala yonse yomwe imayambira pa 1 ndipo mtengo ndi wosankhidwa kuchokera pagawo losankhidwa. Izi zitha kukhala voti wa nodi kapena woyimira woyandikana nawo wovomerezedwa ndi mfundoyo. Kunena zowona, kuvota kumaphatikizapo kuyesa mobwerezabwereza kukakamiza maukonde kuti agwirizane pamunthu wina pamavoti ena mwakukhala ndi mavoti ambiri ovomerezeka pamavoti. Owerengera pamavoti amatsata zomwe ayesa, ndipo mavoti okhala ndi mavoti apamwamba amakhala patsogolo kuposa mavoti okhala ndi ziwerengero zotsika. Ngati kalata ikakamira, voti yatsopano ikuyamba, tsopano pakuvota .

Ndikofunika kusiyanitsa mfundo (mwachitsanzo, chakudya chamasana chiyenera kukhala chiyani: pizza kapena saladi), makalata (zotsutsana ndi mtengo) ndi ziganizo za mavoti. Kuzungulira kwa SCP kumaphatikizapo mavoti angapo aboma, makamaka pazotsatira izi:

  • "Ndakonzeka kupanga voti B" ndi
  • "Ndikulengeza kudzipereka kwa voti B"

Kuchokera ku lingaliro la node yopatsidwa, mgwirizano umafikira pamene wapeza voti B yomwe ingatsimikizire (ndiko kuti, kupeza quorum kuvomereza) mawu akuti "Ndimapanga voti B." Kuyambira pano, ndibwino kuchitapo kanthu pamtengo womwe wafotokozedwa mu B - mwachitsanzo, kuyitanitsa nkhomaliro. Amatchedwa kutuluka kunja matanthauzo. Kamodzi kuvomereza voti kutsimikiziridwa, node ikhoza kukhala yotsimikiza kuti mfundo ina iliyonse yatulutsa mtengo womwewo kapena idzachita m'tsogolomu.

Ngakhale mavoti ambiri am'mabungwe amachitidwa mongoganizira za mavoti osiyanasiyana, sasinthana mauthenga ochuluka chifukwa uthenga uliwonse umakhala ndi mavoti angapo. Uthenga umodzi umalimbikitsa mavoti ambiri nthawi imodzi, mwachitsanzo: "Ndimavomereza mavoti kuyambira kale "

Kodi mawu oti “kukonzekera” ndi “kudzipereka” amatanthauza chiyani?

Ma node amavotera kuti apange voti pamene ali ndi chidaliro kuti ma node ena sadzachita mavoti okhala ndi mfundo zosiyana. Kutsimikizira izi ndi cholinga chokonzekera zofunsira. Voti yomwe imati "Ndakonzeka kupanga voti B" ndi lonjezo loti sindidzapanga voti yaying'ono kuposa B, mwachitsanzo, ndi chiwerengero chochepa (SCP imafuna kuti mavoti azikhala mu dongosolo linalake. Choncho, nkhani yamakalata Zochepa ngati n1

N’chifukwa chiyani “Ndine wokonzeka kuvota B” akutanthauza kuti “Ndikulonjeza kuti sindidzaponya mavoti ang’onoang’ono kuposa B”? Chifukwa SCP imatanthawuza kuchotsa mimba ngati chosiyana ndi kuchita. Kuvota pokonzekera kuvota kumakhudzanso voti yoletsa kuvota kwina, ndipo, monga tafotokozera kale, kuvotera chinthu chimodzi ndi lonjezo losavota motsutsa.

Asanaulutse zomwe alonjeza, node iyenera kupeza kaye nkhani yomwe ingatsimikizire ngati idakonzedwa. Mwa kuyankhula kwina, imapanga mavoti ogwirizana pamutu wakuti “Ndakonzeka kuponya voti B,” mwina pamavoti osiyanasiyana, mpaka itapeza wina wovomera voti.

Kodi mavoti amachokera kuti kukonzekera voti? Choyamba, node imawulutsa zokonzekera kuvotera <1,C>, pomwe C ndiye wopikisana nawo wopangidwa pamwambo wosankhidwa. Komabe, ngakhale kukonzekera kukavota kukayamba, kusankhidwa kungapangitse osankhidwa ena kuwoneka ngati mavoti atsopano. Pakadali pano, anzako amatha kukhala ndi osankhidwa osiyanasiyana, ndipo amatha kupanga chotchinga chomwe chimavomereza "Ndakonzeka kupanga voti ya B2," zomwe zingapangitse kuti nawonso avomereze. Pomaliza, pali njira yoti zisankho zomwe zatsala pang'ono kutha zomwe zimapanga mavoti atsopano ovotera pamavoti atsopano okhala ndi ziwerengero zochulukirapo ngati mavoti omwe alipo atsekeka.

Nodeyo ikangopeza voti B yomwe ingatsimikizire ngati yakonzedwa, imawulutsa uthenga watsopano "Commit voti B." Voti iyi imauza anzawo kuti node sidzasiya B. Ndipotu, ngati B ndi voti , kenako “Perekani voti " kutanthauza chilolezo chopanda malire kuti avotere kukonzekera kwa voti iliyonse kuchokera ku <∞, s>. Mtengo wowonjezerawu umathandizira anzawo ena kuti agwirizane ndi anzawo odzipereka ngati akadali m'magawo oyamba a protocol.

Pakadali pano, ndikofunikira kutsindikanso kuti awa ndi ma protocol asynchronous. Chifukwa chakuti node imodzi imatumiza mavoti kuti achite sizikutanthauza kuti anzawo nawonso amatero. Ena a iwo angakhale akuvoterabe mawu pokonzekera kuvota, ena angakhale atatulutsa kale tanthauzo lake. SCP ikufotokoza momwe node iyenera kusinthira mtundu uliwonse wa uthenga wa anzawo mosasamala kanthu za gawo lake.

Ngati uthengawo "Ndalengeza kudzipereka » sungalandilidwe kapena kutsimikiziridwa, ndiko kuti, kuthekera kwa uthenga kulandiridwa kapena kutsimikiziridwa kapena - kapena, mulimonse, voti iliyonse yokhala ndi mtengo wa C, osati ina iliyonse, popeza node idalonjeza kale kuti sadzasiya. . Pakadzafika nthawi yomwe node imawulutsa mavoti kuti achite, idzakhala C kapena ayi, kutengera momwe mgwirizanowo upitira. Komabe, izi sizinali zokwanira kuti node itulutse C. Ena anzako a Byzantine (omwe amapanga zochepa kuposa quorum, malinga ndi malingaliro athu a chitetezo) akhoza kunama ku mfundo. Kuvomera ndikutsimikizira voti (kapena mavoti angapo) ndizomwe zimapatsa node chidaliro kuti atulutse C.

Kumvetsetsa Stellar Consensus Protocol
Kuvota kwa SCP kudzera mu voti yogwirizana. Zosasonyezedwa: Chosungira nthawi chikhoza kuzimitsa nthawi iliyonse, ndikuwonjezera chiwerengero cha voti (ndipo mwina kupanga gulu lina la osankhidwa ena osankhidwa).

Ndipo ndizo zonse! Netiweki ikafika pa mgwirizano, ndi wokonzeka kuchita mobwerezabwereza. Pa network yolipira ya Stellar, izi zimachitika pafupifupi kamodzi pa masekondi a 5: ntchito yomwe imafunikira chitetezo ndi kupulumuka komwe kumatsimikiziridwa ndi SCP.

SCP ikhoza kukwaniritsa izi podalira mavoti angapo ogwirizana. Kuvota kogwirizana kumatheka ndi lingaliro la magawo owerengeka: magulu a anzawo omwe node iliyonse yaganiza zowakhulupirira ngati gawo la quorum (yofunikira). Kukonzekera uku kumatanthauza kuti mgwirizano ukhoza kufikiridwa ngakhale pa intaneti ndi umembala wotseguka ndi chinyengo cha Byzantine.

Kuwerenga kwina

  • Pepala loyera la SCP likhoza kupezeka apandi apa zolembedwa za kukhazikitsidwa kwake.
  • Wolemba woyamba wa protocol ya SCP, David Mazier, akufotokoza izi m'njira yosavuta (komabe yaukadaulo). apa.
  • Mwinamwake mwadabwa kuti simunapeze mawu akuti "migodi" kapena "umboni wa ntchito" m'nkhaniyi. SCP sigwiritsa ntchito njirazi, koma ma aligorivimu ena ogwirizana amachita. Zane Witherspoon analemba kupezeka mwachidule ma algorithms ogwirizana.
  • Kulongosola ndi masitepe netiweki yosavuta yomwe imafikira mgwirizano mumzere umodzi wathunthu wa SCP.
  • Kwa owerenga omwe ali ndi chidwi ndi kukhazikitsa kwa SCP: onani C++ kodi, yogwiritsidwa ntchito ndi network yolipira ya Stellar, kapena Go kodi, zomwe ndinalemba kuti ndimvetsetse bwino za SCP.

Source: www.habr.com

Kuwonjezera ndemanga