Төвлөрсөн бус скутер түрээслэх программ хангамж боловсруулах. Энэ нь амархан гэж хэн хэлсэн бэ?

Энэ нийтлэлд бид ухаалаг гэрээн дээр төвлөрсөн бус скутер түрээсийг хэрхэн байгуулах гэж оролдсон, яагаад бидэнд төвлөрсөн үйлчилгээ хэрэгтэй хэвээр байгаа талаар ярих болно.

Төвлөрсөн бус скутер түрээслэх программ хангамж боловсруулах. Энэ нь амархан гэж хэн хэлсэн бэ?

Энэ бүгд хэрхэн эхэлсэн

2018 оны XNUMX-р сард бид эд зүйлсийн интернет болон блокчэйнд зориулсан хакатон тэмцээнд оролцсон. Манай багийнхан энэхүү хакатоныг ивээн тэтгэгчээс скутер авсан тул скутер хуваалцахыг санаа болгон сонгосон. Энэхүү загвар нь NFC-ээр скутер эхлүүлэх боломжийг олгодог гар утасны програм шиг харагдаж байв. Маркетингийн үүднээс авч үзвэл, ухаалаг гэрээнд үндэслэсэн хэн ч түрээслэгч эсвэл түрээслэгч болох нээлттэй экосистемтэй "гэрэлт ирээдүй"-ийн тухай түүх энэ санааг дэмжсэн.

Энэ санаа нь манай сонирхогч талуудад маш их таалагдсан тул үзэсгэлэнд дэлгэн үзүүлэхийн тулд загвар болгохоор шийджээ. 2019 онд Mobile World Congress болон Bosch Connected World-д хэд хэдэн амжилттай үзүүлбэр үзүүлсний дараа скутер түрээсийг жинхэнэ хэрэглэгчид болох Deutsche Telekom-ын ажилтнуудтай туршихаар шийдсэн. Тиймээс бид бүрэн хэмжээний MVP-г боловсруулж эхэлсэн.

Таяг дээрх блокчейн

Тайзан дээр гарах төсөл, бодит хүмүүсийн ашиглах төсөл хоёрын хооронд ямар ялгаа байгааг тайлбарлах нь илүүц байх гэж бодож байна. Зургаан сарын дотор бид туршилтын туршилтыг нисгэгчдэд тохирсон зүйл болгон хувиргах ёстой байв. Тэгээд бид "өвдөлт" гэж юу болохыг ойлгосон.

Манай системийг төвлөрсөн бус, нээлттэй болгохын тулд бид Ethereum ухаалаг гэрээг ашиглахаар шийдсэн. Сонголт нь төвлөрсөн бус онлайн үйлчилгээний платформ дээр унасан, учир нь түүний түгээмэл байдал, сервергүй програм бүтээх чадвар юм. Бид төслөө дараах байдлаар хэрэгжүүлэхээр төлөвлөсөн.

Төвлөрсөн бус скутер түрээслэх программ хангамж боловсруулах. Энэ нь амархан гэж хэн хэлсэн бэ?

Гэвч харамсалтай нь ухаалаг гэрээ нь гүйлгээ хийх үед виртуал машин гүйцэтгэдэг код бөгөөд бүрэн хэмжээний серверийг орлож чадахгүй. Жишээлбэл, ухаалаг гэрээ нь хүлээгдэж буй эсвэл төлөвлөсөн үйлдлүүдийг хийж чадахгүй. Манай төсөлд энэ нь орчин үеийн ихэнх машин хуваалцах үйлчилгээтэй адил минутын түрээсийн үйлчилгээг хэрэгжүүлэх боломжийг бидэнд олгосонгүй. Тиймээс бид хэрэглэгчийг хангалттай мөнгөтэй гэдэгт итгэлтэй байж гүйлгээг дуусгасны дараа түүнээс криптовалютыг хассан. Энэ арга нь зөвхөн дотоод туршилтын хувьд хүлээн зөвшөөрөгдөх боломжтой бөгөөд мэдээжийн хэрэг бүрэн хэмжээний үйлдвэрлэлийн төслийг боловсруулахад асуудал үүсгэдэг.

Дээр дурдсан бүх зүйл дээр нэмсэн нь тавцангийн чийгшил юм. Жишээлбэл, хэрэв та ERC-20 жетоноос өөр логиктой ухаалаг гэрээ бичвэл алдаатай ажиллах асуудал гарах болно. Ихэвчлэн, хэрэв оролт буруу эсвэл бидний аргууд зөв ажиллахгүй бол бид хариуд нь алдааны код хүлээн авдаг. Ethereum-ийн хувьд бид энэ функцийг гүйцэтгэхэд зарцуулсан хийн хэмжээнээс өөр зүйл авч чадахгүй. Хийн бол гүйлгээ, тооцоололд төлөх ёстой валют юм: таны кодод илүү олон үйлдэл хийх тусам та илүү их мөнгө төлөх болно. Код яагаад ажиллахгүй байгааг ойлгохын тулд эхлээд бүх боломжит алдааг дуурайж, зарцуулсан хийг алдааны код болгон хатуу кодлох замаар туршиж үзээрэй. Гэхдээ хэрэв та кодоо өөрчилбөл энэ алдааны зохицуулалт эвдэрнэ.

Нэмж хэлэхэд, үүлэн дотор хаа нэгтээ хадгалагдсан түлхүүрийг ашиглахгүйгээр блокчэйнтэй шударгаар ажилладаг гар утасны програм үүсгэх бараг боломжгүй юм. Хэдийгээр шударга түрийвчнүүд байдаг ч тэдгээр нь гадаад гүйлгээнд гарын үсэг зурах интерфейсээр хангадаггүй. Энэ нь хэрэглэгчдэд төдийлөн итгэхгүй (би үүнд итгэхгүй) суурилагдсан крипто түрийвчгүй л бол та уугуул програмыг харахгүй гэсэн үг юм. Үүний үр дүнд бид энд бас булангаа таслахад хүрсэн. Ухаалаг гэрээг хувийн Ethereum сүлжээнд хүргэсэн бөгөөд түрийвч нь үүлэн дээр суурилсан байв. Гэсэн хэдий ч манай хэрэглэгчид түрээсийн сесс бүрт хэд хэдэн удаа гүйлгээг удаан хүлээх хэлбэрээр төвлөрсөн бус үйлчилгээний бүх "баяр баясгаланг" мэдэрсэн.

Энэ бүхэн биднийг энэ архитектур руу хөтөлж байна. Зөвшөөрч байна, энэ нь бидний төлөвлөж байснаас тэс өөр юм.

Төвлөрсөн бус скутер түрээслэх программ хангамж боловсруулах. Энэ нь амархан гэж хэн хэлсэн бэ?

Нүхэнд байгаа Ace: Өөрөө тусгаар тогтнол

Та төвлөрсөн бус таних тэмдэггүйгээр бүрэн төвлөрсөн бус системийг барьж чадахгүй. Self-Sovereign Identity (SSI) нь энэ хэсгийг хариуцдаг бөгөөд үүний мөн чанар нь та төвлөрсөн таниулах үйлчилгээ үзүүлэгчийг (IDP) хаяж, бүх өгөгдөл, хариуцлагыг хүмүүст тараах явдал юм. Одоо хэрэглэгч өөрт нь ямар өгөгдөл хэрэгтэй, хэнтэй хуваалцахаа шийднэ. Энэ бүх мэдээлэл нь хэрэглэгчийн төхөөрөмж дээр байрладаг. Гэхдээ солилцооны хувьд бидэнд криптограф нотлох баримтыг хадгалах төвлөрсөн бус систем хэрэгтэй болно. SSI концепцийн орчин үеийн бүх хэрэглүүр блокчейныг хадгалах хэрэгсэл болгон ашигладаг.

"Энэ нүхэнд байгаа хөзрийн тамгатай ямар холбоотой вэ?" - Та асуух. Бид Берлин, Бонн хотуудад өөрсдийн ажилчдад дотоод шалгалт өгөх үйлчилгээг эхлүүлсэн бөгөөд Германы үйлдвэрчний эвлэлийн хэлбэрээр хүндрэлтэй тулгарсан. Германд аж ахуйн нэгжүүдэд ажилчдынхаа шилжилт хөдөлгөөнийг хянахыг хориглодог бөгөөд үйлдвэрчний эвлэлүүд үүнд хяналт тавьдаг. Эдгээр хязгаарлалтууд нь хэрэглэгчийн хувийн мэдээллийг төвлөрүүлж хадгалахыг зогсоож байгаа тул энэ тохиолдолд бид ажилчдын байршлыг мэдэх болно. Үүний зэрэгцээ скутер хулгайлагдсан байж болзошгүй тул бид тэднийг шалгахгүй байж чадсангүй. Гэхдээ Self-Sovereign Identity-ийн ачаар манай хэрэглэгчид уг системийг нэрээ нууцалж ашигласан бөгөөд скутер түрээслэхээсээ өмнө жолооны үнэмлэхээ шалгасан. Үүний үр дүнд бид нэрээ нууцалсан хэрэглэгчийн хэмжигдэхүүнийг хадгалсан; бидэнд ямар ч бичиг баримт, хувийн мэдээлэл байхгүй байсан: тэдгээр нь бүгд жолоочийн төхөөрөмжид агуулагдаж байсан. Тиймээс SSI-ийн ачаар манай төслийн асуудлын шийдэл гарч ирэхээс өмнө бэлэн болсон.

Төхөөрөмж надад асуудал үүсгэсэн

Энэ нь криптографийн мэдлэг, маш их цаг хугацаа шаарддаг тул бид өөрсдөө бие даасан байдлыг хэрэгжүүлээгүй. Үүний оронд бид түншүүдийнхээ Jolocom-ын бүтээгдэхүүний давуу талыг ашиглаж, тэдний гар утасны хэтэвч, үйлчилгээг платформдоо нэгтгэсэн. Харамсалтай нь энэ бүтээгдэхүүн нь нэг чухал сул талтай: хөгжүүлэлтийн гол хэл нь Node.js юм.

Энэхүү технологийн стек нь скутерт суурилуулсан тоног төхөөрөмжийн сонголтыг ихээхэн хязгаарладаг. Аз болоход, төслийн хамгийн эхэнд бид Raspberry Pi Zero-г сонгож, бүрэн хэмжээний микрокомпьютерын бүх давуу талыг ашигласан. Энэ нь бидэнд скутер дээр том Node.js ажиллуулах боломжийг олгосон. Нэмж дурдахад бид бэлэн хэрэгслүүдийг ашиглан VPN-ээр дамжуулан хяналт, алсын зайнаас нэвтрэх боломжийг хүлээн авсан.

Эцэст нь хэлэхэд

Бүх “өвдөлт”, бэрхшээлийг үл харгалзан төслийг эхлүүлсэн. Бүх зүйл бидний төлөвлөснөөр болоогүй ч түрээслүүлснээр скутер унах үнэхээр боломжтой байсан.

Тийм ээ, бид архитектурыг төлөвлөхдөө хэд хэдэн алдаа гаргасан бөгөөд энэ нь үйлчилгээг бүрэн төвлөрсөн бус болгох боломжийг бидэнд олгосонгүй, гэхдээ эдгээр алдаа байхгүй байсан ч бид сервергүй платформыг бий болгож чадахгүй байх байсан. Өөр крипто-пирамид бичих нь нэг хэрэг, алдаа засах, хилийн хэргүүдийг шийдвэрлэх, хүлээгдэж буй ажлуудыг гүйцэтгэх шаардлагатай бүрэн хэмжээний үйлчилгээг бичих нь өөр хэрэг юм. Саяхан гарч ирсэн шинэ платформууд илүү уян хатан, ажиллагаатай байх болно гэж найдаж байна.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх