8 мин чтения
Подтверждение происхождения AI-контента в большом масштабе с помощью пакетирования Merkle
Вычислите хеш для каждого AI-результата, промпта, манифеста или записи Content Credentials, сверните хеши в корни Merkle и публикуйте обязательства Label 309 с метками времени — это подтверждает существование любого отдельного элемента без публикации каждого ассета или приватного промпта в блокчейне.

Если ваша команда создаёт AI-контент в большом масштабе, вы можете подтвердить, что именно вы создали и когда — не публикуя в блокчейне каждый ассет. Вычислите хеш для каждого результата или манифеста происхождения, сверните эти хеши в корни Merkle и регулярно публикуйте обязательства Label 309 с метками времени. Позже вы сможете подтвердить, что конкретное изображение, видео, текстовый файл, манифест «промпт и результат» или манифест Content Credentials входили в зафиксированный пакет — используя только ссылку на транзакцию и публичный обозреватель блокчейна Cardano.
Это даёт вам Proof of Existence: свидетельство того, что именно эти байты существовали к определённому публичному моменту времени. Оно не доказывает, что содержимое истинно, законно или создано человеком. Оно подтверждает зафиксированное во времени обязательство по отношению к конкретным байтам, закреплённое вне ваших собственных редактируемых систем.
Зачем AI-контенту отдельный слой подтверждения?
AI-контент легко создавать, редактировать, ремиксировать и генерировать заново — и именно в этом проблема.
Если компания производит тысячи AI-результатов, как ей потом подтвердить, какие именно результаты она создала, когда она это сделала, какой промпт или контекст модели был записан и какая версия была показана клиенту или опубликована в сети?
Внутреннего журнала в базе данных само по себе часто недостаточно. Журналы можно переписать. Хранилище мигрирует. Ассеты можно сгенерировать заново байт в байт. Метаданные теряются при передаче. Клиент, аудитор, регулятор, партнёр или суд могут запросить свидетельство, которое существовало вне собственных редактируемых систем компании — и в проверяемый момент времени.
Proof of Existence даёт таким записям внешнюю метку времени, которая не зависит от доверия к компании, её серверам или её домену.
Что стоит хешировать AI-команде?
Хешируйте те свидетельства, которые вам может потребоваться предъявить позже.
Для AI-контента это часто включает:
- сгенерированный файл-результат;
- промпт и системный промпт или профиль политики;
- название и версию модели;
- сид или параметры генерации, где это важно;
- историю правок;
- результат модерации;
- идентификатор пользователя или запроса;
- манифест результата;
- манифест Content Credentials (C2PA);
- ссылки на набор данных или контекст извлечения;
- событие согласования или публикации;
- пакет, передаваемый клиенту.
Не всё это должно быть публичным. Чувствительные детали могут оставаться в приватном манифесте, который вы хешируете и фиксируете через корень Merkle. Позже вы раскрываете только то подмножество, которое нужно для конкретного спора, аудита или проверки клиентом — остальное остаётся приватным, но при этом доказуемо зафиксированным.
Зачем пакетировать через корень Merkle вместо отдельной записи на каждый результат?
Платформа может производить тысячи или миллионы результатов. Публиковать для каждого отдельную запись в блокчейне было бы медленно и расточительно. Корень Merkle позволяет зафиксировать множество хешей в одной записи.
Рабочий процесс выглядит так:
- Сгенерируйте или получите результаты.
- Постройте канонический манифест для каждого результата.
- Вычислите хеш ассета и его манифеста — это даст лист.
- Добавьте лист в упорядоченный список.
- Публикуйте корень Merkle каждый час, день, релиз или пакет.
- Сохраняйте список листьев и доказательства включения.
Позже вы сможете подтвердить, что один результат или манифест входил в конкретный пакет, не публикуя в блокчейне весь пакет целиком. Построение дерева и проверка доказательства включения — полностью автономные операции; только публикация корня обращается к шлюзу. С инструментами с открытым исходным кодом размер доказательства включения растёт как логарифм размера пакета, поэтому доказательство для одного элемента из миллиона листьев остаётся компактным. Подробная механика описана в статье одна запись для тысяч файлов.
Как это работает вместе с C2PA и Content Credentials?
C2PA и Label 309 решают разные задачи и хорошо сочетаются.
C2PA — Coalition for Content Provenance and Authenticity, чья форма для пользователей называется Content Credentials, — это структурированный слой происхождения. Манифест C2PA может нести утверждения, заявления, подписи и привязки, которые описывают происхождение и историю правок медиаассета.
Label 309 закрепляет хеш — этого манифеста или ассета вместе с манифестом — на независимой метке времени Cardano. Итого:
- C2PA описывает происхождение внутри медиаассета или рядом с ним.
- Label 309 подтверждает, что конкретное обязательство по манифесту или ассету существовало к определённому публичному моменту времени — без сервера издателя, которому нужно доверять или который должен пережить запись.
C2PA даёт содержимому словарь происхождения; Label 309 даёт свидетельству публичную точку фиксации во времени. Более подробное сравнение этих двух подходов — в статьях Proof of Existence против C2PA и почему C2PA выигрывает от точки фиксации во времени.
Почему нельзя полагаться только на встроенные метаданные?
Встроенные метаданные могут быть удалены, потеряны или преобразованы при передаче. Большинство социальных платформ при перекодировании полностью отбрасывают манифест C2PA.
Это не делает встроенное происхождение бесполезным. Content Credentials ценны именно тем, что путешествуют вместе с содержимым и позволяют потребителям изучить его происхождение. Но внешнее обязательство с меткой времени помогает, когда метаданные удалены, оспорены или отделены от ассета.
На практике команда хранит:
- исходный сгенерированный ассет;
- манифест C2PA;
- манифест результата;
- ссылку на транзакцию Label 309;
- доказательство включения Merkle.
Если позже копия начнёт циркулировать без метаданных, вы всё равно сможете связать исходный ассет или манифест с публичным обязательством, заново вычислив хеш.
Как быть с правилами прозрачности AI?
Регуляторное давление на происхождение AI-контента растёт. Обзор AI Act Европейской комиссии гласит, что поставщики генеративного AI обязаны обеспечить, чтобы AI-контент можно было идентифицировать, и что правила прозрачности AI Act вступают в силу в августе 2026 года.
Это не юридическая консультация, и требования различаются в зависимости от юрисдикции и сценария использования. Но направление очевидно: компаниям, производящим AI-контент, нужны более надёжные практики работы со свидетельствами.
Proof of Existence сам по себе не является программой комплаенса. Это слой свидетельств, который помогает в работе по комплаенсу, делая записи труднее переписать незаметно задним числом. Поможет ли он в конкретном регуляторном контексте, зависит от нормы и вашей юрисдикции, и он не заменяет юридическую консультацию.
Что подтверждение Label 309 реально может доказать в этом случае?
Оно может подтвердить, что именно эти данные существовали к определённому публичному моменту времени. Для AI-контента такими данными могут быть файл-результат, манифест «промпт и результат», манифест C2PA, корень пакета над множеством сгенерированных ассетов, отчёт о модерации, запись о согласовании или манифест публикации.
Три необязательные функции расширяют то, что может нести одна запись:
- Подписанные записи. Если запись несёт необязательную подпись, она также показывает, что конкретный ключ поручился за запись. Авторство в Label 309 всегда необязательно — оно никогда не требуется для публикации.
- Запечатанные записи. Чувствительные файлы можно зашифровать и сохранить, не делая публичными, при этом ключ шифрования содержимого упаковывается под один или несколько ключей получателей.
- Пакетирование Merkle. Один корень может покрыть очень большие объёмы результатов.
Что оно не доказывает?
Зафиксированное во времени обязательство намеренно узко. Оно не доказывает, что содержимое правдиво. Оно не доказывает, что результат получен от конкретной модели, если контекст модели не записан и ему не доверяют как части вашего рабочего процесса. Оно не доказывает, что содержимое было сгенерировано законно, обучено законно или опубликовано законно. Оно не доказывает, что манифест C2PA заслуживает доверия, если проверка C2PA и модель доверия к подписавшему также не подтверждаются. И оно не доказывает, что ваш внутренний конвейер был честным, если сам этот конвейер не контролируется, не журналируется и не поддаётся аудиту.
Подтверждение — это зафиксированное во времени обязательство по отношению к конкретным байтам. Смысл этому обязательству придаёт окружающая система происхождения. Подробнее об этой границе — в статье что подтверждение не доказывает.
Как командам стоит структурировать манифест?
Сделайте его скучным, каноническим и стабильным. Манифест AI-результата может включать:
- хеш ассета и тип ассета;
- метку времени создания в системе;
- идентификатор и версию модели;
- параметры генерации;
- хеш промпта или ссылку на зашифрованный промпт;
- идентификатор пользователя или рабочего процесса;
- решение модерации;
- хеш манифеста C2PA;
- статус публикации;
- идентификатор пакета;
- внутреннюю ссылку на согласование.
Чувствительные значения не обязаны быть публичными. Манифест может быть приватным, запечатанным или раскрытым выборочно позже; публичное подтверждение фиксирует хеш манифеста или корень Merkle над множеством хешей манифестов. Главное — согласованность: если каждая команда каждую неделю придумывает новую форму манифеста, будущая верификация превратится в мучение.
Должны ли промпты быть публичными?
Обычно нет. Промпты могут содержать данные клиентов, коммерческие тайны, персональные данные, материалы тестирования безопасности или детали внутренних политик. Вы можете хешировать промпты или манифесты промптов, ни разу не публикуя сам текст промпта.
Для чувствительных рабочих процессов запечатанная запись может сохранить зашифрованный пакет «промпт и результат». Позднее верификатор, у которого есть нужный ключ, сможет расшифровать пакет, заново вычислить хеш и убедиться, что он совпадает с публичным обязательством. Это даёт вам свидетельство, не делая его публичным с первого дня. Учтите ограничение: как только получатель расшифрует запечатанный пакет, у него на руках открытый текст, и он может им поделиться — запечатывание управляет тем, кто может открыть запись, а не тем, что он сделает дальше. Этот приём разбирается в статье конфиденциальное раскрытие без публичных файлов.
Какова хорошая первая реализация?
Начните с пакетных обязательств. Для каждого дня или релиза:
- Соберите значимые сгенерированные результаты.
- Постройте манифест на каждый результат.
- Включите хеши манифестов C2PA, где они доступны.
- Вычислите хеш каждого манифеста — это даст лист.
- Постройте корень Merkle.
- Опубликуйте подписанную запись Label 309.
- Сохраните список листьев, доказательства включения и ссылку на транзакцию.
Затем добавьте запечатанное сохранение для чувствительных пакетов и проверку публичных ассетов на стороне клиента. Цель не в том, чтобы построить идеальную вселенную происхождения в первый же день, — а в том, чтобы перестать терять хронологию. Тот же приём пакетирования встречается в статьях подтверждения сборок CI/CD и манифесты наборов данных AI.
Кому это нужно?
Этот приём подходит любой команде, которая производит контент в большом масштабе и которой позже может понадобиться подтвердить, что и когда она сгенерировала:
- AI-медиакомпаниям и инструментам генеративного дизайна;
- AI-платформам для видео и изображений;
- платформам автоматизации маркетинга;
- корпоративным AI-командам;
- компаниям, работающим с синтетическими данными, и командам оценки моделей;
- издателям, использующим рабочие процессы с участием AI;
- компаниям, готовящимся к аудитам происхождения AI-контента.
Коротко
Происхождению AI-контента в большом масштабе нужно пакетирование. Вычислите хеши ваших результатов и манифестов, сверните хеши в корни Merkle и публикуйте записи Label 309 на регулярной основе. Сохраняйте списки листьев и доказательства включения. Используйте C2PA и Content Credentials для происхождения медиа там, где это уместно, а Label 309 — как публичную точку фиксации во времени в основании.
Подтверждение не устанавливает истинность или законность. Оно устанавливает хронологию конкретных байтов — а это часто и есть та часть, которую уже не получится восстановить задним числом.
Что почитать дальше
- Закрепите тысячи файлов под одним корнем
- Proof of Existence против C2PA и почему C2PA нужна точка фиксации во времени
- Манифесты наборов данных AI и подтвердите обучающие данные, не раскрывая их
- Что подтверждение не доказывает
- C2PA / Content Credentials: c2pa.org, техническая спецификация C2PA и contentcredentials.org
- Европейская комиссия, Регуляторная рамка для AI
- Открытый стандарт на label309.org, а также SDK и CLI с открытым исходным кодом на github.com/cardanowall