Datblygu meddalwedd ar gyfer rhentu sgwteri datganoledig. Pwy ddywedodd y byddai'n hawdd?

Yn yr erthygl hon byddaf yn siarad am sut y gwnaethom geisio adeiladu rhenti sgwteri datganoledig ar gontractau smart a pham yr oedd angen gwasanaeth canolog arnom o hyd.

Datblygu meddalwedd ar gyfer rhentu sgwteri datganoledig. Pwy ddywedodd y byddai'n hawdd?

Sut y dechreuodd

Ym mis Tachwedd 2018, fe wnaethon ni gymryd rhan mewn hacathon sy'n ymroddedig i Rhyngrwyd Pethau a blockchain. Dewisodd ein tîm rannu sgwteri fel syniad gan ein bod wedi cael sgwter gan noddwr yr hacathon hwn. Roedd y prototeip yn edrych fel cymhwysiad symudol sy'n eich galluogi i gychwyn sgwter trwy NFC. O safbwynt marchnata, cefnogwyd y syniad gan stori am “ddyfodol disglair” gydag ecosystem agored lle gall unrhyw un ddod yn denant neu'n landlord, i gyd yn seiliedig ar gontractau smart.

Roedd ein rhanddeiliaid yn hoff iawn o'r syniad hwn, a phenderfynon nhw ei droi'n brototeip i'w arddangos mewn arddangosfeydd. Ar ôl sawl arddangosiad llwyddiannus yng Nghyngres Mobile World a Bosch Connected World yn 2019, penderfynwyd profi'r rhent sgwter gyda defnyddwyr go iawn, gweithwyr Deutsche Telekom. Felly dechreuon ni ddatblygu MVP llawn.

Blockchain ar faglau

Dydw i ddim yn meddwl ei bod yn werth egluro beth yw'r gwahaniaeth rhwng prosiect i'w ddangos ar lwyfan ac un a fydd yn cael ei ddefnyddio gan bobl go iawn. Mewn chwe mis bu'n rhaid i ni droi'r prototeip amrwd yn rhywbeth addas ar gyfer peilot. Ac yna fe wnaethon ni ddeall beth mae “poen” yn ei olygu.

Er mwyn gwneud ein system yn ddatganoledig ac yn agored, penderfynasom ddefnyddio contractau smart Ethereum. Syrthiodd y dewis ar y platfform hwn o wasanaethau ar-lein datganoledig oherwydd ei boblogrwydd a'r gallu i adeiladu cymhwysiad heb weinydd. Roeddem yn bwriadu gweithredu ein prosiect fel a ganlyn.

Datblygu meddalwedd ar gyfer rhentu sgwteri datganoledig. Pwy ddywedodd y byddai'n hawdd?

Ond, yn anffodus, mae contract smart yn god a weithredir gan beiriant rhithwir ar adeg trafodiad, ac ni all ddisodli gweinyddwr llawn. Er enghraifft, ni all contract smart gyflawni gweithredoedd arfaethedig neu gamau a drefnwyd. Yn ein prosiect, nid oedd hyn yn caniatáu i ni weithredu gwasanaeth rhentu fesul munud, fel y mae'r rhan fwyaf o wasanaethau rhannu ceir modern yn ei wneud. Felly, gwnaethom ddebydu arian cyfred digidol gan y defnyddiwr ar ôl cwblhau'r trafodiad heb fod yn siŵr bod ganddo ddigon o arian. Dim ond ar gyfer peilot mewnol y mae'r dull hwn yn dderbyniol ac, wrth gwrs, mae'n ychwanegu problemau wrth ddylunio prosiect cynhyrchu llawn.

Yn ychwanegol at yr uchod i gyd mae lleithder y platfform ei hun. Er enghraifft, os byddwch chi'n ysgrifennu contract smart gyda rhesymeg sy'n wahanol i docynnau ERC-20, byddwch chi'n dod ar draws problemau trin gwallau. Fel arfer, os yw'r mewnbwn yn anghywir neu os nad yw ein dulliau'n gweithio'n gywir, rydym yn derbyn cod gwall mewn ymateb. Yn achos Ethereum, ni allwn gael unrhyw beth heblaw faint o nwy a wariwyd i gyflawni'r swyddogaeth hon. Mae nwy yn arian cyfred y mae'n rhaid ei dalu ar gyfer trafodion a chyfrifiadau: po fwyaf o weithrediadau yn eich cod, y mwyaf y byddwch yn ei dalu. Felly i ddeall pam nad yw'r cod yn gweithio, rydych chi'n ei brofi yn gyntaf trwy efelychu'r holl wallau posibl a chod caled y nwy a wariwyd fel cod gwall. Ond os byddwch chi'n newid eich cod, bydd y dull trin gwall hwn yn torri.

Yn ogystal, mae bron yn amhosibl creu cymhwysiad symudol sy'n gweithio gyda'r blockchain yn onest, heb ddefnyddio allwedd sydd wedi'i storio yn rhywle yn y cwmwl. Er bod waledi gonest yn bodoli, nid ydynt yn darparu rhyngwynebau ar gyfer llofnodi trafodion allanol. Mae hyn yn golygu na fyddwch yn gweld cymhwysiad brodorol oni bai bod ganddo waled crypto adeiledig, na fydd gan ddefnyddwyr lawer o ymddiriedaeth ynddo (ni fyddwn yn ymddiried ynddo). O ganlyniad, roedd yn rhaid i ni hefyd dorri cornel yma. Cyflwynwyd contractau smart i'r rhwydwaith Ethereum preifat, ac roedd y waled yn seiliedig ar gwmwl. Ond er gwaethaf hyn, profodd ein defnyddwyr holl “fwynhau” gwasanaethau datganoledig ar ffurf arosiadau hir am drafodion sawl gwaith fesul sesiwn rhentu.

Mae hyn i gyd yn ein harwain at y bensaernïaeth hon. Cytuno, mae'n wahanol iawn i'r hyn a gynlluniwyd gennym.

Datblygu meddalwedd ar gyfer rhentu sgwteri datganoledig. Pwy ddywedodd y byddai'n hawdd?

Ace yn y twll: Hunaniaeth Hunan-Sofran

Ni allwch adeiladu system gwbl ddatganoledig heb hunaniaeth ddatganoledig. Hunaniaeth Hunan-Sofran (SSI) sy'n gyfrifol am y rhan hon, a'i hanfod yw eich bod yn taflu'r darparwr hunaniaeth ganolog (CDU) allan ac yn dosbarthu'r holl ddata a chyfrifoldeb amdano i'r bobl. Nawr mae'r defnyddiwr yn penderfynu pa ddata sydd ei angen arno a gyda phwy y bydd yn ei rannu. Mae'r holl wybodaeth hon wedi'i lleoli ar ddyfais y defnyddiwr. Ond ar gyfer y cyfnewid bydd angen system ddatganoledig arnom ar gyfer storio tystiolaeth cryptograffig. Mae pob gweithrediad modern o'r cysyniad SSI yn defnyddio blockchain fel storfa.

“Beth sydd gan hwn i'w wneud â'r ace yn y twll?” - rydych chi'n gofyn. Lansiwyd y gwasanaeth ar gyfer profion mewnol ar ein gweithwyr ein hunain yn Berlin a Bonn, a chawsom anawsterau ar ffurf undebau llafur yr Almaen. Yn yr Almaen, mae cwmnïau wedi'u gwahardd rhag monitro symudiadau gweithwyr, ac undebau llafur sy'n rheoli hyn. Mae'r cyfyngiadau hyn yn rhoi terfyn ar storio data hunaniaeth defnyddwyr yn ganolog, oherwydd yn yr achos hwn byddem yn gwybod lleoliad gweithwyr. Ar yr un pryd, ni allem helpu ond eu gwirio oherwydd y posibilrwydd o sgwteri yn cael eu dwyn. Ond diolch i Hunaniaeth Hunan-Sofran, defnyddiodd ein defnyddwyr y system yn ddienw, a gwiriodd y sgwter ei hun ei drwydded yrru cyn dechrau'r rhentu. O ganlyniad, gwnaethom storio metrigau defnyddwyr dienw; nid oedd gennym unrhyw ddogfennau na data personol: roeddent i gyd wedi'u cynnwys ar ddyfeisiau'r gyrwyr eu hunain. Felly, diolch i SSI, roedd yr ateb i'r broblem yn ein prosiect yn barod hyd yn oed cyn iddo ymddangos.

Rhoddodd y ddyfais broblemau i mi

Ni wnaethom weithredu Hunaniaeth Hunan-Sofran ein hunain, gan ei fod yn gofyn am arbenigedd mewn cryptograffeg a llawer o amser. Yn lle hynny, fe wnaethom fanteisio ar gynnyrch ein partneriaid Jolocom ac integreiddio eu waled symudol a gwasanaethau i'n platfform. Yn anffodus, mae gan y cynnyrch hwn un anfantais sylweddol: y brif iaith ddatblygu yw Node.js.

Mae'r pentwr technoleg hwn yn cyfyngu'n fawr ar ein dewis o galedwedd sydd wedi'i ymgorffori mewn sgwter. Yn ffodus, ar ddechrau'r prosiect, fe wnaethon ni ddewis y Raspberry Pi Zero, a gwnaethom fanteisio ar holl fanteision microgyfrifiadur llawn. Roedd hyn yn ein galluogi i redeg Node.js swmpus ar y sgwter. Yn ogystal, cawsom fonitro a mynediad o bell trwy VPN gan ddefnyddio offer parod.

I gloi

Er gwaethaf yr holl “boen” a phroblemau, lansiwyd y prosiect. Nid oedd popeth yn gweithio fel y bwriadwyd, ond roedd yn bosibl reidio sgwteri trwy eu rhentu.

Do, fe wnaethom nifer o gamgymeriadau wrth ddylunio'r bensaernïaeth nad oedd yn caniatáu i ni wneud y gwasanaeth yn gwbl ddatganoledig, ond hyd yn oed heb y camgymeriadau hyn go brin y byddem wedi gallu creu llwyfan heb weinydd. Un peth yw ysgrifennu crypto-pyramid arall, ac un peth arall yw ysgrifennu gwasanaeth cyflawn lle mae angen i chi drin gwallau, datrys achosion ffiniol a chyflawni tasgau sydd ar ddod. Gobeithio y bydd y llwyfannau newydd sydd wedi dod i'r amlwg yn ddiweddar yn fwy hyblyg a swyddogaethol.

Ffynhonnell: hab.com

Ychwanegu sylw