Markazlashtirilmagan skuterlarni ijaraga olish uchun dasturiy ta'minotni ishlab chiqish. Bu oson bo'lishini kim aytdi?

Ushbu maqolada men qanday qilib aqlli shartnomalar bo'yicha markazlashmagan skuter ijarasini qurishga harakat qilganimiz va nima uchun bizga markazlashtirilgan xizmat kerakligi haqida gapiraman.

Markazlashtirilmagan skuterlarni ijaraga olish uchun dasturiy ta'minotni ishlab chiqish. Bu oson bo'lishini kim aytdi?

Qanday qilib hamma narsa boshlandi

2018-yil noyabr oyida biz narsalar interneti va blokcheynga bag‘ishlangan hakatonda ishtirok etdik. Bizning jamoamiz g'oya sifatida skuter almashishni tanladi, chunki bizda ushbu hakaton homiysidan skuter bor edi. Prototip NFC orqali skuterni ishga tushirish imkonini beruvchi mobil ilovaga o‘xshardi. Marketing nuqtai nazaridan, g'oya har kim ijarachi yoki uy egasi bo'lishi mumkin bo'lgan ochiq ekotizimga ega "yorqin kelajak" haqidagi hikoya bilan qo'llab-quvvatlandi, barchasi aqlli shartnomalar asosida.

Bizning manfaatdor tomonlarimizga bu g'oya juda yoqdi va ular uni ko'rgazmalarda namoyish qilish uchun prototipga aylantirishga qaror qilishdi. 2019 yilda Mobile World Congress va Bosch Connected World-da bir nechta muvaffaqiyatli namoyishlardan so'ng, skuter ijarasini haqiqiy foydalanuvchilar, Deutsche Telekom xodimlari bilan sinab ko'rishga qaror qilindi. Shunday qilib, biz to'liq huquqli MVPni ishlab chiqishni boshladik.

Qo'ltiq tayoqchalarida blokcheyn

Menimcha, sahnada ko‘rsatiladigan loyiha bilan haqiqiy odamlar tomonidan qo‘llaniladigan loyiha o‘rtasidagi farq nima ekanligini tushuntirishning hojati yo‘q. Olti oy ichida biz xom prototipni uchuvchi uchun mos narsaga aylantirishimiz kerak edi. Va keyin biz "og'riq" nimani anglatishini tushundik.

Tizimimizni markazlashtirilmagan va ochiq qilish uchun biz Ethereum aqlli shartnomalaridan foydalanishga qaror qildik. Tanlov ushbu markazlashtirilmagan onlayn xizmatlar platformasiga tushdi, chunki uning mashhurligi va serversiz dastur yaratish qobiliyati. Loyihamizni quyidagicha amalga oshirishni rejalashtirgan edik.

Markazlashtirilmagan skuterlarni ijaraga olish uchun dasturiy ta'minotni ishlab chiqish. Bu oson bo'lishini kim aytdi?

Ammo, afsuski, aqlli shartnoma tranzaksiya vaqtida virtual mashina tomonidan bajariladigan koddir va u to'liq huquqli serverni almashtira olmaydi. Masalan, aqlli shartnoma kutilayotgan yoki rejalashtirilgan harakatlarni bajara olmaydi. Bizning loyihamizda bu ko'pchilik zamonaviy avtoulovlarni almashish xizmatlari kabi bir daqiqada ijara xizmatini amalga oshirishga imkon bermadi. Shuning uchun, tranzaktsiyani tugatgandan so'ng, foydalanuvchining etarli puli borligiga ishonch hosil qilmasdan, biz kriptovalyutani hisobdan chiqardik. Ushbu yondashuv faqat ichki uchuvchi uchun maqbuldir va, albatta, to'liq ishlab chiqarish loyihasini ishlab chiqishda muammolarni qo'shadi.

Yuqorida aytilganlarning barchasiga platformaning o'zi namligi qo'shiladi. Misol uchun, agar siz ERC-20 tokenlaridan farqli mantiqqa ega aqlli shartnoma yozsangiz, xatolarni qayta ishlash muammolariga duch kelasiz. Odatda, kiritish noto'g'ri bo'lsa yoki usullarimiz to'g'ri ishlamasa, javob sifatida xato kodini olamiz. Ethereum holatida biz ushbu funktsiyani bajarish uchun sarflangan gaz miqdoridan boshqa hech narsa ololmaymiz. Gaz - bu tranzaktsiyalar va hisob-kitoblar uchun to'lanishi kerak bo'lgan valyuta: kodingizda qancha operatsiyalar bo'lsa, shuncha ko'p to'laysiz. Kod nima uchun ishlamayotganini tushunish uchun avval uni barcha mumkin bo'lgan xatolarni simulyatsiya qilish va xato kodi sifatida sarflangan gazni qattiq kodlash orqali sinab ko'ring. Ammo kodingizni o'zgartirsangiz, bu xato bilan ishlash buziladi.

Bundan tashqari, bulutda biror joyda saqlangan kalitdan foydalanmasdan, blokcheyn bilan halol ishlaydigan mobil ilovani yaratish deyarli mumkin emas. Halol hamyonlar mavjud bo'lsa-da, ular tashqi tranzaktsiyalarni imzolash uchun interfeyslarni taqdim etmaydi. Bu shuni anglatadiki, siz mahalliy dasturni ko'rmaysiz, agar u o'rnatilgan kripto hamyoniga ega bo'lmasa, foydalanuvchilar unga juda ishonmaydilar (men bunga ishonmayman). Natijada biz ham bu erda burchakni kesishga majbur bo'ldik. Aqlli shartnomalar xususiy Ethereum tarmog'iga yetkazildi va hamyon bulutga asoslangan edi. Ammo shunga qaramay, bizning foydalanuvchilarimiz ijara sessiyasi uchun bir necha marta tranzaktsiyalarni uzoq kutish shaklida markazlashtirilmagan xizmatlarning barcha "zavqlarini" boshdan kechirdilar.

Bularning barchasi bizni ushbu arxitekturaga olib boradi. Qabul qiling, bu biz rejalashtirganimizdan juda farq qiladi.

Markazlashtirilmagan skuterlarni ijaraga olish uchun dasturiy ta'minotni ishlab chiqish. Bu oson bo'lishini kim aytdi?

Teshikdagi Ace: O'z-o'zini suveren identifikatsiya qilish

Siz markazlashtirilmagan identifikatsiyasiz butunlay markazlashmagan tizimni qura olmaysiz. Self-Suveren Identity (SSI) ushbu qism uchun javobgardir, uning mohiyati shundaki, siz markazlashtirilgan identifikatsiya provayderini (IDP) chiqarib tashlab, barcha ma'lumotlarni va buning uchun mas'uliyatni odamlarga tarqatasiz. Endi foydalanuvchi o'ziga qanday ma'lumotlar kerakligini va uni kim bilan baham ko'rishini hal qiladi. Bu ma'lumotlarning barchasi foydalanuvchi qurilmasida joylashgan. Ammo almashish uchun bizga kriptografik dalillarni saqlash uchun markazlashmagan tizim kerak bo'ladi. SSI kontseptsiyasining barcha zamonaviy ilovalari blokcheyndan saqlash sifatida foydalanadi.

"Buning teshikdagi ace bilan nima aloqasi bor?" - deb so'rayapsiz. Biz Berlin va Bonnda o'z xodimlarimiz uchun ichki test xizmatini ishga tushirdik va nemis kasaba uyushmalari shaklida qiyinchiliklarga duch keldik. Germaniyada kompaniyalarga xodimlarning harakatini kuzatish taqiqlanadi va kasaba uyushmalari buni nazorat qiladi. Ushbu cheklovlar foydalanuvchi identifikatori ma'lumotlarini markazlashtirilgan saqlashga chek qo'yadi, chunki bu holda biz xodimlarning joylashuvini bilib olamiz. Shu bilan birga, biz skuterlarni o'g'irlash ehtimoli tufayli ularni tekshirishga yordam bera olmadik. Ammo Self-Suveren Identity tufayli bizning foydalanuvchilarimiz tizimdan anonim foydalanishdi va skuterning o'zi ijarani boshlashdan oldin haydovchilik guvohnomasini tekshirdi. Natijada, biz foydalanuvchilarning anonim ko'rsatkichlarini saqladik, bizda hech qanday hujjat yoki shaxsiy ma'lumotlar yo'q edi: ularning barchasi haydovchilarning o'zlari qurilmalarida joylashgan. Shunday qilib, SSI tufayli bizning loyihamizdagi muammoning echimi paydo bo'lishidan oldin ham tayyor edi.

Qurilma menga muammo tug'dirdi

Biz o'zimiz mustaqillikni amalga oshirmadik, chunki u kriptografiya bo'yicha tajriba va ko'p vaqtni talab qiladi. Buning o'rniga biz hamkorlarimiz Jolocom mahsulotidan foydalandik va ularning mobil hamyoni va xizmatlarini platformamizga birlashtirdik. Afsuski, ushbu mahsulotning bitta muhim kamchiligi bor: asosiy dastur tili Node.js.

Ushbu texnologiya to'plami skuterga o'rnatilgan uskuna tanlashimizni sezilarli darajada cheklaydi. Yaxshiyamki, loyihaning eng boshida biz Raspberry Pi Zero-ni tanladik va biz to'liq huquqli mikrokompyuterning barcha afzalliklaridan foydalandik. Bu bizga skuterda katta hajmli Node.js-ni ishga tushirishga imkon berdi. Bundan tashqari, biz tayyor vositalar yordamida VPN orqali monitoring va masofaviy kirishni oldik.

Xulosa

Barcha "og'riq" va muammolarga qaramay, loyiha ishga tushirildi. Hammasi ham biz rejalashtirgandek ishlamadi, lekin skuterlarni ijaraga olib minish mumkin edi.

Ha, biz arxitekturani loyihalashda xizmatni to'liq markazsizlashtirishga imkon bermagan bir qator xatolarga yo'l qo'ydik, ammo bu xatolarsiz ham biz serversiz platformani yarata olmas edik. Boshqa kripto-piramidani yozish boshqa narsa va xatolarni hal qilish, chegara holatlarini hal qilish va kutilayotgan vazifalarni bajarish kerak bo'lgan to'liq huquqli xizmatni yozish boshqa narsa. Umid qilamizki, yaqinda paydo bo'lgan yangi platformalar yanada moslashuvchan va funktsional bo'ladi.

Manba: www.habr.com

a Izoh qo'shish