TRACC: On-chain Emission via DePIN
Description
TRACC Performance Evaluation Dataset This dataset supports the paper “TRACC: A Trusted IoT–Blockchain Architecture for Real-Time Carbon Compliance and Device-Level Emission Accountability.” TRACC links authenticated methane sensor reports to on-chain, device-indexed liability through ERC-6551 device-bound accounts and non-transferable Carbon Burden Tokens (CBTs). The revised dataset separates physical prototype validation, synthetic workload generation, controlled Polygon Amoy benchmarking, reliability monitoring, security testing, latency characterization, and fee-model inputs. The fixed-seed 30-day synthetic workload models 1,500 sensors across 100 companies. Report arrivals follow a Poisson process with mean 2.79 reportable readings per sensor per day. Methane concentrations follow a Pareto Type-I distribution with shape α=1.75 and minimum \(x_m=200\) ppm. Using NumPy 2.3.5 default_rng (PCG64), seed 42, and a 500 ppm threshold, the realization contains 125,837 reportable readings, 25,282 exceedances (20.09%), and 34,104 policy-assigned CBT units. These are synthetic workload outcomes, not field-observed methane frequencies or 125,837 Amoy transactions. The controlled offered-load benchmark uses 200 registered devices, one authenticated 1200 ppm report per device per trial, three trials per load, and real-time pacing. Valid offered loads are 0.2222, 0.6667, and 1.6667 transactions/s. All 1,800 submissions across the nine valid trials confirmed on the first attempt. Higher-rate 3.3333 and 6.6667 transactions/s attempts are retained for transparency but excluded from contract-capacity inference because free-tier JSON-RPC throttling prevented reliable contract-level measurement. Additional files preserve the 30-day reliability monitoring series, six-stage latency characterization, 146 scripted adversarial scenarios, 24-hour gas-price/confirmation-time observations, and validation summaries. Reliability distinguishes attempt-level pipeline completion from service availability; 99.78% is the descriptive mean of component availabilities and 98.92% is an independence-based all-service estimate. The 6.25 s latency is a composed total from separately characterized stages, not a distribution of complete end-to-end trials. Reference implementation: https://github.com/CryptoGuy1/TRACC-On-Chain-Emission-Tracking-via-DePIN
Files
Steps to reproduce
Hardware: - Physical testbed: 4 x Raspberry Pi 4 Model B (4 GB RAM, Raspberry Pi OS Bookworm 64-bit), each with one MQ-4 methane sensor and one ADS1115 16-bit I2C ADC. WiFi with Ethernet fallback. Sensors sample atmospheric methane at 10-second intervals. - Simulation host: standard Linux workstation (16 GB RAM or higher recommended for runs above 1,000 sensors). Software: - Solidity 0.8.20, Hardhat, OpenZeppelin Contracts, ERC-6551 Reference Implementation - Node.js 18 LTS, Ethers.js v6, React 18, SpruceID didkit v0.3 - Python 3.10+ with pandas, numpy, web3.py, eth-account Deployment: 1. Clone the repository (see Description). 2. Provision a Polygon Amoy testnet account with at least 1 POL; add the private key to .env. 3. Deploy the five smart contracts in order: SensorRegistryNFT, ERC6551Registry, CarbonBurdenToken, TraccController, USDT mock. Run: npx hardhat run scripts/deploy.js --network amoy. Sensor registration: 4. On each Pi, generate a key pair, derive a W3C DID from the public key, build a DID Document with controlling-company DID and metadata, upload to IPFS, and record the content hash on-chain via SensorRegistryNFT.register(). Registration also mints the sensor NFT and deterministically derives the ERC-6551 device-bound wallet via the CREATE2 formula in Eq. (1) of the paper. 30-day evaluation: 5. Physical trial: start the on-Pi reporter (python sensor_node/reporter.py --config <node.yaml>). Each node samples methane at 10 s, signs each reading, and POSTs to the backend, which submits the verification-and-minting transaction. 6. Simulation: python sim/run_evaluation.py --sensors 1500 --companies 100 --days 30 --threshold 500 --pareto-alpha 1.2 --pareto-scale 200 --jitter-ms 1000 --seed 42. Methane is drawn from a Pareto distribution (alpha=1.2, scale=200 ppm), reproducing the 20.2% exceedance rate against the 500 ppm threshold. 7. Scalability sweep: python sim/scalability_sweep.py --configs 100,200,300,400,500,600,750,800,900,1000,1100,1200,1250,1350,1500 --trials 3 --seed 42. 8. Cost sweep: python sim/cost_observation.py --hours 24 --interval 1h over the same window. 9. Adversarial harness: python sec/adversarial_suite.py --scenarios all. Issues malformed or attacker-controlled inputs across ten classes (47 Invalid DID, 23 Replay, 18 DDoS, 15 Unauthorized Access, 12 Sensor Tampering, 9 Man-in-Middle, 8 Signature Forgery, 7 Sybil, 4 Smart Contract Exploit, 3 Network Intrusion). A scenario is blocked only when rejected at the relevant verification layer with no unauthorized state change. Aggregation: 10. python analysis/build_workbook.py --in runs/ --out tracc_performance_data.xlsx produces the nine-sheet workbook. Determinism: --seed 42 reproduces the simulation headline numbers. Smart-contract execution is deterministic given the same input, but on-chain timing depends on Polygon Amoy network conditions during the run, so latency and gas-cost numbers from re-runs will differ slightly.
Institutions
- University of WyomingWyoming, Laramie