Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add EIP: Content Consent for AI/ML Data Mining #7682

Closed
Changes from 7 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
2ffd54e
docs(EIPS/eip-draft_on-chain-consent-for-ai-data-mining-of-digital-me…
bafu Sep 12, 2023
6e303cb
docs(EIPS/eip-7682.md): add eip number
bafu Sep 12, 2023
bab62bd
fix(EIPS/eip-7682.md): fix EIP Walidator errors
bafu Sep 12, 2023
5afdb9b
fix(EIPS/eip-7682.md): use EIP relative links instead of URLs
bafu Sep 12, 2023
818d6ae
fix(EIPs/eip-7517): update EIP number from PR number to the next sequ…
bafu Sep 13, 2023
34009ae
docs(EIPs/eip-7517): reviewer suggests to use Onchain instead of On-C…
bafu Sep 13, 2023
a205c56
fix(EIPs/eip-7517.md): rename file to the renewed EIP number
bafu Sep 13, 2023
83d4bd2
fix(EIPS/eip-7517.md): update internal EIP links
bafu Sep 13, 2023
ed19e21
docs(EIPS/eip-7517.md): update Motivation and Rationale
bafu Sep 14, 2023
9aac04b
docs(EIPS/eip-7517.md): update title
bafu Sep 14, 2023
5423f0b
docs(EIPS/eip-7517.md): update description
bafu Sep 14, 2023
4d2453c
docs(EIPS/eip-7517.md): update title
bafu Sep 14, 2023
37b6ec0
docs(EIPS/eip-7517.md): update discussion-to link
bafu Sep 14, 2023
deb8751
docs(EIPS/eip-7517.md): use conventional single quote
bafu Oct 2, 2023
b0a72a2
docs(EIPS/eip-7517.md): update schema and examples
bafu Oct 2, 2023
d06ae6a
docs(EIPS/eip-7517.md): update schema and examples
bafu Oct 2, 2023
225f393
docs(EIPS/eip-7517.md): update the Rationale section based on reviewe…
bafu Oct 2, 2023
b2df3aa
docs(EIPS/eip-7517.md): add category description for the Specificatio…
bafu Oct 2, 2023
7ad4838
docs(EIPS/eip-7517.md): add short description in the Schema sub-section
bafu Oct 2, 2023
0515f67
docs(EIPS/eip-7517.md): add contents to the Motivation section
bafu Oct 2, 2023
af4cf65
docs(EIPS/eip-7517.md): add examples for ERC-721 and ERC-7053
bafu Oct 3, 2023
78a5892
docs(EIPS/eip-7517.md): update miningPreference to dataMiningPreferen…
bafu Oct 3, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
112 changes: 112 additions & 0 deletions EIPS/eip-7517.md
bafu marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
---
eip: 7517
title: Onchain Consent for AI Data Mining
description: Bridging the gap between AI workflows and digital asset permissions through a unified blockchain consent.
bafu marked this conversation as resolved.
Show resolved Hide resolved
author: Bofu Chen (@bafu), Tammy Yang (@tammyyang)
discussions-to: https://ethereum-magicians.org/t/add-eip-on-chain-consent-for-ai-data-mining/15755
status: Draft
type: Standards Track
category: ERC
created: 2023-09-12
---

## Abstract

This EIP proposes a standardized approach to declaring mining preferences for digital media assets on the EVM-compatible blockchains. This extends digital media metadata standards like [ERC-7053](eip-7053.md) and NFT metadata standards like [ERC-721](eip-721.md) and [ERC-1155](eip-1155.md), allowing asset creators to specify how their assets are used in data mining, AI training, and machine learning workflows.

## Motivation

As digital assets become increasingly utilized in AI and machine learning workflows, it is critical that the rights and preferences of asset creators and license owners are respected, and the AI/ML creators can check and collect data easily and safely. This proposal aims to create a standardized method of declaring these preferences, giving the creators on both sides of AI/ML can communicate data utilization and build a sustainable data mining and AI/ML environment.

## Specification

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 and RFC 8174.

This EIP introduces a new property, `miningPreference`, to the metadata standards which signify the choices made by the asset creators or license owners regarding the suitability of their asset for inclusion in data mining or AI/ML training workflows. miningPreference is an array that can include one or more specific conditions.

* `dataMining`: Allow the asset to be used in data mining for determining "patterns, trends, and correlations".
* `aiInference`: Allow the asset to be used as input to a trained AI/ML model for inferring a result.
* `aiGenerativeTraining`: Allow the asset to be used as training data for an AI/ML model that could produce derivative assets.
* `aiGenerativeTrainingWithAuthorship`: Same as `aiGenerativeTraining`, but requires that the authorship is disclosed.
* `aiTraining`: Allow the asset to be used as training data for generative and non-generative AI/ML models.
* `aiTrainingWithAuthorship`: Same as `aiTraining`, but requires that the authorship is disclosed.

### Schema

```json
{
"type": "object",
"properties": {
"allowed": {
"enum": [ "dataMining", "aiTraining", "aiTrainingWithAuthorship", "aiGenerativeTraining", "aiGenerativeTrainingWithAuthorship", "aiInference" ],
"description": "The asset may be used for training an AI/ML model or mined for its data (or both)."
},
"constrainted": {
"enum": [ "dataMining", "aiTraining", "aiTrainingWithAuthorship", "aiGenerativeTraining", "aiGenerativeTrainingWithAuthorship", "aiInference" ],
"description": "The asset may be used for training an AI/ML model or mined for its data (or both) followed the license."
},
"notAllowed": {
"enum": [ "dataMining", "aiTraining", "aiTrainingWithAuthorship", "aiGenerativeTraining", "aiGenerativeTrainingWithAuthorship", "aiInference" ],
"description": "The asset may not be used for training an AI/ML model or mined for its data (or both)."
}
},
"required": [ "allowed", "constrainted", "notAllowed" ]
}
```

### Examples

The mining preference example for not allowing generative AI training:

```json
{
"miningPreference": {
"allowed": [ "dataMining", "aiTrainingWithAuthorship", "aiInference" ],
"contrained": [],
"notAllowed": [ "aiGenerativeTraining" ]
}
}
```

The mining preference example for only allowing for AI inference:

```json
{
"miningPreference": {
"allowed": [ "aiInference" ],
"contrained": [],
"notAllowed": [ "aiTraining", "aiGenerativeTraining" ]
}
}
```

The mining preference example for allowing generative AI training if mentioning authorship and follow license:

```json
{
"miningPreference": {
"allowed": [ "dataMining", "aiTrainingWithAuthorship", "aiInference" ],
"contrained": [ "aiGenerativeTrainingWithAuthorship" ],
"notAllowed": []
}
}
```

bafu marked this conversation as resolved.
Show resolved Hide resolved
## Rationale

The introduction of the `miningPreference` property in digital asset metadata covers the considerations including

Accessibility: A clear and easily accessible method with human-readibility and machine-readibility for digital asset creators and license owners to express their preferences for how their assets are used in data mining and AI/ML training workflows. The AI/ML creators can check and collect data systematically.
Adoption: To leverage the transparent metadata registration and representation EIPs, and the industrial metadata standards including C2PA (Coalation for Content Provenance and Authenticity).

## Security Considerations

When adopting this EIP, it’s essential to address several security aspects to ensure the safety and integrity of adoption:

* Data Integrity: Since this EIP facilitates the declaration of mining preferences for digital media assets, the integrity of the data should be assured. Any tampering with the miningPreference property can lead to unauthorized data mining usage. Blockchain's immutability will play a significant role here, but additional security layers, such as cryptographic signatures, can further ensure data integrity.
* Verifiable Authenticity: Ensure that the individual or entity setting the miningPreference is the legitimate owner or authorized representative of the digital asset. Unauthorized changes to preferences can lead to data misuse. Cross-checking asset provenance and ownership becomes paramount. Services or smart contracts should be implemented to verify the authenticity of assets before trusting the miningPreference.
* Data Privacy: Ensure that the process of recording preferences doesn't inadvertently expose sensitive information about the asset creators or owners. Although the Ethereum blockchain is public, careful consideration is required to ensure no unintended data leakage.

## Copyright

Copyright and related rights waived via [CC0](../LICENSE.md).