Blockchain & Contracts

EDMA executes on its own L2 for low-cost throughput and anchors final lineage to Ethereum (L1) for permanence and governance. PoV is protocol-layer logic that decides what is admissible before any mint or settlement; Ethereum’s PoS still provides base consensus.

What the chain enforces.

A claim does not mint or settle until it passes three gates:

  1. Attestation quorum (independent verifiers sign the same evidence).

  2. Equality check (all attestations match the same evidenceHash).

  3. One-claim exclusivity (the same evidence can be finalized once across all routes).

If any check fails—or later gets revoked—contracts fail safe (no mint / no settle), and dependent assets are flagged until rectified.

Core on-chain components (v0.1)

  • PoV Attestor Registry

    Curated, role-bound allowlist of verifiers (e.g., METER_OP, AUDITOR, GRID, INSPECTOR). Holds the quorum spec (default: minTotal=2, AUDITOR required, minDistinctRoles=2). Governance can tighten per product line.

  • One-Claim Ledger

    A simple exclusivity contract. For a given claimId, only the first successful consumer can finalize; duplicates revert. Reserve/finalize happens atomically inside the gate so partial attempts never stick.

  • PoV Gate

    The entry point every mint / settle / access call uses. It reads attestations, verifies roles/quorum, compares evidenceHash, reserves & finalizes the claimId, then emits a PoVPassed event. Any mismatch (no auditor, role disabled, hash mismatch, already claimed, revoked/expired) reverts.

  • Asset & Settlement Contracts

    • Proofs (gas-only, EDMA L2):

      ETT (1 per 10 kWh, non-transferable), EMT (milestones), Carbon Credit NFTs (1 per tCO₂).

      Energy NFT (1 MWh) is minted when an account reaches 100 ETT (or evidence is converted to Carbon NFTs per standards).

      CLE is a separate reward token minted per verified MWh (never converted from ETT).

    • Marketplace / Payouts (EDM-settled): trades, retirements, and milestone payout releases.

      Fees are enforced on-chain: Energy & Carbon 4% total (2% buyer + 2% seller); Commodity 0.5% per tranche with caps ($5k ≤$1M, $12.5k $1–5M, $25k >$5M). 50% of every fee is burned automatically; rebates (if any) apply only to the treasury half.

  • Fee Router & Burner

    Splits settlement fees 50% burn / 50% treasury at the contract level. Burn is never discounted; staking/volume rebates can reduce only the treasury half.

Evidence & identities (how a claim is defined)

  • Canonical evidence JSON → evidenceHash

    A sorted, minified JSON blob (no PII) describing the measured reality (device, window, quantity, method). evidenceHash = SHA-256(canonical_json).

  • Route-agnostic claimId

Because it’s route-agnostic, the same evidence cannot be consumed in multiple markets. If you need splits, submit smaller batches and get them independently verified.

  • Attestations (EAS-compatible)

    • MeterReadingBatch.v1 – the meter batch.

    • Verification.v1 – a role-tagged PASS/FAIL over the same evidenceHash.

    • RevocationReason.v1 – structured reasons when a verification is withdrawn

Lifecycle (end-to-end)

  1. Prepare & attest. Edge devices/registries produce canonical evidence; independent attestors (per Registry) sign Verification.v1 over the same evidenceHash.

  2. Assert & mint (gas-only). The asset contract calls PoV Gate with params + attestation UIDs. The gate checks roles/quorum/equality, reserves & finalizes in the One-Claim Ledger, then the contract mints the ETT / EMT / Carbon NFT (or Energy NFT when 100 ETT are present).

  3. Settle (EDM). Trades, retirements, or milestone payouts call the gate again (fresh or cached attestations if policy requires) and, on pass, transfer value with the route fee → 50% burn / 50% treasury.

  4. Revocation & rectification. If an essential verification is revoked or expires, off-chain monitors flag dependent assets on-chain. Asset contracts expose flagRevoked(claimId) and a rectify path when quorum is restored; lineage is append-only—never erased.

Invariants

  • Equality of evidence – all counted verifications reference the same evidenceHash and batch.

  • Quorum – at least minTotal verifications including ≥1 AUDITOR, with minDistinctRoles met.

  • Exclusivity – a claimId can be finalized exactly once network-wide.

  • Fail-safe – if uncertainty or role drift occurs, the default is no mint / no settle.

Privacy & performance

  • Privacy by design: put only hashes on-chain; keep raw evidence under access control off-chain. Use selective disclosure or ZK wrappers where required (e.g., eligibility checks) without blocking v0.1.

  • Gas profile: a typical gate call reads 1 meter attestation + 2–3 verifications. Proof mints and conversions are gas-only on EDMA L2; settlement is where EDM fees apply.

Governance & deployment

  • Quorum & roles – set in Attestor Registry; upgradeable via timelocked governance.

  • Fee schedule – published in a Fee contract (Energy/Carbon 4%, Trade 0.5% with caps).

  • Schemas & versions – EAS schema UIDs are immutable once published; new fields roll to .v2.

  • Monitors & SLA – public status page; revocation flag latency target <24h.

Conformance checklist

  1. Produce canonical evidence JSON and evidenceHash.

  2. Obtain quorum attestations (including AUDITOR) over the same evidenceHash.

  3. Compute route-agnostic claimId.

  4. Call PoV Gate inside the same tx that mints or settles; on success, finalize in One-Claim Ledger.

  5. Store attestation links; subscribe to the PoV feed; flag/freeze/burn on revocation until rectified.

  6. Use $EDM for all settlement actions; treat proof mints/conversions as gas-only on EDMA L2.

Last updated