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

Jo, nisë e një aplikacioni të decentralizuar (dapp) në blockchain nuk do të çojë në një biznes të suksesshëm. Në të vërtetë, shumica e përdoruesve nuk mendojnë as për këtë, ata thjesht zgjedhin produktin që është më i lirë, më i shpejtë dhe më i thjeshtë.

Fatkeqësisht, edhe nëse blockchain ka disa karakteristika dhe avantazhe unike, shumica e aplikacioneve që funksionojnë në të janë shumë më të shtrenjta, më të ngadalta dhe më të paqartë se konkurrentët e tyre të centralizuar.

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

Shpesh në whitepaper-at e aplikacioneve të ndërtuara mbi blockchain, mund të gjejmë një paragrafin që thotë: "blockchain është i shtrenjtë dhe nuk mund të mbështesë numrin e kërkuar të transaksioneve për sekondë. Fatmirësisht, shumë njerëz të zgjuar po punojnë për të përmirësuar shkallëzimin e blockchain dhe në momentin e lançimit të aplikacionit tonë do të bëhet mjaft i shkallëzueshëm."

Në një paragraf të thjeshtë, zhvilluesi i dapp-it mund të heqë dorë nga një diskutim më të thellë mbi sfidat e shkallëzimit dhe zgjidhjet alternative të problemeve. Kjo shpesh çon në një arkitekturë joefikase, ku backend-i dhe thelbi i aplikacionit janë kontratat e mençura që funksionojnë në blockchain.

Megjithatë, ekzistojnë edhe qasje të paprovuar në arkitekturën e aplikacioneve të decentralizuara që lejojnë një shkallëzim shumë më të mirë, duke reduktuar varësinë nga blockchain. Për shembull, Blockstack po punon mbi një arkitekturë ku shumica e të dhënave dhe logjikës së aplikacionit ruhen jashtë blockchain.

Le të shqyrtojmë fillimisht një qasje më tradicionale, ku blockchain përdoret si një ndërmjetës direkt mes përdoruesve të aplikacionit dhe që nuk shkallëzohet shumë mirë.

Qasja #1: Blockchain si backend

Për ta bërë më të qartë, le të marrim industrinë hotelierike si një shembull. Kjo është një industri e madhe, ku ndërmjetësit si Booking.com kërkojnë tarifa të larta për të lidhur mysafirët dhe hotellet.

Në çdo situatë ku dëshirojmë të tejkalojmë një ndërmjetës të tillë, duke përdorur këtë qasje, do të përpiqemi të përsërisim logjikën e tij të biznesit, duke përdorur kontratat e mençura në një blockchain si Ethereum.

Kontratate e mençura me burim të hapur, të drejtuara në "kompjuterin global", mund të lidhin shitësit me konsumatorët pa një kompani ndërmjetësuese, duke reduktuar në fund tarifat dhe komisionet e përfshira nga ndërmjetësi.

Siç tregohet në imazhin më poshtë, hotellet përdorin një aplikacion të decentralizuar për të postuar në blockchain informacionin mbi dhomat, disponueshmërinë e tyre dhe çmimet gjatë javës ose fundjavës, ndoshta edhe përshkrimi i dhomave me gjithë informacionin e duhur.

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

Çdo kush që dëshiron të rezervojë një dhomë, përdor këtë aplikacion për të kërkuar hotele dhe dhoma të postuara në blockchain. Sapokur përdoruesi zgjidh dhomën, rezervimi ndodh duke dërguar shumën e nevojshme të tokenëve në hotel si një depozitë. Në përgjigje, kontrata e mençur përditëson informacionin në blockchain, duke e bërë dhomën më të papërshkueshme.

Në këtë qasje ka dy anë të problemit të shkallëzimit. Së pari, numri maksimal i transaksioneve për sekondë. Së dyti, sasia e të dhënave që mund të ruhet në blockchain.

Le të bëjmë disa llogari të përafërta. Booking.com pretendon se ka registruar pothuajse 2 milion hotele. Le të supozojmë se në mesatare një hotel ka 10 dhoma dhe secila rezervon vetëm 20 herë në vit — kjo na jep në mesatare 13 rezervime për sekondë.

Për të vlerësuar këtë numër, vlen të përmendet se Ethereum mund të procesojë rreth 15 transaksione për sekondë.

Në këtë pikë, duhet të kemi parasysh se në aplikacionin tonë do të ketë gjithashtu transaksione nga hotellet — për ngarkimin dhe përditësimin e vazhdueshëm të informacionit për dhomat e tyre. Hotellet përditësojnë çmimin e dhomave mjaft shpesh, ndonjëherë edhe çdo ditë, dhe çdo ndryshim çmimi ose përshkrimi kërkon një transaksion në blockchain.

Këtu ka gjithashtu një problem me madhësinë — pesha e blockchain-it Ethereum ka kaluar së fundmi 2TB. Nëse aplikacione me një qasje të tillë do të bëheshin realisht të njohura, rrjeti Ethereum do të bëhej jashtëzakonisht i paqëndrueshëm.

Një sistem i tillë, i bazuar në blockchain, mund të eliminojë të tjerët për shkak të paanshmërisë dhe mungesës së centralizimit — avantazhe kryesore të teknologjisë blockchain. Por blockchain ka gjithashtu karakteristika të tjera — ai është i shpërndarë dhe i pandryshueshëm, karakteristika të shkëlqyera, por për to duhet të paguash me shpejtësinë dhe tarifat e transaksioneve.

Prandaj, zhvilluesit e dapp-ave duhet të shqyrtojnë me kujdes nëse vërtet secila tipar që përdor blockchain, kërkon shpërndarjen dhe pandryshueshmërinë.

Për shembull: cila është përparësia e shpërndarjes së të dhënave të secilit hotel në qindra makina në mbarë botën dhe ruajtjes së përhershme të tyre aty? A është vërtet e rëndësishme që të dhënat historike mbi çmimet dhe disponueshmërinë e dhomave të jenë gjithmonë të përfshira në blockchain? Ndoshta, jo.

Nëse fillojmë të bëjmë këto pyetje, do të fillojmë të shohim se nuk kemi nevojë për të gjitha karakteristikat e shtrenjta të blockchain për funksionet tona. Pra, cila është alternativa?

Qasja #2: Arktiektura e frymëzuar nga Blockstack

Megjithëse theksi kryesor Blockstack është në aplikacionet ku përdoruesit janë pronarë të të dhënave të tyre (për shembull, siç janë Airtext, BentenSound, ImageOptimizer ose Graphite), Blockstack gjithashtu ka një filozofi të përdorimit të kufizuar të blockchain - vetëm kur është absolutisht e nevojshme. Argumenti i tyre kryesor është se blockchain është i ngadalshëm dhe i shtrenjtë, kështu që duhet të përdoret vetëm për operacione të vetme ose njëherë të rarë. Ndërveprimi tjetër me aplikacionet duhet të ndodhë përmes peer-to-peer, pra, përdoruesit e aplikacioneve të decentralizuara duhet të ndajnë të dhënat drejtpërdrejt me njëri-tjetrin dhe jo përmes blockchain. Në të vërtetë, aplikacionet më të vjetra dhe më të suksesshme të decentralizuara, si BitTorrent, email dhe Tor, janë krijuar para se koncepte të tilla si blockchain të ekzistonin.

Si të krijoni një aplikacion të decentralizuar që shkallëzohet? Përdorni më pak blockchain
Në majtas: qasja e parë, ku përdoruesit ndërveprojnë përmes blockchain. Në djathtë: përdoruesit ndërveprojnë direkt me njëri-tjetrin, dhe blockchain përdoret vetëm për identifikim dhe të ngjashme..

Le të kthehemi në shembullin e rezervimit të hotelit. Ne duam një protokoll të paanshëm, të pavarur dhe të hapur për të lidhur mysafirët me hotellet. Me fjalë të tjera, ne duam të heqim një ndërmjetës të centralizuar. Nuk kemi nevojë, për shembull, të ruajmë vazhdimisht çmimet e dhomave në një regjistër të shpërndarë të zakonshëm.

Pse thjesht nuk e lejojmë vizitorët dhe hotellet të ndërveprojnë drejtpërdrejt, jo përmes blockchain. Hotellet mund të ruajnë çmimet e tyre, disponueshmërinë e dhomave dhe çfarëdo informacioni tjetër ndonjëherë, ku ata janë të aksesueshëm për të gjithë — për shembull, IPFS, Amazon S3, ose madje edhe serverin e tyre lokal. Ky është saktësisht ajo që ofron sistemi i ruajtjes së decentralizuar nga Blockstack i quajtur Gaia. Ai i lejon përdoruesit të zgjedhin se ku duan të ruajnë të dhënat e tyre dhe të kontrollojnë se kush ka akses në to përmes një qasjeje të quajtur ruajtja shumëpërdoruese..

Për të vendosur besimin, të gjitha të dhënat e hotelit nënshkruhen me kriptografi nga vetë hoteli. Pavarësisht nga vendndodhja e këtyre të dhënave, integriteti i tyre mund të verifikohet duke përdorur çelësa publikë që lidhen me informatat identifikuese të këtij hoteli të ruajtura në blockchain.

Në rastin e Blockstack, në blockchain ruhet vetëm informacioni juaj identifikues. Informacioni mbi mënyrën se si të merrni të dhënat e çdo përdoruesi ruhet në skedarët e zonës (zone files) dhe shpërndahet përmes një rrjeti peer-to-peer përmes nodave. Dhe përsëri — nuk keni nevojë të besoni të dhënat që ofrojnë nodat, sepse mund të verifikoni autenticitetin e tyre duke i krahasuar me hashingët që ruhen në blockchain dhe te përdoruesit e tjerë.

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

Kjo arkitekturë është më komplekse se qasja e parë dhe kërkon një infrastrukturë më komplekse. Në të vërtetë, kjo është aty ku vjen Blockstack, duke ofruar të gjitha komponentët e nevojshëm për të ndërtuar një sistem të tillë të decentralizuar.

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

Me një arkitekturë të tillë, ne ruajmë në blockchain vetëm të dhënat që janë vërtet të nevojshme të shpërndara dhe të pa rewritable. Në rastin e Blockstack, ju nevojiten transaksione në blockchain vetëm për të regjistruar dhe për të specifikuar ku duhet të ruhen të dhënat tuaja. Mund të nevojiten më shumë transaksione nëse dëshironi të ndryshoni diçka nga ky informacion, por kjo nuk është një ngjarje e përsëritur.

Për më tepër, logjika e aplikacionit, në kontrast me qasjen e parë, funksionon në anën e klientit, e jo në smart contracts. Kjo lejon zhvilluesit të ndryshojnë këtë logjikë pa përditësime të kushtueshme ose ndonjëherë edhe të pamundura të smart contract. Duke mbajtur të dhënat dhe logjikën e aplikacionit jo në blockchain, aplikacionet e decentralizuara mund të arrijnë nivele të performancës dhe shkallëzueshmërisë të sistemeve tradicionale të centralizuara.

Përfundimi

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

Për shembull, nëse një aplikacion i decentralizuar nuk funksionon mbi kontratat inteligente, kjo redukton nevojën për tokenët e utilitetit. Kjo mund të shkaktojë probleme për biznesin, duke marrë parasysh se ICO-t kanë qenë burimi kryesor i financimit për aplikacionet e decentralizuara (duke përfshirë vetë Blockstack).

Këtu ka gjithashtu probleme teknike. Për shembull, është relativisht e lehtë të implementosh një funksion rezervimi hotelesh në një kontratë inteligjente, ku me një operacion atomik, rezervimi i dhomave bëhet në këmbim të tokeneve. 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ë suksesshme. Është një gabim të mbështetesh ekskluzivisht në bllokchain për të arritur një shkallëzueshmëri të tillë në të ardhmen e afërt. Për t'u mundësuar konkurrence me lojtarët e mëdhenj të centralizuar të tregut, si Booking.com, zhvilluesit e aplikacioneve të decentralizuara duhet të shqyrtojnë qasje alternative për projektimin e aplikacioneve të tyre, të tilla si ajo që ofron Blockstack.

Burimi: habr.com

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster