Capire la moneta Motoro | Blockchain, IoT e il futuro dei trasporti

Gli affitti decentrati dei veicoli hanno ispirato l'open source progetto IoT blockchainda cui è emersa la moneta di utilità Motoro. Nel prossimo futuro, i contratti smart pubblici descritti di seguito saranno accessibili tramite interfacce app (ĐApp) distribuite.

L'avvio GARAGE VIKING fornisce già l'accesso a migliori noleggi di motocicli in Europa e nel Sud-Est asiatico. Le storie che abbiamo visto hanno guidato la ricerca e lo sviluppo di un protocollo aperto per il noleggio di macchine motorizzate peer-to-peer attraverso la tecnologia blockchain.


Le conferenze tecniche sono sempre una festa intellettuale. L'energia massiccia si concentra sul miglioramento dell'umanità. La creatività speso per immaginare un futuro migliore non delude mai. Ma ci sono anche avvertenze contro il fallimento della tecnologia, come quando Stephen Hawking ha recentemente avvertito che l'intelligenza artificiale potrebbe diventare il nostro destino. Questo contrasto apre definitivamente la strada a interessanti discussioni durante le corse di Uber.

Il rovescio della medaglia è più luminoso.

Ora abbiamo una tecnologia che ci consente di modellare rapidamente il nostro mondo. Creiamo nuovi livelli di astrazione rispetto alla tecnologia di ieri e sfruttiamo molte macchine esistenti in modi non immaginati dai loro creatori. Dopo una profonda immersione in due delle più moderne tecnologie contemporanee-blockchain e IoT-Essi emergono con il potenziale di un significativo impatto sociale ed economico.

Il tipo di impatto che creerebbe un milione di posti di lavoro.

But what kinds of practical blockchain IoT use cases are there that could achieve this within the transportation industry?

Blockchain IoT | The Ethereum smart contract blockchain, Internet of Things, and motorization converge in the new utility coin "Motoro."

A volte, in questi casi, le soluzioni sono sorprendentemente semplici.

A VIKING GARAGE, aiutiamo i proprietari di motocicli a fare soldi affittando le loro biciclette. In altre parole, abbiamo costruito un'economia per la condivisione di motociclette, interrompendo l'industria del trasporto personale. E ora stiamo introducendo la moneta di utilità Motoro. Ma facciamo un passo indietro in modo da poter capire perché ne abbiamo bisogno.

Sfruttare le macchine esistenti per una vita migliore

Un aspetto importante dell'industria generale dei trasporti in tutto il mondo è che le nuove macchine e veicoli sono generalmente costosi. Al contrario, l'accesso all'hardware esistente è molto meno costoso e spesso la qualità è simile. Alcune aziende operano solo noleggiando macchine, che a loro volta vengono spesso affittate da istituti finanziari. (Questa situazione è abbastanza diversa dallo stato attuale del software).

In particolare, i veicoli utilizzati nei cantieri, nelle fattorie agricole, nei trasporti e persino nel settore del commercio al dettaglio sono troppo costosi da acquistare per progetti una tantum. Questo include il trasporto personale, e questo è il motivo per cui abbiamo servizi di ridesharing come Taxify.

Uber Black, l'offerta di lusso, è anche una grande esperienza nelle più grandi città del mondo, e con un piccolo prezzo. Questo è il punto principale della condivisione: l'accesso a prodotti di alta qualità diventa facile ed economico. Abbiamo davvero bisogno di veicoli Tesla solo quando ci spostiamo da un posto all'altro: la proprietà può essere considerata un artefatto dell'usabilità. Chi vuole preoccuparsi della batteria che si degrada nel corso degli anni o, peggio, dell'auto da furto? Io sceglierei il Polestar 1: quando uscirà ad aprile, non sarà nemmeno possibile acquistarlo "per la conservazione".

La proprietà può essere considerata un artefatto dell'usabilità.

La tendenza ad allontanarsi dalla proprietà verso un approccio più utilitaristico è una grande opportunità per tutti i proprietari di macchine. Mentre scrivo questo, penso agli eccellenti meccanici, piloti e proprietari di motociclette che ho incontrato in Indonesia durante il nostro soggiorno di tre mesi. Spesso, le loro motociclette rappresentavano la ricchezza principale (e talvolta l'unica) che possedevano.

Solo in quel paese, 7 milioni di nuovi motocicli vengono venduti ogni anno. Tuttavia, era quasi impossibile noleggiare biciclette specifiche - in questo caso, bici da strada - per il medio termine, fino a quando non mi rivolgevo ai proprietari privati. Quando si trattava di proprietari privati, l'accesso a quel tipo di motocicletta migliorava notevolmente, ei prezzi scendevano a una frazione di quello che le grandi aziende chiedevano. La persona possedeva una macchina, non ne aveva bisogno in quel momento, e volevo pagare per usarla. Ha funzionato.

E 'stato abbastanza semplice. Perché non ridimensionarlo?

Arrivano i guai!

In realtà, creare un'azienda scalabile che offra servizi di qualità non è semplice. Anche se quella prima transazione è andata bene, è stata soprattutto fortuna. Mi considererei un realista: confido che, se qualcosa può andare storto, allora nel corso di centomila transazioni, probabilmente lo farà, più volte.

Le macchine sono pericolose Gli incidenti in moto possono essere particolarmente letali. Quando accadono incidenti, poi per legge, e per ragioni di assicurazione, si troverà una causa, ma dove lascia il proprietario e il cavaliere?

Come ingegneri, comprendiamo la prevalenza dell'errore umano. A VIKING GARAGE, vogliamo consentire alle persone di guidare e ai proprietari di fare soldi affittando macchine. Riconosciamo la possibile responsabilità e intendiamo minimizzare il rischio. Vogliamo che la transazione rimanga tra il proprietario e il locatario perché vogliamo fornire un mezzo aperto, trasparente e sicuro per consentire alle persone di noleggiare veicoli e guidare.

Quindi, cosa può andare storto? Inizialmente, potrebbe essere abbastanza difficile persino accedere ai motocicli in affitto. Supponendo che superiamo quello, e c'è una macchina disponibile, quindi la domanda posta dai proprietari è: "E se qualcuno lo rubasse?" Questo è un grosso problema! Al contrario, i riders chiedono "Che cosa succede se danneggio la bici?". Quello potrebbe potenzialmente essere risolto con un'assicurazione e un accordo formale di noleggio. Un'altra domanda spesso posta dai motociclisti è: "Di chi sarebbe la colpa se mi trovo in un incidente?" Ovviamente, ci sono regolamenti sul traffico, ma dobbiamo tenere conto dello stato meccanico della macchina perché le macchine possono guastarsi. Aggiungete a ciò la questione della fiducia formale tra il proprietario e il locatario e tra ciascuno di essi e le autorità locali.

Di seguito sono elencati cinque problemi significativi: Logistica di accessofurtouso responsabile e responsabilitàstato della macchina, e fiducia. Sembriamo avere solo tre soluzioni tradizionali: contratti di noleggio, assicurazioni e norme sulla circolazione. Quelle soluzioni hanno fallito in numerose occasioni. Dobbiamo considerare tutto questo, solo per affittare una macchina? Nel caso di VIKING GARAGE, dove vogliamo che le persone affittino le macchine l'un l'altro su scala globale, e si mantengano al sicuro, la risposta è: Sì! Consideriamo come la nuova tecnologia può aiutarci.

Chi fa Blockchain IoT do?

La buona notizia è che ora abbiamo la tecnologia per risolvere i problemi sopra menzionati e / o migliorare le soluzioni esistenti. Elenchiamo ancora una volta i problemi, per chiarezza:

  1. Accesso alle macchine
  2. Furto
  3. Uso responsabile e responsabilità per danni
  4. Stato della macchina e qualità del servizio
  5. Fiducia formale

Una soluzione iniziale, e su cui svilupperemo, doveva rappresentare le macchine e le transazioni di noleggio su una rete pubblica decentralizzata. Alcuni libri mastri distribuiti, o blockchain, sembravano una scelta naturale. In particolare, la nostra attenzione è stata catturata dalla crescente popolarità e completezza quasi totale della blockchain di Ethereum.

To allow the processing of transactions, two types of smart contracts would be sufficient: (a) one to represent the owners and the riders/renters and (b) another one to represent the machines. There is another requirement: A protocol to minimize the possibilities of fraud and misunderstandings, without any third party involvement. It’s likely that a set of physical proofs of rental will need to be documented with most agreements. Developing that algorithm can be tricky, but essentially, with just a handful of smart contracts, a blockchain can be used as the base platform for sharing economies. It is so convenient because the native function of blockchains is to facilitate distributed consensus and secure transactions.

Qui è uno schizzo iniziale di una rappresentazione macchina come un contratto intelligente Ethereum, scritto in Solidità. Il contratto contiene già un'interfaccia per i noleggi semplici, incluso un sistema di deposito a garanzia. Il codice viene compilato correttamente e serve a delineare la semplicità e l'efficacia delle soluzioni.

pragma solidità ^ 0.4 18;

importare "../node_modules/zeppelin-solidity/contracts/token/ERC20Basic.sol";
importare "../node_modules/zeppelin-solidity/contracts/token/SafeERC20.sol";

/ **
* @titolo di proprietà
* @dev Il contratto di proprietà ha un indirizzo proprietario e fornisce il controllo di autorizzazione di base
* funzioni; questo semplifica l'implementazione di "permessi utente".
* /
contratto MachineRepresentation {
utilizzando SafeERC20 per ERC20Basic;

rivolgersi al proprietario pubblico;
indirizzo pubblico PendingRenter;
indirizzare l'affittuario pubblico;
stringa modello pubblico;
string public make;
string public vin;
uint256 noleggio pubblicoPrezzo;
uint256 noleggio pubblico;
// contratto di token di base ERC20 detenuto
ERC20 Token pubblico di base;

event MachineRental (indirizzo indicizzato _machine, indirizzo indicizzato _owner, indirizzo indicizzato _renter, uint256 startTime, uint256 endTime, uint256 _rentalPrice);
event RentalClaimed (indirizzo indicizzato _machine, indirizzo indicizzato _renter, uint256 claimTime);
evento MachineReturned (indirizzo indicizzato _machine, indirizzo indicizzato _renter, uint256 returnTime);
evento ReturnConfirmed (indirizzo indicizzato _machine, indirizzo indicizzato _owner, uint256 claimTime);

/ **
* @dev Il costruttore di MachineRepresentation imposta il `proprietario` originale del contratto al mittente
* account. Imposta anche il modello, la marca e il VIN della macchina.
* /
function MachineRepresentation (string _model, string _make, string _vin) public {
owner = msg. sender;
model = _model;
make = _make;
vin = _vin;
rentalCount = 0;
}

/ **
* @dev Getta se chiamato da qualsiasi account diverso dal proprietario.
* /
modificatore onlyOwner () {
Richiede (msg. Sender == owner);
_;
}

/ **
* @dev Getta se chiamato da qualsiasi account diverso dal locatario.
* /
modificatore onlyRenter () {
Richiede (msg. Sender == renter);
_;
}

/ **
* @dev Getta se chiamato da qualsiasi account diverso dal proprietario in attesa (ruolo temporaneo).
* /
modificatore onlyPendingRenter () {
Richiede (msg. Sender == pendingRenter);
_;
}

/ **
* @dev Consente al proprietario di affittare la macchina al locatario e specificare l'ora di inizio e di fine
* e anche il prezzo per il noleggio
* /
function rentMachine (indirizzo _pendingRenter, uint256 startTime, uint256 endTime, uint256 price) public onlyOwner {
Require (_pendingRenter! = Address (0));
prezzo di affitto = prezzo;
MachineRental (questo, proprietario, _pendingRenter, startTime, endTime, prezzo);
pendingRenter = _pendingRenter;
}

/ **
* @dev Consente l'indirizzo PendingRenter per finalizzare il trasferimento e fornire un contratto token, con il contante da conservare
* /
function claimRental (ERC20Basic _token) onlyPendingRenter public {
Richiedere (rentalPrice <= _token. BalanceOf (this));
token = _token;
renter = pendingRenter;
pendingRenter = indirizzo (0);
Noleggio dichiarato (questo, affittuario, ora);
}

/ **
* @dev Consente all'indirizzo del proprietario di restituire la macchina e trasferire i contanti dal contratto in attesa alla macchina
proprietario
* /
function returnMachine () onlyRenter public {
uint256 amount = token. balanceOf (this);
Richiedere (prezzo noleggio <= importo);
token. safeTransfer (proprietario, importo);
MachineReturned (questo, affittuario, ora);
}

/ **
* @dev Consente l'indirizzo del proprietario per confermare il ritorno della macchina
* /
function confirmReturn () onlyOwner public {
renter = indirizzo (0);
prezzo di affitto = 0;
rentalCount ++;
ReturnConfirmed (this, owner, now);
}
}

Devo sottolineare che occorrono più di pochi contratti finiti intelligenti per coprire tutti i possibili tipi di transazioni di noleggio. Vediamo la necessità di una libreria modulare con contratti intelligenti minimi e riutilizzabili, costruiti pensando alla flessibilità e focalizzati sul noleggio di veicoli. Ciò consentirebbe ad altri ingegneri di costruire contratti definitivi per i loro casi d'uso. Aziende collegate, fornendo ĐApp interfacce per i contratti, sarebbe probabilmente in grado di crescere semplicemente essendo gateway per specifici tipi di contratto intelligente.

Quindi quale valore aggiunge esattamente la blockchain di Ethereum?

First of all, the rental contracts would be transparent. All information on the public blockchain is, well, public. It is possible to refer to data that is kept secret and secure in another place, but the reference would remain public. Essentially, every rental agreement, along with the details that the two sides agree on, would be publicly available.

In secondo luogo, tale informazione sarebbe sicura, perché una sua copia sarebbe distribuita sull'intero libro mastro decentralizzato (blockchain). La traccia rimarrebbe presente per sempre, o almeno fino a quando un fork non funzionante modificherà esplicitamente i blocchi utilizzati per facilitare le transazioni, ma le probabilità sono prossime allo zero.

Thirdly, the information would also be secure, because every transaction on the Ethereum blockchain deve essere verificato, cioè deve essere raggiunto un consenso.

La quarta ragione per usare blockchain è che i contratti sono autoeseguiti. Una volta firmato, non è richiesta alcuna ulteriore azione da parte dell'utente per valutare se le condizioni elencate nel contratto sono state soddisfatte; cioè, a meno che le parti non accettino di aggiungere tali requisiti. Si noti, tuttavia, che i contratti non possono accedere direttamente alle informazioni dal mondo esterno. Il motivo è che Richiede Ethereum tutte le sue modifiche di stato devono essere validabili da chiunque, in qualsiasi momento.

Le autorità fidate sono quindi necessarie per convalidare le informazioni in arrivo dall'esterno della blockchain e alimentarle con i dati. Quel ruolo era occupato da servizi chiamati oracoli, il più popolare di loro Oraclize.

Un certo decentramento può essere ottenuto facendo riferimento a gruppi di oracoli, come fa Oraclize. Ma lo stato attuale della tecnologia lascia a desiderare soluzioni migliori. Ad esempio, cosa accadrebbe se le macchine a noleggio stesse potessero sostituire gli oracoli?

La quinta ragione: i contratti intelligenti sono auto-rafforzanti. Ciò significa che, una volta firmato, e quando vengono soddisfatte le condizioni stabilite, i contratti intelligenti sono in grado di agire per risolvere l'accordo. Tutto nei contratti è chiaro e automatizzato, dalla firma del documento alla conclusione dell'accordo. Le condizioni e le conseguenze stabilite sono immutabili. Tali contratti sono sicuri per entrambe le parti e non hanno sorprese.

Confrontando questi cinque punti (supportati nativamente dalla tecnologia blockchain ampiamente utilizzata e in rapida evoluzione) verso l'alternativa (dovendo creare supporto per transazioni e contratti sicuri e sicuri, da zero) la domanda iniziale cambia. Perché dovremmo non vuoi usare la tecnologia blockchain?

In realtà, ci sono alcuni motivi per non farlo. Tutte le transazioni blockchain richiedono l'esecuzione di gas, il che significa che devono essere pagati. Il costo medio attuale di un trasferimento standard sulla blockchain di Ethereum è 1 USD. La seconda ragione è che la blockchain è piuttosto lenta. Il terzo motivo è che tutte le informazioni sono pubbliche. Sarebbe semplicemente pericoloso, e spesso illegale, mantenere i dati personali vulnerabili in un archivio dati accessibile a tutti, senza la possibilità di modificare o eliminare tali record.

Devo notare che i costi e la velocità di transazione sono molto diversi tra i blockchain. La blockchain di Ethereum è estremamente popolare in questo momento, ma con l'aumento delle catene di relay come il progetto Polkadotpresto emergeranno piattaforme più adatte. La decentralizzazione è la caratteristica più importante, ed è un dato con qualsiasi tecnologia di ledger distribuito.

Per quanto riguarda la privacy, in definitiva i dati memorizzati sulla blockchain con accordi formali dovrebbero essere minimi. Gli utenti verrebbero referenziati dagli indirizzi dei loro portafogli, che sono un po 'anonimo, o pseudonimo.

Motoro: costruire una comunità cyber-fisica

Let’s turn back to the five listed problems with sharing machines. We can now clearly describe how full-stack cyber-physical systems, consisting of blockchain-connected ĐApps, combined with off-chain SaaS and hardware and software IoT modules, can solve the aforementioned problems:

1. Accesso alle macchine

I contratti intelligenti usati per rappresentare le macchine verrebbero archiviati sulla blockchain pubblica. Tali rappresentazioni sarebbero indipendenti da qualsiasi attività centrale e potrebbero figurare in diverse Đ App, riutilizzate in base alla volontà e alla disponibilità.

2. Furto

L'identificazione delle macchine ha l'effetto più forte quando il legame viene espresso sia dal lato software (blockchain) che dal lato hardware (sistemi IoT incorporati).

ai moduli delle macchine, come i connettori diagnostici di bordo (ad es. OBD-II) o le centraline di controllo del motore (ECU). Questi microcontrollori fornirebbero i dati ai contratti intelligenti, utilizzati per identificare le macchine. Diventerebbero quindi oracoli hardware.

A seconda del tipo di connessione elettronica, della connettività Internet e infine delle clausole, che le parti concordano nel contratto intelligente per il noleggio, l'attributo auto-attuante del contratto potrebbe estendersi alle macchine fisiche.

Esistono due tipi di interazioni: lettura dalla macchina e scrittura su di essa. Esempi semplici di tali interazioni consisterebbero nell'attivare il tracciamento GPS nel caso in cui la macchina non venisse restituita, o addirittura spegnere l'accensione o l'iniezione di carburante, o cambiare la mappatura del combustibile nel punto in cui la macchina non è più operativa.

È necessaria estrema cautela quando si tratta di dispositivi che possono scrivere e modificare lo stato delle macchine. Il evidenti pericoli per la sicurezza umana, indicando la necessità di applicazioni responsabili, indicare il grande potere al di sotto di questi sistemi IoT.

3. Responsabilità e uso responsabile delle macchine

I miglioramenti in questo aspetto sono un effetto diretto della trasparenza, dell'autoesecuzione e dell'auto-imposizione di contratti intelligenti, destinati a essere utilizzati come contratti di noleggio. Tali documenti possono includere tutte le clausole su cui le parti decidono.

Altri tipi di documenti, come foto o video, che indicano lo stato pre e post-noleggio della macchina, possono essere memorizzati sulla blockchain come prova in caso di conflitti.

I contratti intelligenti potrebbero anche vincolare contratti di deposito garantiti, come nell'esempio sopra riportato. Ogni fase della transazione e la sua risoluzione, insieme a tutte le risorse, saranno sempre trasparenti e prevedibili.

4. Stato della macchina e qualità del servizio

Le macchine possono apparire molto belle nelle foto e persino funzionare apparentemente bene quando vengono avviate, ma molti errori possono rimanere nascosti all'inizio. Problemi come cuscinetti usurati, surriscaldamento e molti altri possono richiedere conoscenze specifiche da notare, forse comuni ai meccanici ma non alla popolazione generale.

Questi difetti probabilmente si presenteranno, tuttavia, e rovineranno l'esperienza del locatario, forse causando ulteriori problemi. Immagina le perdite di benzina su un motore caldo: per due volte la tua esperienza personale è stata doppia su due motociclette diverse!

Questo problema può essere affrontato dalla comunità. Premiare gli utenti per descrivere la loro esperienza nei commenti e fornire un sistema di punteggio migliorerebbe istantaneamente la situazione. La distinzione dei commenti e dei punteggi applicati alle macchine da quelli forniti ai proprietari delle macchine contribuirà ulteriormente a valutare lo stato meccanico e la qualità del servizio e della comunicazione. Inoltre, quell'informazione potrebbe estendersi attraverso le economie di condivisione.

5. Fiducia formale

Questo ultimo problema è risolto insieme ai due precedenti. La natura dei contratti intelligenti favorisce la trasparenza dell'accordo, mentre la comunità valuterà rapidamente se un utente agisce maliziosamente.

Le ĐApp individuali potrebbero forse aggiungere un'opzione per stampare una versione del contratto, applicata a uno schema di contratto di noleggio, tipico della regione e delle autorità locali, e la soluzione generica emerge!

Diagramma di flusso che mostra i pezzi mobili del sistema Motoro di blockchain e IoT di VIKING GARAGE.
Diagramma di flusso che mostra i pezzi mobili del sistema Motoro di blockchain e IoT di VIKING GARAGE.

Le soluzioni illustrate in questa sezione ci consentono, a nostro avviso, di migliorare notevolmente la situazione attuale con i trasporti personali. Le opzioni per il fallimento sono ridotte al minimo e ulteriori soluzioni possono essere create su quel set di base. Il processo difficile e rischioso di noleggiare macchine diventa meno difficile e più facile da gestire introducendo un sistema e una comunità cyber-fisici.

Motoro, il pezzo mancante (ovviamente!)

È importante sottolineare che Motoro può essere utilizzato con altri tipi di veicoli, come macchine edili e agricole.

Motoro è un token ERC20, il che significa che obbedisce agli standard, può essere utilizzato su Ethereum blockchain pubblico, e può essere scambiato per Ethereum e altri token ERC20. È disgregativo perché:

  1. È una valuta globale per il noleggio di motocicli.
  2. Ha documenti incorporati, come noleggio di motocicli, vendita al dettaglio o contratti di servizio, utilizzabili per la blockchain di Ethereum.
  3. È open source, con un servizio dedicato iniziale, l'attuale noleggio di motocicli decentralizzati VIKING GARAGE e un'API aperta.
  4. Permette lo scambio diretto di noleggi, servizi e prodotti motociclistici, nonché la maggior parte delle valute.
  5. Fornisce un rapido accesso ai trasporti personali in tutto il mondo, utilizzando l'infrastruttura esistente e la disponibilità globale di motocicli, anche per coloro che hanno una regolare patente di guida.
  6. Ricompensa l'attività dei membri della comunità dispensando nuove monete per la pubblicazione di commenti e punteggi.

Parliamo sempre di motociclette perché quelle sono le macchine che trattiamo con VIKING GARAGE. Sono anche molto utilizzabili e non troppo costosi rispetto ad altri tipi di macchine. Inoltre, producono un suono fantastico e vanno molto velocemente con una rotazione dell'acceleratore. È tuttavia importante sottolineare che Motoro può essere utilizzato con altri tipi di veicoli, come macchine per l'edilizia e agricole.

Questo articolo è stato pubblicato su Toptal.com