peaq
Search…
Vehicle Sharing
Peer-to-peer Mobility as a Service
GRANT IF
1
(provider == authenticated)
2
&&
3
(consumer == authenticated)
4
&&
5
(consumer.rental.authorized == true) -> provider.rental.autor = init
Copied!
Definitions: ProviderConsumer
Alice owns a car which she wants to make available to the public whenever she is not using it. However, she doesn’t want to sign up to an expensive third party subscription to handle the car sharing for her.
Using peaq’s functions, Alice’s car becomes visible to Bob so that he can select it for rent. Bob requests to reserve the car for 15 minutes. Through his mobile phone, Bob (Consumer) initiates the reserve request via smart contract for the car (Provider). The smart contract then validates that Bob has sufficient funds and blocks the required amount. The authentication is successful and Bob gets informed that the car is reserved for him. The car is informed of the user’s identity (Consumer Public Key) to expect. Bob arrives at the car and requests via his phone to open it. This triggers a verification check via smart contract to validate Bob’s identity. After a successful verification, Bob is authorised to enter the car and start his rental period. Once done with his drive, Bob exits the car and closes it via his mobile phone, which initiates the stop of the charging session. This triggers the smart contract, which checks how long Bob rented the car and transfers the right amount (Pay-per-use) from the blocked funds to Alice.
Last modified 1mo ago
Copy link