Table of Contents |
---|
Key Points
- Needs p2p DER trading system like NSF
- short schedule - lot of work to deliver by 2/2/20
- complex requirements for approver logic ( workflow, tables, services, added UI screens )
- need trading dashboard with tabs for offers, bids on the left, matched trades on the right
- manual trading in MVP, automated trading not needed until production solution
- an acre of good forest can offset 2.5 tons of carbon per year
carbon-offsets-urbanforestrynetwork-Trees Improve Our Air Quality.pdf
References
...
Industry, Project Name, Organization Name, Description and scope.
Energy Blockchain Consortium
Industry: energy management
Project: EBC - energy management
...
https://ebc-dev.sysopsnetwork.com/trade
Fabric Environment v2.2
https://hyperledger-fabric.readthedocs.io/en/release-2.2/
Fabric Node SDK docs
https://hyperledger.github.io/fabric-sdk-node/release-2.2/module-fabric-network.html
Environments
EBC github
...
08:47:46 From Jim Mason to Everyone : https://github.com/Paramount-Software-Solutions/nsf-blockchain
08:48:00 From Jim Mason to Everyone : https://github.com/Paramount-Software-Solutions/enerblock-master-chaincode/blob/master/common/structs/ebStructs.go
10:09:57 From Thomas Bereczky to Everyone : https://github.com/Paramount-Software-Solutions/ebc-approvers-api/blob/dev/src/services/accounts/accounts.hooks.js
Git vs Github Desktop
EBC DEV environment sites
mongodb compass link
mongodb+srv://dbAdmin:<password>@cluster0.pfjbe.mongodb.net/test
#mongodb compass link
mongodb+srv://dbAdmin:u3KpFTzZBEIEQLzY@cluster0.pfjbe.mongodb.net/test
mongodb+srv://dbAdmin:u3KpFTzZBEIEQLzY@cluster0.pfjbe.mongodb.net/test
use case doc
https://docs.google.com/document/d/1duVmu5pVQZ95aUb9PijtVbbH2dfG1W-B8b2pWboMl-8/edit#
github
https://github.com/Paramount-Software-Solutions/ebc-api
jm9
Syn#
couchdb
http://3.21.101.182:5984/_utils/
admin / adminpw
explorer
http://3.21.101.182:8080/#/
exploreradmin
exploreradminpw
cloud web site links
EBC API Link for dev environment -
https://ebc-dev.sysopsnetwork.com/
EBC API Link for dev approver api
https://ebc-approvers-dev.sysopsnetwork.com
EBC-UI Approver
https://ebc-frontend-dev.sysopsnetwork.com/
EBC-UI Approver
https://ebc-approver-frontend-dev.sysopsnetwork.com/
Explorer
EBC QA environment sites
Frontend: https://ebc-qa.sysopsnetwork.com/
Frontend approvers app:
https://ebc-approver-frontend-qa.sysopsnetwork.com/
EBC API: https://ebc-api-qa.sysopsnetwork.com/
EBC API Link for qa approver api
https://ebc-approvers-qa.sysopsnetwork.com
ChainAPI: http://3.136.68.231:3030
Couch:
http://3.136.68.231:5984/_utils/#
http://3.136.68.231:5984/_utils/#/_all_dbs
api server
ebc-qa.sysopsnetwork.com
EBC
A FeathersJS application
A FeathersJS server
but there is no couch right now
EBC One_app demo now
Check Mongo in DEV
accounts
...
{ "createdAt": {$gte: ISODate('04-12-2021')}}
Check API server in dev
https://ebc-api-dev.sysopsnetwork.com
Check Fabric in dev
couchdb
http://3.21.101.182:5984/_utils/
admin / adminpw
...
https://ebc-dev.sysopsnetwork.com/trade
Key Concepts
EBC Retail P2P Energy Trading Market
Use Case Concept Diagram
Architecture Concept Diagram
Test case:
model a CreateOffer transaction flow from the user browser to completion
High level Flow
Steps
- After login, user on the Web browser goes to the trades menu, offers list and selects Add Offers
- trade API server executes offers.create
- the new offer is written to Mongo
- the new offer is added to the Job Queue
- The chain API server reads the new offer request and sends it to Fabric contract using the SDK
- The Fabric GO smart contract writes the new offer to the ledger and CouchDB
Detail transaction flow
1> User on the trades menu, selects Add Offer action
...
jobs = await ctx.model('jobQueue').find({'jobName': 'CreateOffer', 'status': 'created'}).sort({'createdAt': 1});
Tiers and Layers Diagram
- Tiers
- N Tier architecture may have an external client tier, multiple service tiers ( representing a complex business services network - Access, Presentation, Services ) and multiple resource tiers ( database, media, messages etc ) as an extension of the basic 3 Tier architecture
- clear separation of roles and responsibilities on a VCN
- Layers
- Modern architecture separates responsibilities into distinct layers where possible. This concept builds on the old OSI comm layer model. With layers, you get
- clean separation of responsibilities and roles for management and governance
- ability to reuse existing services or invoke new services speeding development, delivery and improved modularity
...
for more see: https://www.educba.com/logical-architecture/
Grids partner with Solar Companies to offer no-cost solar installs
DER, VPP glossary
kva
https://www.generatorsource.com/Generator_Faq.aspx
...
A solar charge controller manages the power going into the battery bank from the solar array. It ensures that the deep cycle batteries are not overcharged during the day, and that the power doesn't run backwards to the solar panels overnight and drain the batteries.
REC - renewable energy credits
https://www.energysage.com/other-clean-options/renewable-energy-credits-recs/#:~:text=Renewable%20energy%20certificates%20(also%20known,energy%20attributes%20of%20renewable%20electricity.
Renewable energy certificates (also known as renewable energy credits, or RECs) represent the energy generated by renewable energy sources, such as solar or wind power facilities. Buying RECs is not equivalent to buying electricity. Instead, RECs represent the clean energy attributes of renewable electricity.
NE Pool for trading RECs
The New England Power Pool Generation Information System (NEPOOL GIS) issues and tracks certificates for all MWh of generation and load produced in the ISO New England control area, as well as imported MWh from adjacent control areas. In addition to the generation, the NEPOOL GIS provides emissions labeling for the New England load-serving entities by tracking the emissions attributes for generators in the region. In recent years the NEPOOL GIS has adapted to the various state RPS laws to track combined heat and power, demand response and conservation and load management certificates.
https://www.nepoolgis.com/public-reports/
https://www1.nepoolgis.com/mymodule/rpt/CertificateInfo.asp?rhid=2160732&ftType=H2O
Carbon Credits
https://en.wikipedia.org/wiki/Carbon_credit
...
There are also many companies that sell carbon credits to commercial and individual customers who are interested in lowering their carbon footprint on a voluntary basis. These carbon offsetters purchase the credits from an investment fund or a carbon development company that has aggregated the credits from individual projects. Buyers and sellers can also use an exchange platform to trade, which is like a stock exchange for carbon credits. The quality of the credits is based in part on the validation process and sophistication of the fund or development company that acted as the sponsor to the carbon project. This is reflected in their price; voluntary units typically have less value than the units sold through the rigorously validated Clean Development Mechanism.[4] The European Union's carbon credits traded from $7.78 to $25.19 averaging $16.21 per tonne in 2018.[5] Although it remains in development, it is anticipated that the value and trading of carbon credits will continue to grow particularly as several governments have committed to "green recoveries" following the COVID-19 pandemic recession.[6]
Carbon Offsets
https://en.wikipedia.org/wiki/Carbon_offset
...
With the increase of population, more specifically urban population due to densification, there is more of a demand for carbon offset.[5] Within the voluntary market, demand for carbon offset credits is generated by individuals, companies, organizations, and sub-national governments who purchase carbon offsets to mitigate their greenhouse gas emissions to meet carbon neutral, net-zero or other established emission reduction goals. The voluntary carbon market is facilitated by certification programs (e.g., the Verified Carbon Standard, the Gold Standard, and the Climate Action Reserve) which provide standards, guidance, and establish requirements for project developers to follow in order to generate carbon offset credits. These programs generate carbon offset credits provided that an emission reduction activity meets all program requirements, applies an approved project protocol (also called a methodology), and successfully passes third party review (also called verification). Once carbon offset credits are generated, any buyer may purchase them; for example an individual may purchase carbon offsets to compensate for the emissions resulting from air-travel (see more on Air-travel and Climate).
EPA REC concepts
https://www.epa.gov/repowertoolbox/state-solar-renewable-energy-certificate-markets
...
Map of State Renewable Portfolio Standards (RPS) with Solar or Distributed Generation Provisions (PDF) (1 pg, 116K)The Database of State Incentives for Renewables & Efficiency (DSIRE), operated by the N.C. Clean Energy Technology Center, is the most comprehensive source of information on incentives and policies that support renewable energy and energy efficiency programs in the United States. DSIRE provides state-specific information on RPSs with solar carve outs or provisions.Database of State SREC ProgramsDSIRE, operated by the N.C. Clean Energy Technology Center, is the most comprehensive source of information on incentives and policies that support renewable energy and energy efficiency programs in the United States. This table provides details on state-specific SREC programs, including which type of entities are eligible for the program, what size and type of solar systems are eligible, and information on the financial incentive offered.Solar Renewable Energy Certificate (SREC) Markets: Status and Trends (PDF) (58 pp, 1.2MB)SREC markets have emerged in U.S. states as a method to meet compliance with solar carve out provisions of RPSs. This report, produced by The National Renewable Energy Laboratory, provides an overview of the SREC market and design, as well as the market trends and key issues facing SREC markets. The report was published in 2011, so some information may not be up-to-date. For more recent information about specific policies in your state, check out DSIRE or contact your state’s energy agency.
REC trading concepts
https://www.epa.gov/greenpower/renewable-energy-certificates-recs
- What is a renewable energy certificate (REC)?
- How do RECs work?
- What is the legal basis of RECs?
- What is REC Arbitrage?
- What is the Difference Between RECs and Offsets?
Greenpoint energy management services
Custom Programs
Fully customizable and white-labeled enterprise solution
...
GREENERMILES
An eco-friendly fleet mgt
Carbon technology
Carbon life cycle in the ocean: algae, fungus etc
https://phys.org/news/2021-06-fungus-fast-track-carbon.html
carbon-bio-cycle-phys-Fungus creates a fast track for carbon.pdf
Enerblock concepts
from HLR doc v2
...
Virtual Power Plant framework enabled by blockchain to monitor and trace electricity generated, monitor and transfer electricity from energy storage assets, and produce the requisite tokenization strategy.
Tokenization
Tgen
Power Generation: Tgen tokens created
Kwh
5 minute intervals (beginning)
15 minute intervals (Advanced)
When Charging a Battery: Tgen token is exchanged for the Tstorage token and burned
Operating a Load
Tgen tokens are burned
The operating load would be buying the token at some price, and presumably the asset owner can offer both the Tgen token and the Tstorage token to the operating load (representing the grid) at any given point in time.
Rate
Date/Time
Tstorage
Token Burn Algorithm
Sets tokens aside if it thinks they're not required based upon extrapolations from historical data, but burns them after verifying the capacity has fallen and necessitates the burn using interpolated data at various points.
Must account for different battery burn rates, which is a function of battery discharge and battery lifetime
Other P2P energy trading systems
Tokens in DER systems
Token concepts
- Energy Token -
- Stored Energy can be recorded as an NFT for an expiring asset ( Non-fungible token ).
- The energy token is minted when the energy is created as a unit for an account device
- The energy token is a charge in a battery that decays over time which should be reflected as a standard rate of decay
- The energy token is burned when energy is consumed
- The energy token can be transferred to another party in a trade but there are fees for the trade ( a platform transfer fee and a distribution charge on the grid )
- on the trade, the original energy token is burned, the energy transferred via the grid to the buyer mints a new token
- if the grid "buys" the energy, the original token is burned, the energy transferred to the grid in the purchase but no new token is created
- Rewards Token
- a standard Utility token can be created for the platform to reward specific activities by each party
- Payment Token
- a payment token on the platform can be created to reflect when payment tokens are purchased ( minted ), payments are earned ( minted ), when they are spent ( exchanged ) or redeemed ( burned ) for actual payments to a bank account.
- The payment token can be limited to the platform ( vs a public stable coin like USDT, USDC etc ).
- They payment service can purchase tokens or redeem tokens from a bank account using the ACH connection for a very low fee ( $1.10 )
- The option exists to handle payments using a stable coin ( like Tether USDC etc )
- Those stable coins have higher fees but offer digital custody services etc that our platform would not if we use our own payment tokens
- Concerns for stable coins are actual fees to operate, digital custody and reserve requirements, governance and compliance with banking regulations ( which state ? Wyoming or ? )
- Governance Token
- we have no defined need for a governance token to control how the platform itself operates at this point
...
The purchase, exchange and redemption of payment tokens can be done directly using our token service to a client bank account on an ACH transfer or using APIs to a stable coin service our clients would be required to register with
EBC Setup - Test Environments - docs
Testing API services locally
Frontend startup
frontend call ...
npm run startLocal
( script )
ebc-api startup
ebc-api call
NODE_ENV=devLocal PORT=3030 npm start
Changes to ebc-api app
added package.json scripts
...
// REACT_APP_API_URL=https://ebc-api-dev.sysopsnetwork.com/
REACT_APP_API_URL=http://localhost:3030/
Changes to ebc-frontend-app
config folder has json config files for each environment
...
const { AuthenticationService, JWTStrategy } = require('@feathersjs/authentication');
const { LocalStrategy } = require('@feathersjs/authentication-local');
const { expressOauth } = require('@feathersjs/authentication-oauth');
module.exports = app => {
const authentication = new AuthenticationService(app);
authentication.register('jwt', new JWTStrategy());
authentication.register('local', new LocalStrategy());
app.use('/authentication', authentication);
app.configure(expressOauth());
app.service('authentication').hooks({
EBC Test Environment Setup Examples
Code Block | ||||
---|---|---|---|---|
| ||||
---------------------------------------------------- devops access for dev env nsf-api.sysopsnetwork.com or web app at https://enerblock.sysopsnetwork.com/ 1> create a client key pair w puttygen use puttygen to generate key pair save private key w pass phrase .. jm+ save public key as pem file .. send public key to server to load setup pass on prv > jm+ valid nsf-api pkey = jmason-pkey.ppk valid nsf-fabric pkey = jmason-pkey3.ppk puttygen, after load, shows the public key for the private key to copy 2> connect on openvpn jimstOVOTAtivlp$aKo8wesjim use openvpn connection jim w pwd 3> open terminal w putty ssh run putty ssh load private key w phrase create conenction nsf-api url nsf-api.sysopsnetwork.com loginr 4> open robo3t connection robo3t connection nsf-api url nsf-api.sysopsnetwork.com 27017 uses ssh prv key - no SSL ( its vpn ) with openvpn no need for ssh tunnel nsf-api.sysopsnetwork.com 5> postman client import postman lib export and run in postman for nsf-api lib postman api import postman nsf test collection https://documenter.getpostman.com/view/5352743/SzS5v6ok?version=latest then run postman initial test fails GET /accounts HTTP/1.1 Host: localhost:3030 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6ImFjY2VzcyJ9.eyJpYXQiOjE1ODM3OTcxMTIsImV4cCI6MTU4Mzg4MzUxMiwiYXVkIjoiaHR0cHM6Ly95b3VyZG9tYWluLmNvbSIsImlzcyI6ImZlYXRoZXJzIiwic3ViIjoiNWU2MmMxYTBjYzE5YzAzMGE2YjFjNGNiIiwianRpIjoiNzcxMTg5ZjMtZWM5YS00OThjLTliOWUtN2I2ZjE2MmM0OTM3In0.XrmEn2Sff6Z3U9q7XdleoU0-2YZHKhrcPxUuipb_jV0 cache-control: no-cache Postman-Token: df9ced11-c722-4843-83aa-d9dfe2e6d730 https://blog.postman.com/2018/08/09/postman-release-6-2/ 6> Fabric server putty access ... Open putty load the profile ps-nsf set the ip address to: 3.14.248.223 save the profile as nsf-fabric open login ubuntu 7> Location of NSF Fabric CouchDb http://3.14.248.223:5984/_utils 8> Enerblock Web app https://enerblock.sysopsnetwork.com/register https://enerblock.sysopsnetwork.com |
Local NPM builds
npm run build
npm install -g serve
serve -s build
localhost:5000
this url works now - direct call to the active AWS zone
http://ebc-frontend-dev.s3-website.us-east-2.amazonaws.com/
Run apps on Local system
NODE_ENV=devLocal port=3030 npm #dev
Feathers queries on GET requests
https://ebc-api-dev.sysopsnetwork.com/bids?accountId[$ne]=6008f9791404d97cb59bd982&$limit=10&$skip=0
...
{{base_url}}/bids/?accountId[$ne]=6008f9791404d97cb59bd982&status=open&createdAt[$gte]=2021-02-22
Key Env Tasks
remote
aws
mongo / mongoose
github
...
hlf v2.2 - GO
React / Redux
local or my aws
ubuntu
mysql or mongo / mongoose
...
hlf v2.2 asset xfer samples tests
Key Engineering Tasks
--------------------------------------------
a>> create a production design doc in gdocs
--------------------------------------------
non-functional production requirements
- The 12 SWT solution themes
- 12 Factor app model for services solutions
- OWASP 10 factor security considerations - data in-flight, at-rest, in-process
- identity methods supported - userId-pwd, digital identities for people?
- device ids, credentials with expirations
- digital id, crypto recovery models for accounts, devices
- KMS - key management system - KeyChain software eos ?
- handling key rotations for transactions and queries over time
- additional design, test and user documentation
- support for multiple microservices in feathers or other frameworks
- support for functional authorization by role
- support for data authorization by role
- consider automated testing options for API, database, Fabric, UI
- feathers support for microservices, authorization models, external service integration, extended models based on views with edit rules
- configuration support by environment
- real-time screen updates for selected elements using web sockets
- consider UI options for Web, Mobile interfaces
- persistent messaging services as an option to replace the database transaction tables based on performance tests ( Mongo tables or Kafka ?? )
- rethink what is stored on the ledger
- consider a logical global transaction id linking database and ledger updates ( like the last TXID ) now
- consider IoT integration services ( Nodered or Kafka or MQTT or ?? ) for solar smart controllers
- review IoT device integration standards for solar controllers and test with Elcrow PI
- define analytics module for the home owner, for the grid operator showing consumption and production trends, purchases etc
- consider the automated trader feature based on policies
- consider the trade planner feature
- user accounts need policies
- integrate device data to the user account system
- evaluate a rules framework for feathers or ?
- consider Grails for master table maintenance
- decide on Mongo vs MySQL for JSON data
- review CICD pipeline and related tests
- consider better automated management of crypto artifacts in Fabric and usage by the application for signed transactions etc
- consider better event pub sub services model for streaming events
Key Design Tasks
WP headless CMS
Object Context
Use Case Scenarios
RDD Features
Data Models
Payments with Stripe
Object Context
Use Case Scenarios
RDD Features
Data Models
Account Management
Object Context
Use Case Scenarios
RDD Features
Data Models
Product Management
Object Context
Use Case Scenarios
RDD Features
Data Models
Order Processing
Object Context
Use Case Scenarios
RDD Features
Data Models
Sales Analysis by Account, Product
Object Context
Use Case Scenarios
RDD Features
Data Models
CDD for Non-Functional Features
eg environment items: security, performance, RAS, RTO, RPO, onboarding, authn, authz
Blockchain Concepts
Object Context
Use Case Scenarios
RDD Features
Data Models
Key Dev Tasks
test nsf-api - feathers.js
https://github.com/Paramount-Software-Solutions/nsf-api
...
grails ....
create app
create domain classes - gen edit
create controllers
create views
hlf v2.2 nodejs example
Key Test Tasks
Test info
Base URL
https://nsf-api.sysopsnetwork.com/
...
https://documenter.getpostman.com/view/5352743/SzS1SoR6?version=latest
Postman NSF API setup
Code Block | ||||
---|---|---|---|---|
| ||||
Export an existing NSF collection library Import the library and select run in Postman button Duplicate the collection and edit the duplicate setup environment variables to use in URLS and body clauses In Postman, http://{{rhost}}:3030/accounts use url without port to allow server proxy redirection http://nsf-api.sysopsnetwork.com/accounts postman quick reference guide pm.environment.get("rhost") in a script |
Postman Testing NSF REST api
Code Block | ||||
---|---|---|---|---|
| ||||
---------------------------------------- NSF API - create new user in dev in postman ---------------------------------------- sequence ... *** ensure correct url == https:// and host nsf-api.sysopsnetwork.com --------------- 1> create a new user auth = no auth https://{{rhost}}/accounts { "firstName": "Jim", "lastName": "Mason", "email": "jmason900@yahoo.com", "password": "Skyler@00" } << sends a verification email with a custom verification token --------------- 2> verify user token auth = no auth https://{{rhost}}/authManagement { "action": "verifySignupLong", "value":"1b6cb27b711d01a0396baaccc8108b" } >> substitute correct token from the verification email --------------- 3> authenticate user ( login ) auth = no auth https://{{rhost}}/authentication << returns a Bearer token for the session use test script to set the token for the environment pm.environment.set("jwt", response.accessToken) --------------- 4> after login, run all methods with the Bearer token variable from the environment auth = Bearer token ---------------------------------------- verification url fails ---------------------------------------- https://nsf.sysopsnetwork.com/verify?token=1b6cb27b711d01a0396baaccc8108b |
Problems with UN SDG s and SDG18
...
In a world the other 17 goals are all negatively impacted by population growth and there is no goal to limit the population growth, then SDG18 can be assumed as implicit support for population growth. All the actions on the other 17 also encourage population growth. The behavior of governments and NGOs and many corporations is that population growth must be valuable and good even though none of them directly express that goal.
Potential Value Opportunities
pilot = 2 yrs
prod at national grid after = 2 yrs
...
gsearch - bc poc report
see JIRA, HLR, BOA, bcp folder
diagrams for
use cases
bpm data flows
EBC MVP report model
https://www.hyperledger.org/wp-content/uploads/2019/11/HL_SolutionsBrief_ReduceCost_V8.pdf
overview
poc goals, value add
poc reqmts map to HLR use cases register user account, create assets, load transactions,
poc environment
poc development
poc testings & findings
poc summary
production architecture
production features
next steps
Candidate Production Requirements
production requirements are driven by functional and non-functional requirements supplied by EBC.
Candidate requirements include:
- The 12 SWT solution themes
- 12 Factor app model for services solutions
- OWASP 10 factor security considerations - data in-flight, at-rest, in-process
- identity methods supported - userId-pwd, digital identities for people?
- device ids, credentials with expirations
- digital id, crypto recovery models for accounts, devices
- KMS - key management system
- handling key rotations for transactions and queries over time
- additional design, test and user documentation
- support for multiple microservices in feathers or other frameworks
- support for functional authorization by role
- support for data authorization by role
- consider automated testing options for API, database, Fabric, UI
- feathers support for microservices, authorization models, external service integration, extended models based on views with edit rules
- configuration support by environment
- real-time screen updates for selected elements using web sockets
- consider UI options for Web, Mobile interfaces
- persistent messaging services as an option to replace the database transaction tables based on performance tests ( Mongo tables or Kafka ?? )
- rethink what is stored on the ledger
- consider a logical global transaction id linking database and ledger updates ( like the last TXID ) now
- consider IoT integration services ( Nodered or Kafka or MQTT or ?? ) for solar smart controllers
- review IoT device integration standards for solar controllers and test with Elcrow PI
- define analytics module for the home owner, for the grid operator showing consumption and production trends, purchases etc
- consider the automated trader feature based on policies
- consider the trade planner feature
- user accounts need policies
- integrate device data to the user account system
- evaluate a rules framework for feathers or ?
- consider Grails for master table maintenance
- decide on Mongo vs MySQL for JSON data
- review CICD pipeline and related tests
- consider better automated management of crypto artifacts in Fabric and usage by the application for signed transactions etc
- consider better event pub sub services model for streaming events
- transaction replay support
References for Production Architecture
Design Node.js Backend architectures
https://afteracademy.com/blog/design-node-js-backend-architecture-like-a-pro
Production Design Concepts - Tony
Development Plan of Release 1.0 is coming But we’ll start with a simple framework
Let’s start with a simple framework with some mock functionality. This is work for only 1-2 weeks and does not need to be very sophisticated. Just functional.
...
Step 6: Do research on open source White Label NFTs and how can we use that to build EBC’s NFT Marketplace. Also do research on “Gas” fees on Ethereum network and the cost. If the cost of NFT minting is say $40 of gas fee etc, and our NFT is $10 then it makes no sense for the NFT owner to pay $40 and g $10. Provide top 2-3 options.
Best
Tony
Recommendations for the Digital Voluntary and Regulated Carbon Markets - 2023 - WE Forum
...
2.4 Interoperability and transparency across exchanges and platforms
3 The time is now
Carbon Market Challenges
Lack of transparency, integrity and confidence in the monitoring, issuance, sale, retirement and benefits distribution of carbon credits, as well as in third-party certifications
- use of certification standards, Certification bodies, independent - licensed certifier organizations
- online marketplace showing registered parties ( producers, consumers, certifiers, projects, standards orgs ), project status and types, inventory life cycle mgt, order life cycle, delivery life cycle, taxations, my carbon stories, wish lists, private sale lists, histories downloadable, AMM smart pricer, bids and offers
- mobile, web, api access models
- SLT based on trusts, scale
...
Inaccessibility, inequity and lack of participation in carbon markets by women, local communities, smallholder land stewards, Indigenous people and other vulnerable populations
Insufficient scale to meet climate commitments
Potential Challenges
Improving authentication for EBC MVP applications
To meet an unrealistic MVP deadline from the client, we created 2 separate services: one for users trading, one for approvers
...
IF we had more time, funds, a long-term design would use a different model to support different user types and functional authorization
A plan to consolidate the existing MVP solution into a single app and integrated user database
- Consolidate the trade and approver applications into one application
- Change the trade and approver services to use a single authentication token
- Change the account and approver tables to have the SAME identity for any user that is in both tables
Production architecture is out of scope on budget, time now
- Create a new registration solution that incorporates the existing approver table functions
- Create a new authentication service that supports the added approver functions
- Extend the authorization model to support specific RBAC - role based access control - beyond the base roles of user, approver
- Extend the authorization model to support data contexts beyond the limited model in the MVP
MVP2 Challenges
- Client planning gaps for MVP2
- client disappears for 10 weeks to create a "capabilities" specification
- client says it will only take 2 weeks to implement because they are experts on the web technologies used
- client spec is not a design and has many logical, process and data gaps to be filled ( BUT "design not needed" )
- client thinks coding and design can start day 1 not understanding an Agile process has design before coding
- Our team on EBC MVP2
- had 2 people from the prior EBC effort. One was an excellent developer.
- 6 new people added, only 1 from Paramount
- QA person can only manually test UIs, no APIs, no data analysis
- Documentation person didn't have significant role since design had run concurrent to development on the SAME stories
- 2 senior UI developers really are junior level only
- The new UX designer is first class
- HR function is weak
- high pressure, short-term projects are not the place to "train" new teams
- Factory approach to software solutions missing
- Need open standards based platform, technology stacks
- Improve solution value, flexibility, portability avoiding custom cloud services in cloud environments
- Architect solutions as assemblies of common component services ( data services, content services, security services, visualization services, management services, IAM services, JEPL event process services, etc )
- factory pays increasing dividends over time as the services stack value grows to build applications faster, flexibility with better quality over time
- replace large developer teams with fewer, better paid senior developers that can build factory services and deliver solutions on the factory
- compare Feathers, Grails, JHipster on full stack automation
- Carbon Offset Solution Values
- carbon offsets are a payment ( by carbon ton ) from a carbon emitter to a carbon reducer who reduces CO2 output elsewhere ( eg a Tree farm, Solar farm, Wind farm etc)
- https://en.wikipedia.org/wiki/Carbon_offset
- https://www.offsetguide.org/understanding-carbon-offsets/what-is-a-carbon-offset/
- https://www.treehugger.com/best-carbon-offset-programs-5076458
- terrapass sells carbon offsets retail at about $10 per ton. Retailers offer monthly subscriptions based on your carbon footprint.
- mm
- more
Carbon accounting concepts and solutions
Carbon Credit Price Per Ton in 2023 (and Every Other Year)
...
how much carbon does an acre of forest remove in a year
When you run the number, it turns out that one acre of forest absorbs about 2.5 tons of CO2 per year.
Regen Marketplace
https://guides.regen.network/guides/regen-marketplace/bridging/regen-ledger-to-polygon
Bridging - move carbon credits from Polygon / Toucan to Regen marketplace and vice versa
https://app.regen.network/projects/1
VCU - Verifiable Carbon Units
https://app.regen.network/credit-classes/C01
This credit class provides a vehicle for nature based Verified Carbon Units (VCUs) to enter the blockchain space via issuance on Regen Ledger. It can be used by project developers, credit brokers, and other stakeholders interested in digitizing carbon credits issued by the VCS program to make them available in the emerging world of decentralized finance.
blockchain for carbon credits concept
nature-based-solutions. These can be generally grouped into two categories — Carbon Emission Avoidance or Carbon Removal. Although not a completely exhaustive list, here are some of the most common NBS solutions in the space:
- Reforestation — these additionality credits are generated from activities that involve planting trees in an area where the forest had previously been cleared or destroyed. These projects are either terrestrial (land-based), or wetland (marine or freshwater), such as mangrove restoration projects.
- Afforestation — generated from activities that involve planting trees in areas where there was no forest previously.
- Agroforestry — generated from activities that involve the integration of trees into agricultural landscapes, such as intercropping, alley cropping, and silvopastoral systems.
- Peatland — generated from activities that involve the protection and restoration of peatlands, which are among the most carbon-rich ecosystems in the world.
- Conservation — generated from activities that involve the protection of carbon-rich ecosystems, such as rainforests, savannas, and grasslands.
- Avoided Deforestation — generally refers to the conservation of any forest area that would have otherwise been destroyed for commercial purposes.
key players in the ReFi industry today.
Flowcarbon — Flowcarbon operates at the intersection of carbon and new technology in order to protect earth’s natural carbon sinks and scale quality carbon reduction and removal projects, on-chain
Toucan — Toucan’s primary mission is to create public infrastructure for carbon markets running on open blockchains
Senken — a gateway to buy, retire, and sell carbon credits on chain in a transparent and trackable manner
Regen Network — ecological assets for the ReFi economy: Regen bridges between real life ecological impact and the incentives that web3 finance provides.
Moss — Using tokenization of specific carbon credits as well as NFTs, the MOSS MCO2 token represents tokenized carbon credits from projects directly working to prevent deforestation and protect the Amazon rainforest.
dMRV: The Foundation of Carbon
We’ve talked a lot about carbon credits, carbon markets, and our friends in the ReFi space who are using these mechanisms to create groundbreaking, digitized environmental solutions. But the pot is still boiling: HOW are we confirming that all the carbon being traded, exchanged, accredited, retired, and showing up on marketplaces, is actually legitimate? That 1 tonne of carbon really is being sequestered and that tonne of carbon is represented by a token? Enter digital Measurement, Reporting, and Verification (dMRV), and by extension, Open Forest Protocol.
MRV, Measurement, Reporting, and Verification, is a pillar of legitimate carbon, on or off chain. It is the foundation for all manner of climate mitigation efforts, from energy reduction to reforestation. It is the integral step in proving an intended impact has been achieved. As a framework, MRV is essentially how you take real world carbon removal activity data, and convert it into a tradable asset (the credit). MRV is the backbone of the carbon market.
Within the context of forest monitoring, MRV involves three interconnected procedures:
- Direct Measurement of data (such as tree height, diameter, species, on-site photos, etc.).
- Standardized data Reporting by compilation into an inventory.
- Verification of reported data to ensure reliability and validity.
So far, with legacy systems, MRV has been siloed, expensive, opaque, and often inaccessible by the projects and initiatives on the ground. It has seen only partial attempts at digitization and as a result is a clearly identified bottleneck between the market’s demand signals and the capacity for the market to respond with additional supply. The chain of command can be complicated and difficult to navigate — to read more on the ins and outs, head over to our MRV piece.
Due to a lack of transparency, MRV is prone to dishonesty which has eroded trust in the carbon financing system as a whole. It’s time for a ground-up rethinking and application of appropriate technologies to create a better system.
Blockchain technology — an immutable, globally accessible ledger of project data — ensures a transition to an on-chain carbon management system and market that is the first of its kind in the world, connecting supply and demand in a way that surpasses that of any current industry. .
Toucan - scale the impact of planet-positive projects by turning carbon credits into tokens with Toucan's infrastructure
Tokenized carbon allows for both large and small buyers to engage with carbon, with lower barriers to entry and more transparency.
Increase the value of your carbon credits
Access new sales channels and increase the value and transparency of your carbon projects by bringing them on-chain into the Open Climate Registry
Toucan Web app
https://app.toucan.earth/overview
https://github.com/ToucanProtocol
https://docs.toucan.earth/toucan/introduction/readme
https://developer.toucan.earth/
Carbon Bridge to other chains
Our Carbon Bridge allows owners of carbon credits from verified sources to link each one to a unique digital token called a TCO2. These are stored in a smart contract on a blockchain database called the Open Climate Registry.
Carbon SDK + API
Help us scale climate solutions by using our developer toolset to build tokenized carbon into your next project.
Carbon Pools
Carbon Pools hold similar carbon tokens, which back liquid carbon reference tokens like NCT. These can be traded on exchanges and used in products built on the Toucan Protocol.
Carbon Retirements
Offset emissions by purchasing and retiring carbon from specific projects and vintages - using our Open Climate Registry and retirement functionality.
Value opportunities for carbon
Earn interest on carbon
Access new ways of turning carbon credits into productive, yield-bearing assets.
...
Diversify treasury or portfolio holdings with tokenized real-world carbon credits.
What is ReFi — The intersection of crypto and climate
https://www.linkedin.com/pulse/what-refi-intersection-crypto-climate-mitchell-board/
carbon accounting references
Towards Ontology and Blockchain Based Measurement, Reporting, and Verification For Climate Action - SSRN-id3717389.pdf
https://wiki.hyperledger.org/display/CASIG/Voluntary+Carbon+Offsets+Directory+Research+Project
References
- Securing Climate Benefit: A Guide to Using Carbon Offsets
- Voluntary Ecological Markets Overview by IWA - this document is really about carbon offsets despite its title.
- EDF Trends in Voluntary Carbon Offsets Market
- These Countries have Prices on Carbon. Are they working? (NY Times)
- Taskforce for Scaling Voluntary Carbon Markets Final Report
- Microsoft Carbon Removal - Lessons from an Early Corporate Purchase
- Microsoft Criteria for high-quality carbon dioxide removal
Ratings and Criticisms of Carbon Offsets
A buyer’s guide to soil carbon offsets - Carbon Plan
- BeZero Carbon Ratings Methodology
- The World Needs Better Climate Pledges
- Comments on the Initial Recommendations of the Taskforce on Scaling Voluntary Carbon Markets (TSVCM) from Berkeley Carbon Trading Project and affiliated groups
- Startup That Rates Carbon Offsets Finds Almost Half Fall Short
- Top Airlines’ Promises to Offset Flights Rely on Phantom Credits
- NPR Reporting on Forest Carbon Credits Gets It Wrong in 5 Ways
- Carbon Direct Commentary on Release of the Voluntary Offsets Database
- How Additional is the Clean Development Mechanism
...
https://github.com/opentaps/blockchain-carbon-accounting/blob/main/open-offsets-directory/README.md
The Carbon Offset Marketplace - reference model
...
Individuals and organizations purchase carbon offsets to counter-balance GHG emissions. Therefore, the final buyer has no interest in reselling the offset but will prompt the retirement of the carbon offset credit
Carbon Value of a Tree Farm
How much Co2 do trees absorb?
We had a reader reach out to us with a question I had never really thought about. He asked, “How much CO2 do trees absorb?”. As the answer took some time to research and is a little long-winded, I thought I had better create a post for anyone else wanting to know.
When discussing CO2 absorption by trees, it’s important to remember that elemental carbon locked within the tree differs from carbon dioxide absorbed from the atmosphere. We should note that not all trees absorb the same amount of CO2.
Project Management Challenges
7/13/21 Next Steps
We have wrapped Sprint 1 new features.
...
Sprints for Carbon Mgt App
Sprint 5 Retro
retro.jim>
bad > need better coverage between stories in epics and the actual work getting done
bad > need better job on matching stories to epics every time
bad > need better job of finding the matching story list for an epic when we do customer reviews ( as Amir has been doing )
bad > need better indication of blocked items ( eg a dependency on Word press server environment etc )
bad > need better backlog grooming prior to Sprints ( Jim, Shilpa )
bad > took too long to resolve the blockchain usage model for this app ( vs trading app ) ( Tony, Jim )
good > responsive to customer in our weekly status review meetings
good > work getting done in specific instances by developers
QA environment not setup for Chain API
Frontend and api apps are setup in QA correctly
No AWS environment has been setup for the Chain API in QA
Strategy - minimum work to demo Fabric contracts
Option 1 - test locally to DEV environment on Chain API
create local version of ebc-v2-api that points to Mongo ebc_dev_v2 database
...
view results in Mongo DEV and couchDB DEV
Option 2 - create Fabric environment in QA
Option 3 - reconfigure Fabric DEV environment to be Fabric QA environment
Candidate Solutions
Carbon Offset Production Using Seaweed feed for Cows
https://www.cbsnews.com/news/seaweed-methane-emissions-cows-gas-climate-change/
Managing carbon effectively for ESG
https://www.globalcarbonesg.com/
Learn how we combine carbon sensors, IoT, and Blockchain to help you baseline and manage your carbon footprint.
IBM puts carbon certifications on blockchain
Revolutionizing renewable energy certificate markets with tokenization.pdf
enterprises purchase Renewable Energy Certificates (REC) which represent 1MWh of zero-carbon electricity generated by another entity. The seller of REC could be outside the region or country the enterprise is from. The enterprises then use the RECs to offset their carbon footprint and be compliant with regulations on carbon emissions and green standards.
Companies are looking to newer solutions to capture, analyze and report Environmental Sustainability Goals (ESG) information and reduce their environmental impact. A decentralized and immutable blockchain network, which leverages enhanced characteristics of distributed ledger technology (DLT) can greatly increase the adoption of energy certificates and ensure consumption closely matches the generation.
cumbersome carbon accounting process becomes simplified with significant cost savings, as smart metering and automations are introduced.
exchange of different amounts of energy and granularity of energy certificates. For example, energy certificates can be traded in smaller program time units (PTUs), such as the case of hourly certificates, becoming more in cadence with clearing and settlement
commercial-scale blue hydrogen, derived from natural gas and carbon capture and storage (CCS) and green hydrogen, produced from renewables-based electrolysis processes. This has led to surge in hydrogen project announcements working in conjunction with both the gas and renewable sectors. The energy generation using hydrogen and other mixed sources have some CO2 emission associated and needs to be captured in the certificates.
wide variety of implementations for tokenizing energy certificates, coupled with the fact that they are often at an infancy stage, call out for defining industry standards towards interoperability between networks in different geographical regions across the globe.
self-funding ecosystems are leveraging Ethereum-based (ERC-20) solutions by introducing a dual layer of tokenization. The purpose for public platforms of supporting two layers of tokenization is to provide end-users access to use their platform and contribute to corporate revenues and create exchangeable tokens encapsulating energy certificates.
P2P energy trading
A similar system is being developed by Power Ledger. With its own unique trade matching algorithms, prosumers and consumers can transact available power equitably, without favoring any of the participants. Other characteristics of this platform include pegging of native tokens to a local unit of currency and aggregation of individual meters in a single transaction. The trading group can be configured by either their application host or Power Ledger. WePower also offers an alternative solution on exchanging energy certificates via its native WPR token and auctions. WePower launched a financial derivative product, called Contract for Difference, to mitigate risk in corporate power purchasing agreements (PPAs).
ESG reporting on carbon
As organizations are by now committed to contribute to the Sustainable Development Goals (SDG), there is a need for an elegant solution which enables them to calculate carbon footprint and assist in creating their ESG reporting.
Tokenize energy certificates and reporting
solution (enerT) to tokenize energy certificates using Hyperledger Fabric and Tokens-SDK. Tokenization of energy certificates in a DLT platform can offer an intelligent solution with regards to full disclosure certification of energy. In addition to the amount of energy generated by mixed sources, tokens created in the network could also store other useful characteristic such as CO2 emissions in the energy supply chain.
A tokenized energy marketplace would offer a wide range of trusted certificates in terms of energy types and origin. Such a network would allow suppliers and consumers to trade energy certificates efficiently and inexpensively. A tokenized certification unit would be like what the container did for the shipping industry.
Google Maps GPS API
https://www.businessinsider.com/how-to-find-coordinates-on-google-maps
Currency Codes and Conversion Rates
currencyCodes
currencyConversionRates
...
http://www.portfolioslicer.com/data/file-currency-conversion.html
Meetings
EBC DER trading POC schedule
Jan 5 accounts app works
demo accounts to database again
demo account, device from script to ledger
a> need to move front-end logic to feathers client
...
Jan 26 Sprint 5 - trades begins
membership certs for accounts
Step-by-step guide for Example
Info |
---|
sample code block
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Recommended Next Steps
Related articles
Page Properties | ||
---|---|---|
| ||
|
...