Timestamp GIT Secure your prior art without exposing code

← All posts

2026-08-29

Как доказать существование известного уровня техники для программного обеспечения: руководство разработчика

Как доказать существование известного уровня техники для программного обеспечения: руководство разработчика
timestamp git blockchain proof

Как доказать существование известного уровня техники для программного обеспечения: руководство разработчика

Доказательство существования известного уровня техники для программного обеспечения сводится к одному точному вопросу: можете ли вы показать, что конкретный Git-коммит существовал на конкретную дату, с доказательством того, что ни один внутренний сервер, администратор репозитория или третья сторона не может его изменить? Это руководство пошагово объясняет, как создать такое доказательство, не раскрывая ваш исходный код.

Вы будете использовать Timestamp GIT — управляемый сервис и GitHub App, который закрепляет хеши ваших Git-коммитов в блокчейне Bitcoin через протокол OpenTimestamps. Рабочий процесс выглядит так: установите один раз, коммитьте как обычно, а автоматическое ночное закрепление создаст неизменяемые файлы-квитанции .ots.

К концу этого руководства вы:

  • Установите GitHub App на репозитории, которые хотите защитить.
  • Настроите, куда доставляются криптографические доказательства.
  • Запустите и подтвердите привязку к Bitcoin с меткой времени для реального коммита.
  • Проверите доказательство через публичную панель управления и бейдж.
  • Устраните наиболее распространённые проблемы с правами доступа и доставкой.

Предварительные требования

Перед началом убедитесь, что у вас есть:

  • Учётная запись GitHub и хотя бы один репозиторий, который вы хотите защитить.
  • Базовое знакомство с Git-коммитами и хешами. Опыт в криптографии или блокчейне не требуется.
  • Учётная запись Timestamp GIT. Для публичных репозиториев используется бесплатный тариф; для приватных репозиториев требуется тариф Pro Agency за $49/месяц или Enterprise ZK за $199/месяц.
  • Необязательно: Docker, если вы планируете самостоятельно развернуть Timestamp GIT в изолированной или корпоративной среде.

Пошаговая инструкция: настройка Timestamp GIT

Управляемый вариант не требует ничего на ваших машинах разработчика. Вы один раз устанавливаете GitHub App, выбираете репозитории, и каждый коммит затем автоматически закрепляется в Bitcoin каждую ночь.

Шаг 1: Зарегистрируйтесь и подключите GitHub

Перейдите на Timestamp GIT и войдите с помощью своей учётной записи GitHub. Управляемый SaaS-поток — это путь по умолчанию.

Если вы разворачиваете сервис самостоятельно, начните с быстрого старта через Docker Compose:

services:
  timestampgit:
    image: rue1401/timestampgit:prod
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data
    restart: unless-stopped
  valkey:
    image: valkey/valkey:8
    restart: unless-stopped

Затем выполните:

docker compose pull
docker compose up -d
docker compose logs -f timestampgit

Самостоятельно развёрнутое приложение доступно по адресу http://localhost:8080. При первом запуске мастер настройки проведёт вас через подключение вашего GitHub App и применение файла лицензии.

Шаг 2: Установите GitHub App Timestamp GIT

Установите GitHub App на репозитории, которые хотите защитить.

В стандартном режиме Timestamp GIT требуется доступ только для чтения к исходному репозиторию. Это не потому, что он читает ваш код — он читает только хеш HEAD-коммита, — а потому, что система прав GitHub не предоставляет уровень доступа только к хешу.

Если доказательства доставляются в отдельный целевой репозиторий, приложению также требуется доступ на чтение и запись к этому целевому репозиторию.

Шаг 3: Выберите репозитории для мониторинга

На панели управления Timestamp GIT откройте страницу Your Repositories и выберите репозитории, которые хотите отслеживать.

Каждый выбранный репозиторий добавляется в ночной конвейер создания доказательств. Timestamp GIT не проверяет содержимое файлов, исходный код или содержимое веток, кроме хешей коммитов, необходимых для закрепления.

Шаг 4: Настройте доставку доказательств

Для каждого отслеживаемого репозитория выберите, куда следует записывать криптографические доказательства:

  • Отдельная ветка timestamp внутри того же репозитория.
  • Отдельный теневой репозиторий, который может быть приватным, даже если исходный репозиторий публичный.

Timestamp GIT записывает файлы манифестов и квитанции .ots в это место после подтверждения ежедневного закрепления.

Шаг 5: Необязательно: включите режим Enterprise ZK

Для команд, которым требуется нулевой доступ к исходному коду, режим Enterprise ZK является более строгой моделью развёртывания.

Во время настройки Timestamp GIT генерирует workflow-файл GitHub Action из 12 строк. Вы добавляете этот сгенерированный файл в свой репозиторий по пути:

.github/workflows/timestampgit.yml

Action выполняется на вашей собственной инфраструктуре, а не на системах Timestamp GIT. Он отправляет в API Timestamp GIT только хеш коммита. В этом режиме Timestamp GIT вообще не требуется доступ на чтение к исходному репозиторию — только доступ на чтение и запись к целевому репозиторию, куда доставляются доказательства.

Шаг 6: Сделайте коммит, чтобы запустить процесс

Как только мониторинг настроен, коммитьте и отправляйте изменения как обычно:

git add .
git commit -m "feat: add payment webhook handler"
git push origin main

В стандартном режиме GitHub App автоматически обнаруживает новый хеш HEAD-коммита. В режиме Enterprise ZK GitHub Action отправляет хеш из вашей CI-среды.

Шаг 7: Дождитесь ночного закрепления в Bitcoin

Timestamp GIT накапливает ожидающие хеши коммитов в очереди в памяти. Каждую ночь рабочий процесс:

  1. Группирует ожидающие хеши по репозиториям.
  2. Создаёт ежедневные файлы манифестов.
  3. Строит дерево Меркла из хешей коммитов.
  4. Создаёт доказательства OpenTimestamps с использованием публичных OTS-календарей.
  5. Закрепляет корень дерева Меркла в блокчейне Bitcoin.

Подтверждение в Bitcoin обычно занимает около 3 часов. После подтверждения файлы манифеста и квитанции .ots отправляются в настроенную вами ветку timestamp или теневой репозиторий.

Как убедиться, что всё сработало

После завершения ночного запуска вы можете проверить доказательство несколькими способами.

1. Проверьте ветку timestamp

Получите ветку timestamp и убедитесь, что файлы манифестов и квитанции .ots присутствуют:

git fetch origin timestamps
git ls-tree -r --name-only origin/timestamps | head

Точное название ветки зависит от вашей конфигурации, но важным сигналом является наличие файлов .ots в паре с данными ежедневного манифеста.

2. Используйте публичную страницу проверки

Timestamp GIT предоставляет страницу проверки в браузере, где все вычисления цепочки Меркла выполняются локально в вашем браузере:

https://timestampgit.dev/verification/{user}/{repo}/{date}

Замените {user}, {repo} и {date} на ваш репозиторий и дату, которую хотите проверить.

3. Проверьте API статуса

Вы можете подтвердить последний закреплённый блок Bitcoin через публичный эндпоинт статуса:

curl https://timestampgit.dev/api/statusLast/acme/widget-api

Ответ содержит информацию о последнем закреплённом блоке Bitcoin для репозитория.

4. Скачайте PDF-сертификат

Для конкретного дня скачайте PDF-сертификат по адресу:

https://timestampgit.dev/api/report/{user}/{repo}/{date}

Журнал аудита для репозитория также доступен в формате CSV:

https://timestampgit.dev/api/audit/{user}/{repo}

5. Вставьте бейдж проверки

Панель управления Timestamp GIT предоставляет URL-адреса бейджей и готовые фрагменты Markdown для копирования в ваш README. Для приватных репозиториев к URL-адресам бейджей добавляется зашифрованный HMAC, чтобы только авторизованные зрители могли видеть информацию о статусе.

Бейдж ссылается на публичную страницу проверки, где любой может изучить доказательство. Сам файл .ots остаётся стандартной квитанцией OpenTimestamps, поэтому технические аудиторы также могут скачать его и независимо проверить по блокчейну Bitcoin с помощью стандартных инструментов OpenTimestamps.

Устранение распространённых проблем

Доказательства не появились через 24 часа

Проверьте права GitHub App. Стандартному режиму требуется как минимум доступ только для чтения к исходному репозиторию. Также убедитесь, что репозиторий по-прежнему выбран на панели управления Timestamp GIT.

Статус приватного репозитория не отображается

Приватные репозитории используют URL-адреса с HMAC-подписью. Убедитесь, что бейдж или ссылка статуса взяты с панели управления Timestamp GIT и содержат параметр HMAC. HMAC привязан к конкретному экземпляру сервера, который его сгенерировал.

Action Enterprise ZK не доставляет доказательства

Убедитесь, что сгенерированный workflow-файл находится по пути .github/workflows/timestampgit.yml и что GitHub Action установлен в репозитории. Целевой репозиторий, куда доставляются доказательства, должен иметь доступ на чтение и запись из конфигурации вашего action.

Самостоятельно развёрнутый экземпляр Docker не создаёт метки времени

Убедитесь, что файл лицензии был загружен во время работы мастера настройки. Также проверьте, что у экземпляра есть необходимая сетевая связность для OAuth GitHub App и закрепления меток времени.

Проверка доказательства завершается ошибкой

Убедитесь, что вы проверяете правильный файл .ots и дату. Квитанция для одного репозитория и даты не подтвердит коммит из другого дня или репозитория.

Часто задаваемые вопросы

В: Что такое известный уровень техники в программном обеспечении?

О: Известный уровень техники — это доказательство того, что ваше изобретение, такое как код, алгоритм или дизайн, существовало до определённой даты. Обычно оно используется для оспаривания патентных претензий или доказательства авторства.

В: Как закрепление в Bitcoin доказывает существование известного уровня техники?

О: Хеш вашего Git-коммита встраивается в транзакцию Bitcoin через протокол OpenTimestamps. После подтверждения в блоке метка времени становится неизменяемой и проверяемой кем угодно, доказывая, что хеш существовал в это время.

В: Бесплатен ли Timestamp GIT для проектов с открытым исходным кодом?

О: Да. Timestamp GIT предлагает бесплатный тариф для публичных репозиториев. Приватные репозитории требуют платного тарифа — Pro Agency или Enterprise ZK.

В: Могу ли я использовать Timestamp GIT, не раскрывая свой исходный код?

О: Да. В стандартном режиме читаются только хеши коммитов, а не исходный код. В режиме Enterprise ZK GitHub Action отправляет только хеши с вашей собственной инфраструктуры, поэтому исходный код никогда не покидает вашу среду.

В: Сколько времени занимает подтверждение метки времени?

О: Ночной рабочий процесс группирует и закрепляет хеши после полуночи. Подтверждение в Bitcoin обычно занимает около 3 часов после транзакции закрепления, поэтому ожидайте появления файлов-доказательств .ots вскоре после этого.

Заключение

История Git сама по себе не является убедительным доказательством существования известного уровня техники, поскольку её можно редактировать, удалять или отвергнуть как заинтересованную. Квитанцию OpenTimestamps, закреплённую в Bitcoin, математически сложнее игнорировать.

Timestamp GIT делает это практичным для работающих разработчиков: установите GitHub App один раз, выберите репозиторий и продолжайте коммитить как обычно. Ночное закрепление, доставка доказательств, бейджи, PDF-сертификаты и CSV-журналы аудита обрабатываются автоматически. Вам никогда не нужно запускать команды OpenTimestamps или вручную взаимодействовать с блокчейном Bitcoin.

Начните с публичными репозиториями бесплатно на Timestamp GIT.

Связанные публикации

EU label: AI-generated content