Þróaðu hugbúnað fyrir dreifða vespuleigu. Hver sagði að það væri auðvelt?

Í þessari grein mun ég tala um hvernig við reyndum að byggja upp dreifða vespuleigu á snjöllum samningum og hvers vegna við þurftum enn miðstýrða þjónustu.

Þróaðu hugbúnað fyrir dreifða vespuleigu. Hver sagði að það væri auðvelt?

Hvernig það byrjaði allt

Í nóvember 2018 tókum við þátt í hakkaþoni tileinkað Internet of Things og blockchain. Liðið okkar valdi deilingu á vespu sem hugmynd þar sem við áttum vespu frá styrktaraðila þessa hackathon. Frumgerðin leit út eins og farsímaforrit sem gerir þér kleift að ræsa vespu í gegnum NFC. Frá markaðssjónarmiði var hugmyndin studd af sögu um „bjarta framtíð“ með opnu vistkerfi þar sem hver sem er getur orðið leigjandi eða leigusali, allt byggt á snjöllum samningum.

Hagsmunaaðilum okkar leist mjög vel á þessa hugmynd og þeir ákváðu að breyta henni í frumgerð til sýnis á sýningum. Eftir nokkrar vel heppnaðar sýningar á Mobile World Congress og Bosch Connected World árið 2019 var ákveðið að prófa vespuleiguna með raunverulegum notendum, starfsmönnum Deutsche Telekom. Svo við byrjuðum að þróa fullgildan MVP.

Blockchain á hækjum

Ég held að það sé ekki þess virði að útskýra hver munurinn er á verkefni sem á að sýna á sviði og verkefni sem verður notað af raunverulegu fólki. Á sex mánuðum þurftum við að breyta hráu frumgerðinni í eitthvað sem hentaði flugmanni. Og þá skildum við hvað „sársauki“ þýðir.

Til þess að gera kerfið okkar dreifstýrt og opið ákváðum við að nota Ethereum snjalla samninga. Valið féll á þessum vettvangi dreifðrar netþjónustu vegna vinsælda hennar og getu til að byggja upp netþjónalaust forrit. Við ætluðum að útfæra verkefnið okkar sem hér segir.

Þróaðu hugbúnað fyrir dreifða vespuleigu. Hver sagði að það væri auðvelt?

En því miður er snjallsamningur kóði sem keyrður er af sýndarvél á þeim tíma sem viðskiptin eiga sér stað og hann getur ekki komið í stað fullgilds netþjóns. Til dæmis getur snjallsamningur ekki framkvæmt bið eða áætlaðar aðgerðir. Í verkefninu okkar leyfði þetta okkur ekki að innleiða leigu á mínútu eins og flestar nútíma deiliþjónustur gera. Þess vegna skuldfærðum við notandann cryptocurrency eftir að hafa lokið viðskiptum án þess að vera viss um að hann ætti nóg af peningum. Þessi nálgun er aðeins ásættanleg fyrir innri tilraunamann og bætir auðvitað við vandamálum þegar hannað er fullbúið framleiðsluverkefni.

Við allt ofangreint bætist raki pallsins sjálfs. Til dæmis, ef þú skrifar snjallsamning með rökfræði sem er öðruvísi en ERC-20 tákn, munt þú lenda í vandræðum með að meðhöndla villur. Venjulega, ef inntakið er rangt eða aðferðir okkar virka ekki rétt, fáum við villukóða sem svar. Þegar um Ethereum er að ræða getum við ekki fengið neitt annað en það magn af gasi sem varið er til að framkvæma þessa aðgerð. Gas er gjaldmiðill sem þarf að greiða fyrir viðskipti og útreikninga: því fleiri aðgerðir í kóðanum þínum, því meira borgar þú. Svo til að skilja hvers vegna kóðinn virkar ekki, prófarðu hann fyrst með því að líkja eftir öllum mögulegum villum og harðkóða gasið sem notað er sem villukóða. En ef þú breytir kóðanum þínum mun þessi villumeðferð brotna.

Að auki er nánast ómögulegt að búa til farsímaforrit sem vinnur með blockchain heiðarlega, án þess að nota lykil sem er geymdur einhvers staðar í skýinu. Þó að heiðarleg veski séu til, bjóða þau ekki upp á viðmót til að undirrita ytri viðskipti. Þetta þýðir að þú munt ekki sjá innbyggt forrit nema það sé með innbyggt dulritunarveski, sem notendur munu hafa lítið traust á (ég myndi ekki treysta því). Þar af leiðandi þurftum við líka að skera úr hér. Snjallir samningar voru afhentir einkareknu Ethereum netinu og veskið var skýjabundið. En þrátt fyrir þetta upplifðu notendur okkar alla „gleðina“ dreifðrar þjónustu í formi langrar bið eftir viðskiptum nokkrum sinnum á hverri leigulotu.

Allt þetta leiðir okkur að þessum arkitektúr. Sammála, það er allt öðruvísi en við ætluðum.

Þróaðu hugbúnað fyrir dreifða vespuleigu. Hver sagði að það væri auðvelt?

Ás í holunni: Sjálfstætt fullvalda sjálfsmynd

Þú getur ekki byggt upp algjörlega dreifð kerfi án dreifðrar sjálfsmyndar. Self-Sovereign Identity (SSI) ber ábyrgð á þessum hluta, kjarninn í því er að þú hendir út miðlæga auðkennisveitunni (IDP) og dreifir öllum gögnum og ábyrgð á þeim til fólksins. Nú ákveður notandinn hvaða gögn hann þarf og með hverjum hann mun deila þeim. Allar þessar upplýsingar eru staðsettar á tæki notandans. En fyrir skiptin þurfum við dreifð kerfi til að geyma dulmálsgögn. Allar nútíma útfærslur á SSI hugmyndinni nota blockchain sem geymslu.

"Hvað hefur þetta með ásinn í holunni að gera?" - þú spyrð. Við opnuðum þjónustuna fyrir innri prófanir á eigin starfsmönnum í Berlín og Bonn og lentum í erfiðleikum í formi þýskra verkalýðsfélaga. Í Þýskalandi er fyrirtækjum bannað að fylgjast með ferðum starfsmanna og verkalýðsfélög stjórna því. Þessar takmarkanir binda enda á miðlæga geymslu á auðkennisgögnum notenda, þar sem í þessu tilfelli myndum við vita staðsetningu starfsmanna. Á sama tíma gátum við ekki annað en athugað þær vegna þess að vespum væri stolið. En þökk sé Self-Sovereign Identity notuðu notendur okkar kerfið nafnlaust og vespun sjálf athugaði ökuskírteinið sitt áður en leigjan hófst. Fyrir vikið geymdum við nafnlausar notendamælingar; við höfðum engin skjöl eða persónuleg gögn: þau voru öll í tækjum ökumanna sjálfra. Þannig, þökk sé SSI, var lausnin á vandamálinu í verkefninu okkar tilbúin jafnvel áður en það birtist.

Tækið gaf mér vandamál

Við innleiddum ekki Self-Sovereign Identity sjálf, þar sem það krefst sérfræðiþekkingar í dulritun og miklum tíma. Í staðinn nýttum við okkur vöru samstarfsaðila okkar Jolocom og samþættum farsímaveskið þeirra og þjónustu við vettvang okkar. Því miður hefur þessi vara einn verulegan galla: aðal þróunarmálið er Node.js.

Þessi tæknistafla takmarkar mjög val okkar á vélbúnaði sem er innbyggður í vespu. Sem betur fer, strax í upphafi verkefnisins, völdum við Raspberry Pi Zero og nýttum okkur alla kosti fullgildrar örtölvu. Þetta gerði okkur kleift að keyra fyrirferðarmikið Node.js á vespu. Að auki fengum við eftirlit og fjaraðgang í gegnum VPN með tilbúnum verkfærum.

Að lokum

Þrátt fyrir allan „sársaukann“ og vandamálin var verkefninu hleypt af stokkunum. Ekki gekk allt eins og við ætluðum okkur en það var í raun hægt að fara á vespur með því að leigja þær.

Já, við gerðum ýmis mistök við hönnun arkitektúrsins sem leyfðu okkur ekki að gera þjónustuna algjörlega dreifða, en jafnvel án þessara mistaka hefðum við varla getað búið til netþjónalausan vettvang. Það er eitt að skrifa annan dulmálspýramída og allt annað að skrifa fullgilda þjónustu þar sem þú þarft að meðhöndla villur, leysa landamæratilvik og framkvæma verkefni sem bíða. Við skulum vona að nýju pallarnir sem hafa komið fram nýlega verði sveigjanlegri og virkari.

Heimild: www.habr.com

Bæta við athugasemd