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

Jo, lansimi i 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 lehtĂ« pĂ«r t'u pĂ«rdorur.

Fatkeqësisht, edhe nëse blockchain ka karakteristika dhe përparësi unike, shumica e aplikacioneve që funksionojnë mbi të janë shumë më të shtrenjta, më të ngadalta dhe më pak të qarta se konkurrencën e tyre qendrore.

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

Mjaft shpesh në whitepaper-at e aplikacioneve që janë ndërtuar mbi blockchain, mund të gjeni një paragraf që thotë: "blockchain është i shtrenjtë dhe nuk është në gjendje të mbështesë numrin e nevojshëm të transaksioneve për sekondë. Për fat të mirë, shumë njerëz të mençur po punojnë për të shkallëzuar blockchain-in dhe deri në momentin e lansimit të aplikacionit tonë, ai 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 problemet e shkallëzueshmërisë dhe zgjidhjeve alternative të problemeve. Kjo shpesh çon në një arkitekturë joefikase, ku backend dhe bërthama e aplikacionit janë kontratat inteligjente që funksionojnë në blockchain.

Megjithatë, ekzistojnë edhe qasje të pa provuara në arkitekturën e aplikacioneve të decentralizuara, që lejojnë një shkallëzim më të mirë, falë zvogëlimit të varësisë 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ë shikojmë së pari një qasje më tradicionale, ku blockchain përdoret si një ndërmjetës i drejtpërdrejtë mes përdoruesve të aplikacionit dhe që nuk shkallëzohet shumë mirë.

Qasja #1: Blockchain si backend

Për ta ilustruar më mirë, le të marrim industrinë hotelierike si një shembull. Kjo është një industri e madhe, ku ndërmjetësit si Booking.com, marrin një tarifë të madhe për të lidhur mysafirët me hotellet.

Në çdo situatë ku 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 biznesit të tij, duke përdorur kontratat inteligjente në një blockchain si Ethereum.

Kontraktet e mençura me burim të hapur, të nisura në "computeri global", mund të lidhnin shitësit me konsumatorët pa një kompani ndërmjetëse, duke reduce tarifat dhe komisionet e mbledhura nga ndërmjetësi.

Siç tregohet në imazhin më poshtë, hotelet përdorin një aplikacion të decentralizuar për të publikuar në bllok informacionin për dhomat, disponueshmërinë e tyre dhe çmimet në ditë të zakonshme ose fundjavë, dhe madje edhe një përshkrim të dhomave me të gjitha informacionet përkatëse.

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

Kushdo që dëshiron të rezervojë një dhomë përdor këtë aplikacion për të kërkuar hotelet dhe dhomat e publikuara në bllok. Sa herë që përdoruesi zgjidh një dhomë, rezervimi ndodh duke dërguar shumën e nevojshme të tokeneve në hotel si garanci. Në përgjigje, kontrakti i mençur përditëson informacionin në bllok, duke treguar se dhoma nuk është më e disponueshme.

Ky qasje ka dy anët e problemit të shkallëzueshmërisë. E para, numri maksimal i transaksioneve në sekondë. E dyta, sasia e të dhënave që mund të ruhet në bllok.

Le tĂ« bĂ«jmĂ« disa llogaritje tĂ« pĂ«rafĂ«rta. Booking.com deklaron se ka regjistruar pothuajse 2 milion hotele. Le tĂ« supozojmĂ« se nĂ« mesatarje, njĂ« hotel ka 10 dhoma dhe çdo dhomĂ« rezervohen vetĂ«m 20 herĂ« nĂ« vit — kjo na jep njĂ« mesatare prej 13 rezervimesh nĂ« sekondĂ«.

Për të vlerësuar këtë numër, është e rëndësishme të theksohet se Ethereum mund të përpunojë rreth 15 transaksione në sekondë.

NĂ« kĂ«tĂ« rast, duhet tĂ« merrni parasysh se nĂ« aplikacionin tonĂ« do tĂ« ketĂ« gjithashtu transaksione nga hotelet — pĂ«r ngarkimin dhe pĂ«rditĂ«simin e vazhdueshĂ«m tĂ« informacionit mbi dhomat e tyre. Hotelet pĂ«rditĂ«sojnĂ« çmimet e dhomave shumĂ« shpesh, ndonjĂ«herĂ« madje çdo ditĂ«, dhe çdo ndryshim nĂ« çmim ose pĂ«rshkrim kĂ«rkon njĂ« transaksion nĂ« bllok.

KĂ«tu ka edhe njĂ« problem me madhĂ«sinĂ« — pesha e bllokut tĂ« Ethereum sĂ« fundmi kaloi 2TB. NĂ«se aplikacionet me njĂ« qasje tĂ« tillĂ« do tĂ« bĂ«heshin vĂ«rtet tĂ« njohura, atĂ«herĂ« rrjeti Ethereum do tĂ« bĂ«hej jashtĂ«zakonisht i paqĂ«ndrueshĂ«m.

NjĂ« sistem i tillĂ«, i bazuar nĂ« bllok, mund tĂ« pĂ«rjashtojĂ« tĂ« huajt pĂ«r shkak tĂ« paanshmĂ«risĂ« dhe mungesĂ«s sĂ« centralizimit — avantazhet kryesore tĂ« teknologjisĂ« sĂ« bllokut. Por blloku ka gjithashtu karakteristika tĂ« tjera — Ă«shtĂ« i shpĂ«rndarĂ« dhe nuk Ă«shtĂ« i ripĂ«rdorshĂ«m, kĂ«to janĂ« karakteristika tĂ« shkĂ«lqyera, por pĂ«r to duhet tĂ« paguani me shpejtĂ«sinĂ« dhe komisionet e transaksioneve.

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

Për shembull: çfarë përparësish ka shpërndarja e të dhënave të çdo hoteli në qindra makina në të gjithë botën dhe ruajtja e tyre përherë atje? A është me të vërtetë e rëndësishme që të dhënat historike për çmimet dhe disponueshmërinë e dhomave të jenë gjithmonë të përfshira në blockchain? Me siguri jo.

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

Qasja #2: Arkitektura e frymëzuar nga Blockstack

Megjithëse theksi kryesor Blockstack është në aplikacione që lejojnë përdoruesit të zotërojnë të dhënat e veta (p.sh., si Airtext, BentenSound, ImageOptimizer ose Grafit), Blockstack gjithashtu ka filozofinë e përdorimit të vogël të blockchain - vetëm kur është tërësisht e nevojshme. Argumenti i tyre kryesor është se blockchain është i ngadaltë dhe i shtrenjtë, duke sugjeruar se duhet të përdoret vetëm për operacione të vetme ose të rralla. Në vend të kësaj, ndërveprimi tjetër me aplikacionet duhet të ndodhë përmes peer-to-peer, dmth. përdoruesit e aplikacioneve decentralizuese duhet të ndajnë të dhënat drejtpërdrejt me njëri-tjetrin, jo përmes blockchain. Fundja, aplikacionet më të vjetra dhe më të suksesshme decentralizuese, si BitTorrent, email dhe Tor janë krijuar para se të shpikej koncepti i blockchain.

Si të krijoni një aplikacion të decentralizuar që shkallëzohet? Përdorni më pak blockchain.
Majtas: qasja e parë, ku përdoruesit ndërveprojnë përmes blockchain. Djathtas: përdoruesit ndërveprojnë drejtpërdrejt me njëri-tjetrin, me blockchain që përdoret vetëm për identifikim dhe ngjashëm..

Le të kthehemi në shembullin me rezervimin e hoteleve. Ne duam një protokoll të paanshëm, të pavarur dhe të hapur për lidhjen e mysafirëve me hotelet. Në fjalë të tjera, ne duam të heqim ndërmjetësin qendror. Nuk kemi nevojë, për shembull, të ruajmë vazhdimisht çmimet e dhomave në një regjistër të shpërndarë të përbashkët.

Pse nuk lejojmĂ« thjesht mysafirĂ«t dhe hotellet tĂ« interaktojnĂ« drejtpĂ«rdrejt, nĂ« vend tĂ« blockchain. Hotellet mund tĂ« ruajnĂ« çmimet e tyre, disponueshmĂ«rinĂ« e dhomave dhe çdo informacion tjetĂ«r diku, ku do tĂ« jenĂ« tĂ« aksesueshĂ«m pĂ«r tĂ« gjithĂ« — pĂ«r shembull, IPFS, Amazon S3, apo madje edhe serverin e tyre lokal. Kjo Ă«shtĂ« ajo qĂ« ofron njĂ« sistem tĂ« decentralizuar tĂ« ruajtjes nga Blockstack i quajtur Gaia. Ai lejon pĂ«rdoruesit tĂ« zgjidhin se ku dĂ«shirojnĂ« tĂ« ruajnĂ« tĂ« dhĂ«nat e tyre dhe tĂ« kontrollojnĂ« se kush mund tĂ« ketĂ« akses nĂ« to nĂ«pĂ«rmjet njĂ« qasjeje tĂ« quajtur ruajtje multi-pĂ«rdoruesish.

Për të ndërtuar besimin, të gjitha të dhënat e hotelit nënshkruhen në mënyrë kriptografike nga vetë hoteli. Pa marrë parasysh se ku ruhen këto të dhëna, integriteti i tyre mund të verifikohet duke përdorur çelësa publikë të lidhur me informacionin identifikues të këtij hoteli, i ruajtur në blockchain.

NĂ« rastin e Blockstack, nĂ« blockchain ruhet vetĂ«m informacioni juaj identifikues. Informacioni 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 edhe njĂ« herĂ« — nuk keni nevojĂ« tĂ« besoni tĂ« dhĂ«nat qĂ« japin nodet, sepse mund tĂ« verifikoni autencitetin e tyre duke i krahasuar ato me hash-Ă«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 hotellet dhe për të marrë informacion rreth dhomave të tyre. Dhe autenciteti dhe integriteti i të gjitha të dhënave që do të merrni mund të verifikohet duke përdorur çelësa publikë dhe hash-e, të ruajtura në zinxhirin virtual Blockstack.

Kjo arkitekturë është më e komplikuar se qasja e parë dhe kërkon një infrastrukturë më komplekse. Në të vërtetë, kjo është pikërisht ajo ku vjen Blockstack, duke ofruar të gjithë komponente e nevojshme 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 atë të dhëna që vërtet duhet të jenë të shpërndara dhe të pa-rivendosshme. Në rastin e Blockstack, ju nevojiten transaksione në blockchain vetëm për t'u regjistruar dhe për të treguar se ku duhet të ruhen të dhënat tuaja. Mund t'ju nevojiten më shumë transaksione, nëse dëshironi të ndryshoni ndonjë informacion nga kjo, 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 dhe jo në kontraktet inteligjente. Kjo u lejon zhvilluesve të modifikojnë këtë logjikë pa përditësime të shtrenjta ose ndonjëherë madje të pamundura për kontraktet inteligjente. Duke mbajtur të dhënat dhe logjikën e aplikacionit jashtë bllokut të zinxhirëve, aplikacionet e decentralizuara mund të arrijnë nivelin e performancës dhe përshtatshmërisë të sistemeve tradicionale të centralizuara.

Përfundim

Aplikacionet që funksionojnë në Blockstack mund të shkallëzohen shumë më mirë se aplikacionet e zakonshme të bllokut të zinxhirëve, por kjo është një qasje më e re me problemet dhe pyetjet e paqarta të veta.

Për shembull, nëse një aplikacion i decentralizuar nuk funksionon në kontraktet inteligjente, atëherë kjo redukton nevojën për tokenë utilitarë. Kjo mund të shkaktojë probleme për biznesin, duke pasur parasysh se ICO-t ishin burimi kryesor i financimit për aplikacionet e decentralizuara (përfshirë edhe Blockstack vetë).

Ka gjithashtu probleme teknike. Për shembull, është relativisht e thjeshtë të implementosh një funksion rezervimi hoteli në një kontratë inteligjente, ku me operacione atomike rezervimi i dhomave bëhet në këmbim të tokenëve. Dhe nuk është shumë e qartë se si do të funksionojë rezervimi në një aplikacion Blockstack pa kontraktet inteligjente.

Aplikacionet qĂ« synojnĂ« tregjet globale me potencialin pĂ«r miliona pĂ«rdorues duhet tĂ« shkallĂ«zohen shumĂ« mirĂ« pĂ«r t’u bĂ«rĂ« tĂ« suksesshĂ«m. ËshtĂ« njĂ« gabim tĂ« mbĂ«shtetesh tĂ«rĂ«sisht nĂ« blloket e zinxhirĂ«ve pĂ«r arritjen e njĂ« niveli tĂ« tillĂ« tĂ« shkallĂ«zimit nĂ« tĂ« ardhmen e afĂ«rt. PĂ«r tĂ« pasur mundĂ«si tĂ« konkurrojnĂ« me lojtarĂ«t e mĂ«dhenj tĂ« centralizuar nĂ« treg, si Booking.com, zhvilluesit e aplikacioneve tĂ« decentralizuara duhet tĂ« shqyrtojnĂ« qasje alternative nĂ« hartimin e aplikacioneve tĂ« tyre, siç Ă«shtĂ« ajo qĂ« ofron Blockstack.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster