Масштабталатын орталықтандырылмаған қосымшаны қалай жасауға болады? Блокчейнді азырақ пайдаланыңыз

Жоқ, блокчейндегі орталықтандырылмаған қосымшаны (dapp) іске қосу табысты бизнеске әкелмейді. Шындығында, пайдаланушылардың көпшілігі қолданбаның блокчейнде жұмыс істейтіні туралы ойламайды - олар арзанырақ, жылдамырақ және қарапайым өнімді таңдайды.

Өкінішке орай, блокчейннің өзінің бірегей мүмкіндіктері мен артықшылықтары болса да, онда жұмыс істейтін қосымшалардың көпшілігі орталықтандырылған бәсекелестеріне қарағанда әлдеқайда қымбат, баяу және интуитивті емес.

Масштабталатын орталықтандырылмаған қосымшаны қалай жасауға болады? Блокчейнді азырақ пайдаланыңыз

Көбінесе блокчейнге салынған қолданбалардың ақ парақтарында сіз мына абзацты таба аласыз: «Блокчейн қымбат және секундына қажетті транзакциялар санын қолдай алмайды. Бақытымызға орай, көптеген ақылды адамдар блокчейнді масштабтаумен жұмыс істейді және Біздің қолданба іске қосылған кезде ол айтарлықтай ауқымды болады.

Бір қарапайым абзацта dapp әзірлеушісі масштабтау мәселелерін және проблемалардың балама шешімдерін тереңірек талқылаудан бас тарта алады. Бұл көбінесе блокчейнде жұмыс істейтін смарт келісімшарттар қолданбаның сервері және өзегі ретінде қызмет ететін тиімсіз архитектураға әкеледі.

Дегенмен, орталықтандырылмаған қолданбалар архитектурасына әлі де тексерілмеген тәсілдер бар, олар блокчейнге тәуелділікті азайту арқылы әлдеқайда жақсырақ масштабтауға мүмкіндік береді. Мысалы, Blockstack қолданба деректері мен логикасының көпшілігі тізбектен тыс сақталатын архитектурада жұмыс істейді.

Алдымен блокчейнді қолданбаларды пайдаланушылар арасында тікелей делдал ретінде пайдаланатын және әсіресе жақсы масштабталмаған дәстүрлі тәсілді қарастырайық.

Тәсіл №1: Блокчейн Backend ретінде

Түсінікті болу үшін қонақ үй индустриясын мысалға алайық. Бұл Booking.com сияқты делдалдардың үлкен саласы. олар үлкен ақы алады қонақтар мен қонақүйлерді қосу үшін.

Осы тәсілді қолдана отырып, мұндай делдалды жеңгіміз келетін кез келген жағдайда, біз Ethereum сияқты блокчейндегі смарт келісімшарттар арқылы оның бизнес логикасын қайталауға тырысамыз.

«Әлемдік компьютерде» жұмыс істейтін ашық бастапқы смарт келісім-шарттар саудагерлерді үшінші тарапсыз тұтынушылармен байланыстыра алады, сайып келгенде делдал алатын комиссиялар мен комиссияларды азайтады.

Төмендегі суретте көрсетілгендей, қонақ үйлер блокчейнге бөлмелер, олардың жұмыс күндері немесе демалыс күндеріндегі қолжетімділігі мен бағалары туралы ақпаратты, сонымен қатар барлық басқа ақпаратпен бөлмелердің сипаттамасын орналастыру үшін орталықтандырылмаған қолданбаны пайдаланады.

Масштабталатын орталықтандырылмаған қосымшаны қалай жасауға болады? Блокчейнді азырақ пайдаланыңыз

Бөлмені брондағысы келетін кез келген адам блокчейнде орналастырылған қонақүйлер мен бөлмелерді іздеу үшін осы қолданбаны пайдаланады. Пайдаланушы бөлмені таңдағаннан кейін, брондау депозит ретінде қонақүйге жетондардың қажетті мөлшерін жіберу арқылы жүзеге асырылады. Және жауап ретінде смарт келісімшарт блокчейндегі нөмірдің енді қолжетімсіз екендігі туралы ақпаратты жаңартады.

Бұл тәсілмен масштабтау мәселесінің екі жағы бар. Біріншіден, секундына транзакциялардың максималды саны. Екіншіден, блокчейнде сақтауға болатын деректер көлемі.

Біраз өрескел есептеулер жасайық. Booking.com сайтында оларда 2 миллионға жуық қонақүй тіркелгенін айтады. Орташа қонақүйде 10 нөмір бар делік және әрқайсысына жылына небәрі 20 рет тапсырыс беріледі – бұл бізге секундына орта есеппен 13 тапсырыс береді.

Бұл санды перспективаға қою үшін, Ethereum секундына шамамен 15 транзакцияны өңдей алатынын атап өткен жөн.

Сонымен қатар, біздің қосымшамызда қонақүйлерден транзакциялар болатынын ескерген жөн - олардың нөмірлері туралы ақпаратты жүктеу және үнемі жаңарту үшін. Қонақ үйлердің бағасы өте жиі, кейде тіпті күн сайын жаңартылады және әрбір баға немесе сипаттаманың өзгеруі блокчейндегі транзакцияны талап етеді.

Мұнда өлшем мәселелері де бар - Ethereum блокчейнінің салмағы жақында 2 ТБ белгісінен өтті. Егер осы тәсілмен қолданбалар шынымен танымал болса, Ethereum желісі өте тұрақсыз болады.

Мұндай блокчейнге негізделген жүйе өзінің бейтараптығы мен орталықтандырудың жоқтығына, блокчейн технологиясының негізгі артықшылықтарына байланысты бөгделерді жоққа шығара алады. Бірақ блокчейннің басқа да мүмкіндіктері бар - ол таратылады және қайта жазылмайды, бұл тамаша сипаттамалар, бірақ олар үшін транзакциялардың жылдамдығы мен комиссиясында төлеуге тура келеді.

Сондықтан, dapp әзірлеушілері блокчейнді қолданатын әрбір мүмкіндіктің шынымен таратуға және жазылмауға мұқтаж екенін мұқият бағалауы керек.

Мысалы: әрбір қонақүйдің деректерін дүние жүзіндегі жүздеген машиналарға таратудың және оны тұрақты сақтаудың қандай пайдасы бар? Бөлме бағалары мен қолжетімділігі туралы тарихи деректер әрқашан блокчейнге енгізілгені шынымен маңызды ма? Бәлкім жоқ.

Егер біз осындай сұрақтар қоя бастасақ, біздің барлық функцияларымыз үшін бізге қымбат блокчейн мүмкіндіктері міндетті түрде қажет емес екенін көреміз. Сонымен, балама қандай?

№2 тәсіл: блокстакпен шабыттандырылған архитектура

Негізгі екпін болса да Blockstack пайдаланушылар өз деректерінің иесі болып табылатын қолданбаларда (мысалы, сияқты Эфирмәтін, BentenSound, Кескінді оңтайландырушы немесе Графит), блокстектің де блокчейнді жеңіл пайдалану философиясы бар — тек өте қажет болғанда. Олардың негізгі дәлелі блокчейн баяу және қымбат, сондықтан тек бір немесе сирек транзакциялар үшін қолданылуы керек. Қолданбалармен өзара әрекеттесудің қалған бөлігі тең дәрежелі арқылы жүзеге асуы керек, яғни. орталықтандырылмаған қолданбаларды пайдаланушылар деректерді блокчейн арқылы емес, тікелей бір-бірімен бөлісуі керек. Өйткені, BitTorrent, электрондық пошта және Tor сияқты ең көне және ең сәтті орталықтандырылмаған қосымшалар блокчейн тұжырымдамасының өзінен бұрын жасалған.

Масштабталатын орталықтандырылмаған қосымшаны қалай жасауға болады? Блокчейнді азырақ пайдаланыңыз
Сол жақта: бірінші тәсіл, онда пайдаланушылар блокчейн арқылы өзара әрекеттеседі. Оң жақта: Пайдаланушылар бір-бірімен тікелей әрекеттеседі және блокчейн тек сәйкестендіру және т.б. үшін пайдаланылады.

Қонақ үйді брондау мысалына оралайық. Біз қонақтарды қонақүйлермен байланыстыру үшін бейтарап, тәуелсіз және ашық хаттаманы қалаймыз. Басқаша айтқанда, орталықтандырылған делдалды алып тастағымыз келеді. Бізге, мысалы, бөлменің бағасын жалпы бөлінген кітапта үнемі сақтаудың қажеті жоқ.

Неліктен біз қонақтар мен қонақүйлерге блокчейн арқылы емес, тікелей өзара әрекеттесуге мүмкіндік бермейміз. Қонақ үйлер өз бағаларын, бөлмелердің қолжетімділігін және кез келген басқа ақпаратты барлығына қол жетімді жерде сақтай алады - мысалы, IPFS, Amazon S3 немесе тіпті өздерінің жергілікті сервері. Блокстактың орталықтандырылмаған сақтау жүйесі дәл осылай атады Гаиа. Ол пайдаланушыларға деректерінің қайда сақталатынын таңдауға және шақырылған тәсіл арқылы оған кім қол жеткізе алатынын басқаруға мүмкіндік береді көп пайдаланушы жады.

Сенімді орнату үшін барлық қонақүй деректеріне қонақүйдің өзі криптографиялық қол қояды. Бұл деректер қай жерде сақталатынына қарамастан, оның тұтастығын блокчейнде сақталған қонақүйдің жеке куәлігімен байланысты ашық кілттер арқылы тексеруге болады.

Blockstack жағдайында блокчейнде тек сіздің жеке басын куәландыратын ақпарат сақталады. Әрбір пайдаланушының деректерін алу жолы туралы ақпарат аймақтық файлдарда сақталады және түйіндерді пайдалана отырып, тең дәрежелі желі арқылы таратылады. Тағы бір рет, түйіндер беретін деректерге сенудің қажеті жоқ, өйткені оның түпнұсқалығын блокчейнде және басқа пайдаланушыларда сақталған хэштермен салыстыру арқылы тексеруге болады.

Жүйенің жеңілдетілген нұсқасында қонақтар қонақүйлерді іздеу және бөлмелері туралы ақпаратты алу үшін Blockstack тең-теңге желісін пайдаланады. Сіз алған барлық деректердің түпнұсқалығы мен тұтастығын ашық кілттер мен сақталған хэштер арқылы тексеруге болады. виртуалды схема Блокстак.

Бұл архитектура бірінші тәсілге қарағанда күрделірек және неғұрлым толық инфрақұрылымды қажет етеді. Шын мәнінде, дәл осы жерде Blockstack пайда болады, орталықтандырылмаған жүйені құру үшін барлық қажетті компоненттерді қамтамасыз етеді.

Масштабталатын орталықтандырылмаған қосымшаны қалай жасауға болады? Блокчейнді азырақ пайдаланыңыз

Бұл архитектура арқылы біз тек блокчейнде деректерді ғана сақтаймыз, олар шынымен таратылуы керек және қайта жазылмайды. Blockstack жағдайында тіркелу және деректеріңіздің қайда сақталуы керектігін көрсету үшін сізге тек блокчейндегі транзакциялар қажет. Осы ақпараттың кез келгенін өзгерткіңіз келсе, сізге көбірек транзакциялар жасау қажет болуы мүмкін, бірақ бұл қайталанатын оқиға емес.

Сонымен қатар, қолданба логикасы, бірінші тәсілден айырмашылығы, смарт келісімшарттарда емес, клиент жағында жұмыс істейді. Бұл әзірлеушіге бұл логиканы қымбат емес немесе кейде мүмкін емес смарт келісімшарт жаңартуларынсыз өзгертуге мүмкіндік береді. Қолданба деректері мен логиканы тізбектен тыс сақтау арқылы орталықтандырылмаған қолданбалар дәстүрлі орталықтандырылған жүйелердің өнімділігі мен масштабтау деңгейіне қол жеткізе алады.

қорытынды

Blockstack-те жұмыс істейтін қолданбалар әдеттегі блокчейн қосымшаларына қарағанда әлдеқайда жақсы масштабтауға болады, бірақ бұл өз мәселелері мен жауапсыз сұрақтары бар жас тәсіл.

Мысалы, егер орталықтандырылмаған қолданба смарт келісім-шарттарда жұмыс істемесе, бұл қызметтік токендердің қажеттілігін азайтады. Бұл ICO орталықтандырылмаған қосымшаларды (соның ішінде Blockstack-тің өзі) қаржыландырудың негізгі көзі болғанын ескере отырып, бизнес үшін қиындықтар тудыруы мүмкін.

Мұнда да техникалық ақаулар бар. Мысалы, атомдық операцияда токендерге айырбас ретінде бөлмелерді брондау жүзеге асырылатын смарт келісім-шартта қонақүйді брондау функциясын жүзеге асыру салыстырмалы түрде оңай. Брондау Blockstack қолданбасында смарт келісімшарттарсыз қалай жұмыс істейтіні анық емес.

Миллиондаған пайдаланушылар үшін әлеуеті бар жаһандық нарықтарға бағытталған қолданбалар табысты болу үшін өте жақсы масштабта болуы керек. Жақын болашақта масштабтаудың мұндай деңгейіне жету үшін тек блокчейндерге сену қате. Booking.com сияқты ірі орталықтандырылған нарық ойыншыларымен бәсекеге түсе алу үшін орталықтандырылмаған қолданбаларды әзірлеушілер Blockstack ұсынатын сияқты өз қосымшаларын жобалаудың балама тәсілдерін қарастыруы керек.

Ақпарат көзі: www.habr.com

пікір қалдыру