Energy Web Documentation
  • Energy Web Ecosystem
  • Launchpad by Energy Web
  • EWC Validator Documentation
  • Community Ressources
  • Legacy documentation
  • Welcome to Energy Web
  • Glossary
  • Solutions 2023
    • ↔️Data Exchange
      • Data Exchange Overview
      • Data Exchange Architecture
      • Use Cases and Refrence Implementations
        • Digital Spine for Electricity Markets
          • Digital Spine Integration Client Deployment Guide - from Azure marketplace
        • E-Mobility Management
    • 🔌Open Charging Network
      • Create and Manage an OCN Identity
      • Connect an OCPI/OCN Party to a Node
        • 1. Make your backend service OCN-ready
        • 2. Select an OCN Node and register in OCN Registry
        • 3. Manage your Whitelist and Blacklist
        • 4. Connect your service to an OCN Node
      • Run an OCN Node
      • Use the OCN Service Interface
        • Offer an OCN Service
        • Sign up for an OCN Service
      • Develop on the Test Network
      • Develop on the Production Network
      • Open Source Development
        • Maturity Model, Feature Roadmap and Releases
        • Developer Community Calls
      • E-Mobility Dashboard v0.1
  • EW-DOS Technology Components 2023
    • EW-DOS Overview
    • Worker Nodes
      • Worker Node Process Diagrams
      • Worker Node Architecture
      • Worker Node Guides
        • Deploy Worker Nodes
        • Customize Worker Logic
    • Identity and Access Management (IAM)
      • IAM Guides
        • Implement an SSI Hub instance
        • Verifiable Credential API
        • Sign-In with Ethereum
        • Using Switchboard
          • Switchboard Transaction Cost Estimates
      • IAM Patterns
        • Assets as Ownable Smart Contracts
        • Credential Lifecycle
        • Credential Metadata
        • SSI Credential Governance using ENS Domains
      • IAM Libraries
      • SSI Hub
      • Switchboard Application
    • Decentralized Data Hub (DDHub)
      • DDHub Message Broker
      • DDHub Client Gateway
      • DDHub Patterns
        • Channels and Topics
      • DDHub Guides
    • Green Proofs Contracts
    • Energy Web X
    • The Energy Web Chain
      • EWC Overview
      • System Architecture
        • Proof-of-Authority Consensus Mechanism
        • System Contracts
          • Name Registry
          • Holding Contract
          • Block Reward Contract
          • Validator-Set Contracts
        • Validator Node Architecture
      • Energy Web Block Explorer
      • Validator Node Installation Specifications
        • Volta Test Network: Validator Node Installation
      • Energy Web Chain Governance
      • EWC Guides and Tutorials
        • Getting started with Energy Web Chain
        • Developing on the Volta Test Network and Main Network (Energy Web Chain)
        • Run a Local RPC Node
          • Run RPC Node using Nethermind client
        • Deploy a Smart Contract on Volta with Remix
        • Interacting with Smart Contracts in EW-DOS
        • Set up MetaMask to interact with Energy Web Chain
        • Using the Ethereum Name Service
        • Using Oracles
      • Energy Web Token (EWT)
  • 🧠Foundational Concepts
    • Open-Source Software
    • Scaling Access to Grid Flexibility
    • Facilitating Clean Energy Purchases
    • Ethereum
      • Transactions and Transaction Costs
    • Self-Sovereign-Identity
      • Self-Sovereign Use Case Interaction
    • Cryptocurrency Wallets
      • Software cryptocurrency wallets
        • Metamask
        • Mycrypto wallet
      • Hardware cryptocurrency wallets
      • Hierarchical Deterministic (HD) Wallets
Powered by GitBook
On this page
  • Assets in EW-DOS
  • Asset Smart Contracts
  • Asset Owners
  • Asset Chain-of-Custody
  • Register Asset
  • Transfer Asset Ownership
  • Asset Enrolment
  • Using and Managing Assets in EW-DOS
  • Use Case: Stedin Decentralized Asset Management
Export as PDF
  1. EW-DOS Technology Components 2023
  2. Identity and Access Management (IAM)
  3. IAM Patterns

Assets as Ownable Smart Contracts

PreviousIAM PatternsNextCredential Lifecycle

Last updated 2 years ago

Assets in EW-DOS

In the context of EW-DOS, an Asset is a digital representation of a physical or virtual device on the . An Asset could represent, for example, a solar photovoltaic panel, a battery, an electric vehicle, or an IOT device.

Assets must have a in the Energy Web Chain's in order to participate in applications and marketplace activities. Once an Asset has a DID, it can take on roles within an organization or application. This is discussed further .

Asset Smart Contracts

Assets and their chain of custody are managed by that are deployed on the Energy Web Chain.

When an Asset is first created, it is registered in the as an owned identity (the owner address being the Asset owner, discussed ).

The main purpose of the IdentityManager smart contract is to have a on-chain location which aggregates known assets. In other words, it provides a kind of "asset-registry" functionality. This can allow one for instance, to more easily answer questions such as "how many assets have been registered in total?".

While there are many OfferableIdentity smart contracts, there is intended to be fewer IdentityManager smart contracts as the IdentityManager's main purpose is the aggregation of OfferableIdentity information. For instance, an enterprise could have a single IdentityManager to all assets which are registered by their employees.

The Asset owner can offer ownership to another DID. The provides methods to verify, offer and transfer (these concepts are discussed in further detail ).

Other contracts in the Ethereum ecosystem exist which track ownership such as popular NFT contract or contracts which implement such as . However, a key requirement of Energy Web's asset implementation was that ownership transfers cannot be performed unilaterally and so these aforementioned options were not used.

Asset Owners

Every Asset must have an owner. Asset owners initiate the registration, transference and enrolment activity of their Assets. This requires them to make transactions on behalf of their Asset, so the owner must have an address on the Energy Web Chain that is connected to an . The owner of an Asset is recorded in the Asset's identity on-chain.

Asset Chain-of-Custody

Register Asset

Transfer Asset Ownership

1. Offer Asset

When a transfer is initialized, an 'offer' of transfer is made to the recipient DID.

2a. Accept Asset

2b. Reject Asset

Asset Enrolment

  • If the Asset's owner is an authorized issuer of the desired role, the Asset owner can directly issue a role-based verifiable credential to their Asset.

  • If the Asset's owner is not an authorized issuer of the desired role, the owner can submit an enrolment request on behalf of their Asset to the issuer.

Using and Managing Assets in EW-DOS

Use Case: Stedin Decentralized Asset Management

The goal of this collaboration was to:

The provides high-level methods to facilitate the chain of custody for an Asset.

Chain-of-custody events (, and ) for an Asset are emitted from the . SSI Hub listens for and persists the details of these events. All historical owners of an Asset and the dates of offer, transference and acceptance are accessible through SSI Hub's API.

Registering as Asset involves creating an OfferableIdentity smart contract for the Asset on the Energy Web Chain, and registering its identity in the . This is initiated by the Asset owner. Because each Energy Web Chain address is a valid DID under the did:ethr DID method, each asset inherently has a DID.

The owner of a registered Asset can transfer ownership to another address on the Energy Web Chain. (The new owner's address must have signing capabilities in order to associated with asset management).

The provides methods to facilitate Asset transferance. This contract makes calls to the so that the state of the Asset is updated at each phase of the transfer.

The state of the Asset identity is marked as 'offered' in the .

The DID that the Asset was offered to must accept the Offer before it is transferred to them. iam-client-library provides a method to accept the transfer. The Asset's owner is updated in the to reflect the new ownership.

The DID that the Asset was offered to has the option to reject the transfer. The Asset's 'offered' status in the is set to 'false'.

An Asset can take on . If their enrolment request is approved by the role issuer, the Asset is issued a role-based .

Read more about role-based credentials in the documentation

Read more about credentials in the IAM stack .

iam-client-library provides the high-level methods to request and issue enrolments. See the API documentation .

Switchboard provides an interface for users to register, transfer and enroll Assets. If you are logged into Switchboard, you can view the Asset management interface .

iam-client-library contains the high-level functions for managing (registering, fetching, transferring, etc.) assets and their corresponding data. You can view the service API documentation for Assets in the library .

Energy Web and the (DSO) jointly developed a decentralized energy asset management system leveraging the EW-DOS components and architecture .

Facilitate secure, encrypted communication between (i.e. solar panels, batteries, etc) and the grid

Enable to provide grid services (e.g. selling excess energy back to the grid)

Grid assets (e.g, smart meters, distribution automation devices), and were assigned DIDs. The DID is anchored on the asset's pre-existing SIM cards. Each asset exists as an identity in the on the Energy Web Chain. Cryptographically signed information (such as control signals and commands) from the DSO (Stedin) can then be sent to targeted assets. This allows for an awareness and exchange of grid services between the DSO and DERs.

You can read more about this use case in the official press release .

iam-client-library Asset service
IdentityManager smart contract
sign transactions
OfferableIdentity smart contract
IdentityManager smart contract
IdentityManager smart contract
IdentityManager smart contract
IdentityManager smart contract
here
here
here
here
here
IdentityManager smart contract
registration
ofference
transference
smart contracts
IdentityManager smart contract
IdentityManager smart contract
OfferableIdentity smart contract
OfferableIdentity smart contract
ERC-173
ERC-725
Ethereum-compatible crypto-currency wallet such as MetaMask
below
below
ownership of Assets
below
Stedin
discussed above
IdentityManager smart contract
here
(enrol to) roles within an organization or an application
Energy Web Chain
distribution system operator
distributed energy resources (DERs)
DERs
distrubuted energy resources (DERs)
Decentralized Identifier - DID
DID Registry
verifiable credential