·33 min read

Call for a Consortium Blockchain Registry for Biodiversity Net Gain (BNG) Units

bngblockchainlandscape recoverytech leadership
A call to arms!

Biodiversity Net Gain is moving fast, our climate and ecosystems urgently need our help, but our infrastructure for trust is lagging behind.

Right now, voluntary biodiversity units are tracked in siloed registries and proprietary platforms – brilliant work from teams at Kana, Gaia, Earthly / Environment Bank, CreditNature, RePlanet, Plan Vivo, Verra, Wilder Carbon and others. But there is still no shared, neutral, tamper-evident ledger sitting underneath all of this that can prove, for the common good, that a unit was only ever issued once, sold once, and retired once over 30+ years.

If we’re serious about nature markets as critical public infrastructure, we can’t keep relying on fragmented databases and “just trust us” spreadsheets. We need cooperation at the base layer: a consortium or public-chain backbone – using something like Hedera Guardian, Hyperledger Fabric, or similar – where multiple standards and registries can write to the same append-only audit trail, while keeping their own methodologies, brands, and customer relationships.

So this is a genuine invitation: If you’re working at any of the organisations above (or adjacent to them) and this resonates – or you strongly disagree – let’s talk. What would it take to co-design a shared ledger for biodiversity units that none of us owns, all of us can verify, and future generations can rely on? 🌱🔗

Introduction

I've been investigating ways to make an internal database registry more trustworthy and externally verifiable, and stumbled upon blockchain as a potential solution. So I decided to invest some time understanding the basics and summarising this blog.

Generating a learning plan

The first step was to craft a learning plan. I know there are tons of resources out there like courses on Udemy/Coursera/EdX, etc., but I have had a good experience in letting AI draft a learning plan that is suited to my style of learning. I learn best by "doing", attempting to build toy models, little proofs-of-concept, etc. My goal was to get from zero-to-hero in a single day, and had been advised to check out https://hedera.com/, so folded this into the plan.

So the next step was crafting a prompt. I have a custom GPT "prompt refiner" that I use to improve my prompts, so I described the context, who I was and knowledge-levels, the problem statement, and the specifics of the learning plan I required. It spat out a much better structured prompt, which I then fed into a brand new chat.

This was the detailed research plan I ended up with:

Research plan (click to expand/collapse)

I’ll break this into:

  1. Short course / micro-learning recommendations (3–8 items)
  2. A detailed 1-day, hands-on Hedera spike plan (with deliverables + future work per block)
  3. Architecture sanity check & alternatives

1. Short courses & micro-learning recommendations

I’ll keep this tight: 6 items total, mapped to your needs:

1. Coursera – Blockchain: Foundations and Use Cases (ConsenSys)

  • Why it’s relevant Very concise but surprisingly deep intro to blockchain as a trust and auditability technology: consensus, immutability, token models, and supply-chain / asset tracking use cases. Good mental model prep for your biodiversity ledger design. (Coursera)
  • Approx length Officially ~9–10 hours across 5 modules; you can skim the early “what is blockchain” bits and focus on architecture/use cases in ~4–5 hours. (Coursera)
  • Fit after the 1-day spike After you’ve built your PoC, take 1–2 evenings to go through the case studies and architecture modules to sanity-check your design against standard patterns (tokenization, append-only logs, etc.).

2. Coursera – Enterprise Blockchain & Auditing (part of “From Blocks to Build: Blockchain Dev Essentials”)

  • Why it’s relevant This course focuses on enterprise blockchains (Hyperledger Fabric) but is really about designing auditable systems: chaincode, logging, compliance, and smart-contract auditing. You can lift patterns (e.g., segregation of duties, logging strategies) and apply them to Hedera. (Coursera)
  • Approx length Roughly one course in a 4-course specialization; plan on ~8–12 hours total. You only need the auditing / security modules (~3–4 hours). (Coursera)
  • Fit after the 1-day spike Use this to deepen your thinking on fraud resistance, review of transaction flows, and how you’d present an audit trail to regulators / third-party verifiers.

3. LinkedIn Learning – Blockchain Basics (Jonathan Reichental)

  • Why it’s relevant Very short, very focused overview that repeatedly comes back to “blockchains as tamper-resistant audit trails in business workflows”, which is exactly your use case. Good to align vocabulary within your org when you explain the PoC. (LinkedIn)
  • Approx length ~1h 10m. (LinkedIn)
  • Fit after the 1-day spike Ideal for a quick “debrief” watch with non-deeply-technical stakeholders so they grok why your proposed ledger design addresses trust and auditability.

4. Stanford – Cryptocurrencies and Blockchain Technologies (CS251 / Stanford Online)

  • Why it’s relevant This is your deep theory reserve: consensus protocols, attacks, incentive design, scalability, etc. It’s not Hedera-specific but gives you the tools to critically assess Hedera vs alt-architectures and to reason about public verifiability & threat models. (online.stanford.edu)
  • Approx length Full university course (roughly 10–12 weeks; ~20+ hours of lectures).
  • Fit after the 1-day spike Don’t binge it. Cherry-pick lectures on consensus, Sybil resistance, and state machine replication when you start thinking about scaling to production and comparing chains.

5. Hashgraph Developer Course – The Hashgraph Association

  • Why it’s relevant Free, Hedera-specific developer course: architecture of Hedera, services (Token, Consensus, Smart Contracts), and hands-on dApp building. Perfect bridge between your generic blockchain knowledge and the specifics of Hedera Token Service (HTS) and Hedera Consensus Service (HCS) that you’ll use in the PoC. (Hashgraph)
  • Approx length ~10 hours, 14 modules; self-paced, includes assessment and (optionally) certification NFT. (Hashgraph)
  • Fit after the 1-day spike Use as a structured follow-up: do 1–2 modules per week while iterating your PoC. By the end, you’ll be comfortable using more advanced Hedera features.

6. Hedera official tutorials & docs (micro-learning set)

Specific docs to bookmark and dip into:

  • How to Start Developing on Hedera: Back to the Basics – overview, SDKs, and beginner tutorials (deploy contracts, create tokens, submit consensus messages). (Hedera)

  • Tokens tutorials – especially “Create and Transfer Your First Fungible Token” and the Hedera Token Service (HTS) series. (docs.hedera.com)

  • Consensus tutorials“Submit Your First Message” and “Query Messages with Mirror Node” for building verifiable event logs via HCS. (docs.hedera.com)

  • Mirror Node REST API docs – how to query historical data (token transfers, HCS messages) for public verifiability. (docs.hedera.com)

  • Why they’re relevant These are the exact building blocks you’ll use in your 1-day spike: tokens for biodiversity inventory units, consensus messages for audit logs, and mirror nodes for public verification.

  • Approx length Each tutorial is ~20–45 minutes of reading + coding; you’ll touch several of them in the spike plan. (hedera-0c6e0218.mintlify.app)

  • Fit after the 1-day spike Use the deeper tutorials (HTS Part 2/3, advanced Mirror Node, local node) as you harden the PoC and start worrying about things like KYC, scheduled transactions, and richer metadata. (docs.hedera.com)


2. One-day Hedera spike plan (hands-on, PoC-oriented)

Assume ~8 hours, something like 09:00–17:00 with breaks. Goal: a minimal but end-to-end biodiversity inventory ledger where:

  • A fungible token represents your biodiversity inventory units.
  • Purchases = token transfers from a treasury account to buyer accounts.
  • Each purchase is also logged as an event via consensus service.
  • Anyone can reconstruct current inventory + transaction history from a public mirror node.

I’ll include goals, activities, deliverables, and “future work” for each block.


Block 0 (optional prep, or first 30 min) – Problem framing & success criteria

Time: 30 min Goal: Translate your business problem into an explicit ledger model and trust assumptions.

Activities

  • Sketch a minimal domain model:

    • What constitutes a biodiversity inventory unit? (e.g., 1 unit = 1 square metre restored, 1 species-habitat-year, etc.)

    • Decide whether to model each “type” of unit as:

      • A separate fungible token (e.g., BIO-REGION-A, BIO-REGION-B), or
      • A single fungible token with off-chain metadata.
  • Define simple requirements:

    • Must track: who bought what, when; remaining inventory; immutable history.
    • Must be publicly verifiable via a public mirror node (no private chain here).
  • Glance at Hedera Guardian as a reference architecture for carbon markets: how it uses Hedera to create auditable, traceable records for environmental credits. (Hedera)

Deliverables

  • 1–2 page text note (or diagram) capturing:

    • Token model (what one unit means).
    • Roles: issuer/treasury, buyers, verifiers.
    • What must be on-chain vs off-chain.

Future work / deeper dive

  • Study Guardian’s methodology & MRV concepts to see how they map to biodiversity. (IPFS Blog & News)
  • Explore whether different methodologies / geographies should be separate tokens or metadata on one token.
  • Think about how this ledger plugs into your org’s existing systems (CRM, ERP, scientific monitoring data).

Block 1 (09:00–10:30) – Hedera environment & Python tooling

Goal: Be able to send a basic transaction and query it back from a mirror node using Python.

Activities

  1. Create a Hedera testnet account (if you don’t already have one):

    • Use the Hedera Developer Portal to get a testnet account with auto-replenished test HBAR. (Hedera)
  2. Read “How to Start Developing on Hedera: Back to the Basics” up to the SDKs section to understand:

    • Supported SDKs (Java, JS, Go) vs community ones (Python).
    • Beginner tutorials list. (Hedera)
  3. Set up a minimal Python project:

    • Create a new repo / directory with a venv.

    • Install a community Python SDK and/or Mirror Node helper:

      • pip install hedera-sdk-python (community SDK, still used in some teaching material). (GitHub)
      • pip install hedera-mirror-sdk for convenient mirror node calls. (PyPI)
    • Add a config.yaml or .env with:

      • OPERATOR_ID, OPERATOR_KEY, and network (testnet).
  4. Write a “hello” script:

    • check_balance.py: create a client from your config and print your HBAR balance.
    • Use Hedera docs & any Python examples from community repos or blogs as a guide. (Hedera)

Deliverables

  • Working check_balance.py that:

    • Connects to Hedera testnet using your operator account.
    • Prints HBAR balance to console.

Future work / deeper dive

  • Explore local-node setup to decouple development from testnet. (hedera-0c6e0218.mintlify.app)
  • Investigate more up-to-date Python tooling (e.g., Hiero SDKs) and how they sit on top of Hedera. (GitHub)
  • Decide on key management best practices (HSM, key rotation, multi-sig for treasury accounts).

Block 2 (10:30–12:00) – Model biodiversity units as a fungible token (HTS)

Goal: Create a fungible token on Hedera testnet representing your biodiversity inventory units.

Activities

  1. Read the HTS tutorials:

    • “Create and Transfer Your First Fungible Token” (core HTS flow). (docs.hedera.com)
    • Skim HTS Part 1 for context on minting & roles. (docs.hedera.com)
  2. Design basic token parameters:

    • Name: e.g., Biodiversity Unit – Pilot
    • Symbol: BIO1
    • Initial supply: e.g., 1,000,000 units.
    • Decimals: maybe 2 or 3, depending on how granular units get.
    • Treasury: your operator account for now.
  3. Implement create_inventory_token.py in Python (pseudo-flow):

    • Load config (operator ID/key, network).
    • Build and sign a TokenCreateTransaction (as per JS/Java examples, but using Python SDK methods).
    • Execute, get receipt, and print token ID.
    • Persist token ID in a small JSON file (state.json) so other scripts can reuse it.
  4. Verify via Mirror Node / explorer:

    • Use a mirror node REST API or explorer to confirm:

      • Token exists with correct initial supply.
      • Treasury holds the full supply. (docs.hedera.com)

Deliverables

  • create_inventory_token.py
  • A live Hedera testnet token ID for your biodiversity units.
  • state.json holding config (at minimum: network, operator ID, token ID).

Future work / deeper dive

  • Explore advanced HTS features:

  • Decide whether each methodology / project should be a separate token or embedded in token metadata using JSON Schema V2. (dev.uniultra.xyz)

  • Align your tokenization model with what Guardian does for carbon credits to ease future interoperability. (Hedera)


Block 3 (13:00–14:30) – Record purchases as token transfers

Goal: Implement a very simple purchase flow where units are sold from a treasury to buyer accounts.

Activities

  1. Define a minimal buyer model:

    • For the spike, you can:

      • Either auto-create demo accounts per buyer (e.g., Buyer A, Buyer B) using the SDK, or
      • Hard-code a few pre-created testnet accounts.
  2. Build record_purchase.py:

    • Inputs:

      • buyer_account_id
      • units_to_buy
    • Steps (in Python, following HTS transfer examples):

      • Load state.json (token ID, treasury).

      • Construct TransferTransaction (HBAR for fee + HTS token units from treasury to buyer).

      • Sign with treasury key; execute.

      • On success, print the transaction ID and a short JSON summary:

        {
          "tx_id": "...",
          "buyer": "0.0.xxxx",
          "units": 100,
          "token_id": "0.0.yyyy",
          "timestamp": "..."
        }
        
    • Use Hedera tutorials or code examples for token transfers as your template. (docs.hedera.com)

  3. Run a few test purchases:

    • Simulate 2–3 purchases with different buyers and unit amounts.

Deliverables

  • record_purchase.py script.
  • A few real purchase transactions on testnet (visible in explorer / mirror node).
  • A set of JSON “purchase receipts” logged locally, one per simulated sale.

Future work / deeper dive

  • Introduce a simple pricing / reservation layer (e.g., prevent overselling by checking treasury balance before transferring).
  • Integrate with your actual buyer onboarding flow (accounts mapped to real organizations, not just testnet placeholders).
  • Explore KYC / compliance controls via HTS keys (e.g., require KYC key for transfers involving certain classes of tokens). (docs.hedera.com)

Block 4 (14:30–16:00) – Publicly verifiable state & inventory queries

Goal: Compute inventory and transaction history using only public data (Mirror Node), plus a small Python layer.

Activities

  1. Read Mirror Node REST docs (high level):

  2. Implement query_inventory_state.py:

    • Inputs:

      • token_id
    • Logic:

      • Query token info (initial supply, treasury). (If not directly available via the mirror SDK, you'll infer it via token + balance queries.) (docs.hedera.com)

      • Query treasury balance via Mirror Node.

      • Compute:

        • total_minted = initial_supply
        • remaining_inventory = treasury_balance
        • sold = total_minted - remaining_inventory
      • Optionally, list top N holder accounts and balances to show distribution.

  3. Implement dump_transactions.py:

    • Query transaction history for your token (via mirror node transactions endpoint filtered by token ID). (docs.hedera.com)
    • Print a table or JSON listing of all purchase transfers (timestamp, from, to, amount).
  4. Cross-check consistency:

    • Verify that:

      • sum(balances of all accounts) == initial_supply (minus any burned units, if you add that later).
      • The set of transfers you see from Mirror Node matches your local JSON receipts.

Deliverables

  • query_inventory_state.py – prints a small JSON summary like:

    {
      "token_id": "0.0.yyyy",
      "total_minted": 1000000,
      "sold": 350,
      "remaining_inventory": 999650
    }
    
  • dump_transactions.py – prints a chronological list of token transfers.

  • Screenshot / notes demonstrating that anyone with token ID can independently recompute current inventory.

Future work / deeper dive

  • Run your own mirror node or use a service like Arkhia / ValidationCloud for better SLAs and analytics. (docs.arkhia.io)
  • Export transaction data into your data warehouse for BI / reporting (e.g., per-region sales, project-level inventory dashboards).
  • Investigate Hedera “state proofs” to provide cryptographic evidence that mirror node data genuinely reflects network consensus. (docs.hedera.com)

Block 5 (16:00–17:00) – Consensus-backed audit log for purchases

Goal: Produce a separate, explicit audit log using Hedera Consensus Service (HCS), independent of token balances, so you have a canonical “event trail” stream auditors can rely on.

Activities

  1. Read HCS tutorials:

    • “Submit Your First Message” and “Query Messages with Mirror Node”. (docs.hedera.com)
  2. Create an audit topic:

    • Write create_audit_topic.py that creates a new HCS topic and prints its topic ID.
    • Add the topic ID to state.json.
  3. Extend record_purchase.py:

    • After a successful token transfer:

      • Build a small JSON payload:

        {
          "event": "purchase",
          "token_id": "...",
          "buyer": "0.0.xxxx",
          "units": 100,
          "tx_id": "...",
          "business_metadata": {
            "project_code": "BIO-PILOT-001"
          }
        }
        
      • Submit it as a message to your audit topic (HCS).

  4. Implement dump_audit_log.py:

    • Use Mirror Node / HCS API to stream messages from your audit topic and print them in order. (docs.hedera.com)

Deliverables

  • create_audit_topic.py, dump_audit_log.py.

  • Updated record_purchase.py that writes both:

    • A token transfer transaction.
    • A consensus message to an audit topic.
  • Demonstration that the HCS log and the token transfers line up (same tx IDs, same buyers and amounts).

Future work / deeper dive

  • Design a canonical audit event schema (versioning, additional attributes like geolocation, methodology ID, etc.).
  • Investigate how to prove that your off-chain database state is a faithful projection of on-chain events (Merkle roots, periodic snapshots anchored as HCS events, etc.). (tencentcloud.com)
  • Explore using Guardian or similar frameworks to integrate MRV data and verifiable credentials into your audit trail. (Hedera)

Block 6 (optional wrap-up, 30–60 min) – Trust model & next steps

Goal: Document what your PoC actually proves, where trust still lives, and what you’d need for production.

Activities

  • Write a short trust model:

    • What can a third party verify independently via mirror nodes (balances, transfers, HCS events)?

    • What still depends on you:

      • Correct mapping between off-chain identity (e.g., org name) and on-chain account IDs.
      • Correct interpretation of a “biodiversity unit” and underlying MRV science.
  • Note key fraud scenarios and controls:

    • Double-selling inventory (preventable by checking on-chain balances).
    • Retroactive tampering with history (impractical given Hedera’s consensus + Mirror Node hash-chained records). (GitHub)
    • Insider manipulation of off-chain reports (mitigated by cross-checking against on-chain data).
  • Capture a quick backlog:

    • UX/API work, governance design, monitoring, etc.

Deliverables

  • 2–3 page “spike doc”:

    • What you built.
    • How it satisfies trust / audit goals.
    • Known gaps and next steps.

Future work / deeper dive

  • Integrate observability (metrics + alerts) for ledger interactions.
  • Evaluate costs and TPS for scaling to your anticipated transaction volume. (Hedera)
  • Compare Hedera with at least one EVM chain and one non-blockchain alternative (see below).

3. Architecture sanity check & alternatives

Is Hedera a good fit?

Why it fits your biodiversity inventory ledger:

  • Tamper-evident, high-throughput public DLT Hedera offers public, proof-of-stake consensus with high throughput (10,000+ TPS for native services) and instant finality with fixed, very low fees—well-suited to “lots of small transactions” like credits and inventory units. (Hedera)
  • Native tokenization + consensus logs HTS gives you first-class fungible tokens for inventory, while HCS gives you a generic, immutable log for audit events, both on the same network. (Hedera)
  • Public verifiability via Mirror Nodes Mirror nodes expose all transactions and HCS messages via APIs, and their record files form a hash-chained history, making tampering detectible. (docs.hedera.com)
  • Domain proximity The Guardian platform and associated efforts are already using Hedera for auditable carbon markets, MRV, and environmental credits—very close to your biodiversity unit concept, and a good source of patterns. (Hedera)

Main trade-offs / cautions:

  • Ecosystem & tooling vs Ethereum Hedera’s ecosystem is smaller and more specialized than Ethereum’s; Python support is community-driven rather than first-class, so you’ll sometimes lean on JavaScript/Java examples and adapt them. (Hedera)
  • Mindshare with regulators / auditors Ethereum and Bitcoin are more widely known. You may need to do more education to explain Hedera’s trust model to external auditors—though Guardian + Verra’s integration with Hedera helps credibility in sustainability contexts. (Verra)
  • Public vs private data tension The ledger is public, so you’ll need a clear policy about what is logged on-chain (aggregated or anonymized data, event hashes) vs kept off-chain (sensitive project details, PII).

Overall: Hedera is a very sane choice for a biodiversity inventory ledger, particularly if you want strong sustainability branding and an architecture aligned with existing carbon-market infrastructure.


Alternative approaches you should keep in mind

1. EVM chains (Ethereum mainnet, L2s like Polygon, Gnosis)

  • Pros

    • Extremely rich tooling and audit ecosystem (Solidity, Hardhat, Foundry, OpenZeppelin, web3.py). (hedera-0c6e0218.mintlify.app)
    • Auditors and regulators are more likely to already understand Ethereum-style chains.
    • Easy to tokenize credits as ERC-20 / ERC-1155 tokens and rely on event logs for audit trails.
  • Cons

    • Gas costs and congestion can be a concern, even on L2s, especially if you log a lot of metadata on-chain.
    • Environmental and governance profile may not align with “sustainability story” as cleanly as Hedera.

You might consider EVM-on-Hedera (Hedera Smart Contract Service) if you want Solidity and Ethereum tooling but still want Hedera’s base-layer characteristics. (Hedera)


2. Permissioned ledgers (Hyperledger Fabric, Corda, permissioned EVM)

  • Pros

    • Fine-grained control over who runs nodes and sees which data—useful if you’re building a consortium ledger across multiple biodiversity / conservation organizations. (Coursera)
    • Good fit for internal audit and regulatory reporting when public transparency isn’t required.
  • Cons

    • Less “public” verifiability—auditors trust the consortium rather than an open network.
    • Operational complexity (running your own network, nodes, ordering service, etc.).
    • You lose the “public anchor” property: someone outside the consortium cannot validate state independently.

This could be a phase-2 or phase-3 architecture if you later form a formal consortium and need more privacy.


3. Non-blockchain cryptographic audit logs

Think along the lines of Merkle-tree-backed append-only logs, certificate-transparency-style systems, or managed ledger databases (e.g., AWS QLDB, Azure Confidential Ledger).

  • Pros

    • Simpler stack if all you need is “tamper-evident logging” rather than full tokenization and open participation.
    • Potentially easier integration with existing enterprise infra, IAM, and compliance workflows. (tencentcloud.com)
  • Cons

    • Trust is ultimately anchored in you (or your cloud provider) unless you periodically anchor your log’s Merkle root to a public chain (which brings you back to DLT anyway).
    • You don’t get native tokenization or a thriving ecosystem for environmental credits like Guardian.

A reasonable hybrid: maintain an internal append-only log and periodically anchor its hash to Hedera (via HCS or a small “checkpoint” token transaction), so you get strong tamper-evidence without putting everything directly on-chain.


How to use this sanity check

For your 1-day spike, Hedera is a good choice: you’ll quickly prove end-to-end flows and get a feel for public verifiability and auditability.

As you move beyond the spike:

  • Use the courses to sharpen your general blockchain / audit understanding.

  • Use the spike artifacts (code + docs) as leverage to discuss:

    • Hedera vs EVM vs non-blockchain logs,
    • Governance and MRV requirements,
    • How “public” you want your biodiversity inventory to be.

If you’d like, next step we can zoom in on threat modelling (e.g., insider fraud, compromised keys, mirror node manipulation) and design more rigorous controls on top of this PoC.

Tip on prompt-engineering

Did you know that the more context/documents/data sources an LLM has access to, the poorer it is likely to perform and will increase hallucination rates? It's far better to arm an LLM with specific data and context tightly focused on the task at hand, and keep conversations/threads short (maybe 10-20 statements or less; when you need to go longer, it's best to ask the LLM to summarise the discussion, then start in a new chat. Coding tools like Cursor handle this automatically now.

Ubiquitous language

Here’s a glossary I developed during my research that you might find helpful: :::details title="Glossary (click to expand/collapse)"

  • Ledger: An append-only record of all transactions or events that change the state of your system (e.g., biodiversity units bought/sold).
  • Registry: A curated list of entities or assets (e.g., projects, inventory batches) and their current status, often backed by a ledger.
  • DLT (Distributed Ledger Technology): A way of storing and updating a ledger across multiple independent nodes so no single party controls the history.
  • Immutability: The property that once a record is written to the ledger, it cannot be altered without detection.
  • Consensus: The protocol by which independent nodes agree on the order and content of transactions added to the ledger.
  • Tokenization: Representing a real-world asset or right as a digital token that can be created, transferred, and tracked on a ledger.
  • Chaincode: Smart-contract logic (term popular in Hyperledger Fabric) that runs on the blockchain to enforce rules over ledger updates.
  • Smart-contract: Program code deployed on a blockchain/DLT that automatically enforces rules and executes actions (like transfers or validations) when predefined conditions are met.
  • Smart-contract auditing: The process of reviewing smart-contract code and deployment configuration to find bugs, vulnerabilities, and business-logic flaws.
  • Hashgraph: Hedera’s underlying consensus algorithm that orders transactions using a gossip protocol and virtual voting rather than a traditional blockchain.
  • Web3: A broad term for applications that use public blockchains and tokens to enable decentralized ownership, identity, and coordination.
  • Fungible: Interchangeable units where each one is identical in value and properties (e.g., 1 biodiversity credit is the same as any other of the same type).
  • Domain model: A structured representation of the key concepts, relationships, and rules in the problem space (e.g., units, projects, buyers, inventory).
  • KYC (Know Your Customer): Regulatory and business processes to verify the identity of participants before allowing them to transact.
  • HBAR: The native cryptocurrency of the Hedera network, used to pay transaction fees and secure the network.
  • HTS (Hedera Token Service): Hedera’s native service for creating and managing fungible and non-fungible tokens on the network.
  • Treasury: The account that initially holds the full supply of a token and from which inventory is distributed or sold.
  • Mirror node: A read-only node that replicates Hedera’s transaction history and exposes it via APIs for querying and audit.
  • Minting: The creation of new token units and their assignment to a treasury or other account.
  • HCS (Hedera Consensus Service): A Hedera service that provides a tamper-evident, ordered log of messages for building auditable event streams.
  • Trust model: An explicit description of who and what you rely on (and don’t) for correctness, integrity, and security of the system.
  • Off-chain identity: The real-world identity (e.g., organization, person) that is mapped to an on-chain account or keypair.
  • TPS (Transactions Per Second): A measure of how many transactions a network or system can reliably process each second.
  • Gas: A unit of computational cost used (on EVM chains) to price and meter smart-contract execution and transactions.
  • L1 / L2 (Layer 1 / Layer 2): L1 is the base blockchain; L2 is a secondary protocol built on top of an L1 to increase scalability or add features.
  • Proof-of-stake: A consensus mechanism where validators are chosen and incentivized based on the amount of native token they lock (stake) rather than raw computing power.
  • EVM (Ethereum Virtual Machine): The execution environment for Ethereum-style smart contracts, used by Ethereum and many compatible chains.
  • Polygon (you wrote “ploygon”): A family of Ethereum-compatible scaling networks (L2s and sidechains) that offer lower-cost, higher-throughput execution while settling to Ethereum.
  • proof-of-stake – A consensus mechanism where validators create/approve blocks in proportion to how much native token they lock up (“stake”), rather than how much computing power they have.
  • proof-of-work – A consensus mechanism where miners compete to solve hard cryptographic puzzles, proving they spent real computing power and energy to add a new block.
  • hashing – The process of running data through a one-way mathematical function to produce a fixed-size “fingerprint” (hash) that changes completely if the input changes.
  • cypher (cipher) – An algorithm for encrypting and decrypting data so that only someone with the right key can read the original message.
  • nonce – A “number used once” in cryptographic protocols, often a random or incrementing value miners vary in proof-of-work to search for a valid block hash.
  • merkle (Merkle tree) – A tree-like data structure that combines many hashes into a single “root” hash, allowing efficient proofs that a specific transaction is included in a block.
  • sha256 – A specific cryptographic hash function (Secure Hash Algorithm, 256-bit output) used by Bitcoin and many other systems to create fixed-length hashes.
  • height (block height) – The position of a block in a blockchain, typically defined as the number of blocks from the very first (genesis) block.
  • Consensus – The process by which independent nodes in a distributed network agree on the same ordering and contents of blocks or transactions.
  • mining – The process (in proof-of-work systems) of using computing power to propose new blocks, validate transactions, and earn block rewards/fees. :::

Methodology

I sailed through most of the research plan, and decided to implement in the language I'm most comfortable with: Python. I had one small issue with the scripts and encountered the ImportError: ImportError: cannot import name 'AccountBalanceQuery' from 'hiero_sdk_python'; turned out the API had some recent changes that the AI-generated scripts hadn't accounted for (I fixed by reading the docs and simply importing Network and Client and instantiating a network and client object before calling AccountId.from_string(operator_id)).

I now have a working implementation end-to-end on my personal public GitHub that you're welcome to check out, replicate and extend.

This leverages the testnet network on Hedara, and is a realistic distributed blockchain that's great for testing and is free. Instructions on the setup are included in the README.md

Here's a demonstration of executing the scripts in action, and demonstrating the flow: :::details title="Script outputs (click to expand/collapse)"

$ python check_balance.py  
=== Hedera account balance ===
Network:     testnet
Account ID:  0.0.7398122
HBAR:        993.49982554 HBAR

Token balances:
  0.0.7398655: 990

$ python record_purchase.py test_buyer 10 --note "test burn"
🔥 Burning 10 units of token 0.0.7398655 for buyer 'test_buyer' on Hedera testnet...
✅ Burn transaction completed. Status: 22

🛰️  Audit message submitted to topic 0.0.7398725 (ts=None)

🧾 Purchase recorded in state.json
   Sold total: 20/1000
   Remaining:  980
$ python query_inventory_state.py

=== Inventory State (On-ledger + Off-chain) ===

Network:   testnet
Token:     Biodiversity Inventory Unit (BIO)
Token ID:  0.0.7398655

Initial supply (units): 1000
Current on-ledger total_supply: 980
Derived sold (initial - total_supply): 20
Remaining inventory (units): 980

Off-chain purchase records in state.json:
  - buyer=buyer1, units=1, recorded_at=2025-12-08T12:39:00.478267+00:00, note=test burn
  - buyer=buyer2, units=2, recorded_at=2025-12-08T12:39:12.058914+00:00, note=second burn
  - buyer=buyer1, units=3, recorded_at=2025-12-08T12:39:41.651469+00:00, note=another burn
  - buyer=buyer3, units=4, recorded_at=2025-12-08T13:00:04.109015+00:00, note=audit test
  - buyer=test_buyer, units=10, recorded_at=2025-12-08T13:54:52.323312+00:00, note=test burn

(Use this as a sanity check that your local view matches on-ledger supply.)

$ python dump_transactions.py
Querying mirror node for token-related transactions...
  Mirror:   https://testnet.mirrornode.hedera.com
  Operator: 0.0.7398122
  Token:    0.0.7398655

✅ Found 6 transactions involving token 0.0.7398655.
   Written to /path/to/project/hedara-sandbox/transactions.json

First few transactions:
  - 1765197384.260154000 TOKENCREATION SUCCESS transfers=[{'token_id': '0.0.7398655', 'account': '0.0.7398122', 'amount': 1000, 'is_approval': False}]
  - 1765197539.448294387 TOKENBURN SUCCESS transfers=[{'token_id': '0.0.7398655', 'account': '0.0.7398122', 'amount': -1, 'is_approval': False}]
  - 1765197549.981953000 TOKENBURN SUCCESS transfers=[{'token_id': '0.0.7398655', 'account': '0.0.7398122', 'amount': -2, 'is_approval': False}]
  - 1765197580.498061000 TOKENBURN SUCCESS transfers=[{'token_id': '0.0.7398655', 'account': '0.0.7398122', 'amount': -3, 'is_approval': False}]
  - 1765198803.029481932 TOKENBURN SUCCESS transfers=[{'token_id': '0.0.7398655', 'account': '0.0.7398122', 'amount': -4, 'is_approval': False}]

$ python dump_audit_log.py   
Querying audit topic messages from mirror node...
  Network:    testnet
  Mirror URL: https://testnet.mirrornode.hedera.com
  Topic ID:   0.0.7398725

✅ Retrieved 2 messages.
   Written to /path/to/project/hedara-sandbox/audit_messages.json

First few messages:
  - ts=1765198804.342031000 seq=1 payer=0.0.7398122
    msg={"type":"PURCHASE_RECORDED","buyer_id":"buyer3","units":4,"note":"audit test","burn_consensus_timestamp":null,"recorded_at_utc":"2025-12-08T13:00:04.109015+00:00","token_id":"0.0.7398655"}
  - ts=1765202092.556448000 seq=2 payer=0.0.7398122
    msg={"type":"PURCHASE_RECORDED","buyer_id":"test_buyer","units":10,"note":"test burn","burn_consensus_timestamp":null,"recorded_at_utc":"2025-12-08T13:54:52.323312+00:00","token_id":"0.0.7398655"}

:::

I also decided to undertake the Coursera course suggestion from the research plan. I was able to complete this within the day (and here's my certificate of completion).

The biggest learning for me from this course was actually calling out specifics of where blockchain is NOT the right answer, explained very well in this post, and in summary, all of the following need to apply if blockchain to be a good use case.

blockchain
Figure 1. Decision Tree of 'When to Use a Blockchain'; Source: ConsenSys Academy

The proposal

So what's the actual application I'm considering? How does this relate to BNG? As part of the Coursera course, we're asked to consider the following questions, which I'll answer in turn.

My proposal relates to voluntary biodiversity and BNG credit markets in the UK (and similar jurisdictions), where multiple registries and methodologies issue, trade, and retire biodiversity units over 30+ year timeframes.

What is the problem that is being solved? What is the value created by solving this problem?

Today, it's possible to trade biodiversity as credits on multiple platforms; typically either through a government-managed statutory/mandatory system, or as voluntary units via several different methodologies and registries. Each BNG / biodiversity methodology runs its own registry or database, so there is no shared, verifiable system of record for voluntary units. This creates risks of double selling, inconsistent records, and over-reliance on individual registries or government systems. A shared, tamper-evident ledger creates value by providing a single, auditable view of how many units each project has issued, sold, and retired, improving trust, reducing greenwashing risk, and making it easier for investors, buyers, and regulators to rely on BNG credits.

How could a blockchain be applied to this use case? Which component pieces will be utilized? Will the blockchain used be public, private, or consortium and why?

Smart contracts on a consortium blockchain record BNG units as on-chain tokens, and enforce rules for issuance (minting), transfer (trading), and retirement (burning). Only minimal metadata and document hashes are stored on-chain; detailed ecological data stays off-chain. A consortium chain is chosen so that major registries, methodologies, and possibly regulators can jointly operate validator nodes and govern upgrades, without any single party controlling the ledger; optionally, periodic checkpoints (state hashes) can be anchored to a public chain for extra transparency.

How might a token be used for this use case? Why is it needed, and what benefit does it bring to the project? If a custom token isn't necessary, explain why.

A domain-specific BNG unit token is used to represent a quantified biodiversity uplift from a specific project and methodology. It is needed because it encodes the core asset of the system: units are minted when a project is approved, transferred when sold, and retired when used to meet obligations, giving a precise, on-chain record of supply and usage. The network’s native token (e.g., ETH or an equivalent) is used only to pay transaction fees; no additional “utility” or “governance” token is necessary beyond the BNG unit tokens themselves.

Other details and factors that are worth considering in this use case. Are there any difficulties or challenges that may have to be solved? Are there any weaknesses that could be exploited?

Key considerations include aligning smart-contract logic with evolving BNG standards and methodologies, managing privacy so that auditors can see full histories while buyer identities remain pseudonymous, and ensuring long-term durability for 30+ year obligations (key rotation, governance continuity, and data availability). Challenges include getting competing registries to join a shared consortium, preventing gaming across different methodologies, and making sure off-chain evidence (surveys, legal agreements) is properly linked and verified so that on-chain units always correspond to real, high-quality biodiversity outcomes.

A note on existing solutions and the gap in the market.

From what I can see, there’s still a clear gap in the market: we have lots of excellent individual registries and marketplaces, but no neutral, shared ledger that sits underneath them all for voluntary BNG / biodiversity units. Earthly’s biodiversity credit ledger is a strong step towards transparency, but it tracks Earthly-issued credits rather than acting as a multi-methodology backbone. CreditNature’s Nature Impact Tokens, RePlanet’s blockchain marketplace, and Wilder Earth’s blockchain registries (for Wilder Carbon and SOCIALCARBON) are similarly powerful, but each is tied to its own standard or platform. Gaia focuses on BNG units and marketplace tooling, and Kana is building a hub and registry for UK natural capital, but again these are platform-specific rather than a common, cross-standard ledger. Plan Vivo’s PV Nature, Verra’s SD VISta Nature Framework, and Wilder Carbon’s registry all have their own standards and registries too. That’s why there’s an opportunity for players like Kana, Gaia, Earthly / Environment Bank, CreditNature, RePlanet, Plan Vivo (PV Nature), Verra (SD VISta Nature), Wilder Carbon and others to band together around a consortium or public-chain backbone: keep their own registries and brands, but agree on a shared, tamper-evident ledger layer that ensures no double-issuance, no double-selling, and a unified audit trail for biodiversity units across the whole market.

So why is no-one yet playing in this space that I'm aware of? Not sure, but possible:

  • The market is too new (only been around since 2021)?
  • The market is too uncertain and open to policy risks?
  • The market is too local (UK focussed)?
  • The market is too niche?
  • The solutions that are in this space aren't heavily marketed?

Key benefits of implementing such a framework

  • Better price discovery – shared, near-real-time view of trades/orders across members reduces information asymmetry and improves pricing.
  • Multi-writer, single source of truth – multiple institutions can write to the same permissioned ledger, but all see a consistent, agreed state.
  • Verifiable and auditable – cryptographic signatures + immutability mean transactions are traceable, tamper-evident, and much harder to forge or double-spend.
  • Reduced fraud and operational risk – shared, append-only records and automated consensus cut scope for document manipulation, mismatches, and reconciliation errors.
  • Resilience and availability – replicated ledger across nodes (multiple organizations) eliminates a single point of failure and keeps the system up even if one member goes down.
  • Greenwashing + integrity protection – long-lived, tamper-evident history over 30+ years makes it much harder to “rewrite” credit histories or hide bad practice.
  • Regulatory / investor comfort – standardised, independently verifiable audit trail that regulators, buyers, and auditors can all query without trusting any single registry.

Next steps

  • Start a conversation with key players in the space and popularise the idea of using blockchain to address this problem

Further Work

During this research, several other fascinating rabbit holes were surfaced that could be good subjects for future blogs:

  • The InterPlanetary File System (IPFS) (see link}
  • web3 (see link)
  • Hashing, cyphers, cryptography, SHA-256, RSA etc.