Permissions and Sharing On-chain
The DIMO Mobile app and all its users recently received a huge upgrade: Vehicle Sharing.
This feature will bring many more users and vehicles into the DIMO Ecosystem, and paired alongside the in-app wallet powered by web3Auth, it will introduce people to web3 products in the best way for mass adoption: without them realizing the great product their using touches the blockchain.
A DIMO user can now have a friend or family member download DIMO Mobile, create an in-app wallet (no seed phrase knowledge required) and track another user’s car. Data sharing is already available, and as more functionality is built, both users will be able to interact with the DIMO marketplace, making for a better car ownership experience.
Something else cool for the crypto people: the permissions for the vehicle are built on-chain as roles on the Vehicle ID NFT. If you’re interested in how that works, this is the article for you.
Vehicle sharing privileges: What exists today?
Currently there are four permissions. More can always be added in the future. Today users can designate another user to:
View their car’s data such as tire pressure, oil life, and fuel level
Use commands such as lock/unlock, and (trunk/frunk for Teslas)
View the vehicle’s location
The diagram below shows how the owner of a particular Vehicle ID can allow other individuals (based on their Ethereum address) to view certain permissions. The permissions are built into the existing DIMO Vehicle ID contract. You can view an example transaction of granting privileges here.
The smart contract allows you to grant 1 or many privileges at the same time.(setPrivileges) Mostly, we expect users to grant more than 1 at once.
Sharing your car with a contract
Today the use-case is focused on granting other people access to your vehicle since the primary way users interact with DIMO at the moment is via the consumer-focused DIMO Mobile app. However, leveraging the composability of the blockchain, the 0x address that you grant could also be a smart contract.
As an example, in the future there could be a special privilege to manage renting out the vehicle that you could grant to a rental contract or another application’s address. We’re excited to see someone build a car rental smart contract at some point!
How are privileges defined?
Crucially, the Vehicle ID smart contract is upgradeable and allows for the creation of new privileges per a governance vote of DIMO token holders.
In a transaction, the user submits their vehicle tokenID, then the privilege ID they wish to grant along with an expiration time. Right now, the expiration time is set to 1 year by the DIMO Mobile app, but eventually this will be customizable.
Any maximum number of people you can share with?
Nope! Share your vehicle data as much as you'd like
Can I revoke sharing permissions?
Is there any way that doing this could accidentally give away my vehicleID?
Ownership of the VehicleID is not a privilege, so this is not feasible in this transaction.
DIMO is building a safer, more open, and zero emission mobility future using innovative incentivization mechanisms.