Как здесь работает подтверждение происхождения
Коротко: каждый файл, который мы регистрируем, получает отпечаток, большая часть каталога получает второй отпечаток — самой формы, а автор может закрепить отпечаток файла в блокчейне, чтобы запись нельзя было незаметно изменить задним числом. Всё это можно проверить самостоятельно, аккаунт не требуется.
Что мы храним
В основном — настоящие файлы. Загруженные модели хранятся у нас целиком, в объектном хранилище, где исходные байты никогда не изменяются. Каталог, собранный сканером, тоже хранится в виде настоящих файлов везде, где это разрешает источник. Меньшая часть — только индекс: метаданные и отпечаток без самих байтов. Каждая запись из сканирования содержит ссылку на страницу-источник.
Отпечаток для каждого файла
Когда файл попадает в реестр, мы пропускаем его через SHA-256. Это даёт короткую строку, которая однозначно соответствует точным байтам файла. Измените в модели один треугольник — и отпечаток изменится полностью. Оставьте файл неизменным — и отпечаток останется прежним навсегда.
Так что отпечаток отвечает на узкий, но полезный вопрос: это тот же самый файл или нет? Верить нам на слово не обязательно — вы можете вычислить такой же хеш на своём компьютере и сравнить.
Второй отпечаток — для самой формы
У SHA-256 есть слепое пятно. Экспортируйте ту же модель из другой программы или пересоздайте её сетку (ремешинг) — байты изменятся, а значит изменится и хеш. Форма та же, а отпечаток новый. Хеш файла никогда не скажет вам, что два разных файла содержат один и тот же объект.
Поэтому у большей части каталога есть второй отпечаток: компактное числовое описание самой геометрии, полученное по точкам поверхности модели. Сегодня он есть более чем у 275 000 моделей. Он распознаёт одну и ту же форму при повторном экспорте, ремешинге, децимации, масштабировании и повороте, и мы используем его внутри своего конвейера обработки, чтобы находить дубликаты по всему каталогу — так одна и та же форма не проскочит дважды под разными байтами. Поскольку индекс охватывает несколько платформ, реестр часто может также подсказать, где конкретный файл появился впервые.
Более глубокое сопоставление — отслеживание ремиксов и общих деталей между моделями — сейчас в разработке. Мы предпочитаем публиковать измеримые результаты, а не обещания, поэтому эта страница расскажет больше, когда появится что показать по-настоящему.
Закрепление в блокчейне
Сам по себе отпечаток хранится в нашей базе данных. Это полезно, но это наша база. Следующий шаг — записать этот отпечаток в публичный блокчейн, где он получает метку времени и транзакцию, которую никто не может переписать. Именно это мы и называем «закреплением».
Мы используем две сети. Polygon даёт быструю, дешёвую и публичную транзакцию, которую можно прочитать на PolygonScan. Bitcoin через OpenTimestamps даёт самую долговечную запись из всех — такую, что переживёт любую отдельную компанию. Не каждая модель в каталоге закреплена в блокчейне. Значительная часть каталога проиндексирована с других сайтов, и такие записи несут отпечаток, но без on-chain штампа. Если модель закреплена, это прямо указано на странице модели и в её API-эндпоинте доказательства.
Что доказывает закрепление, а что — нет
Оно доказывает, что конкретный файл существовал к конкретной дате и что с тех пор запись не менялась. Само по себе оно не доказывает, кто создал модель и кому принадлежат права. Авторство — это отдельное утверждение. Мы намеренно разделяем эти два понятия.
Проверьте всё сами
- Откройте страницу проверки. Перетащите туда файл. Ваш браузер вычислит хеш локально, поэтому файл никогда не будет загружен на сервер.
- Мы ищем отпечаток в реестре и показываем, что у нас есть: зарегистрирован ли он, кто его зарегистрировал и закреплён ли он в блокчейне.
- Если модель закреплена, перейдите по ссылке на публичный block explorer и прочитайте транзакцию самостоятельно.
Уже есть доказательство OpenTimestamps в Bitcoin? Проверить его можно на верификаторе OpenTimestamps.
Что и где закреплено
- Polygon. Работает. Быстро, публично и дёшево записывать. Наш смарт-контракт реестра — 0x687F2e6F96288Ac58fe22E2Eb000D1a628aEEB65, поэтому вы можете прочитать каждый штамп, который мы когда-либо записали, напрямую на PolygonScan, без нашего участия. Тот же адрес возвращает GET /api/blockchain/status.
- Bitcoin через OpenTimestamps. Работает. Самая долговечная запись из всех. Проверить доказательство можно на верификаторе OpenTimestamps.
- Solana. В планах, пока не реализовано.
Мы предпочитаем преуменьшать, а не преувеличивать. Если на странице сказано, что модель закреплена, это подтвердит и API-эндпоинт доказательства.
Для разработчиков и автоматических агентов
Если вы читаете это программно, не нужно парсить эти страницы. Есть API только для чтения, которое возвращает те же факты в формате JSON, без ключа и входа в систему:
- Найти отпечаток по хешу: GET /api/models/verify?hash={sha256}
- Одна модель в формате JSON, включая данные о закреплении: GET /api/models/{id}
- On-chain доказательство для модели: GET /api/models/{id}/proof
- Доказательство в Bitcoin, проверяемое в реальном времени, со ссылкой на исходный файл .ots: GET /api/models/{id}/verify-ots. Скачайте .ots и проверьте его самостоятельно с помощью open-source инструментов OpenTimestamps — без участия ModelDirectory.
- Статус сети и адрес смарт-контракта реестра: GET /api/blockchain/status
Хотите провести проверку самостоятельно? Есть небольшой open-source скрипт на github.com/ModelDirectory/verify. Он хеширует ваш файл локально и читает смарт-контракт реестра через любой публичный узел Polygon на ваш выбор, поэтому ответ никогда не зависит от наших серверов. Лицензия MIT, скрипт достаточно короткий, чтобы прочитать его перед запуском.
Управляете платформой?
Всё, что описано на этой странице, можно встроить прямо в процесс публикации на вашей платформе. Один запрос POST в момент публикации даёт каждой загрузке на вашей платформе независимое доказательство первой публикации с меткой времени и небольшой значок, на который ваши авторы смогут сослаться, если их работа появится там, где не должна. Мы никогда не запрашиваем сам файл, только его хеш, а значок не содержит ни cookies, ни трекинга. Интеграция намеренно простая: один секретный ключ, два запроса — и всё готово за пару часов.
Подробности, точные запросы и как получить ключ — на странице для платформ.
Где файл появился впервые?
Поскольку индекс охватывает несколько платформ, реестр часто может с доказательствами ответить на простой вопрос: где именно этот файл появился впервые? Попробуйте на странице поиска первой публикации. Перетащите файл (хешируется в браузере, никогда не загружается) или вставьте хеш — и посмотрите хронологию.
Полный список — в машиночитаемом манифесте /.well-known/ai-agent.json, а простое руководство для языковых моделей — на странице /llms.txt.