You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This ERC defines an AI-native protocol for ESG-compliant asset tokenization, with quantum auditability, compliance-grade metadata, and lifecycle integrity.
16
+
This ERC defines an overlay interface and metadata schema for representing Environmental, Social, and Governance (ESG) assets with existing token standards. Compliant contracts expose ESG metadata through a token-specific URI and an optional on-chain metadata view, record attestations as cryptographic digests, and emit events when assets are minted, audited, attested, or retired. The interface is intended to be implemented alongside [ERC-20](./eip-20.md), [ERC-721](./eip-721.md), or [ERC-1155](./eip-1155.md) so that ESG assets can keep their normal transfer semantics while adding machine-readable lifecycle state.
17
17
18
18
## Specification
19
19
20
+
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119](https://www.rfc-editor.org/rfc/rfc2119) and [RFC 8174](https://www.rfc-editor.org/rfc/rfc8174).
21
+
22
+
This ERC is an overlay for tokenized ESG assets. Implementations maintain normal token ownership and transfer behavior through a base token standard, and add this ERC's functions for ESG metadata retrieval, audit recording, attestation recording, and retirement. Each token has a lifecycle status of `issued`, `audited`, or `retired`.
23
+
20
24
### Metadata Structure
21
25
22
-
Tokens MUST expose a metadata JSON with the following minimum fields:
26
+
Tokens MUST expose a metadata JSON document with the following minimum fields. Implementations MUST make this document available from `esgURI(uint256 tokenId)`. Implementations MAY also return the same values through `getMetadata(uint256 tokenId)` when storing the metadata on-chain.
23
27
24
28
25
29
```json
26
30
{
27
-
"standard": "ERC-ESG/1.0",
31
+
"standard": "ERC-8040/1.0",
28
32
"category": "carbon",
29
33
"geo": "BR-RS",
30
34
"carbon_value": 12.5,
@@ -40,86 +44,97 @@ Tokens MUST expose a metadata JSON with the following minimum fields:
40
44
}
41
45
```
42
46
47
+
The `standard` field identifies the metadata version. The `category` field describes the ESG asset class. The `geo` field identifies the geographic area for the asset. The `carbon_value` field represents the asset value for carbon assets. The `digest`, `physical_id`, `attestation`, and `evidence` fields bind the token to source records, external attestations, and supporting documentation. The `status` field records the lifecycle state.
48
+
43
49
### Smart Contract Interface
44
50
45
51
Contracts implementing this standard MUST support the following interface:
46
52
47
53
```solidity
48
-
49
54
pragma solidity ^0.8.0;
50
55
51
56
interface IERC8040 {
52
-
/// @notice Metadata structure for ESG tokens
53
-
/// @dev All digest fields use bytes to support SHA3-512 (64 bytes)
57
+
/// @notice Metadata structure for Environmental, Social, and Governance tokens.
58
+
/// @dev Digest fields use bytes to support SHA3-512 values without truncation.
54
59
struct Metadata {
55
60
string standard;
56
61
string category;
57
62
string geo;
58
63
uint256 carbon_value;
59
64
string cycle;
60
-
bytes digest; // SHA3-512 digest (64 bytes)
65
+
bytes digest; // SHA3-512 digest of the metadata or source document.
61
66
string physical_id;
62
67
Attestation attestation;
63
68
string status;
64
69
string evidence;
65
70
}
66
71
67
-
/// @notice Attestation structure for AI-native validation
68
-
/// @dev atf_digest uses bytes to support SHA3-512 (64 bytes)
72
+
/// @notice Attestation structure for an external audit or validation result.
73
+
/// @dev atf_digest is a SHA3-512 digest of the attestation record.
-[ERC-20](./eip-20.md): Each unit represents a standardized fraction (e.g., 1e18 = 1 tCO2e).
147
-
-[ERC-721](./eip-721.md): Single credit with unique esgURI and immutable metadata.
161
+
This ERC does not replace [ERC-20](./eip-20.md), [ERC-721](./eip-721.md), or [ERC-1155](./eip-1155.md). A compliant contract implements this ERC in addition to at least one base token standard.
162
+
163
+
-[ERC-20](./eip-20.md): Each unit represents a standardized fraction, such as 1e18 units representing one metric tonne of carbon dioxide equivalent (tCO2e).
164
+
-[ERC-721](./eip-721.md): Single credit with unique `esgURI` and immutable metadata.
148
165
-[ERC-1155](./eip-1155.md): Homogeneous batch with common URI, metadata, and fungible amounts.
-**Post-quantum readiness**: SHA3-512 hash functions provide quantum-resistant cryptography.
169
+
-**Deterministic flows**: Lifecycle follows strict state transitions (`issued` to `audited` to `retired`).
170
+
-**Immutable metadata**: SHA3-512 digests bind metadata and evidence documents to the token record.
171
+
-**Machine-verifiable audit trails**: Attestation digests and events allow off-chain systems to verify audit records deterministically.
172
+
-**Post-quantum readiness**: SHA3-512 hash functions provide preimage resistance suitable for long-lived audit records.
156
173
-**Full hash storage**: Using bytes instead of bytes32 allows complete SHA3-512 digest storage (64 bytes).
157
174
158
175
## Security Considerations
159
176
160
177
1.**Metadata immutability**: All metadata fields MUST be cryptographically sealed after minting.
161
-
2.**Zero-trust validation**: ATF-AI provides deterministic validation; all attestations are timestamped.
178
+
2.**Validation independence**: Implementations MUST NOT rely on unauthenticated off-chain statements. Attestations MUST be represented by verifiable digests and events.
162
179
3.**Digest integrity**: SHA3-512 (64 bytes) ensures audit-trail integrity. Implementations MUST use bytes type to store complete 512-bit digests.
163
180
4.**Post-quantum cryptography**: Hash functions and signature schemes MUST be quantum-resistant. SHA3-512 provides 512-bit security suitable for post-quantum scenarios.
164
181
5.**Irreversible retirement**: Once retired, tokens cannot be reactivated.
@@ -168,4 +185,4 @@ interface IERC8040 {
168
185
169
186
## Copyright
170
187
171
-
Copyright and related rights waived via CC0-1.0.
188
+
Copyright and related rights waived via [CC0](../LICENSE.md).
0 commit comments