Ինչպե՞ս ստեղծել ապակենտրոնացված հավելված, որը մասշտաբների է հասնում: Օգտագործեք ավելի քիչ բլոկչեյն

Ոչ, ապակենտրոնացված հավելվածի (dapp) գործարկումը բլոկչեյնում չի հանգեցնի հաջող բիզնեսի։ Իրականում, օգտատերերի մեծամասնությունը չի էլ մտածում, թե արդյոք հավելվածն աշխատում է բլոկչեյնով, նրանք պարզապես ընտրում են ավելի էժան, արագ և պարզ ապրանք:

Ցավոք, նույնիսկ եթե բլոկչեյնն ունի իր յուրահատուկ առանձնահատկություններն ու առավելությունները, դրա վրա աշխատող հավելվածների մեծ մասը շատ ավելի թանկ է, դանդաղ և ավելի քիչ ինտուիտիվ, քան կենտրոնացված մրցակիցները:

Ինչպե՞ս ստեղծել ապակենտրոնացված հավելված, որը մասշտաբների է հասնում: Օգտագործեք ավելի քիչ բլոկչեյն

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

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

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

Եկեք նախ նայենք ավելի ավանդական մոտեցմանը, որն օգտագործում է բլոկչեյնը որպես անմիջական միջնորդ հավելվածի օգտատերերի միջև, և որն առանձնապես լավ չի մասշտաբվում:

Մոտեցում թիվ 1. Բլոկչեյնը որպես հետին պլան

Որպեսզի ամեն ինչ ավելի պարզ լինի, եկեք որպես օրինակ վերցնենք հյուրանոցային արդյունաբերությունը: Սա հսկայական արդյունաբերություն է, որտեղ միջնորդները, ինչպիսիք են Booking.com-ը, նրանք հսկայական վճար են գանձում հյուրերի և հյուրանոցների միացման համար:

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

Բաց կոդով խելացի պայմանագրերը, որոնք գործում են «համաշխարհային համակարգչի» վրա, կարող են վաճառականներին միացնել սպառողներին առանց երրորդ կողմի միջև՝ ի վերջո նվազեցնելով միջնորդի կողմից գանձվող վճարներն ու միջնորդավճարները:

Ինչպես ցույց է տրված ստորև նկարում, հյուրանոցներն օգտագործում են ապակենտրոնացված հավելված՝ բլոկչեյնում տեղադրելու համար տեղեկություններ սենյակների, դրանց առկայության և գների մասին աշխատանքային օրերին կամ հանգստյան օրերին, և, հնարավոր է, նույնիսկ սենյակների նկարագրությունը բոլոր այլ համապատասխան տեղեկություններով:

Ինչպե՞ս ստեղծել ապակենտրոնացված հավելված, որը մասշտաբների է հասնում: Օգտագործեք ավելի քիչ բլոկչեյն

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

Այս մոտեցման մասշտաբայնության խնդիրը երկու կողմ ունի: Նախ, մեկ վայրկյանում գործարքների առավելագույն քանակը: Երկրորդ, տվյալների քանակությունը, որը կարող է պահվել բլոկչեյնում:

Եկեք մի քանի կոպիտ հաշվարկներ անենք. Booking.com-ն ասում է, որ իրենց մոտ գրանցված է գրեթե 2 միլիոն հյուրանոց: Ենթադրենք, միջին հյուրանոցն ունի 10 սենյակ, և յուրաքանչյուրը ամրագրվում է տարեկան ընդամենը 20 անգամ, ինչը մեզ տալիս է միջինը վայրկյանում 13 ամրագրում:

Այս թիվը պատկերացնելու համար հարկ է նշել, որ Ethereum-ը կարող է վայրկյանում մշակել մոտավորապես 15 գործարք:

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

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

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

Հետևաբար, dapp-ի մշակողները պետք է ուշադիր գնահատեն, թե արդյոք բլոկչեյն օգտագործող յուրաքանչյուր հատկանիշ իրոք բաշխման և չգրելու կարիք ունի:

Օրինակ՝ ո՞րն է օգուտը յուրաքանչյուր հյուրանոցի տվյալների բաշխումը հարյուրավոր մեքենաների վրա աշխարհի տարբեր ծայրերում և այնտեղ մշտապես պահելը: Արդյո՞ք իսկապես կարևոր է, որ սենյակների գների և մատչելիության վերաբերյալ պատմական տվյալները միշտ ներառվեն բլոկչեյնում: Հավանաբար ոչ.

Եթե ​​մենք սկսենք նման հարցեր տալ, մենք կսկսենք տեսնել, որ պարտադիր չէ, որ մեզ անհրաժեշտ լինեն բլոկչեյնի բոլոր թանկարժեք հատկանիշները մեր բոլոր գործառույթների համար: Այսպիսով, ո՞րն է այլընտրանքը:

Մոտեցում # 2. Blockstack Inspired Architecture

Չնայած հիմնական շեշտը Blockstack հավելվածների վրա, որոնցում օգտատերերն իրենց տվյալների սեփականատերն են (օրինակ, օրինակ Իրեքտեքստ, BentenSound, Image Optimizer կամ գրաֆիտ), blockstack-ը նաև ունի բլոկչեյնը թեթև օգտագործելու փիլիսոփայություն՝ միայն խիստ անհրաժեշտության դեպքում: Նրանց հիմնական փաստարկն այն է, որ բլոկչեյնը դանդաղ և թանկ է, և, հետևաբար, պետք է օգտագործվի միայն առանձին կամ հազվադեպ գործարքների համար: Հավելվածների հետ փոխազդեցության մնացած մասը պետք է տեղի ունենա peer-to-peer-ի միջոցով, այսինքն. Ապակենտրոնացված հավելվածների օգտատերերը պետք է տվյալներ փոխանցեն ուղղակիորեն միմյանց հետ, այլ ոչ թե բլոկչեյնի միջոցով: Ի վերջո, ամենահին և ամենահաջող ապակենտրոնացված հավելվածները, ինչպիսիք են BitTorrent-ը, էլեկտրոնային փոստը և Tor-ը, ստեղծվել են բուն բլոկչեյնի հայեցակարգից առաջ:

Ինչպե՞ս ստեղծել ապակենտրոնացված հավելված, որը մասշտաբների է հասնում: Օգտագործեք ավելի քիչ բլոկչեյն
Ձախ. Առաջին մոտեցումը, որի դեպքում օգտվողները փոխազդում են բլոկչեյնի միջոցով: Ճիշտ է. օգտատերերը ուղղակիորեն փոխազդում են միմյանց հետ, և բլոկչեյնն օգտագործվում է միայն նույնականացման և նման բաների համար.

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

Ինչու՞ մենք պարզապես թույլ չենք տալիս հյուրերին և հյուրանոցներին ուղղակիորեն փոխազդել, այլ ոչ թե բլոկչեյնի միջոցով: Հյուրանոցները կարող են պահել իրենց գները, սենյակների հասանելիությունը և ցանկացած այլ տեղեկատվություն ինչ-որ տեղ, որտեղ այն հասանելի կլինի բոլորին, օրինակ՝ IPFS, Amazon S3 կամ նույնիսկ իրենց սեփական տեղական սերվերը: Սա հենց այն է, ինչ կոչվում է Blockstack-ի ապակենտրոնացված պահեստավորման համակարգը Gaia. Այն թույլ է տալիս օգտվողներին ընտրել, թե որտեղ են նրանք ցանկանում պահել իրենց տվյալները և վերահսկել, թե ով կարող է մուտք գործել դրանք կոչված մոտեցման միջոցով բազմակի օգտագործողի պահեստավորում.

Վստահություն հաստատելու համար հյուրանոցի բոլոր տվյալները կրիպտոգրաֆիկ կերպով ստորագրվում են հենց հյուրանոցի կողմից: Անկախ նրանից, թե որտեղ են պահվում այս տվյալները, դրանց ամբողջականությունը կարելի է ստուգել՝ օգտագործելով բլոկչեյնում պահվող այդ հյուրանոցի ինքնության հետ կապված հանրային բանալիները:

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

Համակարգի պարզեցված տարբերակում հյուրերը կօգտագործեն Blockstack peer-to-peer ցանցը՝ հյուրանոցներ որոնելու և իրենց սենյակների մասին տեղեկություններ ստանալու համար: Եվ ձեր ստացած բոլոր տվյալների իսկությունն ու ամբողջականությունը կարող են ստուգվել՝ օգտագործելով հանրային բանալիներ և հեշեր, որոնք պահվում են այստեղ վիրտուալ միացում Blockstack.

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

Ինչպե՞ս ստեղծել ապակենտրոնացված հավելված, որը մասշտաբների է հասնում: Օգտագործեք ավելի քիչ բլոկչեյն

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

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

Ամփոփում

Blockstack-ով աշխատող հավելվածները կարող են շատ ավելի լավ մասշտաբավորվել, քան սովորական բլոկչեյն հավելվածները, բայց դա ավելի երիտասարդ մոտեցում է՝ իր խնդիրներով և անպատասխան հարցերով:

Օրինակ, եթե ապակենտրոնացված հավելվածը չի աշխատում խելացի պայմանագրերով, ապա դա նվազեցնում է կոմունալ նշանների անհրաժեշտությունը: Սա կարող է խնդիրներ առաջացնել բիզնեսի համար՝ հաշվի առնելով, որ ICO-ները եղել են ապակենտրոնացված հավելվածների ֆինանսավորման հիմնական աղբյուրը (ներառյալ հենց Blockstack-ը)

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

Հավելվածները, որոնք ուղղված են միլիոնավոր օգտատերերի ներուժ ունեցող գլոբալ շուկաներին, պետք է շատ լավ մասշտաբային լինեն՝ հաջողակ լինելու համար: Մոտ ապագայում մասշտաբայնության այս մակարդակին հասնելու համար բացառապես բլոկչեյնների վրա հույս դնելը սխալ է: Որպեսզի կարողանան մրցել խոշոր կենտրոնացված շուկայի խաղացողների հետ, ինչպիսին է Booking.com-ը, ապակենտրոնացված հավելվածների մշակողները պետք է դիտարկեն իրենց հավելվածների նախագծման այլընտրանքային մոտեցումները, ինչպիսին է Blockstack-ի առաջարկածը:

Source: www.habr.com

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