Desentralisert bilutleie inspirerte programvareprosjektet med åpen kildekode blockchain og IoT , hvor Motoro-verktøymynten har dukket opp. I overskuelig fremtid vil de offentlige smarte kontraktene som er beskrevet nedenfor være tilgjengelige gjennom distribuerte applikasjonsgrensesnitt (ĐApp). Oppstart VIKING GARAGE gir allerede tilgang til bedre motorsykkelutleie i Europa og Sørøst-Asia. Historiene vitner om at det har vært et løft i forskning og utvikling av en åpen protokoll for motorisert peer-to-peer-utleie av maskiner gjennom Blockchain-teknologi.
Tekniske konferanser er alltid en intellektuell fest. Den enorme energien er fokusert på å forbedre menneskeheten. Kreativiteten som går i å se for seg en bedre fremtid skuffer aldri. Men det er også advarsler mot at teknologi går galt, som da Stephen Hawking nylig advarte om at AI kan bli vårt fall. Denne kontrasten baner definitivt vei for interessante diskusjoner under Uber-turer.
Den andre siden er lysere. Vi har nå teknologi som gjør at vi raskt kan forme verden vår. Vi skaper nye nivåer av abstraksjon på gårsdagens teknologi og utnytter mange eksisterende maskiner på måter ufattelige av skaperne. Etter et dypdykk i to av de hotteste moderne teknologiene - blokkjede Y IoT —Ideer dukker opp med potensial for betydelig sosial og økonomisk innvirkning. Den slags innvirkning som ville skape en million arbeidsplasser. Men hva slags praktiske IoT-blockchain-brukstilfeller eksisterer for å oppnå dette innen transportindustrien?
Noen ganger er løsningene overraskende enkle i slike tilfeller.
Hos VIKING GARAGE hjelper vi motorsykkeleiere å tjene penger ved å leie syklene sine. Med andre ord, vi har bygget en motorsykkelhandelsøkonomi som har forstyrret personlig transportindustri. Og nå introduserer vi Motoro-verktøymynten. Men la oss ta et skritt tilbake, slik at du kan se hvorfor vi trenger det.
En viktig side av den generelle transportindustrien rundt om i verden er at nye maskiner og kjøretøy generelt er dyre. Derimot er tilgang til eksisterende maskinvare mye billigere og kvaliteten er ofte lik. Noen selskaper opererer bare ved å leie maskiner, som ofte leies av finansinstitusjoner. (Den situasjonen er ganske forskjellig fra den nåværende tilstanden til programvaren.)
Spesielt kjøretøy som brukes på byggeplasser, på landbruksbruk, i transport og til og med i detaljhandelen er for dyre til å kjøpe i engangsprosjekter. Dette inkluderer personlig transport, og det er derfor vi har rideshare-tjenester som Taxify.
Uber Black, luksustilbudet, er også en flott opplevelse i verdens største byer, og til en liten pris. Det er poenget med deling: tilgang til produkter av høy kvalitet blir enkel og billig. Vi trenger egentlig bare Tesla-kjøretøy når vi flytter fra sted til sted - eiendommen kan betraktes som en bruksgjenstand. Hvem vil bekymre seg for batteriforringelse gjennom årene eller verre, biltyveri? Jeg vil velge Polestar 1 - når den kommer ut i april, vil det ikke en gang være mulig å kjøpe den 'for å beholde den.'
Eiendommen kan betraktes som en bruksgjenstand.
Trenden vekk fra eierskap mot en mer utilitaristisk tilnærming er en flott mulighet for alle maskineiere. Mens jeg skriver dette, tenker jeg på de store mekanikerne, syklistene og motorsykkeleierne jeg møtte i Indonesia under vårt tremånedersopphold. Ofte var motorsyklene deres den viktigste (og noen ganger den eneste) rikdommen de eide.
Bare i det landet selges 7 millioner nye motorsykler hvert år. Imidlertid var det nesten umulig å leie bestemte sykler - i dette tilfellet smussykler - på mellomlang sikt, til jeg henvendte meg til private eiere. Når vi hadde å gjøre med private eiere, ble tilgangen til denne typen motorsykler forbedret sterkt, og prisene falt til en brøkdel av det de store selskapene ba om. Personen eide en maskin, de trengte den ikke den gangen, og jeg ville betale for å bruke den. Det funket.
Det var ganske enkelt. Hvorfor ikke skalere det?
Å lage en skalerbar virksomhet som tilbyr tjenester av høy kvalitet er faktisk ikke enkelt. Selv om den første transaksjonen var bra, var det stort sett flaks. Jeg vil betrakte meg selv som en realist: Jeg er trygg på at hvis noe kan gå galt, vil det sannsynligvis i løpet av hundre tusen transaksjoner - mange ganger.
Maskiner er farlige. Motorsykkelulykker kan være spesielt dødelige. Når ulykker inntreffer, vil det ifølge loven og av hensyn til forsikring bli funnet en årsak - men hvor forlater det eieren og sjåføren? Som ingeniører forstår vi utbredelsen av menneskelige feil. På VIKING GARAGE ønsker vi å styrke folk til å reise og eiere til å tjene penger ved å leie maskiner. Vi anerkjenner potensielt ansvar og har til hensikt å minimere risikoen. Vi ønsker at transaksjonen skal være mellom eieren og leietakeren fordi vi ønsker å tilby et åpent, gjennomsiktig og trygt miljø for folk å leie biler og reise.
Så hva kan muligens gå galt? I utgangspunktet kan det være ganske vanskelig å til og med få tilgang til motorsykler til leie. Forutsatt at vi kommer forbi det, og det er en maskin tilgjengelig, så er spørsmålet fra eierne: 'Hva om noen stjeler den?' Det er et stort problem! Tvert imot, ryttere spør: 'Hva om jeg skader sykkelen?' Det kan løses med forsikring og en formell leieavtale. Et annet spørsmål som passasjerer ofte stiller er: 'Hvem er det feil hvis jeg har en ulykke?' Åpenbart er det trafikkregler, men vi må ta hensyn til maskinens mekaniske tilstand fordi maskiner kan mislykkes. Legg til spørsmålet om formell tillit mellom eieren og leieren, og mellom hver av dem og de lokale myndighetene.
I listen over er det fem store problemer: Få tilgang til logistikk , Stjålet , ansvarlig bruk og ansvar , maskinstatus Y tillit . Det ser ut til at vi bare har tre tradisjonelle løsninger: leieavtaler, forsikring og trafikkregler. Disse løsningene har mislyktes flere ganger. Må vi vurdere alt det, bare å leie en maskin? I tilfelle VIKING GARAGE, hvor vi vil at folk skal leie maskiner av hverandre på global skala og være trygge, er svaret: Ja! La oss vurdere hvordan ny teknologi kan hjelpe oss.
Den gode nyheten er at vi nå har teknologien til å løse de nevnte problemene og / eller forbedre eksisterende løsninger. La oss liste problemene en gang til, for klarhetens skyld:
En første løsning, og som vi skal utvikle videre, var å representere maskinene og leietransaksjonene i et desentralisert offentlig nettverk. Noen distribuerte hovedbøker, eller blockchain, virket som en naturlig passform. Spesielt ble vår oppmerksomhet fanget av den økende populariteten og nesten fullføringen av Ethereum blockchain.
For å muliggjøre transaksjonsbehandling vil to typer smarte kontrakter være tilstrekkelig: (a) en for å representere eiere og passasjerer / leietakere og (b) en annen for å representere maskiner. Det er et annet krav: en protokoll for å minimere sjansene for svindel og misforståelser, uten involvering av tredjeparter. Et sett med fysisk utleiebevis må sannsynligvis dokumenteres med de fleste avtaler. Å utvikle en slik algoritme kan være vanskelig, men egentlig med bare en håndfull smarte kontrakter, kan en blockchain brukes som en grunnplattform for delingsøkonomier. Det er veldig praktisk fordi blockchains opprinnelige funksjon er å legge til rette for distribuert konsensus og sikre transaksjoner.
Her er det en første skisse av en maskinrepresentasjon som en smart kontrakt for Ethereum, skrevet i Solidity. Kontrakten har allerede et grensesnitt for enkle utleie, inkludert et sperringssystem. Koden kompileres riktig og tjener til å skissere hvor enkle og effektive løsningene kan være.
pragma solidity ^0.4.18;
import '../node_modules/zeppelin-solidity/contracts/token/ERC20Basic.sol';
import '../node_modules/zeppelin-solidity/contracts/token/SafeERC20.sol';
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions; this simplifies the implementation of 'user permissions.'
*/
contract MachineRepresentation {
using SafeERC20 for ERC20Basic;
address public owner;
address public pendingRenter;
address public renter;
string public model;
string public make;
string public vin;
uint256 public rentalPrice;
uint256 public rentalCount;
// ERC20 basic token contract being held
ERC20Basic public token;
event MachineRental(address indexed _machine, address indexed _owner, address indexed _renter, uint256 startTime, uint256 endTime, uint256 _rentalPrice);
event RentalClaimed(address indexed _machine, address indexed _renter, uint256 claimedTime);
event MachineReturned(address indexed _machine, address indexed _renter, uint256 returnTime);
event ReturnConfirmed(address indexed _machine, address indexed _owner, uint256 claimedTime);
/**
* @dev The MachineRepresentation constructor sets the original `owner` of the contract to the sender
* account. It also sets the model, make, and VIN of the machine.
*/
function MachineRepresentation(string _model, string _make, string _vin) public {
owner = msg.sender;
model = _model;
make = _make;
vin = _vin;
rentalCount = 0;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
/**
* @dev Throws if called by any account other than the renter.
*/
modifier onlyRenter() {
require(msg.sender == renter);
_;
}
/**
* @dev Throws if called by any account other than the pending renter (temporary role).
*/
modifier onlyPendingRenter() {
require(msg.sender == pendingRenter);
_;
}
/**
* @dev Allows the owner to rent out the machine to the renter, and specify the start and end time
* and also the price for the rental
*/
function rentMachine(address _pendingRenter, uint256 startTime, uint256 endTime, uint256 price) public onlyOwner {
require(_pendingRenter != address(0));
rentalPrice = price;
MachineRental(this, owner, _pendingRenter, startTime, endTime, price);
pendingRenter = _pendingRenter;
}
/**
* @dev Allows the pendingRenter address to finalize the transfer and provide a token contract, with the cash to hold
*/
function claimRental(ERC20Basic _token) onlyPendingRenter public {
require(rentalPrice <= _token.balanceOf(this));
token = _token;
renter = pendingRenter;
pendingRenter = address(0);
RentalClaimed(this, renter, now);
}
/**
* @dev Allows the renter address to return the machine, and transfer the cash from the held contract, to the machine
owner
*/
function returnMachine() onlyRenter public {
uint256 amount = token.balanceOf(this);
require(rentalPrice <= amount);
token.safeTransfer(owner, amount);
MachineReturned(this, renter, now);
}
/**
* @dev Allows the owner address to confirm the return of the machine
*/
function confirmReturn() onlyOwner public {
renter = address(0);
rentalPrice = 0;
rentalCount++;
ReturnConfirmed(this, owner, now);
}
}
Jeg bør påpeke at det tar mer enn noen få endelige smarte kontrakter for å dekke alle de mulige typer leietransaksjoner. Vi ser behovet for et modulært bibliotek med gjenbrukbare kontrakter, smarte minimum, bygget med fleksibilitet i tankene og fokusert på bilutleie. Det ville tillate andre ingeniører å bygge endelige kontrakter for deres brukstilfeller. Relébedrifter, med grensesnitt DApp Med kontrakter kan de sannsynligvis vokse bare ved å være en inngangsport til bestemte typer smarte kontrakter.
Så hva legger Ethereum blockchain til?
For det første ville leiekontraktene være gjennomsiktige. All informasjon om den offentlige blockchain er vel, offentlig. Det er mulig å referere til data som holdes hemmelige og sikre andre steder, men referansen vil forbli offentlig. I hovedsak vil hver leieavtale, sammen med detaljene som de to partene er enige om, være offentlig tilgjengelig.
For det andre ville denne informasjonen være sikker, fordi en kopi av den ville bli distribuert gjennom den desentraliserte hovedboken (blockchain). Fingeravtrykket ville forbli for alltid, eller i det minste til en hard spinn eksplisitt endrer blokkene som brukes for å lette transaksjoner - men sjansene for det er nær null.
For det tredje vil informasjonen også være sikker, ettersom alle transaksjoner på Ethereum blockchain må verifiseres, det vil si at konsensus må oppnås.
Den fjerde grunnen til å bruke blockchain er at kontraktene er selvutførende. Når den er signert, er det ikke behov for ytterligere brukerhandling for å vurdere om vilkårene som er oppført i kontrakten var oppfylt; det vil si med mindre partene er enige om å legge til slike krav. Vær imidlertid oppmerksom på at kontrakter ikke kan få direkte tilgang til informasjon fra omverdenen. Årsaken til dette er at Ethereum krever at alle statusendringene dine kan valideres av hvem som helst, når som helst.
Derfor er det pålitelige myndigheter som trengs for å validere innkommende informasjon utenfor blockchain og mate den med data. Denne rollen ble fylt av tjenester kalt orakler, hvorav den mest populære er Oraclize . Noe desentralisering kan oppnås ved å referere til orakelgrupper, slik Oraclize gjør. Men den nåværende teknologitilstanden etterlater en som ønsker bedre løsninger. Hva om for eksempel leiemaskiner kunne erstatte orakel?
Den femte grunnen: smarte kontrakter er selvutførende. Dette betyr at etter signering, og når de etablerte vilkårene er oppfylt, er smarte kontrakter i stand til å ta skritt for å løse avtalen. Alt i kontraktene er klart og automatisert, fra signering av dokumentet til fullføring av avtalen. De etablerte forholdene og konsekvensene er uforanderlige. Disse avtalene er trygge for begge parter og har ingen overraskelser.
Når man sammenligner disse fem poengene (støttet naturlig av mye brukt og raskt utviklende blockchain-teknologi) med alternativet (å skape støtte for trygge og sikre kontrakter og transaksjoner, fra bunnen av) endres det første spørsmålet. Hvorfor vil vi ikke bruke blockchain-teknologi?
Det er faktisk noen grunner til ikke å gjøre det. Alle blockchain-transaksjoner krever gass for å kjøre, noe som betyr at de må betales for. De nåværende gjennomsnittskostnad av en standard overføring på Ethereum blockchain er $ 1. Den andre grunnen er at blockchain er ganske treg. Den tredje grunnen er at all informasjon er offentlig. Det ville være rett og slett farlig, og ofte ulovlig, å holde sårbare personopplysninger i et datalager tilgjengelig for alle, uten muligheten til å endre eller slette disse postene.
Jeg bør påpeke at transaksjonskostnader og hastighet varierer mye mellom blokkjedene. Ethereum blockchain er ekstremt populær akkurat nå, men med økningen av relékjeder som Polkadot-prosjektet , snart vil mer passende plattformer dukke opp. Desentralisering er den viktigste funksjonen, og det er gitt med enhver distribuert hovedboksteknologi.
Når det gjelder personvern, skal data lagret på blockchain med formelle avtaler til slutt være minimale. Brukerne blir referert til av lommebokadressene, som er noe anonym, eller pseudonym .
La oss gå tilbake til de fem problemene som er nevnt med delingsmaskiner. Nå kan vi tydelig beskrive hvordan velutstyrte cyber-fysiske systemer, som består av blockchain-tilkoblede ĐApps, kombinert med off-chain SaaS og IoT-moduler for maskinvare og programvare, kan løse problemene nevnt ovenfor:
Smarte kontrakter som brukes til å representere maskiner, vil bli lagret på den offentlige blockchain. Disse representasjonene ville være uavhengige av enhver kjernevirksomhet og kunne vises i flere ĐApps, gjenbrukt i henhold til vilje og tilgjengelighet.
Maskinidentifikasjon har den sterkeste effekten når foreningen uttrykkes både på programvaresiden (blockchain) og maskinvaresiden (innebygde IoT-systemer). Det cyber-fysiske nettverket vil bestå av mikrokontrollere , koblet til maskinemoduler, for eksempel diagnostiske kontakter ombord (f.eks. OBD-II) eller motorstyringsenheter (ECUer). Slike mikrokontrollere vil gi dataene til smarte kontrakter, brukt til å identifisere maskiner. De ville dermed bli maskinvareorakler.
Avhengig av typen elektronisk tilkobling, Internett-tilkobling og til slutt klausulene som partene er enige om i den smarte kontrakten for leie, kan egenskapen for egenapplikasjon av kontrakten utvides til fysiske maskiner.
Det er to typer interaksjoner: å lese fra maskinen og skrive på den. Enkle eksempler på slike interaksjoner ville være å aktivere GPS-sporing i tilfelle maskinen ikke svingte tilbake, eller til og med å slå av tenningen eller drivstoffinnsprøytningen, eller endre drivstofffordelingen til det punktet der maskinen ikke lenger er i drift.
Ekstrem forsiktighet er nødvendig når det gjelder enheter som kan skrive og endre maskinens tilstand. De åpenbare risikoer for menneskers sikkerhet , påpeker behovet for ansvarlige apper , indikerer stor kraft under slike IoT-systemer .
Forbedringer i denne forbindelse er en direkte effekt av gjennomsiktighet, selvhåndhevelse og selvhåndheving av smarte kontrakter som er ment å brukes som leiekontrakter. Disse dokumentene kan inneholde alle klausulene som partene bestemmer.
Andre typer dokumenter, som bilder eller videoer, som indikerer maskinens status før og etter utleie, kan lagres på blockchain som bevis i tilfelle konflikter.
Smarte kontrakter kan også forplikte garanterte innskuddskontrakter, som i eksemplet ovenfor. Hvert trinn i transaksjonen og oppløsningen, sammen med alle eiendeler, vil være gjennomsiktige og forutsigbare til enhver tid.
Maskinene kan se veldig bra ut på bilder, og til og med fungere tilsynelatende fine når de startes, men mange feil kan forbli skjulte først. Problemer som slitte lagre, overoppheting og mange andre kan kreve spesifikk kunnskap å legge merke til, kanskje vanlig for mekanikere, men ikke for befolkningen generelt.
Imidlertid vil disse feilene sannsynligvis presentere seg selv og ødelegge leierens opplevelse, kanskje forårsake flere problemer. Tenk deg at det lekker bensin på en varm motor, det var to ganger din personlige opplevelse på to forskjellige motorsykler!
Dette problemet kan løses av samfunnet. Å belønne brukere for å beskrive opplevelsen i kommentarer og gi et poengsystem vil umiddelbart forbedre situasjonen. Å skille ut vurderinger og score på maskiner fra de som er gitt til maskineiere, vil bidra til å vurdere mekanisk tilstand, service og kvalitet på kommunikasjonen. I tillegg kan slik informasjon dekke handelsøkonomier.
Dette siste problemet løses sammen med de to foregående. Arten av smarte kontrakter bidrar til gjennomsiktigheten i avtalen, mens samfunnet raskt vil vurdere om en bruker opptrer ondskapsfullt.
Spesielt kan ĐApps legge til et alternativ for å skrive ut en versjon av kontrakten, brukt i en leiekontraktsordning, typisk for regionen og lokale myndigheter, og den generiske løsningen dukker opp!
Løsningene beskrevet i denne delen tillater oss, etter vår mening, å forbedre den nåværende situasjonen med personlig transportutleie. Feilalternativer minimeres, og flere løsninger kan bygges på toppen av det grunnleggende settet. Den vanskelige og risikofylte prosessen med å leie maskiner blir mindre vanskelig og lettere å administrere ved å introdusere et cyber-fysisk system og samfunn.
Det er viktig at Motoro kan brukes sammen med andre typer kjøretøy, for eksempel anleggsmaskiner og landbruksmaskiner.
Motoro er en ERC20-identifikator, noe som betyr at den er i samsvar med standarder, kan brukes på den offentlige Ethereum-blockchain og kan byttes mot Ethereum og andre ERC20-identifikatorer. Det er forstyrrende fordi:
Vi snakker om motorsykler hele tiden fordi det er maskinene vi jobber med på VIKING GARAGE. De er også veldig brukbare og ikke veldig dyre sammenlignet med andre typer maskiner. I tillegg lager de den kule lyden og går veldig fort med en vri på gassen. Det er imidlertid viktig å understreke at Motoro kan brukes med andre typer kjøretøy, for eksempel anleggs- og landbruksmaskiner.
Vi forventer følgende globale innvirkning fra Motoro:
Hvis du er interessert i å delta i denne globale bevegelsen, som omfatter IoT og blockchain, er det mange måter å gjøre det med en gang. Du kan bidra til våre open source-prosjekter på GitHub . En annen måte er å begynne å bruke VIKING GARAGE, som eier av et kjøretøy eller maskin. Til slutt inviterer vi deg til å bli med på et av ApeeScape Community-arrangementene - IoT blockchain-workshops - på Campus Warszawa (Google Space) i Polen, hvor vi vil diskutere og planlegge utviklingen av Motoro. For det er det bare å søke etter ApeeScape i arrangementssiden din . Neste møte i 2018 er 20. mars. Mennesker på alle ferdighetsnivåer er velkomne ettersom vi kan lære sammen og lage blockchain-baserte IoT-løsninger med åpen kildekode!