Our goal is to create an open platform for Electric Vehicle Charging capable of evolving into a decentralized application where everyone can participate censor free.
In past pilots we built on a solution where most of the information was held in smart-contracts. This proved to be a challenging setup because of transactions latency, cost and lost events, among other things.
In planning for production we setup a multi-stage deployment process for which the time-line is still to be defined. The steps are expressed in phases which are:
- Phase 1 — settlement
- Phase 2 — smart charging
- Phase 3 — decentralization and token economy
- Phase 4 — smart grid integration
Phase 1 — settlement
Our first goal is to enable the connection of EV-Drivers with charge points and allow a seamless settlement process powered by smart-contracts on the Energy Web Chain.
We envision the following customer journey for using charging infrastructure for Phase 1:
The EV-Driver John buys/rents an EV from a Automotive/Mobility Service provider (MSP) of his choice.
He’s provided with a charging application on his smartphone or the car has all the charging functionality integrated into the In-Car Information System. John can use this application to charge at all charging stations available in the Share&Charge network and pays for the charging periodically with his preferred payment method.
The main players in this phase for executing the authentication and the immediate payment will be the Mobility Service Providers (MSP) and Charge Point Operators (CPO) organizations. It is the MSP who pays for the charging process, the EV-Driver gets an invoice at the end of the month or has to provision a prepaid account.
Simplified Settlement Process
Share&Charge infrastructure elements
In order to enforce access rights and communication we will provide the following pieces of software and infrastructure to create a robust and productions ready system:
- A VPN based on ZeroTier making sure that only authorized participants can send and receive messages
- Integration libraries for CPO and MSP in the form of a language specific SDK (node.js and java) and a docker image with Nanomsg Next Gen (a broker-less message bus) and a ZeroTier identity.
All communications will conform to both OCPI or OCPP. The client will be able to pick the preferred standard.
- For the CPO the docker image also contains a sync mechanism that informs the network of the status (availability, existence) of charge points.
- The settlement smart contracts deployed on the Energy Web Chain
- An atomic swap system which allows to send the payment tokens to and from the Ethereum Main Chain
- A charge point search service which allows to find charge points by Geo Location and see their current status (i.e. available or charging)
- Two dashboard applications to create reporting for MSP and CPO
Why we need a private network
The main objective of the VPN is to manage who can communicate. This gives a main switch functionality to:
- fight spammers and attackers — you can not attack a network that is unreachable
- include and exclude participants with a central access control list stored in a smart-contract
- make the pub/sub mechanism easier by ensuring that only authorized participants can listen to messages
- make sure that all communication is encrypted
Our pilots have taught us that too many blockchain transactions are bad for performance and cost but also that Ethereum is not a good message bus.
This is why we are redesigning the smart contracts to enable a One Transaction charge process. The only blockchain transaction will be the settlement. All other communication will be done off-chain.
This also alleviates concerns about privacy as it will not be possible to determine which user charged at what charge point from the smart-contract transactions.
For this first stage the settlement is the only required smart contract. Network access will be given through an off-chain process. The on-chain registration of assets is only required in the next phase: smart charging.
Reliable Publish Subscribe
In order to create a performant eventually consistent system we are using a broker-less messaging platform. What this means is that every node can emit and listen for messages without needing a central server.
As we operate on a private network we can confidently link servers without the fear of being swamped with spam traffic. If one node behaves badly it will be promptly excluded from the network by revoking its access privilege.
Share&Charge will setup a member registry which can be used to communicate directly between nodes. For example to send Start and Stop messages for the charge process directly between MSP and CPO.
At this stage our customers are organizations with existing backend systems. This is why we focus on enabling easy integration. In the near future we will offer integration for single charge point CPO like a SMB charge stations.
The integration will be made as seamless as possible with the provision of an MSP and CPO agent in the form of a running dockerized server. This element can be hosted by Share&Charge or the partner. But because every partner is different, each integration will remain a separate project.
Stable coin settlement
The participants will be able to choose the token they wish to use for settlement. We will provide an option for EUR, USD and CHF.
We tested 2 stable coin concepts intensively and are now also on-boarding DAI (from MakerDAO) as a third and for sure the most decentralized concept.
With this we have the “Escrow concept”, the “Bookkeeping concept” and “DAI”. In the first all tokens are backed up by one central FIAT currency escrow account whilst in the second all the companies participating in the network back the tokens themselves with an off-chain value settlement. DAI would allow us a decentralized backing and instantaneous value transfer.
The DAI can be purchased with Share&Charge or on the secondary market and redeemed for fiat with Share&Charge or on the secondary market.
By using an independent coin for the settlement we can eliminate the counterparty risk from the transaction. We partner with Wyre to make the on and off ramp with DAI as smooth as possible.
As Share&Charge operates on the EWF Chain a bridge to the Ethereum main chain is required. We’re in discussion with EWF to create a joint atomic swap facility that will be available to all EWF Chain users and operated by the chain’s validators. This will give our partners even more confidence in the trustworthiness of the payment tokens.
Finding Charge Points
The whole network makes little sense if users cannot find charge points. And we want to create an efficient infrastructure which scales smoothly. Therefore it is required that the search mechanism be centralized. Indeed it would be terribly inefficient to have every MSP subscribe to updates from all CPOs. Instead the search service will listen for state changes and update those in its database. Making the information available for anyone who needs it.
In the future, we will create an incentive system to allow third parties to create a search mechanism and thus decouple the network from the dependence on a single service provider.
The same is true for the member registry service. It is our intention to remove any monopoly power for any player in the network and thus create a real decentralized system that can function as autonomously as possible.
Unfortunately the software to enable this in a performant, production grade and scalable fashion has yet to be developed. We’re confident that it can be done, the timeline will depend on the resources we’ll be able to devote to it.
Trust is good, control is better
In order to allow the network users to keep an eye on their asset utilization we provide two separate dashboards: MSP and CPO. These will allow the participants to check different KPIs and download the data generated by their assets.
The dashboard will also allow loading and offloading of payment coins. Making the process unobtrusive and simple.
The dashboard is a web application and as such will offer an API so that the data can be fetched programmatically. This can be useful for linking an accounting system and have every receipt automatically entered. It can also be used to integrate with an existing BI system and include the Share&Charge data into existing reports.
We will work with our customers to make this application as useful as possible.
Phase 2 — smart charging
stay tuned for the next chapter. That’s when things start to get interesting.