はじめに

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

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

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

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

概要

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

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

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

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

ここで追加される 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などからお気軽に質問してください!

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