Abstract: This invention highly concentrates in how Blockchain technologies work and a lightweight 'Tangle' based framework, namely IOTA (Third generation DLT) is employed for designing an energy trading market that uses Directed Acyclic Graph (DAG) based solution that not only alleviates the reward overhead for micro-transactions but also provides scalability, quantum-proof, and high throughput of such transactions at low confirmation latency. Furthermore the Masked Authentication Messaging (MAM) protocol is used over the IOTA P2P energy trading framework that allows energy producer and consumer to share the data while maintaining the confidentiality, and facilitates the data accessibility. The Raspberry Pi 3 board along with voltage sensor (INA219) used for the setting up light node and publishing and fetching data from the Tangle. The results of the obtained benchmarking indicate low confirmation latency, high throughput, system with Hyperledger Fabric and Ethereum. Moreover, the effect of transaction rate decreases when the IOTA bundle size increases. The speedy confirmation time of transactions in IOTA, is most suitable for peer to peer energy trading scenarios. This study serves as a guideline for deploying, end-to-end transaction with IOTA Distributed Ledger Technology (DLT) and improving the performance of Blockchain in the energy sector under various operating conditions.
FIELD OF THE INVENTION
The present invention relates to working of Directed Acyclic Graph (DAG) based Blockchain technology in Peer to Peer (P2P) energy trading and a lightweight 'Tangle' based framework, namely IOTA (Third generation DLT) is employed for designing an energy trading market that uses DAG based solution that not only alleviates the reward overhead for micro-transactions but also provides security, scalability, and high throughput of such transactions at low confirmation latency. Furthermore, the Masked Authentication Messaging (MAM) protocol is used over the IOTA P2P energy trading framework that allows energy producer and consumer to share the data while maintaining confidentiality, and facilitates data accessibility. Raspberry Pi 3 board along with current, voltage and power sensor (INA219) are used for setting up light node IOTA and publishing and fetching data from the Tangle. This invention serves as a guideline for deploying end-to-end transactions with IOTA Distributed Ledger Technology (DLT) for improving the performance of Blockchain in the energy sector under various operating conditions. The results of the obtained benchmarking indicate low confirmation latency, high throughput, system with other popular blockchain framework such as Hyperledger Fabric and Ethereum. Moreover, the effect of transaction rate decreases when the IOTA bundle size increases. The speedy confirmation time of transactions in IOTA, is most suitable for peer to peer energy trading scenarios.
[02] BACKGROUND OF THE INVENTION
This work goes in the direction of the democratization of energy production and trading. Faced with these major challenges, advances must allow the best possible integration of renewable energies and storage capacities, the establishment of incentive mechanisms, for greater consumer involvement in smart trading system.
Blockchain technology is ready to change nearly every business model and market and the energy sector is no different. Energy firms around the world have also begun investigating the use of blockchain technologies and other uses in large-scale energy distribution platforms, peer-to-peer energy transactions, project finance, and supply chain monitoring and asset management. Information and Communication Technologies (ICTs) have recently begun revolutionizing the energy world and now blockchain technology offers an unprecedented chance to make the energy infrastructure smarter, more effective, more accessible and safer over the long run. The aim of this invention is to analyze the use of blockchain technology more closely for its future use in the energy efficiency industry and to evaluate whether it could make energy efficiency markets more safe and efficient in the long run. The main issues surrounding trading are data confidentiality between parties, safe trading processes and inefficient administrative processes can be addressed by implementing a smart contract framework based on blockchain. The concept comes from a community where certain residents generate electricity by solar panels or other means and can sell surplus energy to energy hungry residents. The deposits in each resident's account will be based on coins. As per a fixed contract and cost, for a given billing period, the coins shall be debited from the customer and credited to the producer. For trust and authentication, each transaction will need to be atomic and linked to a Blockchain ledger. The network will include power provider that can buy or supply electricity across the network.
A secure electricity trading can be designed using private or public blockchain. Public Blockchain is vulnerable to security threats and various types of attacks. Blockchain has several key features such as decentralization, persistency, anonymity, immutability and security among others. With the current technological development of the internet, energy trading services are moving from offline mode to online mode. Online accessing, storing and maintenance of energy transaction records have various security issues such as scattered and disjoint energy data, interoperability troubles, data security and privacy issues, scalability among other. This had paved the path for blockchain based energy trading systems research and implementation.
In the prior art, an US Patent application No. US20180288022A1 discloses systems and methods of generating wallets for discrete blockchain networks comprising of a primary and a first secondary seeds, generating an enhanced hierarchical deterministic (HD) wallet, comprising deriving an enhanced parent public key and an enhanced parent private key from the primary seed, generating a first toughened HD wallet, comprising deriving a first
toughened parent public and private key pair from the first secondary seed, deriving a first toughened primary child public/private key pair from a function including as inputs the first toughened parent public/private key pair, a first parent chain code, and the enhanced parent public key, and performing an identity registration and certification procedure for both the enhanced and the first toughened HD wallets.
In another US patent No. US10243743B1, discloses a method for exchanging value across a blockchain network comprises of receiving first and second transaction smart contracts, recording the first transaction smart contract to the second transaction smart contract, and registering global variable names and defining values thereof. The method further comprises of receiving a transaction notification and recording the transaction to the second transaction smart contract.
Reference has also been made to “A Flexible Permission Ascription (FPA)-Based Blockchain Framework for Peer-to-Peer Energy Trading With Performance Evaluation,” by N. R. Pradhan, A. P. Singh, N. Kumar, M. M. Hassan and D. S. Roy, IEEE Transactions on Industrial Informatics, vol. 18, no. 4, pp. 2465-2475, April 2022, doi: 10.1109/TII.2021.3096832, relating to a flexible permissioned ascription (FPA) scheme for peer to peer energy trading that uses on-chain and off-chain permissioning scheme via Orion and Metamask wallet. It also employs contract permissioning through a JavaScript based chain code deployed over Hyperledger Besu (an Ethereum based permissioned Blockchain network) with Istanbul Byzantine Fault Tolerant (IBFT) 2.0 consensus algorithm.
Referenece has also been made to “A novel patient-centric architectural framework for blockchain enabled healthcare applications” by A. P. Singh et al., in IEEE Transactions on Industrial Informatics, vol. 17, no. 8, pp. 5779-5789, Aug. 2021, doi: 10.1109/ TII.2020.3037889, that discloses an Blockchain enabled multi party healthcare framework using Hyperledger Fabric and Composer. They also designed the access rules for each participants and finally measured the performances using Hyperledger Caliper.
[03] SUMMARY OF THE PRESENT INVENTION
It could be summarized to democratize energy exchanges directly between producer and consumer. With the blockchain and the secure data sharing it enables, the producer and consumer can handle the sale and purchase of energy without having to go through a third
party. Our work formalizes, precisely, the protocol to be adopted by energy stakeholder, which guarantees certain properties and in particular the reduction of losses and congestion in the network, while eliminating the need for a network manager.
[04] BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be better understood and objects other than those set forth above will become apparent when consideration is given to the following detailed description thereof. Such description makes reference to the annexed drawings wherein:
1. Fig.1 is an illustration of the schematic of different modules of claimed Peer to Peer
energy trading framework using IOTA blockchain in accordance with the present invention. Referring to FIG 1, a user connected to solar panel 100 is an energy producer who sells its energy to consumer user devices 111. For our invention we used a small panel capable of charging our 12V rechargeable battery. 101, 102, and 103 is single channel low cost INA219 current/voltage/power sensor that comes in the form of a breakout board and is connected to the Raspberry PI controller pins 106. The sensor 101-103 is connected in between the battery 104 and consumer chargeable devices 111 in order to calculate the usage of energy by consumer. A potentiometer 106 is a variable resistor placed in the circuit to simulate variable power usage. We used a 12v small battery 104 with enough voltage to light up a bulb or charging mobile at the consumer side. Then, at the interval of one hour we calculated the average power usage for that period and multiply with the time (one hour) and the energy price in IOTA’s network 108 they both agree upon through smart contract. Finally, after interval of one hour, the PI automatically creates a new IOTA transaction and transfers the calculated IOTA Trinity wallet tokens 110 from the consumer to the producer address before starting a new period. The Wi-Fi module 107 and device controller 109 are used to interface with the IOTA network and consumer user devices.
2. Figure 2 is an illustration of the stakeholder’s registration and interaction in an IOTA blockchain network through the API 200. The Node.js, JOTA library and Masked Authenticated Messaging (MAM) library i.e. 201 is used to create IOTA node and network that generates seed, account addresses, MAM channel root and addresses 208, 209. Then a single or group of producers 203 aggregates their generated energy and fixes the price per unit, per time of the energy and they offer, publish, and attach to the IOTA Tangle through a lightweight MAM channel ID and address 208. The consumers who are in need of energy subscribes producer MAM channel and fetches the energy data and
offer 209. In return a single consumer or a group of consumers make queries through 200 about the request for their KWH usage per time. If the offer given by the consumers satisfies their demand, then the flow of energy transaction occurs only after a successful payment is made to the particular IOTA wallet address. This payment reduces their owned token balance. After a producer takes its share against the energy to be transferred, the flow of transaction takes place. The users communicate through an interactive java API over the IOTA network 204. The payment system is governed by an IOTA wallet addresses, namely Trinity 206.
[05] DETAILED DESCRIPTION OF THE INVENTION
The blockchain technology in the energy sector
In this section, we will first present the academic works related to blockchain technology and
its use in peer to peer energy trading.
[06] Blockchain technology integration in the peer to peer energy trading ecosystem
The energy transaction is making electric power systems increasingly volatile. The supply of renewable energy is changing due to unpredictable sources. At the same time energy consumption is also changing due to sophisticated electric appliances such as electric vehicle and human used devices. Till today we have used traditionally power plant such as fossil based energy to achieve the demand-supply balance. The major challenges in energy sector are scaling back the use of fossil fuels, limit extension of the grids, support new technology for reliable energy supply. Blockchain inherent characteristics such as decentralized platform, transparency, auditable, and irrevocable digital ledger, etc. attract many organizations to adopt. The viable solution to future energy which needs the system to be secure, efficient, decentralization with respect to energy records; digitization with respect to technologies; democratization with respect to more consumer participation and de-carbonization with respect to carbon free green energy resources, is integration of Blockchain Technology. Distributed energy system using Blockchain technology can help due to its novel characteristics and can manage the energy transaction efficiently in a real time problem. Despite all these impressive advantages, this technology faces many inherent challenges such as high energy consumption, high transaction confirmation time, low scalability, and privacy issues. To overcome the above mentioned challenges, tremendous research efforts have been underway to a new paradigm such as IOTA the Tangle and Hyperledger framework.
Description with complete specification A peer-to-peer model
[07] In this work an IOTA blockchain in P2P energy trading systems to achieve the effective energy trading and wallet transactions has been proposed. The message published by a producer is considered as a function of payload and next root to point in MAM channel as shown in equation 1. The payload is also considered as an integration of transaction data (TRdata), MAM data (MAMdata), and auxiliary data (AUdata). The payload is the integration of energy amount (KWh), date, time, participant ID and so forth as shown in equation 2. Equations 3, 4, and 5 derive the transaction data (TRdata), MAM data (MAMdata), and auxiliary data (AUdata). UPinfo is the unit price for energy. The energy trading environment is modeled assuming producer as a data publisher and published its produced energy amount, date, time and so forth through a MAM channel with his signature on hourly basis. The data along with the next root is attached in a batch wise manner. For publishing the data to Tangle the parameters are considered such as Network ID, producer ID, random seed, security level_<1, 2, 3>, channel mode_, and the callback i.e. the time interval for publishing data as shown in equation 8. The callback value for the proposed framework is considered as one hour. The proposed work aims to design and deployment of automate the transfer of energy and payment for the usage. The integration of Node.js and java client APIs makes the system easier and more interactive.
Msg = f(Payload, root) (Eq. 1)
Payload ←TRdata ‖ MAMdata ‖ AUdata (Eq. 2)
TRdata ← PID ‖ CID ‖ UPinfo ‖ Paddress ‖ Caddress ‖ Sign (Eq. 3)
MAMdata ←date time ‖ channelmode ‖ Channel ID (Eq. 4)
AUdata ←Aggr kwn (Eq. 5)
ENmsg ←root ‖ Sidekey ‖ Msg (Eq. 6)
DKmsg ←Sidekey ‖ root ‖ ENmg (Eq. 7)
PublishData ←seed<81 T ryts> + security level< 1,2,3> + Channelmode + callback + NWID (Eq. 8)
SubscribeData ←NWID + Channelmode + root (Eq. 9)
Bill ←TRID ‖ Usage (Eq. 10)
Algorithm 1: Publishing Producer Data
Input: Seed, root ID. :
Output: Publish Data, Payload ;
L: SO 4- Mam.init{iat anode, seed, secaritglevel) o Bind tlie iota.lib.Js to MAM library and initialize iota node by URL
= https:// nodes.iota:-143 to interact IOTA full node with
Tangle. SO is state object.
2: SO 4— A1 fim.changdMo(it,,(SO.chann.c\lnrtriP, Sidr,^,/) i> Use Sitfck/.y to encrypt the payload and change t',hrinnr.tmrtr!_P
to restricted.
l: Msg 4— -paytoad+tirimt-
4. nayload 4-TRlirl(rj||MJ4A/rfatll||^(/Altrl
s MO 4- Mam.create{SO, Msg) t> create (lie payload using state object and message.
it: Mam attach(payload,address) \> attach the nayload to the Tangle from the address generated from seed.
7: Mam.listen(channel,callback) t- Publish energy data after 1 hour
Algorithm 2: Subscribing Data by Consumer
Iuputi mot ID. ;
Output: SD ;
l: SO 4- Mam.inii(ti)Lanodf:t seed, seauriiytf,vei)
Mam.siih.wrib(s(iSO) TOut,channeU.Ky) ;
[> adding consumer as a subscriber
2:
4: Mam.fetch (root, sttfe^y, r,hanne.im^i,)
5: > fetch the message stream sequentially published from a known root and optional side key. Use side key to decrypt the
message.
Algorithm J: : Energy Aggregation and Trading
Input: Root, KWh price, l',lf:mfLn!i, Crf:rl,lf[B±;
Output: Bill:
Procedure Fetch Aggregate KWh:;
for each producer i = 1 to N dr>%_
each consumer j = 1 to M
': 2-gi — l t^rf^mftnji
a.
Compute lO'J'Atok&nvaiiif, = Niimher{ETate) *
Nurnber{Evalue);
4L Usage, = «ni((i>It>iuHid - C?re^i*rt) * fiftf/i-Price)
5: Bill 4- 77f,iJ||<7.'?aofi
Three algorithms have been proposed for publishing producer data, subscribing data by consumer, and energy aggregation and trading within same or different communities. Finally updating the transactions in consumers and producers externally owned accounts with their seeds and addresses are presented. The Algorithm 1 takes the producer IOTA seed and addresses to publish the data to the Tangle. The MAM channel initialization is carried out through the node setup module in iri. The MAM library is bounded with the IOTA java script library. The security level is set as 2, i.e. private and the side key is used for encrypting the producer energy payload, date time, producer ID and so forth. Similarly Algorithm 2 is used to subscribe and for fetching the data securely from the tangle by providing only channel root address. Finally Algorithm 3 is used for the energy aggregation, trading between participant and generating Blockchain records by calculating usages and bills. As an output it finds the transactions associated with energy transfer, adding transactions to the Tangle, finding the snapshot and milestone, and finally updating the energy and token value with respect to
producer and consumer. Precondition checking for energy balance is performed through Java API to find out the initial amount requested and produced. Similarly, the token balance is checked to participate in the trading process.
[08] Implementation
• Setting up an IOTA Node and Seed Generation
The IOTA node has been installed on a local machine. The IOTA node is integrated with the energy trading application. Although IOTA supports many languages, Java was used for the implementation. The Openjdk version 10.0.2 was installed in an Ubuntu 18.04.4 machine for the proposed application. The IOTA node was thereafter installed with the iri java file. IOTA node is configured by setting the parameters in the iri.ini and a script for starting the IOTA network. Finally when the node is up and running, the database and logs of that node can be ascertained. It provides two basic implementation specifications, one is iri and another is IOTA wallet. To execute the Java archive we created a script file named as startsh. The screen command is used to create node in console mode in the background. The basic configuration in iri.ini is set by setting the IRI port number to 14265, UDP RECEIVER PORT=14700, neighbors, ixi dir, headless, debug, testnet and db path. IRI port is configured so that the node is going to expose all its interfaces. The UDP receiver port is used to receive the connection from its peers to sync up its Tangle node. The neighbor's configuration has the address of neighbor of peers that node needs to create a synced up database called tangle. The IXI directory is the directory of extensions like messaging that IOTA provides. The HEADLESS flag indicates that we are not running the nodes to be connecting to a ledger wallet.
• Deployment of Nodes and Address Generation
The Node.js, Rock DB and IOTA nodes have been installed. To run the client application the JavaScript and React.js are installed. Deployment of the application is done in our local network. Both Hornet and Java IRI software are installed to run the nodes in IOTA network. It provides the facility to read and write access to the Tangle which also validates the transaction by the nodes and finally stores the transaction to the ledger. Other prerequisites are a dual core CPU, 4GB RAM, public IP address, storage docker and some other ports for internet. To, get the latest snapshot we migrated from IRI to hornet. To receive the transaction we create address. The function used for address generation are gen new address (index, count, security level). Index is the starting value for address generation. Count is the number of addresses that will be generated. We consider the security level as 2 for resulting multi-signature in the transaction.
• Setting up energy trading application by Java client (API)
IOTA nodes are run on Raspberry Pi 3 as a light node along with current and voltage sensor (INA219) for publishing to and fetching data from the Tangle. IOTA provides IOTA java which is a client API that is a thin wrapper over the JSON RPC calls. To interact with the energy trading IOTA application the API was run. Eclipse is used to setup the java IOTA client (JOTA) and ran the API through some test cases. Iota java is installed which is a repository of IOTA ledger. To interact with IOTA, we build an address through Trinty wallet which generates seeds. Further, the protocol is supplied i.e., https, host name and the port, as it is running locally. Provided the local PoW through Perl driver which is an engine that generates POW locally. Created the client separately where introducing the SSL certificate. To generate an address an IOTA needs a seed. Seed is like a password or a private key that maps to an address. We received the hashes for the tips. It is found out the effect of transaction by submitting to the API. From the Tangle explorer, we collected an address for which there is a transaction. To retrieve the transaction details like hash, address, timestamp, index values, transaction bundle, branch and trunk transaction, nonce, has been added with a list of addresses. getInputs function returns the combined balance of all the addresses available for our seed. It also transfers IOTA from one seed to the other. Passed the tips to find the milestone transaction hash. Attach to Tangle is an API that is needed to execute PoW and submitted.
• Setting and integrating IOTA Network
IOTA private network is designed, which is a collection of interconnected nodes, and each node stores a copy of the Tangle through a Hornet plug-in. The energy trading private network essential means any access to the Tangle requires permission. Testing of our energy trading application conducted in a local environment. Retrieval of data at any time in future and confirming the signed transaction has been done. The timestamp is attached at which this transaction was sent.
We Claim:
1. In our model, a novel, lightweight method, IOTA based energy trading framework that publishes producer energy data to the Tangle, consumers securely subscribes through the Masked Authentication Messaging (MAM) channel and settlement of the payment transaction is achieved by using IOTA Trinity wallet.
2. In the experimental results, we focus on energy data publishing and subscribing by producer and consumer respectively by a secure lightweight channel.
3. The protocol followed by the publishing producer data (Algorithm 1), subscribing by consumer ( Algorithm 2) takes place, at each interval of one hour, in Figure 2.
4. This invention provides scalability, quantum-proof, and high throughput of transactions at low confirmation latency.
5. The results of the obtained benchmarking indicate low confirmation latency, high throughput, system with other Blockchain platforms i.e. Hyperledger Fabric and Ethereum. Moreover, the effect of transaction rate decreases when the IOTA bundle size increases.
| # | Name | Date |
|---|---|---|
| 1 | 202231005989-REQUEST FOR EXAMINATION (FORM-18) [04-02-2022(online)].pdf | 2022-02-04 |
| 2 | 202231005989-REQUEST FOR EARLY PUBLICATION(FORM-9) [04-02-2022(online)].pdf | 2022-02-04 |
| 3 | 202231005989-FORM FOR SMALL ENTITY(FORM-28) [04-02-2022(online)].pdf | 2022-02-04 |
| 4 | 202231005989-FORM 1 [04-02-2022(online)].pdf | 2022-02-04 |
| 5 | 202231005989-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [04-02-2022(online)].pdf | 2022-02-04 |
| 6 | 202231005989-EDUCATIONAL INSTITUTION(S) [04-02-2022(online)].pdf | 2022-02-04 |
| 7 | 202231005989-DRAWINGS [04-02-2022(online)].pdf | 2022-02-04 |
| 8 | 202231005989-COMPLETE SPECIFICATION [04-02-2022(online)].pdf | 2022-02-04 |
| 9 | 202231005989-COMPLETE SPECIFICATION [04-02-2022(online)]-1.pdf | 2022-02-04 |
| 10 | 202231005989-FER.pdf | 2022-07-28 |
| 1 | SearchHistory_202231005989E_19-07-2022.pdf |