Ոչ, ապակենտրոնացված հավելվածի (dapp) գործարկումը բլոկչեյնում չի հանգեցնի հաջող բիզնեսի։ Իրականում, օգտատերերի մեծամասնությունը չի էլ մտածում, թե արդյոք հավելվածն աշխատում է բլոկչեյնով, նրանք պարզապես ընտրում են ավելի էժան, արագ և պարզ ապրանք:
Ցավոք, նույնիսկ եթե բլոկչեյնն ունի իր յուրահատուկ առանձնահատկություններն ու առավելությունները, դրա վրա աշխատող հավելվածների մեծ մասը շատ ավելի թանկ է, դանդաղ և ավելի քիչ ինտուիտիվ, քան կենտրոնացված մրցակիցները:
Հաճախ բլոկչեյնի վրա կառուցված հավելվածների սպիտակ փաստաթղթերում կարող եք գտնել մի պարբերություն, որն ասում է. «Բլոկչեյնը թանկ է և չի կարող աջակցել վայրկյանում անհրաժեշտ թվով գործարքներ: Բարեբախտաբար, շատ խելացի մարդիկ աշխատում են բլոկչեյնը մեծացնելու վրա և մինչև մեր հավելվածը գործարկվի, այն կդառնա բավականին լայնածավալ»։
Մեկ պարզ պարբերության մեջ dapp-ի մշակողը կարող է հրաժարվել մասշտաբայնության խնդիրների և խնդիրների այլընտրանքային լուծումներից ավելի խորը քննարկումից: Սա հաճախ հանգեցնում է անարդյունավետ ճարտարապետության, որտեղ բլոկչեյնի վրա աշխատող խելացի պայմանագրերը ծառայում են որպես հավելվածի հիմք և առանցք:
Այնուամենայնիվ, դեռևս կան չփորձարկված մոտեցումներ ապակենտրոնացված կիրառական ճարտարապետության նկատմամբ, որոնք թույլ են տալիս շատ ավելի լավ մասշտաբայնություն ապահովել՝ նվազեցնելով կախվածությունը բլոկչեյնից: Օրինակ, Blockstack-ը աշխատում է ճարտարապետության վրա, որտեղ հավելվածի տվյալների և տրամաբանության մեծ մասը պահվում է շղթայից դուրս:
Եկեք նախ նայենք ավելի ավանդական մոտեցմանը, որն օգտագործում է բլոկչեյնը որպես անմիջական միջնորդ հավելվածի օգտատերերի միջև, և որն առանձնապես լավ չի մասշտաբվում:
Մոտեցում թիվ 1. Բլոկչեյնը որպես հետին պլան
Որպեսզի ամեն ինչ ավելի պարզ լինի, եկեք որպես օրինակ վերցնենք հյուրանոցային արդյունաբերությունը: Սա հսկայական արդյունաբերություն է, որտեղ միջնորդները, ինչպիսիք են Booking.com-ը,
Ցանկացած իրավիճակում, երբ մենք ցանկանում ենք հաղթել նման միջնորդին՝ օգտագործելով այս մոտեցումը, մենք կփորձենք կրկնօրինակել նրա բիզնես տրամաբանությունը՝ օգտագործելով խելացի պայմանագրերը բլոկչեյնի վրա, ինչպիսին է Ethereum-ը:
Բաց կոդով խելացի պայմանագրերը, որոնք գործում են «համաշխարհային համակարգչի» վրա, կարող են վաճառականներին միացնել սպառողներին առանց երրորդ կողմի միջև՝ ի վերջո նվազեցնելով միջնորդի կողմից գանձվող վճարներն ու միջնորդավճարները:
Ինչպես ցույց է տրված ստորև նկարում, հյուրանոցներն օգտագործում են ապակենտրոնացված հավելված՝ բլոկչեյնում տեղադրելու համար տեղեկություններ սենյակների, դրանց առկայության և գների մասին աշխատանքային օրերին կամ հանգստյան օրերին, և, հնարավոր է, նույնիսկ սենյակների նկարագրությունը բոլոր այլ համապատասխան տեղեկություններով:
Յուրաքանչյուր ոք, ով ցանկանում է սենյակ պատվիրել, օգտագործում է այս հավելվածը՝ բլոկչեյնում տեղակայված հյուրանոցներ և սենյակներ որոնելու համար: Երբ օգտատերը ընտրում է սենյակ, ամրագրումը կատարվում է՝ անհրաժեշտ քանակությամբ ժետոններ ուղարկելով հյուրանոց՝ որպես ավանդ: Եվ ի պատասխան՝ խելացի պայմանագիրը թարմացնում է բլոկչեյնի տեղեկատվությունը, որ համարն այլևս հասանելի չէ։
Այս մոտեցման մասշտաբայնության խնդիրը երկու կողմ ունի: Նախ, մեկ վայրկյանում գործարքների առավելագույն քանակը: Երկրորդ, տվյալների քանակությունը, որը կարող է պահվել բլոկչեյնում:
Եկեք մի քանի կոպիտ հաշվարկներ անենք. Booking.com-ն ասում է, որ իրենց մոտ գրանցված է գրեթե 2 միլիոն հյուրանոց: Ենթադրենք, միջին հյուրանոցն ունի 10 սենյակ, և յուրաքանչյուրը ամրագրվում է տարեկան ընդամենը 20 անգամ, ինչը մեզ տալիս է միջինը վայրկյանում 13 ամրագրում:
Այս թիվը պատկերացնելու համար հարկ է նշել, որ Ethereum-ը կարող է վայրկյանում մշակել մոտավորապես 15 գործարք:
Միևնույն ժամանակ, հարկ է հաշվի առնել, որ մեր հավելվածը կպարունակի նաև գործարքներ հյուրանոցներից՝ նրանց սենյակների մասին տեղեկատվությունը ներբեռնելու և անընդհատ թարմացնելու համար: Հյուրանոցները թարմացնում են սենյակների գները շատ հաճախ, երբեմն նույնիսկ ամեն օր, և յուրաքանչյուր գնի կամ նկարագրության փոփոխություն պահանջում է գործարք բլոկչեյնով:
Այստեղ նաև չափի հետ կապված խնդիրներ կան՝ Ethereum բլոկչեյնի քաշը վերջերս անցել է 2TB նշագիծը: Եթե այս մոտեցմամբ հավելվածներն իսկապես հայտնի դառնան, Ethereum ցանցը կդառնա չափազանց անկայուն:
Նման բլոկչեյնի վրա հիմնված համակարգը կարող է բացառել կողմնակի անձանց՝ իր անաչառության և կենտրոնացվածության բացակայության պատճառով՝ բլոկչեյն տեխնոլոգիայի հիմնական առավելություններից: Բայց բլոկչեյնն ունի նաև այլ առանձնահատկություններ՝ այն բաշխված է և չի վերագրվում, սրանք հիանալի բնութագրեր են, բայց դրանց համար պետք է վճարել գործարքների արագության և միջնորդավճարի մեջ:
Հետևաբար, dapp-ի մշակողները պետք է ուշադիր գնահատեն, թե արդյոք բլոկչեյն օգտագործող յուրաքանչյուր հատկանիշ իրոք բաշխման և չգրելու կարիք ունի:
Օրինակ՝ ո՞րն է օգուտը յուրաքանչյուր հյուրանոցի տվյալների բաշխումը հարյուրավոր մեքենաների վրա աշխարհի տարբեր ծայրերում և այնտեղ մշտապես պահելը: Արդյո՞ք իսկապես կարևոր է, որ սենյակների գների և մատչելիության վերաբերյալ պատմական տվյալները միշտ ներառվեն բլոկչեյնում: Հավանաբար ոչ.
Եթե մենք սկսենք նման հարցեր տալ, մենք կսկսենք տեսնել, որ պարտադիր չէ, որ մեզ անհրաժեշտ լինեն բլոկչեյնի բոլոր թանկարժեք հատկանիշները մեր բոլոր գործառույթների համար: Այսպիսով, ո՞րն է այլընտրանքը:
Մոտեցում # 2. Blockstack Inspired Architecture
Չնայած հիմնական շեշտը
Ձախ. Առաջին մոտեցումը, որի դեպքում օգտվողները փոխազդում են բլոկչեյնի միջոցով: Ճիշտ է. օգտատերերը ուղղակիորեն փոխազդում են միմյանց հետ, և բլոկչեյնն օգտագործվում է միայն նույնականացման և նման բաների համար.
Վերադառնանք հյուրանոցի ամրագրման օրինակին: Մենք ցանկանում ենք հյուրերին հյուրանոցների հետ կապելու անաչառ, անկախ և բաց արձանագրություն: Այսինքն՝ ուզում ենք կենտրոնացված միջնորդին հեռացնել։ Մեզ պետք չէ, օրինակ, սենյակների գները մշտապես պահել ընդհանուր բաշխված մատյանում:
Ինչու՞ մենք պարզապես թույլ չենք տալիս հյուրերին և հյուրանոցներին ուղղակիորեն փոխազդել, այլ ոչ թե բլոկչեյնի միջոցով: Հյուրանոցները կարող են պահել իրենց գները, սենյակների հասանելիությունը և ցանկացած այլ տեղեկատվություն ինչ-որ տեղ, որտեղ այն հասանելի կլինի բոլորին, օրինակ՝ IPFS, Amazon S3 կամ նույնիսկ իրենց սեփական տեղական սերվերը: Սա հենց այն է, ինչ կոչվում է Blockstack-ի ապակենտրոնացված պահեստավորման համակարգը
Վստահություն հաստատելու համար հյուրանոցի բոլոր տվյալները կրիպտոգրաֆիկ կերպով ստորագրվում են հենց հյուրանոցի կողմից: Անկախ նրանից, թե որտեղ են պահվում այս տվյալները, դրանց ամբողջականությունը կարելի է ստուգել՝ օգտագործելով բլոկչեյնում պահվող այդ հյուրանոցի ինքնության հետ կապված հանրային բանալիները:
Blockstack-ի դեպքում միայն ձեր ինքնության տեղեկությունները պահվում են բլոկչեյնում: Տեղեկատվությունը, թե ինչպես կարելի է ձեռք բերել յուրաքանչյուր օգտագործողի տվյալները, պահվում են գոտու ֆայլերում և բաշխվում են հավասարակցական ցանցի միջոցով՝ օգտագործելով հանգույցները: Եվ ևս մեկ անգամ, ձեզ հարկավոր չէ վստահել այն տվյալներին, որոնք տալիս են հանգույցները, քանի որ կարող եք ստուգել դրանց իսկությունը՝ համեմատելով դրանք բլոկչեյնում և այլ օգտվողների մեջ պահվող հեշերի հետ:
Համակարգի պարզեցված տարբերակում հյուրերը կօգտագործեն Blockstack peer-to-peer ցանցը՝ հյուրանոցներ որոնելու և իրենց սենյակների մասին տեղեկություններ ստանալու համար: Եվ ձեր ստացած բոլոր տվյալների իսկությունն ու ամբողջականությունը կարող են ստուգվել՝ օգտագործելով հանրային բանալիներ և հեշեր, որոնք պահվում են այստեղ
Այս ճարտարապետությունը ավելի բարդ է, քան առաջին մոտեցումը և պահանջում է ավելի համապարփակ ենթակառուցվածք: Փաստորեն, հենց այստեղ է մտնում Blockstack-ը՝ ապահովելով բոլոր անհրաժեշտ բաղադրիչները նման ապակենտրոնացված համակարգ ստեղծելու համար:
Այս ճարտարապետությամբ մենք պահում ենք միայն այն տվյալները բլոկչեյնի վրա, որոնք իսկապես պետք է բաշխվեն և չվերագրվեն: Blockstack-ի դեպքում ձեզ անհրաժեշտ են միայն բլոկչեյնով գործարքներ գրանցվելու և նշելու, թե որտեղ պետք է պահվեն ձեր տվյալները: Հնարավոր է, որ ձեզ անհրաժեշտ լինի ավելի շատ գործարքներ կատարել, եթե ցանկանում եք փոխել այս տեղեկատվությունից որևէ մեկը, բայց սա կրկնվող իրադարձություն չէ:
Ավելին, կիրառման տրամաբանությունը, ի տարբերություն առաջին մոտեցման, գործում է հաճախորդի կողմից, այլ ոչ թե խելացի պայմանագրերի վրա: Սա թույլ է տալիս ծրագրավորողին փոխել այս տրամաբանությունը՝ առանց ծախսատար կամ երբեմն նույնիսկ անհնարին խելացի պայմանագրերի թարմացումների: Եվ կիրառման տվյալները և տրամաբանությունը շղթայից դուրս պահելով, ապակենտրոնացված հավելվածները կարող են հասնել ավանդական կենտրոնացված համակարգերի կատարողականության և մասշտաբայնության մակարդակներին:
Ամփոփում
Blockstack-ով աշխատող հավելվածները կարող են շատ ավելի լավ մասշտաբավորվել, քան սովորական բլոկչեյն հավելվածները, բայց դա ավելի երիտասարդ մոտեցում է՝ իր խնդիրներով և անպատասխան հարցերով:
Օրինակ, եթե ապակենտրոնացված հավելվածը չի աշխատում խելացի պայմանագրերով, ապա դա նվազեցնում է կոմունալ նշանների անհրաժեշտությունը: Սա կարող է խնդիրներ առաջացնել բիզնեսի համար՝ հաշվի առնելով, որ ICO-ները եղել են ապակենտրոնացված հավելվածների ֆինանսավորման հիմնական աղբյուրը (ներառյալ հենց Blockstack-ը)
Այստեղ կան նաև տեխնիկական խնդիրներ։ Օրինակ, համեմատաբար հեշտ է իրականացնել հյուրանոցների ամրագրման գործառույթը խելացի պայմանագրում, որտեղ ատոմային շահագործման դեպքում սենյակների ամրագրումը կատարվում է ժետոնների դիմաց: Եվ այնքան էլ ակնհայտ չէ, թե ինչպես կաշխատի ամրագրումը Blockstack հավելվածում առանց խելացի պայմանագրերի:
Հավելվածները, որոնք ուղղված են միլիոնավոր օգտատերերի ներուժ ունեցող գլոբալ շուկաներին, պետք է շատ լավ մասշտաբային լինեն՝ հաջողակ լինելու համար: Մոտ ապագայում մասշտաբայնության այս մակարդակին հասնելու համար բացառապես բլոկչեյնների վրա հույս դնելը սխալ է: Որպեսզի կարողանան մրցել խոշոր կենտրոնացված շուկայի խաղացողների հետ, ինչպիսին է Booking.com-ը, ապակենտրոնացված հավելվածների մշակողները պետք է դիտարկեն իրենց հավելվածների նախագծման այլընտրանքային մոտեցումները, ինչպիսին է Blockstack-ի առաջարկածը:
Source: www.habr.com