Ez, aplikazio deszentralizatu bat (dapp) abian jartzeak ez du negozio arrakastatsurik ekarriko. Izan ere, erabiltzaile gehienek ez dute pentsatzen aplikazioa blockchain-en exekutatzen den ala ez; besterik gabe, merkeagoa, azkarra eta sinpleagoa den produktu bat aukeratzen dute.
Zoritxarrez, bloke-kateak bere ezaugarri eta abantaila bereziak baditu ere, bertan exekutatzen diren aplikazio gehienak lehiakide zentralizatuak baino askoz garestiagoak, motelagoak eta intuitiboagoak dira.
Askotan, bloke-katean eraikitako aplikazioen liburu zurietan, honako hau dioen paragrafo bat aurki dezakezu: "Bloke-katea garestia da eta ezin du segundoko beharrezko transakzio-kopurua onartzen. Zorionez, pertsona adimentsu asko bloke-katea eskalatzen ari dira lanean eta gure aplikazioa martxan jartzen denerako nahiko eskalagarria izango daβ.
Paragrafo sinple batean, dapp garatzaile batek eskalagarritasun arazoei eta arazoei irtenbide alternatiboei buruzko eztabaida sakonago bati uko egin diezaioke. Horrek askotan arkitektura ez-eraginkorra dakar, non bloke-katean exekutatzen diren kontratu adimendunak aplikazioaren backend eta muin gisa balio duten.
Hala eta guztiz ere, oraindik probatu gabeko aplikazioen arkitektura deszentralizatuaren inguruko ikuspegiak daude, eskalagarritasun askoz hobea ahalbidetzen dutenak, bloke-katearen menpekotasuna murriztuz. Adibidez, Blockstack aplikazioaren datu eta logika gehienak katetik kanpo gordetzen diren arkitektura batean ari da lanean.
Ikus dezagun lehenik eta behin ikuspegi tradizionalagoa, blockchain-a aplikazioaren erabiltzaileen arteko bitartekari zuzen gisa erabiltzen duena, eta bereziki ondo eskalatzen ez duena.
1. Planteamendua: Blockchain Backend gisa
Gauzak argiago uzteko, har dezagun adibide gisa ostalaritza. Hau industria erraldoia da eta bertan Booking.com bezalako bitartekariek,
Ikuspegi hau erabiliz halako bitartekari bat garaitu nahi dugun edozein egoeratan, bere negozio-logika errepikatzen saiatuko gara Ethereum bezalako bloke-kate batean kontratu adimendunak erabiliz.
"Munduko ordenagailuan" exekutatzen diren kode irekiko kontratu adimendunek merkatariak kontsumitzaileekin konekta ditzakete, tartean hirugarrenik gabe, azken finean, bitartekariak kobratzen dituen tasak eta komisioak murriztuz.
Beheko irudian ikusten den moduan, hotelek aplikazio deszentralizatua erabiltzen dute bloke-katean gelei buruzko informazioa, haien erabilgarritasuna eta prezioak astegunetan edo asteburuetan argitaratzeko, eta, agian, aretoen deskribapena ere garrantzitsua den beste informazio guztiarekin.
Gela bat erreserbatu nahi duenak aplikazio hau erabiltzen du blockchain-en ostatatutako hotelak eta gelak bilatzeko. Erabiltzaileak gela bat aukeratzen duenean, erreserba egiten da hotelera beharrezko token kopurua gordailu gisa bidaliz. Eta horren harira, kontratu adimendunak bloke-katean dagoen informazioa eguneratzen du zenbakia jada ez dagoela eskuragarri.
Ikuspegi honekin eskalagarritasun arazoaren bi alde daude. Lehenik eta behin, segundoko gehieneko transakzio kopurua. Bigarrenik, blockchain-en gorde daitekeen datu kopurua.
Egin ditzagun gutxi gorabeherako kalkulu batzuk. Booking.com-ek dio ia 2 milioi hotel dituztela erregistratuta. Demagun, batez beste, hotelak 10 logela dituela eta bakoitzak urtean 20 aldiz besterik ez duela erreserbatzen; horrek 13 erreserba ematen dizkigu segundoko batez beste.
Zenbaki hau perspektiban jartzeko, nabarmentzekoa da Ethereum-ek segundoko 15 transakzio gutxi gorabehera prozesatu ditzakeela.
Aldi berean, kontuan hartu behar da gure aplikazioak hoteletako transakzioak ere edukiko dituela - haien gelei buruzko informazioa deskargatzeko eta etengabe eguneratzeko. Hotelek logelen prezioak oso maiz eguneratzen dituzte, batzuetan egunero ere, eta prezio edo deskribapen aldaketa bakoitzak blockchain-eko transakzio bat eskatzen du.
Tamaina arazoak ere badaude hemen - Ethereum blockchain-aren pisuak duela gutxi 2TB marka gainditu zuen. Ikuspegi honekin aplikazioak benetan ezagunak izango balira, Ethereum sarea oso ezegonkorra izango litzateke.
Blockchain-en oinarritutako sistema horrek kanpokoak baztertu ditzake bere inpartzialtasunagatik eta zentralizazio faltagatik, blockchain teknologiaren abantaila nagusiak. Baina bloke-kateak beste ezaugarri batzuk ere baditu: banatuta dago eta ez da berridatzi, ezaugarri bikainak dira, baina transakzioen abiaduran eta komisioan ordaindu behar dituzu.
Hori dela eta, dapp-en garatzaileek arretaz ebaluatu behar dute bloke-katea erabiltzen duten funtzio bakoitzak banaketa eta idazgarritasunik ez duen behar duen.
Adibidez: zer onura du hotel bakoitzaren datuak mundu osoko ehunka makinatan banatzeak eta bertan betirako gordetzeak? Benetan garrantzitsua al da logelen prezioei eta erabilgarritasunari buruzko datu historikoak bloke-katean sartzea beti? Seguruenik ez.
Horrelako galderak egiten hasten bagara, ikusiko dugu ez ditugula zertan bloke-katearen ezaugarri garesti guztiak behar gure funtzio guztietarako. Orduan, zein da alternatiba?
2. Planteamendua: Blockstack Inspiratutako Arkitektura
Nahiz eta azpimarra nagusia
Ezkerrean: lehenengo hurbilketa, erabiltzaileek bloke-katearen bidez elkarreragiten duten. Eskuinekoa: Erabiltzaileek elkarren artean zuzenean elkarreragiten dute, eta bloke-katea identifikaziorako eta antzekoetarako soilik erabiltzen da.
Itzuli gaitezen hotel erreserbaren adibidera. Gonbidatuak hotelekin konektatzeko protokolo inpartziala, independentea eta irekia nahi dugu. Beste era batera esanda, bitartekari zentralizatua kendu nahi dugu. Ez dugu behar, adibidez, gelen prezioak etengabe gordetzea banatutako liburu-liburu komun batean.
Zergatik ez diegu onartzen gonbidatuei eta hotelei zuzenean elkarrekintzan jarduten, blockchain bidez baino. Hotelek beren prezioak, gelen erabilgarritasuna eta beste edozein informazio gorde ditzakete non edonorentzat eskuragarri egongo den, adibidez, IPFS, Amazon S3 edo baita beren tokiko zerbitzaria ere. Hauxe da Blockstack-en biltegiratze sistema deszentralizatuak deitzen duena
Konfiantza ezartzeko, hoteleko datu guztiak hotelak berak kriptografikoki sinatzen ditu. Datu horiek non gordeta dauden edozein dela ere, bere osotasuna egiaztatu daiteke blockchain-en gordetako hotel horren identitatearekin lotutako gako publikoak erabiliz.
Blockstack-en kasuan, zure identitate-informazioa soilik gordetzen da blockchain-en. Erabiltzaile bakoitzaren datuak lortzeko moduari buruzko informazioa zonako fitxategietan gordetzen da eta peer-to-peer sare baten bidez banatzen da nodoak erabiliz. Eta berriro ere, ez duzu nodoek ematen dituzten datuez fidatu behar, bere benetakotasuna egiazta dezakezulako bloke-katean eta beste erabiltzaile batzuekin gordetzen diren hashekin alderatuz.
Sistemaren bertsio sinplifikatuan, gonbidatuek Blockstack peer-to-peer sarea erabiliko dute hotelak bilatzeko eta beren gelei buruzko informazioa lortzeko. Eta jasotzen dituzun datu guztien benetakotasuna eta osotasuna egiazta daitezke bertan gordetako gako publikoak eta hashak erabiliz.
Arkitektura hau lehen hurbilketa baino konplexuagoa da eta azpiegitura integralagoa behar du. Izan ere, horixe da Blockstack-ek, sistema deszentralizatua sortzeko beharrezko osagai guztiak eskaintzen dituena.
Arkitektura honekin, benetan banatu behar diren eta gainidatzi behar ez diren datuak bloke-katean soilik gordetzen ditugu. Blockstack-en kasuan, blockchain-eko transakzioak soilik behar dituzu erregistratzeko eta zure datuak non gorde behar diren adierazteko. Baliteke transakzio gehiago egin behar izatea informazio hori aldatu nahi baduzu, baina hau ez da errepikatzen den gertaera bat.
Gainera, aplikazioaren logika, lehen hurbilketaren aldean, bezeroaren aldetik exekutatzen da eta ez kontratu adimendunetan. Horri esker, garatzaileak logika hori alda dezake kontratu adimendunen eguneraketa garesti edo batzuetan ezinezkoa izan gabe. Eta aplikazioen datuak eta logika kateetik kanpo mantenduz, aplikazio deszentralizatuek sistema zentralizatu tradizionalen errendimendu eta eskalagarritasun mailak lor ditzakete.
Ondorioa
Blockstack-en exekutatzen diren aplikazioek blockchain ohiko aplikazioek baino askoz hobeto eskala dezakete, baina ikuspegi gazteagoa da bere arazoak eta erantzunik gabeko galderak dituena.
Esate baterako, deszentralizatutako aplikazio bat kontratu adimendunetan exekutatzen ez bada, horrek erabilgarritasun-token beharra murrizten du. Horrek enpresei arazoak sor ditzake, ICOak aplikazio deszentralizatuen (Blockstack bera barne) finantzaketa iturri nagusia izan direla kontuan hartuta.
Hemen ere arazo teknikoak daude. Adibidez, nahiko erraza da kontratu adimendun batean hotelak erreserbatzeko funtzio bat ezartzea, non eragiketa atomiko batean, gelen erreserbak tokenen truke egiten diren. Eta ez da oso agerikoa erreserbak nola funtzionatuko duen Blockstack aplikazio batean kontratu adimentsurik gabe.
Milioika erabiltzailerentzako potentziala duten merkatu globaletara bideratzen diren aplikazioek oso ondo eskalatu behar dute arrakasta izateko. Akatsa da etorkizun hurbilean eskalagarritasun-maila hori lortzeko bloke-kateetan soilik fidatzea. Booking.com bezalako merkatu zentralizatuko eragile handiekin lehiatu ahal izateko, aplikazio deszentralizatuen garatzaileek beren aplikazioak diseinatzeko planteamendu alternatiboak kontuan hartu beharko lituzkete, Blockstack-ek eskaintzen duena adibidez.
Iturria: www.habr.com