Si të krijoni një aplikacion të decentralizuar që shkallëzohet? Përdorni më pak blockchain

Jo, nisja e një aplikacioni të decentralizuar (dapp) në blockchain nuk do të çojë në një biznes të suksesshëm. Në fakt, shumica e përdoruesve as nuk mendojnë nëse aplikacioni funksionon në blockchain - ata thjesht zgjedhin një produkt që është më i lirë, më i shpejtë dhe më i thjeshtë.

Fatkeqësisht, edhe nëse blockchain ka veçoritë dhe përfitimet e veta unike, shumica e aplikacioneve që funksionojnë në të janë shumë më të shtrenjta, më të ngadalta dhe më pak intuitive sesa konkurrentët e tyre të centralizuar.

Si të krijoni një aplikacion të decentralizuar që shkallëzohet? Përdorni më pak blockchain

Shumë shpesh në letrat e bardha të aplikacioneve që janë ndërtuar në blockchain, mund të gjeni një paragraf që thotë: "Blockchain është i shtrenjtë dhe nuk mund të mbështesë numrin e kërkuar të transaksioneve në sekondë. Për fat të mirë, shumë njerëz të zgjuar po punojnë për shkallëzimin e blockchain dhe në kohën kur aplikacioni ynë të nisë ai do të bëhet mjaft i shkallëzueshëm.”

Në një paragraf të thjeshtë, një zhvillues dapp mund të heqë dorë nga një diskutim më i thellë i çështjeve të shkallëzueshmërisë dhe zgjidhjeve alternative të problemeve. Kjo shpesh çon në një arkitekturë joefikase ku kontratat inteligjente që ekzekutohen në blockchain shërbejnë si bazë dhe thelbi i aplikacionit.

Megjithatë, ka ende qasje të patestuara për arkitekturën e aplikacioneve të decentralizuara që lejojnë shkallëzim shumë më të mirë duke reduktuar varësinë nga zinxhiri i bllokut. Për shembull, Blockstack po punon në një arkitekturë ku shumica e të dhënave dhe logjikës së aplikacionit ruhen jashtë zinxhirit.

Le të shohim së pari një qasje më tradicionale, e cila përdor blockchain si një ndërmjetës të drejtpërdrejtë midis përdoruesve të aplikacionit dhe që nuk përshkallëzohet veçanërisht mirë.

Qasja # 1: Blockchain si një Backend

Për t'i bërë gjërat më të qarta, le të marrim si shembull industrinë e hotelerisë. Kjo është një industri e madhe në të cilën ndërmjetësit si Booking.com, ata paguajnë një tarifë të madhe për lidhjen e mysafirëve dhe hoteleve.

Në çdo situatë ku ne duam të mposhtim një ndërmjetës të tillë duke përdorur këtë qasje, ne do të përpiqemi të përsërisim logjikën e tij të biznesit duke përdorur kontrata inteligjente në një blockchain si Ethereum.

Kontratat inteligjente me burim të hapur që ekzekutohen në "kompjuterin botëror" mund të lidhin tregtarët me konsumatorët pa një palë të tretë në mes, duke ulur përfundimisht tarifat dhe komisionet e ngarkuara nga ndërmjetësi.

Siç tregohet në imazhin më poshtë, hotelet përdorin një aplikacion të decentralizuar për të postuar në blockchain informacione rreth dhomave, disponueshmërisë dhe çmimeve të tyre gjatë ditëve të javës ose fundjavave, dhe ndoshta edhe një përshkrim të dhomave me të gjitha informacionet e tjera të rëndësishme.

Si të krijoni një aplikacion të decentralizuar që shkallëzohet? Përdorni më pak blockchain

Kushdo që dëshiron të rezervojë një dhomë e përdor këtë aplikacion për të kërkuar hotele dhe dhoma të strehuara në blockchain. Pasi përdoruesi të zgjedhë një dhomë, rezervimi bëhet duke dërguar shumën e kërkuar të argumenteve në hotel si depozitë. Dhe si përgjigje, kontrata e zgjuar përditëson informacionin në blockchain se numri nuk është më i disponueshëm.

Problemi i shkallëzueshmërisë me këtë qasje ka dy anë. Së pari, numri maksimal i transaksioneve për sekondë. Së dyti, sasia e të dhënave që mund të ruhen në blockchain.

Le të bëjmë disa llogaritje të përafërta. Booking.com thotë se ata kanë pothuajse 2 milionë hotele të regjistruara me ta. Le të themi se një hotel mesatar ka 10 dhoma dhe secila rezervohet vetëm 20 herë në vit - kjo na jep mesatarisht 13 rezervime në sekondë.

Për ta vënë në perspektivë këtë numër, vlen të përmendet se Ethereum mund të përpunojë afërsisht 15 transaksione në sekondë.

Në të njëjtën kohë, vlen të merret në konsideratë që aplikacioni ynë do të përmbajë edhe transaksione nga hotelet - për shkarkimin dhe përditësimin e vazhdueshëm të informacionit rreth dhomave të tyre. Hotelet përditësojnë çmimet e dhomave shumë shpesh, ndonjëherë edhe çdo ditë, dhe çdo ndryshim çmimi ose përshkrimi kërkon një transaksion në blockchain.

Këtu ka edhe probleme me madhësinë - pesha e blockchain Ethereum kohët e fundit kaloi shenjën 2TB. Nëse aplikacionet me këtë qasje do të bëheshin vërtet të njohura, rrjeti Ethereum do të bëhej jashtëzakonisht i paqëndrueshëm.

Një sistem i tillë i bazuar në blockchain mund të përjashtojë të huajt për shkak të paanshmërisë dhe mungesës së centralizimit, avantazhet kryesore të teknologjisë blockchain. Por blockchain ka edhe karakteristika të tjera - shpërndahet dhe nuk rishkruhet, këto janë karakteristika të shkëlqyera, por ju duhet të paguani për to në shpejtësinë dhe komisionin e transaksioneve.

Prandaj, zhvilluesit e dapp duhet të vlerësojnë me kujdes nëse çdo veçori që përdor blockchain ka vërtet nevojë për shpërndarje dhe mosshkrim.

Për shembull: cili është përfitimi i shpërndarjes së të dhënave të çdo hoteli nëpër qindra makineri në mbarë botën dhe ruajtjes së tyre atje përgjithmonë? A është vërtet e rëndësishme që të dhënat historike mbi tarifat dhe disponueshmërinë e dhomave të përfshihen gjithmonë në blockchain? Me siguri jo.

Nëse fillojmë të bëjmë pyetje si këto, do të fillojmë të kuptojmë se nuk na duhen domosdoshmërisht të gjitha tiparet e shtrenjta të blockchain për të gjitha funksionet tona. Pra, cila është alternativa?

Qasja # 2: Arkitektura e frymëzuar nga Blockstack

Edhe pse theksi kryesor Blockstack në aplikacionet në të cilat përdoruesit janë pronarë të të dhënave të tyre (për shembull, si p.sh Airtekst, BentenSound, Optimizuesi i imazhit ose grafit), blockstack ka gjithashtu një filozofi të përdorimit të lehtë të blockchain-vetëm kur është absolutisht e nevojshme. Argumenti i tyre kryesor është se blockchain është i ngadalshëm dhe i shtrenjtë, dhe për këtë arsye duhet të përdoret vetëm për transaksione të vetme ose të rralla. Pjesa tjetër e ndërveprimit me aplikacionet duhet të ndodhë përmes peer-to-peer, d.m.th. përdoruesit e aplikacioneve të decentralizuara duhet t'i ndajnë të dhënat drejtpërdrejt me njëri-tjetrin, në vend se përmes blockchain. Në fund të fundit, aplikacionet më të vjetra dhe më të suksesshme të decentralizuara si BitTorrent, email dhe Tor u krijuan përpara konceptit të vetë blockchain.

Si të krijoni një aplikacion të decentralizuar që shkallëzohet? Përdorni më pak blockchain
Majtas: Qasja e parë, në të cilën përdoruesit ndërveprojnë përmes blockchain. E drejta: Përdoruesit ndërveprojnë drejtpërdrejt me njëri-tjetrin, dhe blockchain përdoret vetëm për identifikim dhe të ngjashme.

Le të kthehemi te shembulli i prenotimit të hotelit. Ne duam një protokoll të paanshëm, të pavarur dhe të hapur për lidhjen e mysafirëve me hotelet. Me fjalë të tjera, ne duam të heqim ndërmjetësin e centralizuar. Ne nuk kemi nevojë, për shembull, të ruajmë vazhdimisht çmimet e dhomave në një libër të përbashkët të shpërndarë.

Pse nuk i lejojmë të ftuarit dhe hotelet të ndërveprojnë drejtpërdrejt dhe jo nëpërmjet blockchain. Hotelet mund të ruajnë çmimet e tyre, disponueshmërinë e dhomave dhe çdo informacion tjetër diku ku do të jetë i aksesueshëm për të gjithë - për shembull, IPFS, Amazon S3, apo edhe serverin e tyre lokal. Kjo është pikërisht ajo që quhet sistemi i decentralizuar i ruajtjes së Blockstack Gaia. Ai i lejon përdoruesit të zgjedhin se ku duan të ruhen të dhënat e tyre dhe të kontrollojnë se kush mund t'i qaset ato përmes një qasjeje të quajtur ruajtje me shumë përdorues.

Për të krijuar besim, të gjitha të dhënat e hotelit nënshkruhen në mënyrë kriptografike nga vetë hoteli. Pavarësisht se ku ruhen këto të dhëna, integriteti i tyre mund të verifikohet duke përdorur çelësat publikë të lidhur me identitetin e atij hoteli të ruajtur në blockchain.

Në rastin e Blockstack, vetëm informacioni juaj i identitetit ruhet në blockchain. Informacioni se si të merren të dhënat e çdo përdoruesi ruhet në skedarët e zonës dhe shpërndahet përmes një rrjeti peer-to-peer duke përdorur nyjet. Dhe përsëri, nuk keni nevojë t'u besoni të dhënave që japin nyjet, sepse mund të verifikoni vërtetësinë e tyre duke i krahasuar me hash-et që ruhen në blockchain dhe përdorues të tjerë.

Në një version të thjeshtuar të sistemit, të ftuarit do të përdorin rrjetin Blockstack peer-to-peer për të kërkuar hotele dhe për të marrë informacion rreth dhomave të tyre. Dhe autenticiteti dhe integriteti i të gjitha të dhënave që merrni mund të verifikohet duke përdorur çelësat publikë dhe hashët e ruajtur në qark virtual Blockstack.

Kjo arkitekturë është më komplekse se qasja e parë dhe kërkon një infrastrukturë më gjithëpërfshirëse. Në fakt, pikërisht këtu hyn Blockstack, duke siguruar të gjithë komponentët e nevojshëm për të krijuar një sistem të tillë të decentralizuar.

Si të krijoni një aplikacion të decentralizuar që shkallëzohet? Përdorni më pak blockchain

Me këtë arkitekturë, ne ruajmë vetëm të dhëna në blockchain që vërtet duhet të shpërndahen dhe jo të mbishkruhen. Në rastin e Blockstack, ju nevojiten vetëm transaksione në blockchain për t'u regjistruar dhe për të treguar se ku duhet të ruhen të dhënat tuaja. Mund t'ju duhet të bëni më shumë transaksione nëse dëshironi të ndryshoni ndonjë nga këto informacione, por kjo nuk është një ngjarje e përsëritur.

Për më tepër, logjika e aplikimit, ndryshe nga qasja e parë, funksionon në anën e klientit dhe jo në kontratat inteligjente. Kjo i lejon zhvilluesit të ndryshojë këtë logjikë pa përditësime të kushtueshme ose ndonjëherë edhe të pamundura të kontratave inteligjente. Dhe duke i mbajtur të dhënat e aplikacionit dhe logjikën jashtë zinxhirit, aplikacionet e decentralizuara mund të arrijnë nivelet e performancës dhe shkallëzueshmërisë së sistemeve tradicionale të centralizuara.

Përfundim

Aplikacionet që ekzekutohen në Blockstack mund të shkallëzohen shumë më mirë se aplikacionet konvencionale të blockchain, por është një qasje më e re me problemet e veta dhe pyetjet pa përgjigje.

Për shembull, nëse një aplikacion i decentralizuar nuk funksionon me kontrata inteligjente, atëherë kjo zvogëlon nevojën për shenja të shërbimeve. Kjo mund të shkaktojë probleme për bizneset duke marrë parasysh që ICO-të kanë qenë burimi kryesor i financimit për aplikacionet e decentralizuara (përfshirë vetë Blockstack)

Këtu ka edhe probleme teknike. Për shembull, është relativisht e lehtë të zbatohet një funksion rezervimi hoteli në një kontratë inteligjente, ku në një operacion atomik, rezervimet e dhomave bëhen në këmbim të argumenteve. Dhe nuk është shumë e qartë se si do të funksionojë rezervimi në një aplikacion Blockstack pa kontrata inteligjente.

Aplikacionet që synojnë tregjet globale me potencial për miliona përdorues duhet të shkallëzohen shumë mirë për të qenë të suksesshëm. Është gabim të mbështetemi vetëm në blockchains për të arritur këtë nivel të shkallëzueshmërisë në të ardhmen e afërt. Për të qenë në gjendje të konkurrojnë me lojtarë të mëdhenj të centralizuar të tregut si Booking.com, zhvilluesit e aplikacioneve të decentralizuara duhet të marrin në konsideratë qasje alternative për dizajnimin e aplikacioneve të tyre, siç është ajo e ofruar nga Blockstack.

Burimi: www.habr.com

Shto një koment