Sviluppà un software per a lucazione di scooter decentralizata. Quale hà dettu chì saria faciule?

In questu articulu parraraghju di cumu avemu pruvatu à custruisce un affittu di scooter descentralizatu nantu à cuntratti intelligenti è perchè avemu sempre bisognu di un serviziu centralizatu.

Sviluppà un software per a lucazione di scooter decentralizata. Quale hà dettu chì saria faciule?

Cumu si cuminciò tuttu

In u Novembre 2018, avemu participatu à un hackathon dedicatu à l'Internet di e Cose è a blockchain. A nostra squadra hà sceltu a spartera di scooter cum'è idea postu chì avemu avutu un scooter da u sponsor di stu hackathon. U prototipu pareva una applicazione mobile chì permette di inizià un scooter via NFC. Da u puntu di vista di u marketing, l'idea hè stata sustinuta da una storia nantu à un "futuru luminoso" cù un ecosistema apertu induve qualcunu pò diventà un inquilino o un pruprietariu, tuttu basatu nantu à cuntratti intelligenti.

I nostri attori anu piaciutu assai sta idea, è anu decisu di trasfurmà in un prototipu per a mostra in mostre. Dopu parechje manifestazioni di successu à u Mobile World Congress è Bosch Connected World in 2019, hè statu decisu di pruvà l'affittu di scooter cù utilizatori veri, impiegati di Deutsche Telekom. Allora avemu principiatu à sviluppà un MVP à pienu livellu.

Blockchain nantu à crutches

Pensu chì ùn vale a pena spiegà ciò chì hè a diffarenza trà un prughjettu per esse mostratu in scena è quellu chì serà usatu da persone reali. In sei mesi avemu avutu a trasfurmà u prototipu crudu in qualcosa adattatu per un pilotu. È dopu avemu capitu ciò chì significa "dolore".

Per fà u nostru sistema decentralizatu è apertu, avemu decisu di utilizà i cuntratti intelligenti Ethereum. A scelta hè cascata nantu à sta piattaforma di servizii in linea decentralizati per via di a so popularità è a capacità di custruisce una applicazione senza servitore. Avemu previstu di implementà u nostru prughjettu cum'è seguitu.

Sviluppà un software per a lucazione di scooter decentralizata. Quale hà dettu chì saria faciule?

Ma, sfurtunatamenti, un cuntrattu intelligente hè un codice eseguitu da una macchina virtuale à u mumentu di una transazzione, è ùn pò micca rimpiazzà un servitore cumpletu. Per esempiu, un cuntrattu intelligente ùn pò micca fà azzione pendente o programata. In u nostru prughjettu, questu ùn ci hà micca permessu di implementà un serviziu di affittu per minuti, cum'è a maiò parte di i servizii di spartera di vittura muderni. Per quessa, avemu debited cryptocurrency da l 'utilizatore dopu à compie a transazzione senza esse sicuru ch'ellu avia abbastanza soldi. Stu approcciu hè accettatu solu per un pilotu internu è, sicuru, aghjunghje prublemi à u disignu di un prughjettu di produzzione cumpletu.

Aghjunghje à tuttu ciò chì sopra hè l'umidità di a piattaforma stessu. Per esempiu, sè vo scrivite un cuntrattu intelligenti cù una logica diversa da i tokens ERC-20, vi scontru cù prublemi di gestione di errore. Di solitu, se l'input hè sbagliatu o i nostri metudi ùn funzionanu micca bè, ricevemu un codice d'errore in risposta. In u casu di Ethereu, ùn pudemu micca ottene qualcosa altru ch'è a quantità di gasu spentu per fà sta funzione. U gasu hè una munita chì deve esse pagata per transazzione è calculi: più operazioni in u vostru codice, più pagherete. Allora per capiscenu perchè u codice ùn funziona micca, prima pruvate simulate tutti l'errori pussibuli è codificate u gasu spentu cum'è codice d'errore. Ma se cambiate u vostru codice, sta gestione di l'errore romperà.

Inoltre, hè quasi impussibile di creà una applicazione mobile chì travaglia cù u blockchain onestamente, senza aduprà una chjave guardata in un locu in u nuvulu. Ancu s'ellu esiste portafogli onesti, ùn furnisce micca interfacce per firmà transazzione esterna. Questu significa chì ùn vi vede micca una applicazione nativa, salvu chì ùn hà una billetera di criptu integrata, chì l'utilizatori anu poca fiducia (ùn aghju micca fiducia). In u risultatu, avemu avutu ancu à cutà un angulu quì. I cuntratti intelligenti sò stati mandati à a reta privata Ethereum, è a billetera era basata in nuvola. Ma malgradu questu, i nostri utilizatori anu sperimentatu tutte e "delizie" di i servizii decentralizati in forma di longu aspittà per transazzione parechje volte per sessione di affittu.

Tuttu chistu ci porta à sta architettura. Agree, hè assai sfarente di ciò chì avemu pianificatu.

Sviluppà un software per a lucazione di scooter decentralizata. Quale hà dettu chì saria faciule?

Ace in the hole: Self-Sovereign Identity

Ùn pudete micca custruisce un sistema completamente decentralizatu senza identità descentralizata. L'identità Self-Sovereign (SSI) hè rispunsevuli di sta parte, l'essenza di quale hè chì scaccià u fornitore d'identità centralizatu (IDP) è distribuisce tutte e dati è a rispunsabilità per u populu. Avà l'utilizatore decide quale dati hà bisognu è cù quale ellu sparte. Tuttu sta infurmazione si trova nantu à u dispusitivu di l'utilizatore. Ma per u scambiu avemu bisognu di un sistema decentralizatu per almacenà evidenza criptografica. Tutte l'implementazioni muderne di u cuncettu SSI utilizanu blockchain cum'è almacenamiento.

"Chì hà da fà questu cù l'as in u burcu?" - dumandu. Avemu lanciatu u serviziu per a prova interna nantu à i nostri propri impiegati in Berlinu è Bonn, è avemu scontru difficultà in forma di sindicati tedeschi. In Germania, l'imprese sò pruibiti di monitorà i movimenti di l'impiegati, è i sindicati cuntrollanu questu. Queste restrizioni ponenu fine à l'almacenamiento centralizatu di dati d'identità di l'utilizatori, postu chì in questu casu sapemu u locu di l'impiegati. À u listessu tempu, ùn pudemu micca aiutà à cuntrollà per via di a pussibilità di arrubati di scooters. Ma grazia à l'identità Self-Sovereign, i nostri utilizatori anu utilizatu u sistema in modu anonimu, è u scooter stessu hà verificatu a so licenza di guida prima di inizià a lucazione. In u risultatu, avemu almacenatu metriche di l'utilizatori anonimi; ùn avemu micca documenti o dati persunali: tutti eranu cuntenuti in i dispositi di i cunduttori stessi. Cusì, grazia à SSI, a suluzione à u prublema in u nostru prughjettu era pronta ancu prima ch'ella apparisse.

U dispusitivu m'hà datu prublemi

Ùn avemu micca implementatu l'Identità Self-Sovereign noi stessu, postu chì esige sapè fà in criptografia è assai tempu. Invece, avemu apprufittatu di u pruduttu di i nostri partenarii Jolocom è integrate a so portafoglio mobile è i servizii in a nostra piattaforma. Sfortunatamente, stu pruduttu hà un inconveniente significativu: a lingua di sviluppu principale hè Node.js.

Questa pila di tecnulugia limita assai a nostra scelta di hardware integratu in un scooter. Fortunatamente, à u principiu di u prugettu, avemu sceltu u Raspberry Pi Zero, è avemu apprufittatu di tutti i vantaghji di un microcomputer cumpletu. Questu ci hà permessu di eseguisce Node.js voluminoso nantu à u scooter. Inoltre, avemu ricivutu u monitoraghju è l'accessu remoto via VPN utilizendu strumenti pronti.

In cunclusioni

Malgradu tuttu u "dolore" è i prublemi, u prugettu hè stata lanciata. Micca tuttu hà travagliatu cum'è avemu previstu, ma era veramente pussibule di cuddà scooters affittu.

Iè, avemu fattu una quantità di sbagghi in u disignu di l'architettura chì ùn ci hà micca permessu di fà u serviziu cumpletamente decentralizatu, ma ancu senza questi sbagli ùn avaristi micca pussutu creà una piattaforma serverless. Hè una cosa di scrive una altra cripto-piramide, è una altra cosa di scrive un serviziu cumpletu in u quale avete bisognu di trattà l'errore, risolve i casi di cunfini è eseguisce i travaglii pendenti. Speremu chì e novi piattaforme chì sò emerse recentemente seranu più flessibili è funziunali.

Source: www.habr.com

Add a comment