# [ERC7517] デジタル資産のAI利用ルールを定義する仕組みを理解しよう！

> ERC7517は、EVM互換ブロックチェーンで扱われるデジタルメディアに対して、データマイニング（大量のデータを解析する処理）やAI学習用途への利用可否を明確に示す仕組みを整えるものです。

- URL: https://cardene.dev/articles/5ced1ee754d53e29f826
- 公開日: 2025-12-07
- 更新日: 2025-12-07
- トピック: Blockchain
- タグ: ethereum, solidity, smartcontract, ブロックチェーン

## はじめに

『DApps開発入門』という本や色々記事を書いているかるでねです。

https://amzn.asia/d/gxvJ0Pw

今回は、メタデータに「`dataMiningPreference`」を追加し、AI推論・学習・生成モデルへの利用可否を細かく指定できる仕組みを提案している**ERC7517**についてまとめていきます！

:::message
以下にまとめられているものを翻訳・要約・補足しながらまとめていきます。
:::

https://eips.ethereum.org/EIPS/eip-7517

他にも様々なEIP・BIP・SLIP・CAIP・ENSIP・RFC・ACPについてまとめています。

https://cardene.notion.site/ERC-EIP-2a03fa3ea33d43baa9ed82288f98d4a9?pvs=4

## 概要

**ERC7517**は、EVM互換ブロックチェーンで扱われるデジタルメディアに対して、データマイニング（大量のデータを解析する処理）やAI学習用途への利用可否を明確に示す仕組みを整えるものです。
既存のデジタルメディア向けメタデータ標準である**ERC7053**や、NFTで広く使われる **ERC721** / **ERC1155**を拡張し、クリエイターが自分の制作物をどのように扱ってほしいかを、ブロックチェーン上のメタデータとして宣言できるようにします。

:::message
**ERC7053**については以下の記事を参考にしてください。
:::

[\[ERC7053\] デジタルメディアの履歴の記録や検索のためのインデックス作成の仕組みを理解しよう！](/articles/c27595d80442837083c8)

:::message
**ERC721**については以下の記事を参考にしてください。
:::

[\[ERC721\] ERC721を1からわかりやすく解説](/articles/0570a8d05bc7c9b9593f)

:::message
**ERC1155**については以下の記事を参考にしてください。
:::

[\[ERC1155\] ERC1155を1からわかりやすく解説](/articles/c3ef92722b057161bebd)

ここで追加される `dataMiningPreference` は、作品がAIの学習データとして利用されてよいかどうかを示すための新しいプロパティです。
これによって、コンテンツの意図を正しく伝え、利用する側も安心して確認・収集できるようになります。

さらに、デジタル資産の扱いに関する考え方として、クリエイターの意図を尊重すること、AI開発者がデータを安全に扱えること、そして人が読んでもプログラムが読んでも理解できる情報として提供することが含まれています。

## 動機

#### デジタル資産とAI利用の関係が深まる背景

AIや機械学習が発展する中で、画像・動画・テキストといったデジタル資産が大量に学習データとして利用されています。
しかし、その利用がクリエイターや権利者の意図と一致しないケースも増えています。
**ERC7517**では、このギャップを埋めるために、メタデータの段階で利用方針を明示する重要性が示されています。

ウェブサイトでクロール（自動収集プログラムによる取得）を制御する「**`robots.txt`（Webクローラーに対して許可・禁止を示す設定ファイル）**」のように、コンテンツ所有者がAI学習への利用範囲を指定できるようにする必要があるという考え方です。

#### `dataMiningPreference` を追加する意義

デジタル資産のメタデータへ `dataMiningPreference` を追加することで、そのコンテンツがデータマイニングやAI学習に利用されてよいかどうかを、クリエイターが直接示せるようになります。
これによって、以下のような点が改善されます。

- **クリエイターの意図が保持される**
    作品の用途に関する意向を、オンチェーンで明確に残せるため、利用する側が意図を把握しやすくなります。

- **AI開発者側の確認負担が減る**
    利用可否を体系的にチェックできるため、データ収集の手間が軽減されて安全に利用できます。

#### `dataMiningPreference` が満たすべき要素

必要な観点は主に以下の2点にまとめられます。

| 観点           | 説明 |
| ------------ | ------------ |
| アクセシビリティ     | クリエイターや権利者が分かりやすく、機械処理でも読み取れる形で利用方針を示せること。AI開発者はこれを基に安全にデータ収集できる。    |
| 採用（標準化との整合性） | C2PA（デジタルコンテンツの真正性・来歴を扱う国際的な仕様）が既に「**AI学習可否**」の記述方法を定めているため、オンチェーンのメタデータもこれと整合性を持たせる必要があること。 |

C2PAは、メディアファイルの内部に「**AI学習に使ってよいかどうか**」を記録する仕組みを提供しています。
**ERC7517**は、これをオンチェーンの世界にも自然につなげ、メディア内部の情報とブロックチェーン上のメタデータが矛盾しないようにすることを目指しています。

## 仕様

### `dataMiningPreference` プロパティの役割

**ERC7517**は、デジタル資産がデータマイニングやAI学習に利用される時の「**利用可否**」を明確に示すため、メタデータに `dataMiningPreference` という新しいプロパティを追加します。

これはオブジェクト形式で複数の利用区分を保持でき、クリエイターやライセンス保有者が自身の資産をどの範囲で利用してよいかを細かく指定できるようになります。

### 各利用区分の説明

利用目的によって複数の項目が用意されており、それぞれに対して許可レベルを設定できます。

| 項目名      | 説明          |
| ---------------- | ---------------------- |
| `dataMining`  | パターン抽出や傾向分析などのデータマイニングで利用してよいかどうか             |
| `aiInference` | 既に学習済みのAIモデルの入力として利用してよいかどうか  |
| `aiGenerativeTraining`  | 新しい生成物を生み出すAIの学習データとして利用してよいかどうか              |
| `aiGenerativeTrainingWithAuthorship` | `aiGenerativeTraining` と同じだが、利用時に著作情報を明示する必要がある |
| `aiTraining` | 生成向け・非生成向けのAI学習全般に利用してよいかどうか  |
| `aiTrainingWithAuthorship`           | `aiTraining` と同じだが、利用時に著作情報を明示する必要がある           |

### 許可レベルの種類

各項目は以下の3つの値を持ちます。

| 値           | 説明                            |
| ----------- | ----------------------------- |
| `allowed`     | 制限なく利用してよい                    |
| `notAllowed`  | 利用は禁止                         |
| `constrained` | 特定の条件下なら利用できる（条件はライセンス文書側で管理） |

#### `constrained` の扱い

`constrained` が指定された場合、その条件の詳細はスキーマ内には書かれません。
理由は、具体的な条件はクリエイターが定めるライセンスに依存するためです。

そのため、実際に利用する人はメタデータ内のライセンス参照を確認し、その条件を守る必要があります。

### 動作例：`aiInference` の解釈

`aiInference` が示す利用範囲の例は以下のようになります。

* `allowed`
  AIモデルの入力として自由に利用可能。
* `notAllowed`
  AIモデルの入力として利用することは禁止。
* `constrained`
  ライセンスで定めた条件に従う範囲で利用可能。

### JSON Schema

`dataMiningPreference` の構造は以下のように定義されています。

```json
{
  "type": "object",
  "properties": {
    "dataMining": {
      "type": "string",
      "enum": ["allowed", "notAllowed", "constrained"]
    },
    "aiInference": {
      "type": "string",
      "enum": ["allowed", "notAllowed", "constrained"]
    },
    "aiTraining": {
      "type": "string",
      "enum": ["allowed", "notAllowed", "constrained"]
    },
    "aiGenerativeTraining": {
      "type": "string",
      "enum": ["allowed", "notAllowed", "constrained"]
    },
    "aiTrainingWithAuthorship": {
      "type": "string",
      "enum": ["allowed", "notAllowed", "constrained"]
    },
    "aiGenerativeTrainingWithAuthorship": {
      "type": "string",
      "enum": ["allowed", "notAllowed", "constrained"]
    }
  },
  "additionalProperties": true
}
```

#### 例

##### 生成AIの学習を禁止する例

```json
{
  "dataMiningPreference": {
    "dataMining": "allowed",
    "aiInference": "allowed",
    "aiTrainingWithAuthorship": "allowed",
    "aiGenerativeTraining": "notAllowed"
  }
}
```

##### AI推論のみに許可する例

```json
{
  "dataMiningPreference": {
    "aiInference": "allowed",
    "aiTraining": "notAllowed",
    "aiGenerativeTraining": "notAllowed"
  }
}
```

##### 生成AI学習を条件付きで許可する例（著作情報の明示が必要）

```json
{
  "dataMiningPreference": {
    "dataMining": "allowed",
    "aiInference": "allowed",
    "aiTrainingWithAuthorship": "allowed",
    "aiGenerativeTrainingWithAuthorship": "constrained"
  }
}
```

#### ERC721での利用例

**ERC721**では、通常のNFTメタデータに `dataMiningPreference` をそのまま追加できます。
ライセンス情報は例示であり、実際にはNFTごとに独自の指定方法があります。

```json
{
  "name": "The Starry Night, revision",
  "description": "Recreation of the oil-on-canvas painting by the Dutch Post-Impressionist painter Vincent van Gogh.",
  "image": "ipfs://bafyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "dataMiningPreference": {
    "dataMining": "allowed",
    "aiInference": "allowed",
    "aiTrainingWithAuthorship": "allowed",
    "aiGenerativeTrainingWithAuthorship": "constrained"
  },
  "license": {
    "name": "CC-BY-4.0",
    "document": "https://creativecommons.org/licenses/by/4.0/legalcode"
  }
}
```

#### ERC7053 での利用例

**ERC7053**はオンチェーンのメディア来歴（プロビナンス）を扱う仕様です。
ここでも `dataMiningPreference` を `Commit` データやカスタムメタデータに組み込むことができます。

##### `Commit` データに直接含める例

```json
{
  "dataMiningPreference": {
    "dataMining": "allowed",
    "aiInference": "allowed",
    "aiTrainingWithAuthorship": "allowed",
    "aiGenerativeTrainingWithAuthorship": "constrained"
  },
  "license": {
    "name": "CC-BY-4.0",
    "document": "https://creativecommons.org/licenses/by/4.0/legalcode"
  }
}
```

##### カスタムメタデータ側に含める例

`Commit` データにカスタムメタデータのCIDを記録し、その内容に `dataMiningPreference` を入れる場合の例です。

- `Commit` データ

```json
{
  "assetTreeCid": "bafybbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
}
```

- カスタムメタデータ

```json
{
  "dataMiningPreference": {
    "dataMining": "allowed",
    "aiInference": "allowed",
    "aiTrainingWithAuthorship": "allowed",
    "aiGenerativeTrainingWithAuthorship": "constrained"
  },
  "license": {
    "name": "CC-BY-4.0",
    "document": "https://creativecommons.org/licenses/by/4.0/legalcode"
  }
}
```

## 補足

#### JSONスキーマを採用した理由

**ERC7517**はメタデータの形式にJSONを採用しています。
JSONは人が読んでも理解しやすく、プログラムから扱う場合も取り回しが良いという特徴があります。
さらに、多くの既存システムやツールがJSONを前提としているため、導入時のハードルが低く、互換性も確保しやすい点が採用理由です。
これにより、クリエイター・開発者・サービス事業者が扱う環境を選ばず、柔軟にメタデータを管理できます。

#### 利用目的ごとの詳細な制御を用意した理由

**ERC7517**は、`aiGenerativeTraining`、`aiTraining`、`aiInference` といった複数の項目を設けることで、AI利用の細かな区分を扱えるようにしています。
AI利用の世界では、推論（モデルの利用）と学習（モデルの構築）では目的も影響範囲も大きく異なり、生成系AIの学習には倫理的・計算コストの両面でより慎重な判断が必要です。
そのため、利用区分を広くひとまとめにするのではなく、クリエイターが「**どの範囲まで利用を許可するか**」を丁寧に分けて指定できるようにしたことが特徴です。

#### 著作情報の明示を選択できるようにした理由

`aiGenerativeTrainingWithAuthorship` や `aiTrainingWithAuthorship` の項目は、利用する時に著作情報を明示することを条件にできます。
生成AIによる二次創作の扱いは、社会的にも法的にも課題が多い部分であり、クリエイターが自分の作品がどのような形で引用されたかを把握できるようにすることは重要です。

著作情報の明示をオプションとして設定できるようにすることで、倫理面・透明性の確保に貢献しています。

#### `constrained` を用意した理由

`constrained` は `allowed` と `notAllowed` の中間に位置する選択肢です。
利用許可に条件を付与したい場合、細かな条件をスキーマ側に書くと複雑になり、仕様としても維持しづらくなります。

そこで、条件はライセンス文書にまとめ、メタデータ側では「**条件付きで可能**」という状態だけを示す役割を担わせています。

この仕組みにより、スキーマはシンプルに保たれて、ライセンスの多様性を損なわずに柔軟な表現が可能というメリットが生まれます。

さらに、条件の詳細がない場合は `notAllowed` と同様に扱われるため、安全側に倒す設計となっています。

#### C2PAとの整合性を確保する理由

C2PA（Content Provenance and Authenticity）は、デジタルコンテンツの来歴と真正性を扱う国際規格です。
すでに AI学習の可否をメディア内部に記録する仕組みを提供しているため、オンチェーン側のメタデータもこれと矛盾しないようにする必要があります。

**ERC7517**がC2PAと整合性をとることで、オンチェーンとオフチェーンの両方で同じ意図が反映され、異なる環境間でのデータ利用や確認が滑らかになります。

## セキュリティ

#### データの完全性

`dataMiningPreference` はデータ利用の方針を示す重要な情報であり、仮に改ざんされると不正利用につながる可能性があります。
ブロックチェーンの特性としてデータは改ざんに強いものの、追加の保証として暗号署名を利用することで、メタデータが正当な発行者によって設定されたものであることを確認できます。

データが正しく維持されることは、利用者がメタデータに信頼を置くための前提になります。

#### 設定者の真正性

`dataMiningPreference` を設定する主体が作品の正当な所有者であることを確認する必要があります。
もし第三者が勝手に設定を変更できる場合、作品の意図しない利用が発生し、クリエイターの権利が損なわれます。

そのため、スマートコントラクト側で所有者確認を行う設計や、来歴（プロビナンス）を追跡できる仕組みと合わせて利用することが求められます。

#### データプライバシー

ブロックチェーンに書き込まれる情報は一般に公開されるため、記録する内容によっては意図せず利用者の個人情報や機密情報が露出する可能性があります。

`dataMiningPreference` 自体は権利管理に関する情報であり、通常は個人情報を含まない構造になっていますが、ライセンス文書や外部情報の扱いには注意が必要です。

情報の公開範囲を常に意識し、必要以上の情報をオンチェーンに残さないことが安全性につながります。

## 引用

Bofu Chen (@bafu), Tammy Yang (@tammyyang), "ERC-7517: Content Consent for AI/ML Data Mining [DRAFT]," Ethereum Improvement Proposals, no. 7517, September 2023. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-7517.

## 最後に

今回は「メタデータに「`dataMiningPreference`」を追加し、AI推論・学習・生成モデルへの利用可否を細かく指定できる仕組みを提案している**ERC7517**」についてまとめてきました！
いかがだったでしょうか？

質問などがある方は以下のTwitterのDMなどからお気軽に質問してください！

[Twitter @cardene777](https://twitter.com/cardene777)

他の媒体でも情報発信しているのでぜひ他も見ていってください！

https://zenn.dev/heku

https://cardene.substack.com/

https://mirror.xyz/0xcE77b9fCd390847627c84359fC1Bc02fC78f0e58

https://cardene.notion.site/ERC-EIP-2a03fa3ea33d43baa9ed82288f98d4a9?pvs=4
