{"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\/ro\/blog\/administrirovanie\/chto-takoe-igra-validatorov-ili-kak-zapustit-proof-of-stake-blokchejn","title":{"rendered":"Ce este jocul validatorilor sau \u201ecum s\u0103 lans\u0103m un blockchain bazat pe proof-of-stake\u201d","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>A\u0219adar, echipa ta a finalizat versiunea alpha a blockchain-ului t\u0103u \u0219i este timpul s\u0103 lansezi testnet-ul, iar apoi mainnet-ul. Ai un adev\u0103rat blockchain, cu participan\u021bi independen\u021bi, un model economic solid, securitate, ai proiectat guvernan\u021ba \u0219i acum e\u0219ti preg\u0103tit s\u0103 testezi toate acestea \u00een practic\u0103. \u00centr-o lume ideal\u0103 de criptoanarchism, ai publica blocul genesis \u00een re\u021bea, codul final al nodului \u0219i validatorii ar lansa totul singuri, ridic\u00e2nd toate serviciile auxiliare, iar totul s-ar desf\u0103\u0219ura de la sine. Dar aceasta este o lume fictiv\u0103; \u00een realitate, echipa trebuie s\u0103 preg\u0103teasc\u0103 o cantitate semnificativ\u0103 de software auxiliar \u0219i diferite opera\u021biuni pentru a ajuta validatorii s\u0103 lanseze o re\u021bea stabil\u0103. Despre aceasta este vorba \u00een acest articol.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Lansarea re\u021belelor bazate pe consens de tip \u201eproof-of-stake\u201d, unde validatorii sunt determina\u021bi de voturile de\u021bin\u0103torilor de tokeni ai sistemului, este un eveniment destul de specific, deoarece chiar \u0219i lansarea sistemelor tradi\u021bionale, gestionate centralizat, cu zeci \u0219i sute <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/server\/\"   title=\"servere\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1275\">servere<\/a> de participan\u021bi, este o sarcin\u0103 complex\u0103 \u00een sine, iar blockchain-ul trebuie s\u0103 fie lansat cu eforturile participan\u021bilor loiali, dar independen\u021bi. \u0218i, dac\u0103 \u00eentr-o corpora\u021bie, la lansare, administratorii au acces total la toate ma\u0219inile, logurile, monitorizarea general\u0103, validatorii nu permit nim\u0103nui s\u0103 se apropie de serverele lor \u0219i, cel mai probabil, prefer\u0103 s\u0103 \u00ee\u0219i construiasc\u0103 propria infrastructur\u0103, deoarece aceasta controleaz\u0103 accesul la activele principale ale validatorilor \u2014 stake-urile votan\u021bilor. Tocmai acest comportament permite construirea de re\u021bele distribuite sigure \u2014 independen\u021ba furnizorilor de cloud utiliza\u021bi, serverelor virtuale \u0219i \u201ebaremetal\u201d, diferitele sisteme de operare, toate acestea fac ca atacurile asupra acestei re\u021bele s\u0103 fie extrem de ineficiente \u2014 se folose\u0219te o cantitate prea mare de software diferit. De exemplu, \u00een Ethereum sunt utilizate dou\u0103 implement\u0103ri principale ale nodului, una pe Go \u0219i cealalt\u0103 pe Rust, iar un atac eficient pentru o implementare nu func\u021bioneaz\u0103 pentru cealalt\u0103.<\/p>\n<p><\/p>\n<p>Prin urmare, toate procesele de lansare \u0219i operare a blockchain-urilor trebuie organizate astfel \u00eenc\u00e2t orice validator, sau chiar un grup mic de validatori, s\u0103 poat\u0103 renun\u021ba oric\u00e2nd la calculatoarele lor f\u0103r\u0103 ca nimic s\u0103 se defecteze, iar validatori r\u0103ma\u0219i s\u0103 continue s\u0103 sus\u021bin\u0103 eficient re\u021beaua \u0219i s\u0103 conecteze noi validatori. La lansarea re\u021belei, c\u00e2nd un validator se afl\u0103 \u00een Europa, al doilea \u00een America de Sud, iar al treilea \u00een Asia, este destul de dificil s\u0103 se ob\u021bin\u0103 o func\u021bionare sincronizat\u0103 a mai multor zeci de grupuri independente \u0219i s\u0103 se motiveze acestea pentru rezultate comune. <\/p>\n<p><\/p>\n<h2 id=\"validatory\">Validatori<\/h2>\n<p><\/p>\n<p>S\u0103 ne imagin\u0103m lansarea unui blockchain modern ipotetic (cea mai mare parte a ceea ce se descrie se aplic\u0103 blockchain-urilor din orice familie modern\u0103 de blockchain-uri: Ethereum, EOS, Polkadot, Cosmos \u0219i altele, care prev\u0103d consensul proof-of-stake). Actorii principali ai acestor blockchain-uri sunt echipele de validatori, care instaleaz\u0103 servere independente, valideaz\u0103 \u0219i genereaz\u0103 blocuri noi, ob\u021bin\u00e2nd recompense prev\u0103zute de re\u021bea pentru cei care particip\u0103 la consens. Pentru lansarea de noi re\u021bele sunt necesari c\u00e2\u021biva zeci de validatori (at\u00e2t de mul\u021bi pot acum s\u0103 ajung\u0103 mai mult sau mai pu\u021bin eficient la consens \u00een c\u00e2teva secunde), a\u0219a c\u0103 proiectul anun\u021b\u0103 \u00eenregistrarea, \u00een care validatori \u00eemp\u0103rt\u0103\u0219esc informa\u021bii publice despre ei \u00een\u0219i\u0219i cu utilizatorii, conving\u00e2ndu-i c\u0103 inten\u021bioneaz\u0103 s\u0103 ofere servicii de calitate la re\u021beaua lansat\u0103.<\/p>\n<p><\/p>\n<p>Validarea este o afacere care permite evaluarea extrem de precis\u0103 a veniturilor poten\u021biale ale validatorilor, transfer\u00e2nd rapid puterea \u00eentre proiecte, iar \u00een cazul succesului re\u021belei alese, validatorul poate deveni un participant cu drepturi depline \u00een DAO \u0219i un responsabil al dezvolt\u0103rii proiectului, sau pur \u0219i simplu poate oferi un serviciu tehnic excelent pentru bani c\u00e2\u0219tiga\u021bi \u00een mod transparent \u0219i corect. La calcularea recompensei, proiectele se str\u0103duiesc s\u0103 ia \u00een considerare cheltuielile validatorilor \u0219i s\u0103 fac\u0103 recompensa pentru blocuri astfel \u00eenc\u00e2t aceast\u0103 afacere s\u0103 fie profitabil\u0103, dar \u00een acela\u0219i timp s\u0103 nu permit\u0103 validatorilor s\u0103 d\u0103r\u00e2me economia prin inundarea acesteia cu bani \u0219i privarea altor utilizatori ai re\u021belei.<\/p>\n<p><\/p>\n<p>Business validators require ensuring high service reliability, which means a high level of training for DevOps and developers, along with costly computational resources. Even without the need to mine hashes in proof-of-work networks, a blockchain node is a large service that occupies a lot of memory, consumes significant computing power, validates, records to disk, and delivers large volumes of data to the network. To store transaction logs and blockchains with several thousand small transactions, storage of at least 50 Gb or more is currently required, and for blocks, this must be an SSD. The state database of blockchains supporting smart contracts can already exceed 64 Gb of RAM. Servers with the required specifications are quite expensive, with an Ethereum or EOS node costing between $100 and $200 per month. Add to this the increased labor costs for round-the-clock work by developers and DevOps, who resolve issues even at night during the launch period, as some validators may easily be in another hemisphere. Nevertheless, in fortunate moments, owning a validator node can yield serious income (in the case of EOS, up to $10,000 per day).<\/p>\n<p><\/p>\n<p>Validation is just one of the new potential IT roles for entrepreneurs and companies. As programmers devise increasingly sophisticated algorithms to reward honesty and punish fraud and theft, services are emerging that perform functions such as publishing important data (oracles), overseeing (slashing deposits and punishing fraudsters by publishing proof of fraud), dispute resolution, insurance, and options. Even garbage collection presents a potentially large market in smart contract systems, where payment for data storage is necessary. <\/p>\n<p><\/p>\n<h2 id=\"problemy-zapuska-blokcheyna\">Challenges of launching a blockchain<\/h2>\n<p><\/p>\n<p>Transparen\u021ba blockchain-ului, care a f\u0103cut posibil\u0103 participarea liber\u0103 la re\u021beaua de calculatoare din orice \u021bar\u0103 \u0219i u\u0219urin\u021ba de a se conecta la re\u021bea chiar \u0219i de c\u0103tre orice script kiddie conform instruc\u021biunilor de pe GitHub, nu este \u00eentotdeauna un avantaj. Cursa pentru un nou token \u00eei determin\u0103 adesea pe validatori s\u0103 \u201emineze o nou\u0103 moned\u0103 la \u00eenceput\u201d, sper\u00e2nd la o cre\u0219tere a valorii \u0219i la posibilitatea de a vinde rapid ceea ce au c\u00e2\u0219tigat. De asemenea, aceasta \u00eenseamn\u0103 c\u0103 validatorul dumneavoastr\u0103 poate fi oricine, chiar \u0219i anonim; se poate vota pentru el la fel ca \u0219i pentru al\u021bi validatori (cu toate c\u0103 unui anonim \u00eei va fi greu s\u0103 adune voturi de la stakeholderi, a\u0219a c\u0103 pove\u0219tile \u00eenfrico\u0219\u0103toare despre criptomonedele anonime le l\u0103s\u0103m politicienilor). Cu toate acestea,<\/p>\n<p><\/p>\n<p>Echipa proiectului are o sarcin\u0103 - s\u0103 capteze \u00een re\u021beaua lor pe cei care, \u00een viitor, pot asigura func\u021bionarea stabil\u0103 a nodurilor, \u00een\u021beleg securitatea, pot rezolva rapid problemele, pot coopera cu al\u021bi validatori \u0219i s\u0103 ac\u021bioneze \u00eempreun\u0103 - de aceste calit\u0103\u021bi depinde \u00een totalitate calitatea acelui token \u00een care participan\u021bii la re\u021bea inten\u021bioneaz\u0103 s\u0103 investeasc\u0103 timpul \u0219i resursele. Fondatorii ra\u021bionali, evalu\u00e2nd riscurile, \u00een\u021beleg bine c\u0103, la lansarea unui software de o asemenea amploare, vor trebui s\u0103 se confrunte cu erori \u00een cod, \u00een configura\u021bia nodului, iar stabilitatea re\u021belei depinde de c\u00e2t de bine vor colabora dezvoltatorii \u0219i validatorii pentru a rezolva astfel de probleme.<\/p>\n<p><\/p>\n<p>Echipa este gata s\u0103 voteze \u00een mainnet pentru orice validatori, dar ar fi bine s\u0103 \u0219tim pentru care, care dintre ei sunt buni? Cel cu cel mai mare portofoliu? Acesta nu este aproape deloc prezent acum. Pe profilurile echipei de pe Linkedin? DevOps-ii sau speciali\u0219tii \u00een securitate experimenta\u021bi nu v\u0103 vor oferi profiluri pe Linkedin. Pe baza declara\u021biilor din chat, post\u0103rilor \u0219i ajutoarelor oferite altora \u00een etapa de preg\u0103tire? Bine, dar subiectiv \u0219i imprecis.<\/p>\n<p><\/p>\n<p>\u00cen astfel de condi\u021bii, r\u0103m\u00e2ne doar un lucru - ceea ce rezolv\u0103 problemele tuturor - un joc \u00een care se pot alege cei mai buni validatori, dar mai ales - testarea durabilit\u0103\u021bii blockchain-ului \u0219i desf\u0103\u0219urarea unui test de lupt\u0103 la scar\u0103 larg\u0103 a blockchain-ului \u00een condi\u021bii de utilizare activ\u0103, modific\u0103ri ale consensului, apari\u021bia \u0219i corectarea erorilor. Pentru prima dat\u0103, aceast\u0103 procedur\u0103 a fost propus\u0103 ca un joc de c\u0103tre b\u0103ie\u021bii de la proiectul Cosmos, iar aceast\u0103 idee este cu siguran\u021b\u0103 o modalitate excelent\u0103 de preg\u0103tire a re\u021belei pentru lansarea unui mainnet fiabil \u0219i rezistent la erori.<\/p>\n<p><\/p>\n<h2 id=\"game-of-validators\">Jocul Validatorilor<\/h2>\n<p><\/p>\n<p>Voi descrie jocul validatorilor a\u0219a cum l-am proiectat pentru blockchain-ul DAO.Casino (DAOBet) bazat pe fork-ul EOS, numit Haya, care are un mecanism de guvernare similar \u2014 validatorii sunt ale\u0219i prin voturi din orice cont, iar o parte din soldul utilizat pentru votul \u00een favoarea validatorului este \u00eenghe\u021bat. Orice cont care de\u021bine token-ul principal BET poate vota pentru validatorul ales cu orice parte din soldul s\u0103u. Voturile sunt aggregate, iar \u00een urma acestora se construie\u0219te un top al validatorilor. \u00cen diferite blockchain-uri, acest proces este organizat diferit, iar de obicei, tocmai \u00een aceast\u0103 parte noul blockchain se deosebe\u0219te de cel p\u0103rinte. Trebuie s\u0103 spun c\u0103 \u00een cazul nostru, EOS \u00ee\u0219i justific\u0103 pe deplin \u201eOS\u201d \u00een denumire, noi folosim cu adev\u0103rat EOS ca sistem de operare de baz\u0103 pentru desf\u0103\u0219urarea unei versiuni modificate a blockchain-ului pentru cerin\u021bele DAOBet.<\/p>\n<p><\/p>\n<p>Voi descrie problemele individuale \u0219i modul \u00een care acestea pot fi rezolvate \u00een cadrul jocului. S\u0103 ne imagin\u0103m o re\u021bea \u00een care serverul t\u0103u poate fi atacat deschis, unde pentru a men\u021bine pozi\u021bia de validator trebuie s\u0103 interac\u021bionezi continuu cu re\u021beaua, promov\u00e2nd validatorul t\u0103u \u0219i asigur\u00e2ndu-te c\u0103 acesta produce blocuri \u0219i c\u0103 acestea sunt livrate la timp celorlal\u021bi validatorii, altfel, validatorul va fi eliminat din list\u0103.<\/p>\n<p><\/p>\n<h3 id=\"kak-vybrat-top-pobediteley\">Cum s\u0103 alegi top c\u00e2\u0219tig\u0103tori?<\/h3>\n<p><\/p>\n<p>Cerin\u021ba tehnic\u0103 principal\u0103 a jocului este ca rezultatele acestuia s\u0103 fie verificabile public. Aceasta \u00eenseamn\u0103 c\u0103 rezultatele jocului: TOP c\u00e2\u0219tig\u0103tori, trebuie s\u0103 fie formate strict pe baza datelor pe care orice participant le poate verifica. \u00centr-un sistem centralizat, am putea m\u0103sura \u201euptime\u201d-ul fiec\u0103rui validator \u0219i s\u0103 recompens\u0103m pe cei care au fost online mai mult sau care au procesat cel mai mult trafic de re\u021bea. Putem colecta date despre utilizarea procesorului, memoriei \u0219i s\u0103 recompens\u0103m pe cei care au muncit din greu. Dar orice fel de colectare a metricilor implic\u0103 existen\u021ba unui centru de colectare, iar nodurile sunt toate independente \u0219i pot ac\u021biona cum doresc, trimi\u021b\u00e2nd orice date.<\/p>\n<p><\/p>\n<p>Prin urmare, solu\u021bia natural\u0103 este ca c\u00e2\u0219tig\u0103torii s\u0103 fie determina\u021bi pe baza datelor din blockchain, deoarece acestea arat\u0103 cine dintre validatori a produs un anumit bloc \u0219i ce tranzac\u021bii au fost incluse \u00een acesta. Am numit aceast\u0103 valoare Puncte Validator (VP), iar c\u00e2\u0219tigarea lor este obiectivul principal al validatorilor \u00een joc. \u00cen cazul nostru, cea mai simpl\u0103, u\u0219or verificabil\u0103 public \u0219i eficient\u0103 metric\u0103 a \"utilit\u0103\u021bii\" validatorului este VP = num\u0103rul_bloac\u0103rilor_produse_de_validator \u00eentr-o perioad\u0103 de timp dat\u0103.<\/p>\n<p><\/p>\n<p>Aceast\u0103 alegere simpl\u0103 este determinat\u0103 de faptul c\u0103 governance-ul \u00een EOS prevede deja o mul\u021bime de probleme care apar, deoarece EOS este urma\u0219ul a trei genera\u021bii de blockchain-uri opera\u021bionale, cu o experien\u021b\u0103 vast\u0103 \u00een gestionarea complex\u0103 a re\u021belei. Practic, orice problem\u0103 pe care un validator o are cu re\u021beaua, procesorul sau discul duce doar la o singur\u0103 problem\u0103: semneaz\u0103 mai pu\u021bine blocuri, prime\u0219te o plat\u0103 mai mic\u0103 pentru munc\u0103, ceea ce ne duce din nou la num\u0103rul de blocuri semnate \u2014 pentru EOS, acesta este o op\u021biune excelent\u0103 \u0219i simpl\u0103.<\/p>\n<p><\/p>\n<p>La alte blockchain-uri, metoda de calcul a Punctelor Validator poate diferi; de exemplu, pentru consensurile bazate pe pBFT (Tendermint\/Cosmos, consensul Aura din Parity Substrate), unde fiecare bloc trebuie s\u0103 fie semnat de mai mul\u021bi validatori, are sens s\u0103 se contabilizeze semn\u0103turile separate ale validatorilor, nu blocurile. Este posibil s\u0103 aib\u0103 sens s\u0103 se \u021bin\u0103 cont de runde de consens nefinalizate, care consum\u0103 resursele altor validatori; \u00een general, acest lucru depinde mult de tipul de consens. <\/p>\n<p><\/p>\n<h3 id=\"kak-smodelirovat-realnye-usloviya-ekspluatacii\">Cum s\u0103 model\u0103m condi\u021biile reale de exploatare<\/h3>\n<p><\/p>\n<p>Sarcina fondatorilor este s\u0103 verifice validatoarele \u00een condi\u021bii apropiate de realitate, f\u0103r\u0103 a avea un control centralizat. Aceast\u0103 problem\u0103 poate fi rezolvat\u0103 cu ajutorul unui contract faucet care \u00eei distribuie la egalitate token-uri de baz\u0103 validatoarelor \u0219i tuturor celor interesa\u021bi. Pentru a ob\u021bine token-uri pe balans, este necesar s\u0103 se formeze o tranzac\u021bie \u0219i s\u0103 se ob\u021bin\u0103 includerea acesteia \u00een bloc de c\u0103tre re\u021bea. Astfel, pentru a c\u00e2\u0219tiga, validatorul trebuie s\u0103-\u0219i re\u00eennoiasc\u0103 constant balansul cu token-uri noi \u0219i s\u0103 voteze pentru sine, promov\u00e2ndu-se \u00een top. Aceast\u0103 activitate creeaz\u0103 o sarcin\u0103 constant\u0103 pe re\u021bea, iar parametrii pot fi ajusta\u021bi astfel \u00eenc\u00e2t fluxul de cereri s\u0103 fie suficient de serios pentru un test complet al re\u021belei. De aceea, planifica\u021bi contractul faucet din timp, ca un instrument important pentru lansarea re\u021belei \u0219i \u00eencepe\u021bi s\u0103-i ajusta\u021bi parametrii din timp.<\/p>\n<p><\/p>\n<p>Cererea de token-uri de la faucet \u0219i votul validatorilor nu imit\u0103 complet corect func\u021bionarea blockchain-ului, \u00een special \u00een moduri extrem de \u00eenc\u0103rcate. Prin urmare, echipa blockchain-ului tot va trebui s\u0103 scrie benchmark-uri suplimentare pentru a putea \u00eenc\u0103rca re\u021beaua. Un rol special \u00een acest proces \u00eel au contractele inteligente create \u00een prealabil, care permit testarea unei subsisteme separate. Pentru testarea stoc\u0103rii, contractul salveaz\u0103 date aleatorii \u00een blockchain, iar pentru verificarea resurselor de re\u021bea, contractul de testare necesit\u0103 un volum mare de date de intrare, cresc\u00e2nd astfel volumul tranzac\u021biilor \u2014 prin ini\u021bierea unui flux de astfel de tranzac\u021bii \u00een momente aleatorii, echipa testeaz\u0103 simultan stabilitatea codului \u0219i rezilien\u021ba validatorilor.<\/p>\n<p><\/p>\n<p>O actualizare a codului nodurilor \u0219i desf\u0103\u0219urarea hardfork-urilor reprezint\u0103 o \u00eentrebare distinct\u0103. Este necesar ca, \u00een cazul apari\u021biei unui bug, a unei vulnerabilit\u0103\u021bi sau a unui complot al validatorilor r\u0103u inten\u021biona\u021bi, validatorii s\u0103 aib\u0103 un plan de ac\u021biune deja dezvoltat \u00een cadrul jocului validatorilor. Aici se pot concepe scheme de acordare a VP-urilor pentru aplicarea rapid\u0103 a hardfork-ului, de exemplu, penaliz\u00e2nd to\u021bi validatorii care nu au actualizat \u00eenc\u0103 noua versiune a codului nodului, \u00eens\u0103 acest lucru este complicat de realizat \u0219i \u00eengreuneaz\u0103 calculul. Simularea unei situa\u021bii de urgen\u021b\u0103 la aplicarea hardfork-ului poate fi realizat\u0103 prin \u201eruinarea\u201d artificial\u0103 a blockchain-ului la un anumit bloc. Produc\u021bia de blocuri se opre\u0219te, iar \u00een final vor avea de c\u00e2\u0219tigat cei care se vor conecta mai repede \u0219i vor \u00eencepe s\u0103 semneze blocuri, a\u0219a c\u0103 VP-urile pe baza num\u0103rului de blocuri semnate se potrivesc bine aici.<\/p>\n<p><\/p>\n<h3 id=\"kak-informirovat-uchastnikov-o-sostoyanii-seti-i-chinit-oshibki\">Cum s\u0103 inform\u0103m participan\u021bii despre starea re\u021belei \u0219i s\u0103 corect\u0103m erorile<\/h3>\n<p><\/p>\n<p>\u00cen ciuda ne\u00eencrederii dintre validatori, ob\u021binerea la timp a informa\u021biilor actualizate despre starea re\u021belei este benefic\u0103 pentru toat\u0103 lumea, pentru a lua decizii mai rapide. De aceea, echipa proiectului dezvolt\u0103 un serviciu pentru colectarea \u0219i vizualizarea unei multitudini de metrici de la serverele validatorilor, care permite vizualizarea situa\u021biei simultan pentru \u00eentreaga re\u021bea, facilit\u00e2nd rapid determinarea a ceea ce se \u00eent\u00e2mpl\u0103. De asemenea, at\u00e2t pentru validatori, c\u00e2t \u0219i pentru proiect, este benefic ca echipa proiectului s\u0103 corecteze rapid erorile identificate, a\u0219a c\u0103, pe l\u00e2ng\u0103 colectarea metricilor, are sens s\u0103 se porneasc\u0103 imediat colectarea log-urilor \u0219i a datelor despre erori de la ma\u0219inile validatorilor c\u0103tre o ma\u0219in\u0103 accesibil\u0103 dezvoltatorilor blockchain-ului. Aici, nim\u0103nui nu \u00eei este convenabil s\u0103 deformeze informa\u021biile, a\u0219a c\u0103 aceste servicii sunt dezvoltate de echipa proiectului \u0219i se pot \u00eencredin\u021ba lor. Este util s\u0103 se colecteze metrici sistemice de la validatori \u0219i, cu siguran\u021b\u0103, cele mai importante metrici ale blockchain-ului \u2014 pentru DAOBet, acestea sunt timpul de finalizare \u0219i \u00eent\u00e2rz\u00e2ierea ultimului bloc finalizat. Astfel, echipa observ\u0103 cre\u0219terea consumului de memorie pe noduri atunci c\u00e2nd se ruleaz\u0103 benchmark-uri, precum \u0219i problemele unor validatori individuali. <\/p>\n<p><\/p>\n<h2 id=\"vazhnye-momenty-po-provedeniyu-igry-validatorov\">Aspecte importante referitoare la desf\u0103\u0219urarea jocului validatorilor<\/h2>\n<p><\/p>\n<p>Se pare c\u0103, dac\u0103 dori\u021bi s\u0103 permite\u021bi oficial validatorilor s\u0103 atace ma\u0219inile unul altuia (neoficial, ei pot oricum s\u0103 fac\u0103 acest lucru) \u2014 este necesar s\u0103 formula\u021bi separat acest lucru ca testare de securitate din punct de vedere juridic, deoarece legisla\u021bia unor \u021b\u0103ri impune sanc\u021biuni pentru DDoS sau atacuri de re\u021bea. O alt\u0103 \u00eentrebare important\u0103 este cum s\u0103 recompensa\u021bi validatorii. Premiile naturale sunt tokenii proiectului, care vor fi transfera\u021bi \u00een mainnet, dar o distribu\u021bie masiv\u0103 de tokeni c\u0103tre oricine a reu\u0219it s\u0103 lanseze un nod \u2014 nu este, de asemenea, cea mai bun\u0103 op\u021biune. Cel mai probabil va trebui s\u0103 echilibra\u021bi \u00eentre cele dou\u0103 extreme:<\/p>\n<p><\/p>\n<p>Distribui\u021bi \u00eentregul fond de premii conform VP-urilor c\u00e2\u0219tigate<br \/>\naceasta este foarte democratic \u0219i permite tuturor celor care au investit timp \u0219i resurse \u00een jocul validatorilor s\u0103 c\u00e2\u0219tige<br \/>\ndar atrage \u00een joc oameni aleatori f\u0103r\u0103 infrastructur\u0103 preg\u0103tit\u0103<\/p>\n<p><\/p>\n<p>Distribui\u021bi fondul de premii top-N validatorilor pe baza rezultatelor jocului<br \/>\nc\u00e2\u0219tig\u0103torii vor fi cel mai probabil validatorii care au rezistat cel mai constant pe parcursul jocului, foarte concentra\u021bi pe victorie<br \/>\npartea validatorilor nu va dori s\u0103 participe, evalu\u00e2nd slab \u0219ansele de a c\u00e2\u0219tiga, mai ales dac\u0103 \u00een r\u00e2ndul participan\u021bilor sunt validatorii experimenta\u021bi<\/p>\n<p><\/p>\n<p>Ce variant\u0103 s\u0103 prefera\u021bi \u2014 este alegerea dumneavoastr\u0103 <\/p>\n<p><\/p>\n<p>Mai este un aspect \u2014 nu este deloc sigur c\u0103 zeci de validatorii se vor gr\u0103bi s\u0103 participe la jocul vostru la apelul vostru, iar dintre cei care decid s\u0103 \u00eencerce, nu to\u021bi vor instala \u0219i lansa un nod \u2014 de obicei, \u00een aceast\u0103 etap\u0103, proiectele au documenta\u021bie destul de slab\u0103, apar erori, iar dezvoltatorii care lucreaz\u0103 sub presiune r\u0103spund la \u00eentreb\u0103ri nu foarte prompt. Prin urmare, \u00eenainte de lansarea jocului, trebuie s\u0103 prevedem ac\u021biuni, \u00een cazul \u00een care nu se va str\u00e2nge num\u0103rul necesar de validatorii. \u00cen acest caz, la \u00eenceputul jocului, validatorii lips\u0103 sunt lansa\u021bi de echipa proiectului, particip\u0103 la consens, dar nu pot fi c\u00e2\u0219tig\u0103tori.<\/p>\n<p><\/p>\n<h2 id=\"zaklyuchenie\">Concluzie<\/h2>\n<p><\/p>\n<p>\u00cen concluzie, am \u00eencercat s\u0103 adun din cele descrise mai sus o list\u0103 cu ceea ce trebuie s\u0103 fie g\u00e2ndit, realizat \u0219i lansat pentru desf\u0103\u0219urarea eficient\u0103 a jocului validatorilor<\/p>\n<p><\/p>\n<p>Ce trebuie f\u0103cut pentru lansarea unui adev\u0103rat joc al validatorilor:<br \/>\ns\u0103 dezvolta\u021bi propriul blockchain \ud83d\ude42<\/p>\n<p><\/p>\n<ul>\n<li>s\u0103 crea\u021bi \u0219i s\u0103 ridica\u021bi o interfa\u021b\u0103 web \u0219i s\u0103 oferi\u021bi CLI pentru votarea validatorilor<\/li>\n<li>asigura\u021bi-v\u0103 c\u0103 metricile de la nodul validator activ pot fi trimise c\u0103tre un serviciu centralizat (de exemplu, Prometheus)<\/li>\n<li>configura\u021bi un server de colectare a metricilor (Prometheus + Grafana) pentru jocul validatorilor<\/li>\n<li>g\u00e2ndi\u021bi-v\u0103 la cum vor fi calculate Punctele Validator (VP)<\/li>\n<li>dezvolta\u021bi un script public care s\u0103 calculeze VP-ul validatorilor pe baza datelor din blockchain<\/li>\n<li>crea\u021bi o interfa\u021b\u0103 web pentru a afi\u0219a cei mai buni validatori \u0219i starea jocului validatorilor (c\u00e2t timp a mai r\u0103mas p\u00e2n\u0103 la final, c\u00e2te VP are fiecare etc.)<\/li>\n<li>dezvolta\u021bi \u0219i automatiza\u021bi lansarea unui num\u0103r arbitrar de noduri proprii, proiecta\u021bi procesul de conectare a validatorilor la joc (c\u00e2nd \u0219i cum s\u0103 deconecta\u021bi nodurile proprii, s\u0103 trimi\u021bi \u0219i s\u0103 retrage\u021bi voturile pentru acestea)<\/li>\n<li>calculati c\u00e2te tokenuri trebuie distribuite \u0219i dezvolta\u021bi un contract-faucet<\/li>\n<li>face\u021bi un script de benchmark (transferuri de tokenuri, utilizare masiv\u0103 a stoc\u0103rii, utilizare masiv\u0103 a re\u021belei) <\/li>\n<li>aduna\u021bi to\u021bi participan\u021bii \u00eentr-un singur chat pentru o comunicare rapid\u0103<\/li>\n<li>lansa\u021bi blockchain-ul pu\u021bin \u00eenainte de \u00eenceperea jocului<\/li>\n<li>a\u0219tepta\u021bi blocul ini\u021bial, \u00eencepe\u021bi jocul<\/li>\n<li>testa\u021bi re\u021beaua cu mai multe tipuri de tranzac\u021bii<\/li>\n<li>implementa\u021bi hardfork-ul<\/li>\n<li>modifica\u021bi lista validatorilor<\/li>\n<li>repeta\u021bi punctele 13, 14, 15 \u00een ordini diferite, men\u021bin\u00e2nd stabilitatea re\u021belei<\/li>\n<li>a\u0219tepta\u021bi blocul final, termina\u021bi jocul, calcula\u021bi VP<\/li>\n<\/ul>\n<p><\/p>\n<p>Trebuie s\u0103 men\u021bionez c\u0103 jocul validatorilor este o poveste nou\u0103 \u0219i a fost realizat doar de c\u00e2teva ori, a\u0219a c\u0103 nu ar trebui s\u0103 considera\u021bi acest text ca un ghid complet. Nu exist\u0103 analogi \u00een afacerea IT modern\u0103 - imagina\u021bi-v\u0103 c\u0103 b\u0103ncile, \u00eenainte de a lansa sistemul de pl\u0103\u021bi, concureaz\u0103 \u00eentre ele despre cine va efectua cel mai bine tranzac\u021biile clien\u021bilor. Abord\u0103rile tradi\u021bionale vor avea pu\u021bin succes \u00een crearea unor re\u021bele descentralizate mari, a\u0219adar \u00eenv\u0103\u021ba\u021bi noi modele de afaceri, desf\u0103\u0219ura\u021bi-v\u0103 jocurile, identifica\u021bi cei merituo\u0219i, recompensa\u021bi-i \u0219i l\u0103sa\u021bi ca sistemele dumneavoastr\u0103 distribuite s\u0103 func\u021bioneze rapid \u0219i stabil.<\/p>\n<p>Sursa: <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.2.1 - 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\/ro\/blog\/administrirovanie\/chto-takoe-igra-validatorov-ili-kak-zapustit-proof-of-stake-blokchejn\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47Ce este jocul validatorilor sau \u201ecum s\u0103 lansa\u021bi un blockchain bazat pe proof-of-stake\u201d | ProHoster","description":"A\u0219adar, echipa dumneavoastr\u0103 a terminat versiunea alpha a blockchain-ului dumneavoastr\u0103 \u0219i este timpul s\u0103 lansa\u021bi testnet-ul \u0219i apoi mainnet-ul.","canonical_url":"https:\/\/prohoster.info\/ro\/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":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/39478","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=39478"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/39478\/revisions"}],"predecessor-version":[{"id":158519,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/39478\/revisions\/158519"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=39478"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=39478"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=39478"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}