🔌Open Charging Network

An open and decentralized communication network for digital eMobility services.

Overview

The Open Charging Network (OCN) is a decentralized eRoaming hub.

Using the Open Charge Point Interface 2.2, the OCN provides the network for communication between Charge Point Operators (CPOs), eMobility Service Providers (eMSPs), and other industry players involved in EV charging services.

The primary purpose of the OCN is to make technical connection between these EV charging industry players as simple and secure as possible, without creating technical and commercial lock-in effects.

The two primary actors are eMobility Service Provider (eMSP) and Charge Point Operator.

  • eMobility Service Providers (eMSPs) provide EV drivers with network access to electric vehicle charge points, typically through software applications and platforms. Their primary end-user is the EV driver.

  • Charge Point Operators (CPOs) install and manage the physical charge point operation infrastructure and the network operations that allow for EV-charging. Their primary end-users are e-MSPs, who in turn make these charge points available to EV drivers through their products and services.

You can see a full list of roles in the OCPI 2.2 documentation 2.3. EV Charging Market Roles.

The OCN is made up of a distributed network of server nodes running the OCN Node software. These nodes share a registry that stores network participant data, which exists as a smart contract that is deployed on the Energy Web Chain.

Below you will find an overview of OCN functionality and technical components, as well as how to get started using the OCN.

Access the full OCN technical documentation here or download the PDF below:

OCN Use Cases

The OCN supports all use-cases described in the OCPI 2.2 protocol, including:

  • Authorization

  • Reservation

  • Tariff Information

  • Billing Stating Charge Point Information

  • Real-time charge point status information

  • Real-time charge session information

  • Charge Detail Record (CDR) information

  • Remote start/stop

  • Smart charging

  • Calibration law (eichrect) support

  • Platform monitoring

Implementing the Open Charge Point Interface Protocol

The OCN implements the Open Charge Point Interface (OCPI) 2.2 protocol. This protocol provides a common communication infrastructure for e-mobility service providers, Charge Point Operators and other market participants involved in supplying and delivering electric vehicle charging services.

These actors implement the OCPI on their back-end IT infrastructure.

OCPI Hub Concept

The OCPI protocol can be used for peer-to-peer (bilateral) communication, but is more widely used as a communication hub that connects multiple CPOs with multiple eMSPs.

This allows end-users to, for example, locate and use EV chargers that are managed by one CPO, even if they are using an application created by a different CPO or eMSP. It provides a broader network of access to services and charge points that are critical for eRoaming.

The OCPI is broken down into modules that provide the protocol's core functionality, which includes:

  1. Bilateral (peer-to-peer) and multilateral communication

  2. Real-time information about charge point locations, availability and pricing

  3. Exchange of data related to charging services (i.e. Charging Data Records)

  4. Mobile access to Charge Points

Access the full OCPI technical documentation here or download the PDF below:

The OCN as a Decentralized Solution

The OCN performs the role of communication hub as described by the OCPI 2.2, meaning OCN nodes handle the communication and message routing between relevant parties (CPOs, eMSPs, service providers).

The primary difference between the OCN and traditional hub networks is that the OCN is an open and decentralized network:

  1. There is no centralized server that participants must connect to in order to use the network. The OCN is comprised of a distributed network of server nodes, and anyone is able to run or connect their service to a node. Nodes are responsible for brokering messages between parties.

  2. There is no centralized database for storing participant user information. This data is stored in a smart contract on the Energy Web Chain, which is a public, decentralized blockchain. Anyone is able to register with this contract, provided they have required information. The OCN provides a whitelisting/blacklisting permissioning system to manage messaging preferences.

OCN Nodes

In the context of the OCN, a 'node' is a server running an instance of the OCN node software. Each node of the OCN forwards OCPI and OCN messages between parties based on a routing system and a shared registry that is anchored on the Energy Web Chain in a smart contract. As mentioned above, these parties are typically Charge Point Operators or eMobility Service Providers.

A node consists of a message broker, blockchain wallet, and connection to an Energy Web Chain node. The network of nodes together constructs the Open Charging Network.

Anyone can run a node if they choose, or connect to a node remotely.

Read more about how to run a node here. Read more about how to connect to a node here.

The OCN Registry

OCN parties (those who are using the network - eMSPs, CPOs, third party service providers) are identified in the registry smart contract that is deployed on the Energy Web Chain. Every node on the OCN has access to this smart contract.

A participant is identified in the Registry by their public key, which is mapped to the public url of the OCN node that they are registered with:

// address => domain name/url
mapping(address => string) private nodeOf;

source code

Users can interact with the Registry smart contract to fetch, set or update their registered node or their party information.

Parties are required to sign messages that they send through the OCN with their private key as a means for security and verification. Learn more about how to create a public/private key pair and register as an OCN party here.

Benefits of a Decentralized Network

Most implementations of OCPI are centralized applications, where a third-party platform provides the 'hub' network connection between multiple eMSPs and CPOs that enable actors to send and receive information.

This approach brings certain advantages and convenience, but also creates commercial and technical limitations:

  • Participant identities are siloed within a network, creating a lock-in effect to that specific network

  • Network service providers can choose to not provide particular services on a proprietary platform, creating commercial restraints for the network's users

  • Centralized networks are typically less resilient and scalable than decentralized networks

  • Participation can be restrictive due to cost or commercial agreements

A decentralized, open source architecture provides a solution for some of these challenges:

  • Network participant identities are accessible to anyone on the network through a public, shared registry, reducing network and user silos.

  • Anyone can register and use the network for free. (Read more about how to create an OCN identity here)

  • Anyone can run a node. This makes the network scalable, resilient, and reduces potential points of failure. Read more about how to run a node here

  • The OCN is open-source. Anyone can build applications and provide services on top of the network for all to use. Read more about the OCN Service interface here

Getting Started

To get started with the OCN, you first need to create your own OCN Identity. Follow the steps outlined here: Create and manage an OCN Identity.

To connect your EV charging service to an OCN Node (as a Charge Point Operator or an eMobility Service Provider), follow the steps outlined here: Connecting an OCPI/OCN Party to a Node.

To operate your own OCN Node, follow the steps outlined here: Run an OCN node.

To provide a service like settlement, payment, smart charging, etc. (OCN Service) to OCN Parties (Charge Point Operators, eMobility Service Providers, etc.), follow the steps outlined here: Use the OCN Service Interface.

OCN Technical Components

OCN Node

Provides an entry point to the network, which enables communication with other eRoaming parties using the Open Charge Point Interface 2.2.

Repository: https://github.com/energywebfoundation/ocn-node

OCN Bridge

A pluggable OCPI API interface for eRoaming parties with no OCPI API.

The OCN bridge can be used by CPO/eMSP backends to implement the OCPI protocol, which is a required step in connecting a backend to an OCN node, however it is not required to use the OCN Bridge to do so. Manages the OCPI interfaces, connection to an OCN client and registration with the OCN registry. JavaScript implementation only.

Repository: https://github.com/energywebfoundation/ocn-bridge

OCN Registry

The shared address, identity and permissions system of the OCN.

The OCN Registry is a smart contract on the Energy Web Chain that contains important identifying information about registered OCN Nodes, Parties and Services. It acts as the shared address, identity and permissions system of the OCN.

Repository: https://github.com/energywebfoundation/ocn-registry

Utilities to securely verify and sign OCN messages using public/private cryptographic key-pairs.

Currently targeting JavaScript and JVM only.

Note that the OCN Bridge already implements the OCN Notary. If you are connecting a party to an OCN node, and you are not implementing the OCN Bridge, you will need to implement the OCN Notary in your backend setup.

Repository: https://github.com/energywebfoundation/ocn-notary

OCN Tools

Common tools for aiding development of applications built on top of the OCN.

You can run a mock E-Mobility Service Provider (MSP) or Charge Point Operator (CPO) with these tools, which can be helpful for local development. Uses the OCN Bridge as a dependency.

Repository: https://github.com/energywebfoundation/ocn-tools

Last updated