Comprendre la pièce Motoro | La Blockchain, l'IdO et l'avenir des transports

La location de véhicules décentralisée a inspiré l'open source projet IoT en blockchain, à partir de laquelle la pièce de monnaie utilitaire Motoro a émergé. Dans un avenir proche, les contrats intelligents publics décrits ci-dessous seront accessibles via des interfaces d'application distribuée (ĐApp).

La startup VIKING GARAGE donne déjà accès à de meilleures locations de motos en Europe et en Asie du Sud-Est. Les histoires qui y ont été observées ont motivé la recherche et le développement d'un protocole ouvert pour la location de machines motorisées entre homologues grâce à la technologie de blockchain.


Les conférences techniques sont toujours un festin intellectuel. L'énergie massive est axée sur l'amélioration de l'humanité. La créativité consacrée à imaginer un avenir meilleur ne déçoit jamais. Mais il y a aussi des mises en garde contre les dérives technologiques, comme lorsque Stephen Hawking avait récemment averti que l'IA pouvait devenir notre destin. Ce contraste ouvre certainement la voie à d'intéressantes discussions lors des balades Uber.

Le revers est plus lumineux.

Nous avons maintenant une technologie qui nous permet de façonner rapidement notre monde. Nous créons de nouveaux niveaux d'abstractions par rapport à la technologie d'hier et exploitons de nombreuses machines existantes d'une manière non imaginée par leurs créateurs. Après une plongée en profondeur dans deux des technologies contemporaines les plus en vogue -blockchain et IoT- les idées émergent avec le potentiel d’impact social et économique significatif.

Le genre d'impact qui créerait un million d'emplois.

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."

Parfois, dans de tels cas, les solutions sont étonnamment simples.

Chez VIKING GARAGE, nous aidons les propriétaires de motos à gagner de l'argent en louant leurs vélos. En d'autres termes, nous avons construit une économie de partage de motos, perturbant le secteur des transports personnels. Et maintenant, nous présentons la pièce de monnaie utilitaire Motoro. Mais prenons un peu de recul pour que vous puissiez voir pourquoi nous en avons besoin.

Tirer parti des machines existantes pour une vie meilleure

L'un des aspects importants de l'industrie des transports dans le monde est que les nouvelles machines et les nouveaux véhicules sont généralement coûteux. En revanche, l'accès au matériel existant est beaucoup moins coûteux et souvent de qualité similaire. Certaines entreprises opèrent simplement en louant des machines, qui sont souvent elles-mêmes louées par des institutions financières. (Cette situation est assez différente de l'état actuel du logiciel.)

En particulier, les véhicules utilisés sur les chantiers de construction, dans les exploitations agricoles, dans les transports et même dans la vente au détail sont trop coûteux à acheter pour des projets uniques. Cela inclut le transport personnel, et c’est la raison pour laquelle nous avons des services de covoiturage comme Taxify.

Uber Black, l'offre de luxe, constitue également une expérience formidable dans les plus grandes villes du monde, à un prix avantageux. C’est là l’intérêt du partage: l’accès à des produits de qualité devient simple et économique. Nous n’avons réellement besoin des véhicules Tesla que lorsque nous nous déplaçons réellement d’un endroit à un autre: la propriété peut être considérée comme un artéfact de la convivialité. Qui veut s'inquiéter de la dégradation de la batterie au fil des ans, ou pire, du grand vol auto? Je choisirais le Polestar 1 — quand il sortira en avril, il ne sera même pas possible de l'acheter «pour le garder».

La propriété peut être considérée comme un artefact de la convivialité.

La tendance à abandonner la propriété pour adopter une approche plus utilitaire est une excellente opportunité pour tous les propriétaires de machines. Au moment d’écrire ces lignes, je pense aux excellents mécaniciens, coureurs et propriétaires de motos que j’ai rencontrés en Indonésie au cours de notre séjour de trois mois. Souvent, leurs motos constituaient la principale (et parfois la seule) richesse qu’ils possédaient.

Dans ce seul pays, 7 millions de motos neuves sont vendues chaque année. Néanmoins, il était presque impossible de louer des vélos spécifiques - dans ce cas, des motos hors route - à moyen terme, jusqu'à ce que je me tourne vers des propriétaires privés. En ce qui concerne les propriétaires privés, l'accès à ce type de motocyclette s'est considérablement amélioré et les prix ont été réduits à une fraction du prix demandé par les grandes entreprises. La personne possédait une machine, elle n'en avait pas besoin à ce moment-là et je voulais payer pour l'utiliser. Cela a fonctionné.

C'était assez simple. Pourquoi ne pas l'échelle?

Et les ennuis arrivent!

En réalité, créer une entreprise évolutive offrant des services de qualité n’est pas simple. Même si cette première transaction s'est bien passée, c'était surtout de la chance. Je me considérerais comme un réaliste: je suis convaincu que, si quelque chose ne va pas, alors, au cours de cent mille transactions, ce sera probablement le cas plusieurs fois.

Les machines sont dangereuses. Les accidents de moto peuvent être particulièrement meurtriers. Lorsque des accidents se produisent, la loi et, par souci d'assurance, permettent de trouver une cause - mais en quoi le propriétaire et le cycliste sont-ils laissés?

En tant qu’ingénieurs, nous comprenons la prévalence de l’erreur humaine. Chez VIKING GARAGE, nous voulons donner aux gens les moyens de conduire et aux propriétaires de gagner de l'argent en louant des machines. Nous reconnaissons la responsabilité possible et entendons minimiser les risques. Nous souhaitons que la transaction reste entre le propriétaire et le locataire, car nous voulons offrir aux personnes un moyen ouvert, transparent et sûr de louer des véhicules et de conduire.

Alors, qu'est-ce qui peut éventuellement aller mal? Au début, il peut être assez difficile d’accéder aux motos en location. En supposant que nous ayons dépassé ce seuil et qu'il existe une machine disponible, la question posée par les propriétaires est la suivante: «Et si quelqu'un la vole?» C'est un gros problème! En revanche, les coureurs demandent: «Que se passe-t-il si j'endommage la moto?» Celle-ci pourrait éventuellement être résolue avec une assurance et un contrat de location formel. Une autre question souvent posée par les coureurs est la suivante: «À qui la faute, si je tombe dans un accident?» Bien entendu, il existe des règles de circulation, mais nous devons tenir compte de l’état mécanique de la machine car celles-ci peuvent tomber en panne. Ajoutez à cela la question de la confiance formelle entre le propriétaire et le locataire, et entre chacun d'eux et les autorités locales.

Ci-dessus figurent cinq problèmes importants: Accès logistiquevolutilisation responsable et responsabilitéétat de la machine, et confiance. Il semble que nous n’ayons que trois solutions traditionnelles: les contrats de location, l’assurance et le code de la route. Ces solutions ont échoué à de nombreuses reprises. Avons-nous besoin de considérer tout cela, juste pour louer une machine? Dans le cas de VIKING GARAGE, où nous souhaitons que les personnes se louent des machines à l'échelle mondiale et restent en sécurité, la réponse est: Oui! Voyons comment les nouvelles technologies peuvent nous aider.

Qui Est-ce que Blockchain IoT do?

La bonne nouvelle est que nous disposons maintenant de la technologie nécessaire pour résoudre les problèmes susmentionnés et / ou améliorer les solutions existantes. Répertorions les problèmes encore une fois, pour plus de clarté:

  1. Accès aux machines
  2. Vol
  3. Utilisation responsable et responsabilité pour les dommages
  4. Etat de la machine et qualité de service
  5. Confiance formelle

Une solution initiale, sur laquelle nous allons nous appuyer, consistait à représenter les machines et les transactions de location sur un réseau public décentralisé. Certains registres distribués, ou blockchains, semblaient un choix naturel. Notre attention a été attirée en particulier par la popularité croissante et la quasi-complétude de Turing de la blockchain 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.

Voici un croquis précoce d'une représentation de la machine sous la forme d'un contrat intelligent Ethereum, écrit en Solidity. Le contrat contient déjà une interface pour les locations simples, y compris un système de séquestre. Le code est compilé correctement et indique à quel point les solutions peuvent être simples et efficaces.

solidité du pragma ^ 0,4,18;

import '../node_modules/zeppelin-solidity/contracts/token/ERC20Basic.sol';
import '../node_modules/zeppelin-solidity/contracts/token/SafeERC20.sol';

/ **
* @title Ownable
* @dev Le contrat Ownable a une adresse de propriétaire et fournit un contrôle de base des autorisations.
* les fonctions; cela simplifie la mise en œuvre des "autorisations utilisateur".
* /
contrat MachineReprésentation {
en utilisant SafeERC20 pour ERC20Basic;

adresse publique propriétaire;
adresse publique pendant l'attente;
adresse locataire public;
string public model;
string public make;
string public vin;
uint256 prix de location public;
uint256 public rentalCount;
// contrat de jeton de base ERC20 en cours
Jeton public ERC20Basic;

event MachineRental (_machine indexée, _porter indexée, adresse _rentant indexée, uint256 startTime, uint256 endTime, uint256 _rentalPrice);
event RentalClaimed (adresse indexée _ machine, adresse indexée locataire, uint256 claimTime);
event MachineReturned (adresse indexée _machine, adresse indexée _renter, uint256 returnTime);
event ReturnConfirmed (adresse indexée _ machine, adresse indexée propriétaire, uint256 claimTime);

/ **
* @dev Le constructeur MachineRepresentation définit le "propriétaire" d'origine du contrat sur l'expéditeur.
* Compte. Il définit également le modèle, la marque et le NIV de la machine.
* /
function MachineRepresentation (chaîne _modèle, chaîne _make, chaîne _vin) public {
propriétaire = msg. expéditeur;
modèle = _modèle;
make = _make;
vin = _vin;
rentalCount = 0;
}

/ **
* @dev Lance si appelé par un compte autre que le propriétaire.
* /
modificateur onlyOwner () {
Require (msg. Expéditeur == propriétaire);
_;
}

/ **
* @dev Lance si appelé par un compte autre que le locataire.
* /
modificateur onlyRenter () {
Require (msg. Expéditeur == locataire);
_;
}

/ **
* @dev Lance si appelé par un compte autre que le locataire en attente (rôle temporaire).
* /
modificateur onlyPendingRenter () {
Require (msg. Sender == waitingRenter);
_;
}

/ **
* @dev Permet au propriétaire de louer la machine au locataire et de spécifier l'heure de début et de fin.
* et aussi le prix de la location
* /
function rentMachine (adresse _pendingRenter, uint256 heure de début, uint256 heure de fin, prix uint256) public seulementOwner {
Require (_pendingRenter! = Address (0));
prix de location = prix;
MachineRental (this, propriétaire, _pendingRenter, startTime, endTime, price);
waitingRenter = _pendingRenter;
}

/ **
* @dev Permet à l'adresse pendingRenter de finaliser le transfert et de fournir un contrat de jeton, avec l'argent à conserver
* /
function claimRental (ERC20Basic _token) onlyPendingRenter public {
Nécessite (Prix de location <= _token. BalanceOf (this));
jeton = _token;
renter = pendingRenter;
waitingRenter = adresse (0);
RentalClaimed (ce, locataire, maintenant);
}

/ **
* @dev Permet à l'adresse du locataire de retourner la machine et de transférer l'argent du contrat en vigueur vers la machine.
propriétaire
* /
function returnMachine () onlyRenter public {
uint256 montant = jeton. balanceOf (this);
Nécessite (Prix de location <= montant);
jeton: safeTransfer (propriétaire, montant);
MachineReturned (cela, locataire, maintenant);
}

/ **
* @dev Permet à l'adresse du propriétaire de confirmer le retour de la machine.
* /
function confirmReturn () onlyOwner public {
locataire = adresse (0);
prix de location = 0;
rentalCount ++;
ReturnConfirmed (this, propriétaire, maintenant);
}
}

Je tiens à souligner qu’il faut plus que quelques contrats intelligents finis pour couvrir tous les types de transactions de location possibles. Nous voyons le besoin d’une bibliothèque modulaire avec des contrats intelligents réutilisables et minimaux, conçue pour la flexibilité et axée sur la location de véhicules. Cela permettrait à d'autres ingénieurs d'établir des contrats finaux pour leurs cas d'utilisation. Relayer les entreprises, fournissant ĐApp interfaces avec les contrats, serait probablement capable de se développer simplement en étant des passerelles vers des types de contrats intelligents spécifiques.

Quelle est donc la valeur ajoutée de la blockchain 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.

Deuxièmement, cette information serait sécurisée, car une copie en serait distribuée dans tout le grand livre décentralisé (blockchain). La trace resterait présente pour toujours, ou du moins jusqu'à ce qu'une fourchette ferme modifie explicitement les blocs utilisés pour faciliter les transactions - mais les chances que cela reste proche de zéro.

Thirdly, the information would also be secure, because every transaction on the Ethereum blockchain doit être vérifié, c’est-à-dire qu’un consensus doit être atteint.

La quatrième raison d'utiliser blockchain est que les contrats s'exécutent automatiquement. Une fois signé, aucune autre action de l'utilisateur n'est requise pour déterminer si les conditions énumérées dans le contrat ont été remplies. c'est-à-dire, à moins que les parties ne conviennent d'ajouter de telles exigences. Notez cependant que les contrats ne peuvent pas accéder directement aux informations du monde extérieur. La raison en est, Ethereum nécessite tous ses changements d'état doivent pouvoir être validés par n'importe qui, à tout moment.

Des autorités de confiance sont donc nécessaires pour valider les informations entrantes provenant de l'extérieur de la blockchain et les alimenter en données. Ce rôle a été rempli par des services appelés oracles, le plus populaire d'entre eux étant Oraclize.

Une certaine décentralisation peut être réalisée en faisant référence à des groupes d'oracles, comme le fait Oraclize. Mais l'état actuel de la technologie laisse à désirer de meilleures solutions. Par exemple, si les machines de location pouvaient elles-mêmes remplacer des oracles?

Cinquième raison: les contrats intelligents s’appliquent automatiquement. Cela signifie qu'après la signature et lorsque les conditions sont remplies, les contrats intelligents sont capables de prendre des mesures pour résoudre le contrat. Tout dans les contrats est clair et automatisé, de la signature du document à la finalisation de l'accord. Les conditions et les conséquences ne sont pas modifiables. De tels contrats sont sûrs pour les deux parties et ne comportent aucune surprise.

Lorsque l'on compare ces cinq points (pris en charge de manière native par la technologie blockchain largement utilisée et en évolution rapide) à l'alternative (devoir créer un support pour des transactions et des contrats sûrs et sécurisés, à partir de zéro), la question initiale change. Pourquoi devrions-nous ne pas voulez utiliser la technologie blockchain?

En fait, il y a quelques raisons de ne pas le faire. Toutes les transactions blockchain nécessitent l'exécution de gaz, ce qui signifie qu'elles doivent être payées. le coût moyen actuel d'un transfert standard sur la blockchain Ethereum est de 1 USD. La deuxième raison est que la blockchain est assez lente. La troisième raison est que toutes les informations sont publiques. Il serait simplement dangereux, et souvent illégal, de conserver des données personnelles vulnérables dans un magasin de données accessible à tous, sans possibilité de modifier ou de supprimer ces enregistrements.

Je dois noter que les coûts de transaction et la vitesse diffèrent considérablement entre les blockchains. La blockchain Ethereum est extrêmement populaire en ce moment, mais avec la montée des chaînes de relais comme le projet Polkadot, bientôt des plateformes plus adaptées apparaîtront. La décentralisation est la caractéristique la plus importante, et c'est une donnée avec n'importe quelle technologie de grand livre distribué.

En ce qui concerne la confidentialité, les données stockées dans la blockchain avec des accords formels devraient être minimes. Les utilisateurs seraient référencés par les adresses de leurs portefeuilles, qui sont quelque peu anonyme ou pseudonyme.

Motoro: Construire une communauté cyber-physique

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. Accès aux machines

Les contrats intelligents utilisés pour représenter les machines seraient stockés dans la blockchain publique. Ces représentations seraient indépendantes de toute entreprise centrale et pourraient figurer dans plusieurs «applications», réutilisées selon la volonté et la disponibilité.

2. le vol

L'identification des machines a le plus fort effet lorsque la liaison est exprimée à la fois du côté logiciel (chaîne de chaînes) et du côté matériel (systèmes IoT intégrés).

ectées sur les modules de la machine, comme les connecteurs de diagnostic intégrés (par exemple, OBD-II) ou les unités de contrôle moteur (ECU). Ces microcontrôleurs fourniraient les données aux contrats intelligents, utilisés pour identifier les machines. Ils deviendraient ainsi des oracles matériels.

Selon le type de connexion électronique, la connectivité Internet et, enfin, les clauses sur lesquelles les parties se sont entendues dans le contrat intelligent de location, l'attribut d'application automatique du contrat pourrait s'étendre aux machines physiques.

Il existe deux types d'interactions: lire et écrire sur la machine. Un exemple simple de telles interactions consisterait à activer le suivi GPS dans le cas où la machine n’aurait pas été restituée, voire à couper l’allumage ou l’injection de carburant, ou à modifier la cartographie du carburant au point où la machine ne serait plus opérationnelle.

Une extrême prudence est requise pour les appareils capables d'écrire et de modifier l'état des machines. le risques évidents pour la sécurité humaine, soulignant la nécessité de applications responsables, indiquez le grande puissance sous de tels systèmes IoT.

3. Responsabilité et utilisation responsable des machines

Les améliorations à cet égard résultent directement de la transparence, de l'exécution automatique et de l'exécution automatique des contrats intelligents, destinés à être utilisés comme contrats de location. Ces documents peuvent inclure toutes les clauses que les parties décident.

D'autres types de documents, tels que des photos ou des vidéos, indiquant l'état de la machine avant et après la location, peuvent être stockés sur la blockchain à titre de preuve en cas de conflit.

Les contrats intelligents pourraient également lier des contrats de dépôt sécurisé, comme dans l'exemple ci-dessus. Chaque étape de la transaction et sa résolution, ainsi que tous les actifs, seront à tout moment transparents et prévisibles.

4. Etat de la machine et qualité du service

Les machines peuvent vraiment bien paraître sur les photos et même fonctionner apparemment bien au démarrage, mais de nombreux défauts peuvent rester cachés au début. Des problèmes comme les roulements usés, la surchauffe, et bien d’autres encore peuvent nécessiter des connaissances particulières, peut-être communes à la mécanique mais pas à la population en général.

Cependant, ces défauts se présenteront très probablement et ruineront l'expérience du locataire, ce qui peut causer d'autres problèmes. Imaginez des fuites d’essence sur un moteur chaud: c’était deux fois plus que votre expérience personnelle sur deux motos différentes!

Ce problème peut être traité par la communauté. Récompenser les utilisateurs pour avoir décrit leur expérience dans des commentaires et mis en place un système de notation améliorerait instantanément la situation. La distinction entre les commentaires et les scores appliqués aux machines et ceux donnés aux propriétaires de machines aidera également à évaluer l’état mécanique ainsi que la qualité du service et de la communication. En outre, cette information pourrait couvrir plusieurs économies de partage.

5. Confiance formelle

Ce dernier problème est résolu en même temps que les deux précédents. La nature des contrats intelligents garantit la transparence de l'accord, tandis que la communauté évaluera rapidement si un utilisateur agit de manière malveillante.

Des applications individuelles pourraient peut-être ajouter une option permettant d’imprimer une version du contrat, appliquée sur un schéma de contrat de location, typique de la région et des autorités locales, et la solution générique apparaît!

Organigramme illustrant les pièces mobiles du système Motoro basé sur blockchain et IdO de VIKING GARAGE.
Organigramme illustrant les pièces mobiles du système Motoro basé sur blockchain et IdO de VIKING GARAGE.

Les solutions présentées dans cette section nous permettent, à notre avis, d’améliorer considérablement la situation actuelle en matière de location de moyens de transport personnels. Les options d'échec sont réduites au minimum et d'autres solutions peuvent être construites au-dessus de cet ensemble de base. Le processus difficile et risqué de location de machines devient moins difficile et plus facile à gérer en introduisant un système et une communauté cyber-physiques.

Motoro, la pièce manquante (évidemment!)

Il est important de souligner que Motoro peut être utilisé avec d'autres types de véhicules, tels que les machines de construction et les machines agricoles.

Motoro est un jeton ERC20, ce qui signifie qu’il obéit aux normes, peut être utilisé sur le Ethereum blockchain public, et peut être échangé contre Ethereum et autres jetons ERC20. C'est perturbant parce que:

  1. C'est une monnaie mondiale pour la location de motos.
  2. Il possède des documents intégrés, tels que des contrats de location, de vente au détail ou de service de motos, pouvant être déployés auprès de la blockchain publique Ethereum.
  3. Il est open source, avec un premier service dédié - l’entreprise de location de motos décentralisée existante VIKING GARAGE - et une API ouverte.
  4. Il permet l'échange direct de locations de motos, de services et de produits, ainsi que de la plupart des devises.
  5. Il fournit un accès rapide aux moyens de transport personnels dans le monde entier, en utilisant l'infrastructure existante et la disponibilité globale des motos, également pour les détenteurs d'un permis de conduire normal.
  6. Il récompense l'activité des membres de la communauté en distribuant de nouvelles pièces pour poster des commentaires et des scores.

Nous parlons tout le temps des motos parce que ce sont les machines avec lesquelles nous travaillons chez VIKING GARAGE. Ils sont également très utilisables et pas trop chers par rapport aux autres types de machines. De plus, ils produisent ce son cool et vont très vite avec une rotation des gaz. Il est toutefois important de souligner que Motoro peut être utilisé avec d'autres types de véhicules, tels que les machines de construction et les machines agricoles.

Ce article a été posté sur Toptal.com