{"id":39478,"date":"2019-10-31T22:33:41","date_gmt":"2019-10-31T19:33:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/chto-takoe-igra-validatorov-ili-kak-zapustit-proof-of-stake-blokchejn\/"},"modified":"2019-10-31T22:33:41","modified_gmt":"2019-10-31T19:33:41","slug":"chto-takoe-igra-validatorov-ili-kak-zapustit-proof-of-stake-blokchejn","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/chto-takoe-igra-validatorov-ili-kak-zapustit-proof-of-stake-blokchejn","title":{"rendered":"Kaj je igra validatorjev ali \"kako zagnati proof-of-stake blokchain\"","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Torej, va\u0161a ekipa je kon\u010dala alpha razli\u010dico va\u0161ega blokchaina in pri\u0161el je \u010das za zagon testne mre\u017ee, nato pa \u0161e glavne mre\u017ee. Imate pravi blokchain, z neodvisnimi sodelujo\u010dimi, dobro ekonomsko strukturo, varnostjo, zasnovali ste upravljanje in zdaj je \u010das, da vse to preizkusite v praksi. V idealnem kriptoanarhi\u010dnem svetu objavite genesis block, kon\u010dno kodo nod in validatorji vse sami za\u017eenejo, postavijo vse podporne storitve in vse se zgodi samo od sebe. Ampak to je v izmi\u0161ljenem svetu, v resni\u010dnem pa mora ekipa pripraviti precej podporne programske opreme in razli\u010dnih manipulacij, da pomaga validatorjem vzpostaviti stabilno mre\u017eo. O tem govori ta \u010dlanek.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Zagon mre\u017e na osnovi konsenzov tipa \"proof-of-stake\", kjer se validatorji dolo\u010dajo z glasovi imetnikov tokenov sistema, je precej specifi\u010dno dejanje, saj je tudi zagon tradicionalnih, centralizirano upravljanih sistemov s desetinami in stotinami <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sl\/server\/\"   title=\"stre\u017enikov\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1275\">stre\u017enikov<\/a> sama po sebi ni preprosta naloga, blokchain pa je potrebno zagnati z trudom zvestih, a neodvisnih sodelujo\u010dih. In, \u010de v korporaciji ob zagonu skrbniki imajo popoln dostop do vseh strojev, dnevnikov, skupnega nadzora, validatorji ne pustijo nikogar do svojih stre\u017enikov in verjetno bodo raje zgradili svojo infrastrukturo sami, saj to nadzoruje dostop do glavnih sredstev validatorja \u2014 staking glasov. To vedenje omogo\u010da gradnjo distribucijskih varnih mre\u017e \u2014 neodvisnost uporabljenih obla\u010dnih ponudnikov, virtualnih in \"baremetal\" stre\u017enikov, razli\u010dni operacijski sistemi, vse to naredi napade na to mre\u017eo izjemno neu\u010dinkovite \u2014 preve\u010d razli\u010dne programske opreme se uporablja. Na primer, v Ethereumu se uporabljata dve glavne implementacije nod, v Go in v Rust, in napad, u\u010dinkovit za eno implementacijo, ne deluje za drugo.<\/p>\n<p><\/p>\n<p>Zato morajo biti vsi procesi zagon in delovanje blockchainov organizirani tako, da lahko kateri koli valid\u00e1tor, ali pa celo majhna skupina valid\u00e1torjev, kadarkoli vr\u017ee svoje ra\u010dunalnike skozi okno in odide, pri \u010demer ne sme ni\u010d razpadati in preostali validatorji morajo \u0161e naprej u\u010dinkovito podpirati delovanje omre\u017eja in povezovati nove validatore. Pri zagonu omre\u017eja, ko je en valid\u00e1tor v Evropi, drugi v Ju\u017eni Ameriki, tretji pa v Aziji, je precej te\u017eko dose\u010di usklajeno delovanje ve\u010d deset neodvisnih skupin in jih zanimati za rezultat. <\/p>\n<p><\/p>\n<h2 id=\"validatory\">Validatorji<\/h2>\n<p><\/p>\n<p>Predstavljajmo si zagon hipoteti\u010dnega sodobnega blockchaina (ve\u010dina opisanega velja za blockchain, ki temelji na katerem koli sodobnem dru\u017einskem blockchainu: Ethereum, EOS, Polkadot, Cosmos in drugih, ki predvidevajo konsenzus proof-of-stake. Glavni akterji takih blockchainov so ekipe-validatori, ki postavljajo svoje neodvisne stre\u017enike, ki validirajo in proizvajajo nove bloke, in prejemajo nagrade, predvidene s strani omre\u017eja za tiste, ki sodelujejo v konsenzusu. Za zagon novih omre\u017eij je potrebnih ve\u010d deset validatorjev (toliko jih lahko za zdaj relativno u\u010dinkovito dosega konsenz za sekunde), zato projekt razglasi registracijo, kjer validatori delijo javne informacije o sebi z uporabniki, prepri\u010dujejo jih, da nameravajo kakovostno slu\u017eiti zagnanemu omre\u017eju.<\/p>\n<p><\/p>\n<p>Validiranje je posel, ki omogo\u010da izjemno natan\u010dno oceno potencialnega dohodka validatora, hitro premikanje zmogljivosti med projekti, ob uspehu izbrane omre\u017ene situacije pa lahko valid\u00e1tor kot polnopravni \u010dlan DAO in odgovorna oseba razvija projekt ali preprosto zagotavlja odli\u010dno tehni\u010dno storitev za popolnoma pregledna in po\u0161teno zaslu\u017eena sredstva. Pri izra\u010dunu nagrad za validatore projekti posku\u0161ajo upo\u0161tevati stro\u0161ke validatorjev in narediti nagrado za bloke tako, da je ta posel dobi\u010dkonosen, hkrati pa ne omogo\u010da valid\u00e1torjem, da ru\u0161ijo ekonomijo tako, da jih zasipajo z denarjem ter jemljejo ostalim uporabnikom omre\u017eja.<\/p>\n<p><\/p>\n<p>Poslovna uloga validatora zahtijeva osiguranje visoke otpornosti usluga, \u0161to podrazumijeva visoki nivo obu\u010denosti devopsa i programera, te skupe ra\u010dunske resurse. \u010cak i bez potrebe za rudarenjem he\u0161eva u proof-of-work mre\u017eama, blockchain \u010dvor je velika usluga koja zahtijeva mnogo memorije, tro\u0161i mnogo ra\u010dunalnih resursa, validira, zapisuje na disk i \u0161alje velike koli\u010dine podataka u mre\u017eu. Za pohranu logova transakcija i lanaca blokova za blockchain s nekoliko tisu\u0107a malih transakcija u bloku danas je potrebna pohrana od 50 Gb ili vi\u0161e, a za blokove to bi trebao biti SSD. Dr\u017eavna baza podataka blockchaina s podr\u0161kom za pametne ugovore ve\u0107 mo\u017ee prema\u0161iti 64Gb RAM-a. Serveri s potrebnim karakteristikama su prili\u010dno skupi; \u010dvor Ethereum ili EOS mo\u017ee ko\u0161tati od 100 do 200 $\/mjese\u010dno. Dodajte tome pove\u0107ane tro\u0161kove rada za cjelodnevni rad programera i devopsa, koji vrijeme otkrivaju probleme i no\u0107u, jer dio validatora mo\u017ee biti na drugoj hemisferi. Ipak, u sretnim trenucima, posjedovanje validatornog \u010dvora mo\u017ee donijeti ozbiljan prihod (u slu\u010daju EOS \u2014 do 10 000$ dnevno).<\/p>\n<p><\/p>\n<p>Validacija je samo jedna od novih potencijalnih IT uloga za poduzetnike i tvrtke, kako programeri izmi\u0161ljaju sve slo\u017eenije algoritme koji nagra\u0111uju po\u0161tenje i ka\u017enjavaju prijevaru i kra\u0111u, pojavljuju se usluge koje obavljaju funkcije objavljivanja va\u017enih podataka (orakuli), nadziru (slashovanje depozita i ka\u017enjavanje prevaranata objavljivanjem dokaza o prevari), usluge rje\u0161avanja sporova, osiguranja i opcija, \u010dak je i garbage collection potencijalno veliko tr\u017ei\u0161te u sustavima pametnih ugovora, gdje je potrebno platiti za pohranu podataka. <\/p>\n<p><\/p>\n<h2 id=\"problemy-zapuska-blokcheyna\">Problemi pokretanja blockchaina<\/h2>\n<p><\/p>\n<p>Odprtost blockchain-a, ki omogo\u010da prosto sodelovanje v delovanju mre\u017ee ra\u010dunalnikov iz vseh dr\u017eav in enostavnost povezovanja v mre\u017eo za vsakogar po navodilih na GitHub-u, ni vedno prednost. V iskanju novega \u017eetona pogosto spodbudi validatorje, da \"rudarijo novo kovancem ob zagonu\", v upanju na rast cene in mo\u017enost hitrega prodajanja zaslu\u017eenega. To prav tako pomeni, da je va\u0161 validator lahko kdorkoli, celo neznana oseba, za katerega lahko glasujete tako kot za druge validatorje (resda bo neznanemu te\u017eko pridobiti glasove dele\u017enikov, zato stra\u0161ne zgodbe o anonimnih kriptovalutah pustimo politiki). Kljub temu,<\/p>\n<p><\/p>\n<p>Ekipa projekta ima nalogo \u2014 kako pridobiti v svojo mre\u017eo tiste, ki bodo v prihodnosti sposobni zagotavljati stabilno delovanje vozli\u0161\u010d, razumeti varnost, hitro re\u0161evati te\u017eave, sodelovati z drugimi validatorji in delovati skupaj \u2014 od teh lastnosti v veliki meri odvisna kakovost tistega \u017eetona, v katerega so udele\u017eenci mre\u017ee pripravljeni vlo\u017eiti svoje \u010das in sredstva. Razumne ustanovitelje, ki ocenjujejo tveganja, dobro razumejo, da se ob zagonu tak\u0161nega obsega programske opreme nujno sre\u010dajo z napakami v kodi, konfiguraciji vozli\u0161\u010d, in da je stabilnost mre\u017ee odvisna od tega, kako dobro bodo razvijalci in validatorji skupaj re\u0161evali take te\u017eave.<\/p>\n<p><\/p>\n<p>Ekipa je pripravljena glasovati v mainnetu za katerega koli validatorja, samo dobro bi bilo vedeti za katere, kateri so dobri? Najve\u010dje portfelje? Trenutno jih skoraj nih\u010de nima. Po profilih ekipe na LinkedIn-u? Izku\u0161eni devops ali varnostni strokovnjaki vam ne bodo dali nobenih profilov na LinkedIn-u. Po izjavah v klepetu, objavah in pomo\u010di drugim v pripravljalni fazi? Dobro, vendar subjektivno in neto\u010dno.<\/p>\n<p><\/p>\n<p>V tak\u0161nih razmerah ostane le eno \u2014 igrica, ki dobro re\u0161uje te\u017eave vseh \u2014 igro, v kateri bo mogo\u010de izbrati najbolj\u0161e validatorje, vendar glavno \u2014 preveriti blockchain na trdnost in izvesti obse\u017eno testiranje blockchain-a v pogojih aktivne uporabe, sprememb v konsenzu, nastajanja in odpravljanja napak. To proceduro so prvi\u010d predstavili kot igro fantje iz projekta Cosmos, in ta ideja je nedvomno odli\u010dna priprava mre\u017ee na zagon zanesljivega in odpornim mainnet-a.<\/p>\n<p><\/p>\n<h2 id=\"game-of-validators\">Igra validatorjev<\/h2>\n<p><\/p>\n<p>Opisujem igro validatorjev tako, kot smo jo zasnovali za blockchain DAO.Casino (DAOBet) na podlagi fork-a EOS, ki se imenuje Haya in ima podoben mehanizem upravljanja - validatorje izbirajo glasovi z katerega koli ra\u010duna, pri \u010demer je del ravnote\u017eja, s katerim glasujejo za validatorja, zamrznjen. Vsak ra\u010dun, ki ima na ravnote\u017eju glavni \u017eeton BET, lahko glasuje za izbranega validatorja s katerim koli delom svojega ravnote\u017eja. Glasovi se se\u0161tevajo in na podlagi tega se gradi seznam najbolj\u0161ih validatorjev. V razli\u010dnih blockchainih je ta proces organiziran na razli\u010dne na\u010dine, in obi\u010dajno je prav v tej to\u010dki nov blockchain druga\u010den od mati\u010dnega, in treba je re\u010di, da v na\u0161em primeru EOS popolnoma upravi\u010duje \u201cOS\u201d v svojem imenu, dejansko uporabljamo EOS kot osnovni operacijski sistem za uvajanje modificirane razli\u010dice blockchaina za potrebe DAOBet.<\/p>\n<p><\/p>\n<p>Opisoval bom posamezne te\u017eave in kako jih lahko re\u0161imo v okviru igre. Predstavljajmo si omre\u017eje, v katerem je va\u0161 stre\u017enik lahko odprto napaden, kjer je za ohranitev pozicije validatorja potrebno neprekinjeno sodelovati z omre\u017ejem, promovirati svojega validatorja in poskrbeti, da proizvaja bloke ter jih pravo\u010dasno dostavlja ostalim validatorjem, sicer bo validator izpadel iz seznama.<\/p>\n<p><\/p>\n<h3 id=\"kak-vybrat-top-pobediteley\">Kako izbrati najbolj\u0161e zmagovalce?<\/h3>\n<p><\/p>\n<p>Glavna tehni\u010dna zahteva za igro je, da so njeni rezultati javno preverljivi. To pomeni, da morajo biti rezultati igre: seznam najbolj\u0161ih zmagovalcev, oblikovani strogo na osnovi podatkov, ki jih lahko preveri vsak udele\u017eenec. V centraliziranem sistemu bi lahko merili \u201cdostopnost\u201d vsakega validatorja in nagradili tiste, ki so bili najve\u010d online ali so preusmerili maksimum omre\u017enega prometa. Lahko bi zbirali podatke o obremenitvi procesorja, pomnilnika in nagradili tiste, ki so po\u0161teno delali. Vendar pa vsak tak zbir podatkov pomeni obstoj centralne to\u010dke zbiranja, pa tudi vozli\u0161\u010da so neodvisna in se lahko obna\u0161ajo, kot \u017eelijo in po\u0161iljajo poljubne podatke.<\/p>\n<p><\/p>\n<p>Zato je naravna re\u0161itev ta, da morajo zmagovalci biti dolo\u010deni na podlagi podatkov iz verige blokov, saj je mogo\u010de videti, kateri od validatorjev je ustvaril kateri blok in katere transakcije so bile vanj vklju\u010dene. To \u0161tevilo smo poimenovali Validator Points (VP), in njihovo pridobivanje je glavni cilj validatorjev v igri. V na\u0161em primeru je najpreprostej\u0161a, javno preverljiva in u\u010dinkovita metrika 'uporabnosti' validatorja VP = \u0161tevilo blokov, ki jih je validator ustvaril v dolo\u010denem \u010dasovnem obdobju.<\/p>\n<p><\/p>\n<p>Ta preprosta izbira je utemeljena s tem, da governance v EOS \u017ee predvideva \u0161tevilne te\u017eave, saj je EOS naslednik \u017ee treh generacij dejansko delujo\u010dih blokovnih verig z bogatimi izku\u0161njami pri kompleksnem upravljanju omre\u017eja, in prakti\u010dno katere koli te\u017eave validatorja s omre\u017ejem, procesorjem, diskom vodijo le v en problem \u2014 podpira manj blokov, prejavlja manj\u0161e pla\u010dilo za delo, kar nas spet pripelje k \u0161tevilu podpisanih blokov \u2014 za EOS je to odli\u010dna in preprosta mo\u017enost.<\/p>\n<p><\/p>\n<p>Pri drugih blokovnih verigah se lahko na\u010din \u0161tetja Validator Points razlikuje, na primer pri konsenzusih, temelje\u010dih na pBFT (Tendermint\/Cosmos, Aura konsenzus iz Parity Substrate), kjer mora biti vsak blok podpisan s strani ve\u010d validatorjev, ima smisel \u0161teti posamezne podpise validatorjev, namesto blokov, mogo\u010de je smiselno upo\u0161tevati ne zaklju\u010dene runde konsenzusa, ki tro\u0161ijo vire drugih validatorjev, na splo\u0161no pa to mo\u010dno odvisno od tipa konsenzusa. <\/p>\n<p><\/p>\n<h3 id=\"kak-smodelirovat-realnye-usloviya-ekspluatacii\">Kako modelirati resni\u010dne pogoje delovanja<\/h3>\n<p><\/p>\n<p>Naloga ustanoviteljev je preveriti validatorje v pogojih, ki so \u010dim bli\u017eje realnosti, pri tem pa nimajo nobene centralizirane kontrole. Ta problem se lahko re\u0161i z vsemi poznanim 'faucet' pametnim pogodom, ki enakomerno razdeli osnovne tokene validatorjem in vsem zainteresiranim. Da pridobite tokene na svoj ra\u010dun, morate oblikovati transakcijo in dose\u010di, da jo omre\u017eje vklju\u010di v blok. Tako mora validator nenehno polniti svoj ra\u010dun z novimi tokenskimi in glasovati zase, da se povzpne v vrh. To delovanje ustvarja stalno obremenitev omre\u017eja, parametre pa je mo\u017eno prilagoditi tako, da je tok zahtev dovolj resen za temeljito testiranje omre\u017eja. Zato na\u010drtujte 'faucet' pametni pogodbo vnaprej kot pomembno orodje za zagon omre\u017eja in za\u010dnite prilagajati njene parametre \u017ee zgodaj.<\/p>\n<p><\/p>\n<p>Zahteva za tokene iz 'faucet' in glasovanje validatorjev \u0161e vedno ne do konca po\u0161teno emulira delovanje blockchaina, \u0161e posebej v izjemno obremenjenih re\u017eimih. Zato se bo ekipi blockchaina vseeno, na ta ali oni na\u010din, treba pisati dodatne benchmarke, ki omogo\u010dajo obremenitev omre\u017eja. Posebno vlogo pri tem igrajo vnaprej zasnovani pametni pogodki, ki omogo\u010dajo testiranje posameznih podsistemov. Za testiranje shranjevanja pametni pogodki shranjujejo naklju\u010dne podatke v blockchain, medtem ko testni pogodki za preverjanje omre\u017enih virov zahtevajo veliko koli\u010dino vhodnih podatkov, kar pove\u010duje obseg transakcij\u2014zagon toka takih transakcij ob naklju\u010dnih trenutkih omogo\u010da ekipi hkratno testiranje stabilnosti kode in vzdr\u017eljivosti validatorjev.<\/p>\n<p><\/p>\n<p>Poseben izziv predstavlja posodobitev kode vozli\u0161\u010d in izvajanje hard forkov. Potrebno je, da imajo validatorji v primeru pojava napak, ranljivosti ali zarote zlonamernih validatorjev pripravljen akcijski na\u010drt, \u017ee dolgo preizku\u0161an v igri validatorjev. Tukaj je mogo\u010de zasnovati sheme dodeljevanja VP za hitro izvajanje hard forka, na primer s kaznovanjem vseh validatorjev, ki \u0161e niso prenesli nove razli\u010dice kode vozli\u0161\u010da, a to ni enostavno izvesti in zaplete \u0161tetje. Simulirati situacijo nujne uporabe hard forka lahko umetno 'pokvarimo' blockchain na dolo\u010denem bloku. Proizvodnja blokov se ustavi in na koncu bodo v prednosti tisti, ki se bodo prej vklju\u010dili in za\u010deli podpisovati bloke, tako da je VP na podlagi \u0161tevila podpisanih blokov tukaj dobro utemeljen.<\/p>\n<p><\/p>\n<h3 id=\"kak-informirovat-uchastnikov-o-sostoyanii-seti-i-chinit-oshibki\">Kako obvestiti udele\u017eence o stanju omre\u017eja in odpraviti napake<\/h3>\n<p><\/p>\n<p>Kljub nezaupanju med validatorji je pomembno, da pravo\u010dasno pridobivajo aktualne informacije o stanju omre\u017eja, kar je vsem v korist, da lahko hitreje sprejemajo odlo\u010ditve. Zato ekipa projekta uvaja storitev za zbiranje in vizualizacijo \u0161tevilnih metrik iz stre\u017enikov validatorjev, ki omogo\u010da hkratno pogled na situacijo za celo omre\u017eje, kar hitro omogo\u010di ugotovitev, kaj se dogaja. Poleg tega je v obeh, validatorjih in projektu, koristno, da ekipa projekta hitro odpravlja ugotovljene napake. Zato se poleg zbiranja metrik smiselno takoj za\u017eene tudi zbiranje logov in podatkov o napakah iz validatorjev na stroju, dostopnem razvijalcem blockchaina. Tukaj nikomur ni v interesu zavajati informacij, zato te storitve uvaja ekipa projekta in jim je mogo\u010de zaupati. Smiselno je zbirati sistemske metrike z validatorjev ter nujno najpomembnej\u0161e metrike samega blockchaina \u2014 za DAOBet sta to \u010das finalizacije in zaostanek zadnjega finaliziranega bloka. Tako ekipa vidi pove\u010danje porabe pomnilnika na vozli\u0161\u010dih ob zagonu benchmarka, te\u017eave posameznih validatorjev. <\/p>\n<p><\/p>\n<h2 id=\"vazhnye-momenty-po-provedeniyu-igry-validatorov\">Pomembne to\u010dke za izvajanje igre validatorjev<\/h2>\n<p><\/p>\n<p>Kot se je izkazalo, \u010de \u017eelite uradno dovoliti validatorjem, da napadajo medsebojno (neformalno to \u017ee lahko po\u010dnejo) \u2014 morate to pravno posebej opredeliti kot testiranje varnosti, saj vas lahko v nekaterih dr\u017eavah kaznujejo za DDoS ali omre\u017ene napade. \u0160e eno pomembno vpra\u0161anje je, kako nagraditi validatorje. Naravne nagrade so \u017eetoni projekta, ki bodo preneseni v glavno omre\u017eje, a mno\u017ei\u010dna razdelitev \u017eetonov vsakomur, ki lahko za\u017eene vozli\u0161\u010de \u2014 prav tako ni najbolj\u0161a mo\u017enost. Verjetno boste morali najti ravnote\u017eje med dvema ekstremnima mo\u017enostma:<\/p>\n<p><\/p>\n<p>Razdeliti celoten nagradni sklad v skladu z zaslu\u017eenimi VP<br \/>\nto je zelo demokrati\u010dno in omogo\u010da zaslu\u017eek vsem, ki so investirali \u010das in sredstva v igro validatorjev<br \/>\nvendar privablja k igri ob\u010dasne ljudi brez ustrezne infrastrukture<\/p>\n<p><\/p>\n<p>Razdeliti nagradni sklad najbolj\u0161im N validatorjem na koncu igre<br \/>\nzmagovalci bodo verjetno tisti validatorji, ki so najbolj dosledno vztrajali med igro in so zelo resno usmerjeni k zmagi<br \/>\ndel validatorjev ne bo \u017eelelo sodelovati, ker nizko ocenjujejo svoje mo\u017enosti za zmago, \u0161e posebej, \u010de so v sestavi sodelujo\u010dih uveljavljeni validatorji<\/p>\n<p><\/p>\n<p>Kateremu predlogu dati prednost \u2014 je va\u0161a odlo\u010ditev <\/p>\n<p><\/p>\n<p>Obstaja \u0161e en vidik \u2014 povsem ni jasno, ali se bodo desetine validatorjev z veseljem odzvale na va\u0161o pro\u0161njo za sodelovanje v igri, od tistih, ki se bodo odlo\u010dili poskusiti, pa ne bodo vsi niti namestili in zagnali vozli\u0161\u010da \u2014 ponavadi imajo projekti v tej fazi precej skromno dokumentacijo, pojavijo se napake, razvijalci, ki delajo pod \u010dasovnim pritiskom, pa ne odgovarjajo prehitro. Zato je pred za\u010detkom igre treba tudi predvideti ukrepe, \u010de \u0161tevilo validatorjev ne bo dose\u017eeno. V tem primeru se na za\u010detku igre z ekipo projekta za\u017eenejo manjkajo\u010di validatorji, sodelujejo pri doseganju soglasja, vendar ne morejo postati zmagovalci.<\/p>\n<p><\/p>\n<h2 id=\"zaklyuchenie\">Zaklju\u010dek<\/h2>\n<p><\/p>\n<p>Na koncu sem posku\u0161al sestaviti seznam stvari, ki jih je treba izumiti, narediti in zagnati za u\u010dinkovito izvedbo igre validatorjev<\/p>\n<p><\/p>\n<p>Kaj je treba storiti za zagon prave igre validatorjev:<br \/>\nrazviti svojo blockchain \ud83d\ude42<\/p>\n<p><\/p>\n<ul>\n<li>izdelati in postaviti spletni vmesnik ter zagotoviti CLI za glasovanje za validatorje<\/li>\n<li>Poskrbeti, da lahko metrike z aktivne validating node po\u0161iljajo v centralizirano storitev (na primer Prometheus)<\/li>\n<li>Postaviti stre\u017enik za zbiranje metrik (Prometheus + Grafana) za igro validatorjev<\/li>\n<li>Izumiti, kako se bodo izra\u010dunavale Validator Points (VP)<\/li>\n<li>Razviti javni skript za izra\u010dun VP validatorjev na podlagi podatkov iz blockchaina<\/li>\n<li>Razviti spletni vmesnik za prikaz top validatorjev in stanja igre validatorjev (koliko \u010dasa je \u0161e do konca, kdo ima koliko VP itd.)<\/li>\n<li>Razviti in avtomatizirati zagon poljubnega \u0161tevila lastnih nod, na\u010drtovati postopek povezovanja validatorjev v igro (kdaj in kako izklopiti svoje node, oddajati in umikati glasove za njih)<\/li>\n<li>Izra\u010dunati, koliko \u017eetonov je treba podeliti in razviti pogodbo-faucet<\/li>\n<li>Narediti benchmark skript (prenosi \u017eetonov, masovno uporabo shranjevanja, masovno uporabo omre\u017eja) <\/li>\n<li>Zbrati vse udele\u017eence v enem klepetu za hitro komunikacijo<\/li>\n<li>Zagnati blockchain malo pred za\u010detkom igre<\/li>\n<li>Po\u010dakati na za\u010detni blok, za\u010deti igro<\/li>\n<li>Preizkusiti mre\u017eo z ve\u010d vrstami transakcij<\/li>\n<li>Izvesti hard fork<\/li>\n<li>Spremeniti seznam validatorjev<\/li>\n<li>Ponoviti to\u010dko 13, 14, 15 v razli\u010dnih vrstnih redih, pri \u010demer ohranjati stabilnost mre\u017ee<\/li>\n<li>Po\u010dakati na kon\u010dni blok, kon\u010dati igro, izra\u010dunati VP<\/li>\n<\/ul>\n<p><\/p>\n<p>Treba je omeniti, da je igra validatorjev nova zgodba in je bila izvedena le nekajkrat, zato tega bes teksta ne jemljite kot kon\u010dni priro\u010dnik. V sodobnem IT poslu ni analogov - predstavljajte si, da se banke pred zagon sistemov pla\u010devanja med seboj tekmujejo, kdo bolje izvaja transakcije strank. Tradicionalni pristopi vam verjetno ne bodo pomagali pri ustvarjanju velikih decentraliziranih omre\u017eij, zato obvladujte nove poslovne modele, organizirajte svoje igre, dolo\u010dite dostojne, nagradite jih in naj delujejo va\u0161i distribuirani sistemi hitro in stabilno.<\/p>\n<p>Izvor: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/473174\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418\u0442\u0430\u043a, \u0432\u0430\u0448\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0430 alpha-\u0432\u0435\u0440\u0441\u0438\u044e \u0432\u0430\u0448\u0435\u0433\u043e \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0430, \u0438 \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c testnet, \u0430 \u0437\u0430\u0442\u0435\u043c \u0438 mainnet. \u0423 \u0432\u0430\u0441 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d, \u0441 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u043c\u0438 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c\u0438, \u0445\u043e\u0440\u043e\u0448\u0435\u0439 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u044c\u044e, \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e, \u0432\u044b \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 governance \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0440\u0430 \u0431\u044b \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u044d\u0442\u043e \u0432 \u0434\u0435\u043b\u0435. \u0412 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u043c\u0438\u0440\u0435, \u0432\u044b \u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0435 \u0432 \u0441\u0435\u0442\u044c genesis block, \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u043e\u0434\u044b \u0438 \u0432\u0430\u043b\u0438\u0434\u0430\u0442\u043e\u0440\u044b \u0441\u0430\u043c\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-39478","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0418\u0442\u0430\u043a, \u0432\u0430\u0448\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0430 alpha-\u0432\u0435\u0440\u0441\u0438\u044e \u0432\u0430\u0448\u0435\u0433\u043e \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0430, \u0438 \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c testnet, \u0430 \u0437\u0430\u0442\u0435\u043c \u0438 mainnet.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/chto-takoe-igra-validatorov-ili-kak-zapustit-proof-of-stake-blokchejn\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sl_SI\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0438\u0433\u0440\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0442\u043e\u0440\u043e\u0432 \u0438\u043b\u0438 \u201c\u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c proof-of-stake \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u201d | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418\u0442\u0430\u043a, \u0432\u0430\u0448\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0430 alpha-\u0432\u0435\u0440\u0441\u0438\u044e \u0432\u0430\u0448\u0435\u0433\u043e \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0430, \u0438 \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c testnet, \u0430 \u0437\u0430\u0442\u0435\u043c \u0438 mainnet.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/chto-takoe-igra-validatorov-ili-kak-zapustit-proof-of-stake-blokchejn\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:33:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:33:41+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Kaj je igra validatorjev ali \u201ckako zagnati proof-of-stake blockchain\u201d | ProHoster","description":"Torej, va\u0161a ekipa je zaklju\u010dila alpha razli\u010dico va\u0161ega blockchaina in je \u010das, da za\u017eenete testnet, nato pa \u0161e mainnet.","canonical_url":"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/chto-takoe-igra-validatorov-ili-kak-zapustit-proof-of-stake-blokchejn","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sl_SI","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0438\u0433\u0440\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0442\u043e\u0440\u043e\u0432 \u0438\u043b\u0438 \u201c\u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c proof-of-stake \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u201d | ProHoster","og:description":"\u0418\u0442\u0430\u043a, \u0432\u0430\u0448\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0430 alpha-\u0432\u0435\u0440\u0441\u0438\u044e \u0432\u0430\u0448\u0435\u0433\u043e \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0430, \u0438 \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c testnet, \u0430 \u0437\u0430\u0442\u0435\u043c \u0438 mainnet.","og:url":"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/chto-takoe-igra-validatorov-ili-kak-zapustit-proof-of-stake-blokchejn","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:33:41+00:00","article:modified_time":"2019-10-31T19:33:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"39478","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-09 18:02:23","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:49:31","updated":"2026-02-09 18:02:23","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/39478","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/comments?post=39478"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/39478\/revisions"}],"predecessor-version":[{"id":158519,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/39478\/revisions\/158519"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media?parent=39478"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/categories?post=39478"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/tags?post=39478"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}