Ինչ է վավերացնող խաղը կամ «ինչպես գործարկել ցցերի ապացույցի բլոկչեյնը»

Այսպիսով, ձեր թիմը ավարտել է ձեր բլոկչեյնի ալֆա տարբերակը, և ժամանակն է գործարկել թեստային ցանցը, այնուհետև mainnet-ը: Դուք ունեք իսկական բլոկչեյն՝ անկախ մասնակիցների հետ, լավ տնտեսական մոդել, անվտանգություն, դուք նախագծել եք կառավարում, և այժմ ժամանակն է փորձել այս ամենը գործի մեջ: Իդեալական կրիպտո-անարխիկ աշխարհում դուք դնում եք գենեզի բլոկը ցանցի վրա, հանգույցի վերջնական կոդը և վավերացնողներն իրենք են գործարկում ամեն ինչ, բարձրացնում են բոլոր օժանդակ ծառայությունները, և ամեն ինչ ինքնին տեղի է ունենում: Բայց սա գեղարվեստական ​​աշխարհում է, բայց իրական աշխարհում թիմը պետք է պատրաստի բավականին մեծ քանակությամբ օժանդակ ծրագրային ապահովում և տարբեր մանիպուլյացիաներ, որոնք կօգնեն վավերացնողներին գործարկել կայուն ցանց: Ահա թե ինչի մասին է այս հոդվածը։

Ցանցերի գործարկումը, որը հիմնված է «ցցերի ապացույցի» տիպի համաձայնությունների վրա, որտեղ վավերացնողները որոշվում են համակարգային նշանների սեփականատերերի ձայներով, բավականին կոնկրետ իրադարձություն է, քանի որ նույնիսկ տասնյակ և հարյուրավոր սերվերներով ավանդական կենտրոնացված կառավարվող համակարգերի գործարկումը հեշտ չէ: խնդիրն ինքնին, և բլոկչեյնը պետք է սկսել հավատարիմ, բայց անկախ մասնակիցների ջանքերով: Եվ, եթե կորպորացիայի մեջ, գործարկման պահին ադմինիստրատորները լիարժեք մուտք ունեն բոլոր մեքենաներին, տեղեկամատյաններին, ընդհանուր մոնիտորինգին, ապա վավերացնողները թույլ չեն տա որևէ մեկին մուտք գործել իրենց սերվերներ և, ամենայն հավանականությամբ, կնախընտրեն ինքնուրույն կառուցել իրենց ենթակառուցվածքը, քանի որ այն վերահսկում է մուտքը: վավերացնողի հիմնական ակտիվներին՝ ցցերի ընտրողներին: Հենց այս վարքագիծը հնարավորություն է տալիս ստեղծել բաշխված անվտանգ ցանցեր՝ օգտագործվող ամպային պրովայդերների անկախությունը, վիրտուալ և «բարեմետալ» սերվերները, տարբեր օպերացիոն համակարգերը, այս ամենը թույլ է տալիս նման ցանցի վրա հարձակումները դարձնել չափազանց անարդյունավետ՝ չափազանց տարբեր։ օգտագործվում է ծրագրակազմ։ Օրինակ, Ethereum-ն օգտագործում է երկու հիմնական հանգույցների իրականացում՝ Go-ում և Rust-ում, և հարձակումը, որն արդյունավետ է մի իրականացման համար, չի աշխատում մյուսի համար:

Հետևաբար, բլոկչեյնների գործարկման և գործարկման բոլոր գործընթացները պետք է կազմակերպվեն այնպես, որ ցանկացած վավերացնող կամ նույնիսկ վավերացնողների փոքր խումբ ցանկացած պահի կարողանա համակարգիչները պատուհանից դուրս նետել և հեռանալ, մինչդեռ ոչինչ չպետք է կոտրվի, իսկ մնացած վավերացնողները պետք է լինեն: շարունակել արդյունավետորեն աջակցել գործառնական ցանցին և միացնել նոր վավերացուցիչներ: Ցանց գործարկելիս, երբ մի վավերացնողը Եվրոպայում է, երկրորդը՝ Հարավային Ամերիկայում, երրորդը՝ Ասիայում, բավականին դժվար է հասնել մի քանի տասնյակ անկախ խմբերի համակարգված աշխատանքին և արդյունքում նրանց հետաքրքրել։

Վավերացնողներ

Եկեք պատկերացնենք հիպոթետիկ ժամանակակից բլոկչեյնի գործարկումը (նկարագրվածի մեծ մասը հարմար է բլոկչեյնների համար, որոնք հիմնված են բլոկչեյնների ցանկացած ժամանակակից ընտանիքի վրա. Նման բլոկչեյնները վավերացնող թիմեր են, որոնք զբաղվում են իրենց անկախ սերվերների տեղադրմամբ, որոնք վավերացնում և արտադրում են նոր բլոկներ և ստանում են պարգևներ, որոնք տրամադրվում են ցանցի կողմից նրանց համար, ովքեր մասնակցում են կոնսենսուսին: Նոր ցանցեր գործարկելու համար պահանջվում են մի քանի տասնյակ վավերացնողներ (այսքանը հիմա կարող է քիչ թե շատ արդյունավետ կերպով հասնում է կոնսենսուսի վայրկյանների ընթացքում), ուստի նախագիծը հայտարարում է գրանցում, որում վավերացնողները կիսում են իրենց մասին հանրային տեղեկատվություն օգտատերերի հետ՝ համոզելով նրանց, որ նրանք պատրաստվում են բարձրորակ ծառայություն մատուցել գործարկված ցանցին:

Վավերացումը բիզնես է, որը թույլ է տալիս չափազանց ճշգրիտ գնահատել վավերացնողի պոտենցիալ եկամուտը, արագ փոխանցել էներգիան նախագծերի միջև, և եթե նրա ընտրած ցանցը հաջող է, վավերացնողը կարող է որպես DAO-ի լիարժեք մասնակից և պատասխանատու անձ, զարգացնել նախագիծը կամ պարզապես մատուցել գերազանց տեխնիկական սպասարկում՝ լիովին թափանցիկ, ազնվորեն վաստակած գումարների համար: Վալիդատորների պարգևը հաշվարկելիս նախագծերը փորձում են հաշվի առնել վավերացնողների ծախսերը և բլոկների համար պարգևատրել այնպես, որ այս բիզնեսը շահութաբեր լինի, բայց միևնույն ժամանակ թույլ չի տալիս վավերացնողներին տապալել տնտեսությունը՝ դրանք հեղեղելով փողով և դրանից զրկելով ցանցի մյուս օգտատերերին:

Վալիդատորների բիզնեսը պահանջում է ծառայությունների անսարքությունների բարձր հանդուրժողականության ապահովում, ինչը նշանակում է զարգացողների և ծրագրավորողների համար պատրաստվածության բարձր մակարդակ և թանկ հաշվողական ռեսուրսներ: Նույնիսկ առանց աշխատանքի ապացուցման ցանցերում հեշեր հանելու անհրաժեշտության, բլոկչեյն հանգույցը մեծ ծառայություն է, որը խլում է մեծ հիշողություն, սպառում է շատ հաշվարկներ, վավերացնում, գրում է սկավառակի վրա և մեծ քանակությամբ տվյալներ է ուղարկում ցանց։ . Գործարքների տեղեկամատյանները և արգելափակման շղթաները բլոկչեյնի համար մի քանի հազար փոքր գործարքներով բլոկում պահելու համար այժմ պահանջվում է 50 Գբ կամ ավելի պահեստավորում, իսկ բլոկների համար այն պետք է լինի SSD: Խելացի պայմանագրերի աջակցությամբ բլոկչեյնների պետական ​​տվյալների բազան արդեն կարող է գերազանցել 64 Գբ օպերատիվ հիշողությունը։ Պահանջվող բնութագրերով սերվերները բավականին թանկ են, Ethereum կամ EOS հանգույցը կարող է արժենալ 100-ից 200 $/ամսական: Դրան գումարվում է ծրագրավորողների և դիվոպների շուրջօրյա աշխատանքի համար ավելացված աշխատավարձերը, ովքեր գործարկման ընթացքում խնդիրներ են լուծում նույնիսկ գիշերը, քանի որ որոշ վավերացուցիչներ հեշտությամբ կարող են տեղակայվել մեկ այլ կիսագնդում: Այնուամենայնիվ, ճիշտ պահերին վավերացնող հանգույց ունենալը կարող է լուրջ եկամուտ բերել (EOS-ի դեպքում օրական մինչև $10):

Վավերացումը ՏՏ ոլորտի նոր պոտենցիալ դերերից մեկն է ձեռնարկատերերի և ընկերությունների համար: Քանի որ ծրագրավորողները հանդես են գալիս ավելի ու ավելի բարդ ալգորիթմներով, որոնք պարգևատրում են ազնվությունը և պատժում խարդախությունն ու գողությունը, ծառայություններ են հայտնվում, որոնք կատարում են կարևոր տվյալներ հրապարակելու (օրակուլներ), վերահսկողություն իրականացնելու գործառույթները: (ավանդների կրճատումը և խաբեբաներին պատժելը` հրապարակելով խաբեության ապացույցը), վեճերի լուծման ծառայությունները, ապահովագրությունը և տարբերակները, նույնիսկ աղբահանությունը խելացի պայմանագրային համակարգերի պոտենցիալ մեծ շուկա է, որտեղ անհրաժեշտ է վճարել տվյալների պահպանման համար:

Բլոկչեյնի գործարկման խնդիրներ

Բլոկչեյնի բաց լինելը, որը հնարավորություն է տվել ցանկացած երկրի համակարգիչներին ազատորեն մասնակցել ցանցին և ցանկացած սկրիպտ kiddie-ին ցանցին միացնելու հեշտությունը GitHub-ի հրահանգների համաձայն, միշտ չէ, որ առավելություն է: Նոր նշանի հետապնդումը հաճախ ստիպում է վավերացնողներին «սկզբում նոր մետաղադրամ հանել»՝ հույս ունենալով, որ փոխարժեքը կբարձրանա և հնարավորություն կունենա արագորեն հրաժարվել իրենց եկամուտներից: Բացի այդ, սա նշանակում է, որ ձեր վավերացնողը կարող է լինել ցանկացած մեկը, նույնիսկ անանուն անձ, դուք կարող եք քվեարկել նրա օգտին այնպես, ինչպես մյուս վավերացնողների համար (սակայն անանուն անձի համար դժվար կլինի շահագրգիռ կողմերի ձայներ հավաքել իր համար, ուստի մենք՝ Անանուն կրիպտոարժույթների մասին սարսափելի պատմությունները կթողնենք քաղաքական գործիչներին): Այնուամենայնիվ

Ծրագրի թիմը խնդիր ունի՝ ինչ-որ կերպ իր ցանց մտնել նրանց, ովքեր ապագայում կկարողանան ապահովել հանգույցների կայուն աշխատանքը, հասկանալ անվտանգությունը, գիտեն, թե ինչպես արագ լուծել խնդիրները, համագործակցել այլ վավերացնողների հետ և միասին գործել՝ դրա որակը։ շատ բան լիովին կախված է այս որակներից, որը նշան է, որում ցանցի մասնակիցները պատրաստվում են ներդնել իրենց ժամանակը և ռեսուրսները: Ադեկվատ հիմնադիրները ռիսկերը գնահատելիս լավ հասկանում են, որ այս չափի ծրագրակազմը գործարկելիս անպայման պետք է սխալներ հանդիպեք հանգույցների կոդի և կազմաձևման մեջ, և որ ցանցի կայունությունը կախված է նրանից, թե որքան լավ կլուծեն մշակողները և վավերացնողները։ նման խնդիրներ.

Թիմը պատրաստ է քվեարկել հիմնական ցանցում ցանկացած վավերացնողների համար, պարզապես իմանալու համար, թե որոնք են, որոնք են լավը: Ամենամեծ պորտֆոլի՞ն։ Այժմ գրեթե ոչ ոք չունի: Հիմնվելով թիմի Linkedin պրոֆիլների վրա: Փորձառու մշակողները կամ անվտանգության մասնագետները ձեզ չեն տա Linkedin-ի որևէ պրոֆիլ: Համաձայն չաթում հայտարարությունների, հրապարակումների և նախապատրաստական ​​փուլում ուրիշներին օգնելու՞: Լավ, բայց սուբյեկտիվ ու ոչ ճշգրիտ։

Նման պայմաններում մնում է մի բան՝ մի բան, որը լավ է լուծում բոլորի խնդիրները՝ խաղ, որում հնարավոր կլինի ընտրել լավագույն վավերացնողներին, բայց գլխավորը բլոկչեյնը փորձարկելն է ուժի համար և անցկացնել մարտական ​​լայնամասշտաբ թեստ։ բլոկչեյն ակտիվ օգտագործման պայմաններում, կոնսենսուսի փոփոխություններ, արտաքին տեսք և սխալների ուղղում: Այս պրոցեդուրան առաջին անգամ որպես խաղ ներկայացվեց Cosmos նախագծի տղաների կողմից, և այս գաղափարը, անկասկած, հիանալի միջոց է ցանցը պատրաստելու հուսալի և սխալ հանդուրժող հիմնական ցանցի գործարկմանը:

Վավերացնողների խաղ

Ես նկարագրելու եմ վավերացնողների խաղը այնպես, ինչպես մենք այն նախագծել ենք DAO.Casino (DAOBet) բլոկչեյնի համար, որը հիմնված է EOS պատառաքաղի վրա, որը կոչվում է Haya և ունի կառավարման նմանատիպ մեխանիզմ. վավերացնողներն ընտրվում են քվեարկությամբ ցանկացած հաշվից, որի մի մասը վավերացնողի օգտին քվեարկելու համար օգտագործված մնացորդը սառեցված է: Ցանկացած հաշիվ, որն ունի հիմնական BET նշանն իր հաշվեկշռում, կարող է քվեարկել ընտրված վավերացնողի օգտին՝ իր մնացորդի ցանկացած մասով: Ձայներն ամփոփվում են, և արդյունքների հիման վրա կառուցվում են լավագույն վավերացնողները: Տարբեր բլոկչեյններում այս գործընթացը տարբեր կերպ է կազմակերպվում, և սովորաբար հենց այս մասով է նոր բլոկչեյնը տարբերվում մայրից, և պետք է ասեմ, որ մեր դեպքում EOS-ը լիովին արդարացնում է «OS»-ն իր անունով, մենք իսկապես օգտագործում ենք EOS-ը։ որպես բազային օպերացիոն համակարգ՝ DAOBet առաջադրանքների համար բլոկչեյնի փոփոխված տարբերակի տեղակայման համար:

Ես կնկարագրեմ անհատական ​​խնդիրներ և ինչպես դրանք կարող են լուծվել խաղի շրջանակներում: Եկեք պատկերացնենք մի ցանց, որտեղ ձեր սերվերը կարող է բաց հարձակման ենթարկվել, որտեղ վավերացնողի դիրքը պահպանելու համար պետք է շարունակաբար փոխազդել ցանցի հետ՝ խթանելով ձեր վավերացնողը և համոզվել, որ այն արտադրում է բլոկներ, և դրանք առաքվում են այլ վավերացնողներին։ ժամանակ, հակառակ դեպքում վավերացնողը դուրս կշպրտվի ցուցակից:

Ինչպե՞ս ընտրել լավագույն հաղթողներին:

Խաղի հիմնական տեխնիկական պահանջն այն է, որ դրա արդյունքները լինեն հանրությանը ստուգելի: Սա նշանակում է, որ խաղի արդյունքները՝ TOP հաղթողները, պետք է ձևավորվեն խիստ տվյալների հիման վրա, որոնք կարող են ստուգվել ցանկացած մասնակցի կողմից: Կենտրոնացված համակարգում մենք կարող էինք չափել յուրաքանչյուր վավերացնողի «աշխատաժամանակը» և պարգևատրել նրանց, ովքեր ամենաշատն էին առցանց կամ անցել ցանցի առավելագույն տրաֆիկի միջով: Դուք կարող եք հավաքել տվյալներ պրոցեսորի և հիշողության ծանրաբեռնվածության վերաբերյալ և պարգևատրել նրանց, ովքեր լավ են աշխատել: Բայց չափումների ցանկացած նման հավաքածու նշանակում է հավաքման կենտրոնի առկայություն, և հանգույցները բոլորն անկախ են և կարող են վարվել այնպես, ինչպես ցանկանում են և ուղարկել ցանկացած տվյալ:

Հետևաբար, բնական լուծումն այն է, որ հաղթողները պետք է որոշվեն՝ հիմնվելով բլոկչեյնի տվյալների վրա, քանի որ այն կարող է օգտագործվել՝ տեսնելու, թե որ վավերացնողը որ բլոկն է արտադրել և ինչ գործարքներ են ներառվել դրանում: Մենք այս թիվը անվանեցինք Validator Points (VP), և դրանք վաստակելը խաղի վավերացնողների հիմնական նպատակն է: Մեր դեպքում վավերացնողի «օգտակարության» ամենապարզ, հեշտությամբ հանրայնորեն ստուգելի և արդյունավետ չափանիշը VP = տվյալ ժամանակահատվածում վավերացնողի կողմից արտադրված բլոկների քանակն է:

Այս պարզ ընտրությունը պայմանավորված է նրանով, որ EOS-ում կառավարումն արդեն իսկ նախատեսում է բազմաթիվ առաջացող խնդիրներ, քանի որ EOS-ն իրականում գործող բլոկչեյնների երեք սերունդների ժառանգն է՝ բարդ ցանցերի կառավարման մեծ փորձով և ցանցի, պրոցեսորի հետ կապված գրեթե ցանկացած վալիդատորի հետ կապված խնդիրների: սկավառակը տանում է միայն մեկ խնդրի՝ նա ստորագրում է ավելի քիչ բլոկներ, ստանում է ավելի քիչ վճար աշխատանքի համար, ինչը կրկին մեզ տանում է պարզապես ստորագրված բլոկների քանակին՝ EOS-ի համար սա հիանալի և պարզ տարբերակ է:

Այլ բլոկչեյնների համար Վավերացնող միավորների հաշվարկման ձևը կարող է տարբերվել, օրինակ՝ pBFT-ի վրա հիմնված կոնսենսուսների համար (Tendermint/Cosmos, Aura consensus from Parity Substrate), որտեղ յուրաքանչյուր բլոկ պետք է ստորագրված լինի մի քանի վավերացնողների կողմից, իմաստ ունի հաշվել առանձին վավերացնողները: ստորագրությունները, այլ ոչ թե արգելափակումները: Կարող է իմաստ ունենալ հաշվի առնել թերի կոնսենսուսի փուլերը, որոնք վատնում են այլ վավերացնողների ռեսուրսները, ընդհանուր առմամբ դա մեծապես կախված է կոնսենսուսի տեսակից:

Ինչպես մոդելավորել իրական աշխատանքային պայմանները

Հիմնադիրների խնդիրն է ստուգել վավերացնողները իրականությանը մոտ պայմաններում՝ առանց որևէ կենտրոնացված վերահսկողության: Այս խնդիրը կարող է լուծվել՝ օգտագործելով ծորակի պայմանագիր, որը հավասար քանակությամբ հիմնական նշան է բաժանում վավերացնողներին և բոլոր մյուսներին: Ձեր հաշվեկշռում նշաններ ստանալու համար դուք պետք է ստեղծեք գործարք և համոզվեք, որ ցանցը ներառում է այն բլոկում: Այսպիսով, հաղթելու համար վավերացնողը պետք է մշտապես լրացնի իր հաշվեկշիռը նոր նշաններով և քվեարկի իր օգտին՝ իրեն բարձրանալով դեպի վերև: Այս գործողությունը ստեղծում է մշտական ​​ծանրաբեռնվածություն ցանցում, և պարամետրերը կարող են ընտրվել այնպես, որ հարցումների հոսքը բավականաչափ ծանր լինի ցանցի ամբողջական փորձարկման համար: Ուստի նախօրոք պլանավորեք ծորակի պայմանագիրը որպես ցանցի գործարկման կարևոր գործիք և սկսեք նախապես ընտրել դրա պարամետրերը:

Ծորակներից ժետոններ պահանջելը և ձայների վավերացումը դեռևս լիովին չեն ընդօրինակում մարտագլխիկի աշխատանքը, հատկապես ծայրահեղ ծանրաբեռնված ռեժիմներում: Հետևաբար, բլոկչեյն թիմը դեռևս ստիպված կլինի այս կամ այն ​​կերպ գրել լրացուցիչ հենանիշեր՝ ցանցը բեռնելու համար։ Դրանում հատուկ դեր են խաղում հատուկ ստեղծված խելացի պայմանագրերը, որոնք թույլ են տալիս փորձարկել առանձին ենթահամակարգ: Պահպանումը փորձարկելու համար պայմանագիրը պահում է պատահական տվյալներ բլոկչեյնում, իսկ ցանցային ռեսուրսները փորձարկելու համար փորձարկման պայմանագիրը պահանջում է մեծ քանակությամբ մուտքային տվյալներ՝ դրանով իսկ ուռճացնելով գործարքների ծավալը՝ գործարկելով նման գործարքների հոսք ժամանակի կամայական կետերում թիմը միաժամանակ ստուգում է կոդի կայունությունը և վավերացնողների ուժը:

Առանձին խնդիր է հանգույցների կոդի թարմացումը և կոշտ պատառաքաղների անցկացումը: Պահանջվում է, որ վրիպակի, խոցելիության կամ վնասակար վավերացնողների համաձայնության դեպքում վավերացնողները պետք է ունենան գործողությունների ծրագիր, որն արդեն մշակված է վավերացնողների խաղում: Այստեղ դուք կարող եք մշակել VP-ի հավաքագրման սխեմաներ՝ կոշտ պատառաքաղ արագ կիրառելու համար, օրինակ՝ տուգանելով բոլոր վավերացնողներին, ովքեր դեռ չեն ներկայացրել հանգույցի կոդի նոր տարբերակը, բայց դա դժվար է իրականացնել և բարդացնում է հաշվարկը: Դուք կարող եք նմանակել կոշտ պատառաքաղի արտակարգ օգտագործման իրավիճակը՝ արհեստականորեն «կոտրելով» բլոկչեյնը տվյալ բլոկի վրա: Բլոկների արտադրությունը դադարում է, և ի վերջո հաղթողները կլինեն նրանք, ովքեր առաջինը կցատկեն և կսկսեն ստորագրել բլոկները, այնպես որ VP-ն՝ հիմնված ստորագրված բլոկների քանակի վրա, լավ տեղավորվում է այստեղ:

Ինչպես տեղեկացնել մասնակիցներին ցանցի կարգավիճակի մասին և ուղղել սխալները

Չնայած վավերացնողների միջև առկա անվստահությանը, ցանցի վիճակի մասին արդի տեղեկատվության ժամանակին ստացումը շահավետ է բոլորի համար՝ ավելի արագ որոշումներ կայացնելու համար, ուստի ծրագրի թիմը բարձրացնում է վավերացնող սերվերներից բազմաթիվ ցուցանիշներ հավաքելու և պատկերացնելու ծառայություն: որը թույլ է տալիս միաժամանակ տեսնել իրավիճակը ողջ ցանցի համար՝ թույլ տալով արագ որոշել, թե ինչ է կատարվում: Բացի այդ, և՛ վավերացնողների, և՛ նախագծի համար ձեռնտու է, որ ծրագրի թիմը արագ շտկի հայտնաբերված սխալները, այնպես որ, ի լրումն չափումների հավաքագրման, իմաստ ունի անմիջապես սկսել տեղեկամատյանները և սխալների տվյալները հավաքագրել վավերացնող մեքենաներից բլոկչեյնին հասանելի մեքենայի վրա: մշակողները։ Այստեղ որևէ մեկի համար ձեռնտու չէ խեղաթյուրել տեղեկատվությունը, ուստի այս ծառայությունները մշակվում են ծրագրի թիմի կողմից և կարող են վստահվել: Իմաստ է հավաքել համակարգի չափումները վավերացնողներից, և, իհարկե, բուն բլոկչեյնի ամենակարևոր չափորոշիչները՝ DAOBet-ի համար, վերջնականացման ժամանակն է և վերջին վերջնական բլոկի հետաձգումը: Դրա շնորհիվ թիմը նկատում է հիշողության սպառման ավելացում հանգույցների վրա՝ հենանիշը գործարկելիս, խնդիրներ առանձին վավերացնողների հետ։

Կարևոր կետեր վավերացնող խաղ անցկացնելու համար

Ինչպես պարզվում է, եթե ցանկանում եք պաշտոնապես թույլ տալ վավերացնողներին հարձակվել միմյանց մեքենաների վրա (ոչ պաշտոնապես նրանք կարող են դա անել ամեն դեպքում), դուք պետք է առանձին ձևակերպեք դա օրինականորեն որպես անվտանգության փորձարկում, քանի որ որոշ երկրների օրենքների համաձայն DDoS կամ ցանցային հարձակումները կարող են լինել: պատժվել է. Մեկ այլ կարևոր խնդիր է, թե ինչպես պարգևատրել վավերացնողներին: Բնական մրցանակները նախագծային նշաններ են, որոնք կտեղափոխվեն հիմնական ցանց, բայց նշանների զանգվածային բաշխումը յուրաքանչյուրին, ով կարողացավ հանգույց գործարկել, նույնպես լավագույն տարբերակը չէ: Ամենայն հավանականությամբ, դուք ստիպված կլինեք հավասարակշռել երկու ծայրահեղ տարբերակների միջև.

Բաշխեք ամբողջ մրցանակային ֆոնդը՝ ըստ վաստակած VP-ի
այն շատ ժողովրդավարական է և թույլ է տալիս բոլորին, ովքեր ժամանակ և ռեսուրսներ են ներդրել վավերացնող խաղի մեջ, գումար վաստակել
բայց պատահական մարդկանց գրավում է խաղի մեջ՝ առանց պատրաստված ենթակառուցվածքի

Բաշխեք N top-N մրցանակային ֆոնդը վավերացնողներին՝ հիմնվելով խաղի արդյունքների վրա
Հաղթողները, ամենայն հավանականությամբ, կլինեն այն վավերացնողները, ովքեր խաղի ընթացքում ամենահետևողականությունը տևեցին և շատ խստորեն վճռական են տրամադրված հաղթելու համար:
որոշ վավերացնողներ չեն ցանկանա մասնակցել՝ ցածր գնահատելով իրենց հաղթելու հնարավորությունները, հատկապես, եթե մասնակիցները ներառում են հարգարժան վավերացնողներ

Որ տարբերակն ընտրել, կախված է ձեզանից

Կա ևս մեկ կետ. ամենևին էլ փաստ չէ, որ տասնյակ վավերացնողներ կշտապեն մասնակցել խաղին ձեր կանչով, և նրանցից, ովքեր կորոշեն փորձել, ոչ բոլորն են նույնիսկ տեղադրել և գործարկել հանգույցը, սովորաբար. Այս փուլում նախագծերն ունեն բավականին նոսր փաստաթղթավորում, հանդիպում են սխալներ, և ժամանակի ճնշման տակ աշխատող մշակողները շատ արագ չեն պատասխանում հարցերին: Հետևաբար, նախքան խաղը սկսելը, անհրաժեշտ է նաև նախատեսել գործողություններ, եթե վավերացնողների պահանջվող թիվը չհասնի: Այս դեպքում, խաղի սկզբում բացակայող վավերացնողները գործարկվում են նախագծի թիմի կողմից, մասնակցում են կոնսենսուսի, բայց չեն կարող հաղթող լինել:

Ամփոփում

Եզրափակելով, ես փորձեցի վերը նշվածից կազմել ցուցակը, թե ինչ պետք է մտածել, պատրաստել և գործարկել վավերացնող խաղ արդյունավետ իրականացնելու համար:

Ինչ պետք է անեք իրական վավերացնող խաղ գործարկելու համար.
զարգացրեք ձեր սեփական բլոկչեյնը :)

  • ստեղծել և բարձրացնել վեբ ինտերֆեյս և տրամադրել CLI՝ վավերացնողների օգտին քվեարկելու համար
  • համոզվեք, որ գործող վավերացնող հանգույցի չափումները կարող են ուղարկվել կենտրոնացված ծառայության (օրինակ՝ Պրոմեթևս)
  • բարձրացնել չափումների հավաքածուի սերվեր (Պրոմեթևս + Գրաֆանա) վավերացնող խաղի համար
  • պարզեք, թե ինչպես են հաշվարկվելու Validator Point-ները (VP):
  • մշակել հանրային սկրիպտ, որը հաշվարկում է վավերացնող VP-ն՝ հիմնվելով բլոկչեյնի տվյալների վրա
  • մշակեք վեբ ինտերֆեյս՝ ցուցադրելու լավագույն վավերացնողները և վավերացնողների խաղի կարգավիճակը (որքան ժամանակ է մնացել ավարտին, ով ինչքան VP ունի և այլն)
  • մշակել և ավտոմատացնել ձեր սեփական հանգույցների կամայական թվի գործարկումը, նախագծել վավերացնող սարքերը խաղի հետ միացնելու գործընթացը (երբ և ինչպես անջատել ձեր հանգույցները, ներկայացնել և հեռացնել ձայները նրանց համար)
  • հաշվարկեք, թե քանի նշան պետք է թողարկվի և մշակեք ծորակի պայմանագիր
  • կատարել հենանիշի սկրիպտ (նշանային փոխանցումներ, պահեստի զանգվածային օգտագործում, ցանցի զանգվածային օգտագործում)
  • հավաքեք բոլոր մասնակիցներին մեկ չաթում՝ արագ շփման համար
  • գործարկել բլոկչեյնը խաղի մեկնարկից մի փոքր շուտ
  • սպասեք մեկնարկային բլոկին, սկսեք խաղը
  • փորձարկել ցանցը մի քանի տեսակի գործարքներով
  • գլորում է կոշտ պատառաքաղ
  • փոխել վավերացնողների ցանկը
  • կրկնել 13,14,15, XNUMX, XNUMX քայլերը տարբեր կարգերով՝ պահպանելով ցանցի կայունությունը
  • սպասեք վերջնական բլոկին, ավարտեք խաղը, հաշվեք VP-ին

Պետք է ասել, որ վավերացնողների խաղը նոր պատմություն է, և այն իրականացվել է ընդամենը մի քանի անգամ, ուստի այս տեքստը չպետք է ընդունեք որպես պատրաստի ուղեցույց։ Ժամանակակից ՏՏ բիզնեսում նմաններ չկան. պատկերացրեք, որ բանկերը, նախքան վճարային համակարգը գործարկելը, մրցում են միմյանց հետ, թե ով կլինի լավագույնը հաճախորդների հետ գործարքներ իրականացնելու հարցում: Ավանդական մոտեցումները դժվար թե օգնեն ձեզ ստեղծել մեծ ապակենտրոնացված ցանցեր, այնպես որ տիրապետեք նոր բիզնես մոդելներին, գործարկեք ձեր խաղերը, բացահայտեք արժանիներին, պարգևատրեք նրանց և պահեք ձեր բաշխված համակարգերը արագ և կայուն աշխատեցնել:

Source: www.habr.com

Добавить комментарий