Garatu scooter deszentralizatua alokatzeko softwarea. Nork esan zuen erraza izango zela?

Artikulu honetan, kontratu adimentsuetan scooter deszentralizatua alokatzeko nola eraikitzen saiatu ginen eta zergatik behar genuen oraindik zerbitzu zentralizatu bat hitz egingo dut.

Garatu scooter deszentralizatua alokatzeko softwarea. Nork esan zuen erraza izango zela?

Nola hasi zen dena

2018ko azaroan gauzen Internetari eta blockchain-ari eskainitako hackathon batean parte hartu genuen. Gure taldeak scooter partekatzea ideia gisa aukeratu zuen hackaton honen babeslearen scooter bat geneukalako. Prototipoak NFC bidez scooter bat martxan jartzeko aukera ematen duen mugikorrentzako aplikazio baten antza zuen. Marketinaren ikuspuntutik, ideiak "etorkizun distiratsua"ri buruzko istorio batek eusten zuen ekosistema ireki batekin, non edonor maizter edo jabe bihur daitekeen, kontratu adimentsuetan oinarrituta.

Gure eragileei ideia hori asko gustatu zitzaien, eta erakusketetan erakusteko prototipo bihurtzea erabaki zuten. 2019an Mobile World Congress-en eta Bosch Connected World-en hainbat erakustaldi arrakastatsuren ostean, scooterren alokairua benetako erabiltzaileekin, Deutsche Telekom-eko langileekin, probatzea erabaki zen. Beraz, MVP osoa garatzen hasi ginen.

Blockchain makuluetan

Ez dut uste merezi duenik azaltzea zein den oholtza gainean erakutsiko den proiektu baten eta benetako jendeak erabiliko duenaren artean. Sei hilabetean prototipo gordina pilotu baterako egokia den zerbait bihurtu behar izan genuen. Eta orduan ulertu genuen zer esan nahi duen β€œmina”.

Gure sistema deszentralizatua eta irekia izan dadin, Ethereum kontratu adimendunak erabiltzea erabaki dugu. Aukeraketa lineako zerbitzu deszentralizatuen plataforma honetan erori zen, bere ospeagatik eta zerbitzaririk gabeko aplikazio bat eraikitzeko gaitasunagatik. Gure proiektua honela gauzatzea aurreikusi genuen.

Garatu scooter deszentralizatua alokatzeko softwarea. Nork esan zuen erraza izango zela?

Baina, zoritxarrez, kontratu adimenduna transakzio baten unean makina birtual batek exekutatzen duen kode bat da, eta ezin du erabateko zerbitzari bat ordezkatu. Esate baterako, kontratu adimendun batek ezin du egin zain dauden edo programatutako ekintzak. Gure proiektuan, horrek ez zigun minutuko alokairu-zerbitzurik ezarri, autoa partekatzeko zerbitzu moderno gehienek egiten duten bezala. Hori dela eta, kripto-moneta zorduntzen genion erabiltzaileari transakzioa amaitu ondoren nahikoa diru zuela ziur egon gabe. Planteamendu hau barne-pilotu baterako bakarrik da onargarria eta, noski, arazoak gehitzen ditu ekoizpen-proiektu osoa diseinatzerakoan.

Aurreko guztiari plataformaren beraren hezetasuna gehitzen zaio. Esate baterako, kontratu adimendun bat idazten baduzu ERC-20 tokenen logika ezberdinarekin, erroreak kudeatzeko arazoak aurkituko dituzu. Normalean, sarrera okerra bada edo gure metodoek ez badute behar bezala funtzionatzen, errore-kode bat jasoko dugu erantzun gisa. Ethereum-en kasuan, ezin dugu lortu funtzio hori betetzeko gastatutako gas kopurua baino. Gasa transakzio eta kalkuluetarako ordaindu beharreko moneta da: zenbat eta eragiketa gehiago zure kodean, orduan eta gehiago ordainduko duzu. Beraz, kodea zergatik ez den funtzionatzen ulertzeko, lehenik eta behin probatu dezakezu akats guztiak simulatuz eta xahututako gasa akats-kode gisa kodetu. Baina kodea aldatzen baduzu, erroreen kudeaketa hau hautsiko da.

Gainera, ia ezinezkoa da blockchain-ekin zintzotasunez funtzionatzen duen mugikorrentzako aplikazio bat sortzea, hodeian nonbait gordetako giltza erabili gabe. Diru-zorro zintzoak existitzen diren arren, ez dute kanpoko transakzioak sinatzeko interfazerik eskaintzen. Horrek esan nahi du ez duzula jatorrizko aplikaziorik ikusiko kriptografia-zorro bat ez badu, erabiltzaileek konfiantza gutxi izango baitute (ez nintzateke fidatuko). Ondorioz, hemen ere txoko bat moztu behar izan dugu. Kontratu adimendunak Ethereum sare pribatura entregatu ziren, eta diru-zorroa hodeian oinarrituta zegoen. Baina, hala ere, gure erabiltzaileek zerbitzu deszentralizatuen "gozamen" guztiak bizi izan zituzten transakzioetarako itxaronaldi luzeak hainbat aldiz alokairu-saio bakoitzeko.

Horrek guztiak arkitektura honetara garamatza. Ados, guk aurreikusitakoaren oso ezberdina da.

Garatu scooter deszentralizatua alokatzeko softwarea. Nork esan zuen erraza izango zela?

Bateko zuloan: nortasun burujabea

Ezin duzu sistema guztiz deszentralizatua eraiki identitate deszentralizaturik gabe. Nortasun Autoburujabea (SSI) da zati honen arduraduna, eta horren funtsa da nortasun hornitzaile zentralizatua (IDP) bota eta horren datu eta erantzukizun guztiak jendeari banatzea. Orain erabiltzaileak erabakitzen du zer datu behar dituen eta norekin partekatuko dituen. Informazio hori guztia erabiltzailearen gailuan dago. Baina trukerako, froga kriptografikoak gordetzeko sistema deszentralizatua beharko dugu. SSI kontzeptuaren inplementazio moderno guztiek bloke-katea erabiltzen dute biltegiratze gisa.

"Zer zerikusi du honek zuloko batekoarekin?" - zuk galdetu. Gure langileei barne-probak egiteko zerbitzua martxan jarri genuen Berlinen eta Bonnen, eta zailtasunak aurkitu genituen Alemaniako sindikatuen moduan. Alemanian, enpresek debekatuta dute langileen mugimenduak kontrolatzea, eta sindikatuek hori kontrolatzen dute. Murrizketa hauek erabiltzaileen identitate-datuen biltegiratze zentralizatua amaitzen dute, kasu honetan langileen kokapena ezagutuko baikenuen. Aldi berean, ezin izan ditugu egiaztatu, scooterrak lapurtzeko aukeragatik. Baina Norbere Burujabetzari esker, gure erabiltzaileek sistema anonimoan erabiltzen zuten, eta scooterrak berak egiaztatu zuen gidabaimena alokatzen hasi aurretik. Ondorioz, erabiltzaileen neurketa anonimoak gordetzen genituen; ez genuen dokumenturik edo datu pertsonalik: guztiak gidarien gailuetan zeuden. Horrela, SSIri esker, gure proiektuan arazoaren konponbidea agertu baino lehen prest zegoen.

Gailuak arazoak eman zizkidan

Ez dugu geuk ezarri Nortasun Autoburujabea, kriptografian aditua eta denbora asko eskatzen baitu. Horren ordez, gure bazkide Jolocom-en produktua aprobetxatu dugu eta haien mugikor-zorroa eta zerbitzuak gure plataforman integratu ditugu. Zoritxarrez, produktu honek eragozpen nabarmen bat du: garapen-lengoaia nagusia Node.js da.

Teknologia pila honek asko mugatzen du scooter batean integratutako hardwarearen aukera. Zorionez, proiektuaren hasieran, Raspberry Pi Zero aukeratu genuen, eta erabateko mikroordenagailu baten abantaila guztiak aprobetxatu genituen. Horri esker, Node.js handiak exekutatu ahal izan genituen scooter-ean. Horrez gain, jarraipena eta urruneko sarbidea jaso genuen VPN bidez, prest egindako tresnak erabiliz.

Ondorioz

β€œMina” eta arazo guztiak gorabehera, proiektua martxan jarri zen. Dena ez zen guk aurreikusi bezala funtzionatu, baina benetan posible zen patineteetan ibiltzea haiek alokatuz.

Bai, arkitektura diseinatzerakoan hainbat akats egin genituen, zerbitzua guztiz deszentralizatuta egotea ahalbidetzen ez zigutenak, baina akats horiek gabe ere nekez lortuko genuke zerbitzaririk gabeko plataformarik sortu. Gauza bat da beste kriptografia-piramide bat idaztea, eta beste bat, akatsak kudeatu, mugako kasuak konpondu eta zain dauden zereginak egin behar dituzun zerbitzu oso bat idaztea. Espero dezagun azkenaldian sortu diren plataforma berriak malguagoak eta funtzionalagoak izango direla.

Iturria: www.habr.com

Gehitu iruzkin berria