Those who know us are aware of the transformation that our company MotionWerk is experiencing in terms of business development and technology. After having launched Share&Charge, one of the first production-level (with real users with real money) Blockchain-oriented (running on the public main Ethereum network) mobile apps in the industry along with a successful proof-of-concept campaign with Oslo&Rome we have recently started to pivot our efforts into defining the underlying technology and infrastructure needed towards a fully-decentralized EV (Electric Vehicle) charging network. That is, the new Share&Charge.
In this first article I try to briefly explain some of the reasons that took us here, and where we forecast to go in the near future.
Since the end of April 2017, when the app was published into the German Android and iOS stores, close to 1500 charging stations have been available to thousands of registered users. While the numbers are not astonishing, this journey has brought the team a lot of expertise on the mobility field, and overall we have proven to the industry that the business model is valid as well as that there will be a strong demand in the upcoming years to improve and optimize the infrastructure (e.g. the power grid), along with making our vision of the seamless mobility a reality.
Missing True Decentralization
The application stack that came up after months of integration between Ethereum and the more “traditional” technologies (we use, for example, Node or Ionic) created some pieces of software that, while they helped solve the puzzle, they ended up going against some of the properties or benefits of a DLT (Distributed Ledger Technology). For instance, we created a backend service as a “centralized” solution to serve our app, handle the public/private keys from our customers, and manage the communication between our smart contracts and the “real world” parts of the system, such as the payments gateway or the CPO (Charging Pole Operator) APIs.
If you know a thing or two about Blockchain technologies, you can easily spot some major issues here.
Of course, the business logic should be in the smart contracts entirely, only relying to the mobile application or the CPO middleware components (we call it “bridges”) those parts related exclusively to their roles. In later case, things like starting and stopping the charging poles; in the case of the mobile app, dealing with the UI/UX for the user to be able to browse a map to find a charging pole, and start and stop it.
Challenges in the Public Network Today
Running a production-level application on top of Ethereum’s Mainnet is not a trivial task. In many cases, the drawbacks are overcome by the marvelous benefits that this new technology is bringing. However, the mobility and energy industries, being the ones that allow us to move the world and our lives, are demanding and cannot risk downtimes or other handicaps.
We struggled with two main topics: fee costs and the network congestion.
One major facet of Ethereum is the concept of gas. Gas is a unit of computational power needed to mine a transaction so that it is written into the ledger, be it a simple payment from one account to another, deploying of a smart contract onto the network, or interacting with said contract. This is paid for by the sender of the transaction, in a denomination of Ether, the currency of the Ethereum network.
We won’t be covering how gas works in Ethereum (a couple of good resources can be found here or here. What is important here is to mention that this transaction costs are the rewards that a miner will earn, in exchange of processing/executing all the instructions required by the transaction.
These transaction fees can fluctuate wildly, determined by the activity of the network. For instance, during last October we saw particularly high transaction fees as a result of a number of Initial Coin Offerings (ICOs), with the large activity on the chain causing an increase in gas price as miners compete with each other to earn the rewards of mining. Therefore, we experienced things such as:
- High volatility in the amount of gas spent on our transactions, leading to peaks of high costs
- Risks of long periods of time to validate pending transactions
- Risk of failed transactions that, together with automated retries of such transactions, drained our Ether funds.
- Impossibility of forecasting such transaction costs, at least in a consistent automated way.
Below is the average monthly transaction fees paid by MotionWerk in our Share&Charge app from May to December 2017:
Pivoting Our Business Strategy
If we take the lessons learned with Share&Charge 1.0 mentioned in the previous sections (regarding decentralization and challenges with operating on public chain) then it’s clear that we had to take responsibility if we wanted to keep on bringing the e-mobility world into this revolution that is Blockchain, the new so-called Internet of Value.
So we set ourselves an ambitious goal: to create an EV charging network, by joining forces with the industry players and, together, deliver the underlying technology needed in order to settle the infrastructure, protocols, standards or tools used to achieve that objective. And what was the first and biggest move we took? To switch from the public network to a semi-private (sometimes also called “consortium”) network.
Enter Share&Charge 2.0
Before proceeding, I want to mention this: we believe in public Blockchains. There are currently a lot of efforts and works in progress in the Ethereum community to try to reach scalability or improve all the aspects that will drive the technology into a mature state. Projects like Casper version of PoS, Plasma or Raiden will make us migrate the public chain again and forever.
On one hand we have the public Ethereum blockchain, which as of today, still uses its own version of Proof of Work (PoW) consensus algorithm to determine mining work. The much anticipated Proof of Stake is due for a full roll out but it remains to be seen when.
On the other hand, in the realm of private chains, anything is possible. Ethereum clients such as Geth and Parity support consensus mechanisms to deploy semi-private networks. Most prominent and widely used is Proof of Authority (PoA) which introduces the concept of validators running Byzantine-Fault Tolerance (BFT) algorithms (e.g. Aura, Tendermint, Clique) that tolerate up to a specified percentage of malicious actors. These are nodes which are granted permission to mine transactions and seal new blocks on the chain. This approach allows for greater transaction approval speed as validators take it in turns to mine transactions rather than selling their computational power to the highest bidder as in PoW. The result is permissionless reading and permissioned writing of the blockchain.
The future ahead
The road in front of us looks promising; an endeavor into changing the mobility and energy sectors to embrace decentralization through the transformation of networks into markets. We will be opening up our works to the open source community in the upcoming weeks , and we will boost collaboration and communication between our team and our partners. After consolidating our technology into what I call a “rock solid charging process”, other topics such as the tokenization of energy, payment channels or identity management must come. Things will get even more interesting!