Timestamp GIT Secure your prior art without exposing code

← All posts

2026-09-21

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

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

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

Майя — фриланс-разработчица, которая в начале 2025 года создала небольшую, но критически важную библиотеку синхронизации данных для клиента. Полтора года спустя новая инженерная команда клиента заявляет, что библиотека была создана по более позднему контракту, и просит её прекратить использовать её в других проектах. У Майи есть Git-коммиты из исходного проекта, но когда она отправляет скриншоты журнала, юрист клиента отмахивается: «Историю Git можно переписать. Эти метки времени ничего не доказывают».

Проблема Майи не в том, что у неё нет доказательств. Проблема в том, что имеющиеся у неё доказательства утвердительные, а не проверяемые. Доказательство авторства программного обеспечения в споре, при подаче патентной заявки, при аудите соответствия или при проверке коммерческой тайны требует большего, чем дата коммита. Оно требует криптографической записи, которую независимая сторона может проверить, не доверяя вашему репозиторию, вашей платформе или вашему слову.

Это руководство объясняет, как разработчики и специалисты по комплаенсу могут создать такую запись на практике. В центре внимания — Timestamp GIT, управляемый сервис, автоматизирующий базовый протокол OpenTimestamps. Вы один раз устанавливаете GitHub App, и сервис в фоновом режиме привязывает хеши ваших коммитов к блокчейну Bitcoin.

Почему традиционные способы доказательства авторства не работают

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

История Git на собственном хостинге изменяема. Даты коммитов Git не защищены от подделки. С помощью переменных окружения, таких как GIT_AUTHOR_DATE и GIT_COMMITTER_DATE, коммит можно датировать задним числом. Перебазирование, принудительная отправка и переписывание истории могут изменить видимую хронологию. Даже если вы никогда этого не делаете, противоположная сторона может утверждать, что вы могли это сделать.

Хостинговые Git-платформы эту проблему не решают. Репозиторий на GitHub показывает метки времени, но эти метки не являются независимым доказательством существования. Они зависят от серверов GitHub, безопасности аккаунта GitHub и готовности или способности GitHub поручиться за данные в суде. Злоумышленник, скомпрометировавший аккаунт, потенциально может изменить содержимое репозитория. Изменение политики платформы может затруднить получение исторических записей.

Формальная защита интеллектуальной собственности дорога и медленна. Патенты могут стоить десятки тысяч долларов, выдаются годами и могут потребовать раскрытия информации, которую вы предпочли бы сохранить в тайне. Для фрилансеров, стартапов, агентств и небольших команд патенты часто непрактичны в качестве первой линии защиты.

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

Более подробное объяснение того, почему это важно для споров об интеллектуальной собственности, см. в статье Что такое криптографический приоритетный уровень техники и почему он важен для программного обеспечения?.

Практическое руководство по доказательству авторства с помощью Timestamp GIT

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

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

Установите GitHub App Timestamp GIT на репозиторий или организацию, которую хотите защитить.

Стандартный режим требует доступ только для чтения к вашему исходному репозиторию и доступ на чтение/запись к целевому репозиторию, где будут храниться файлы доказательств. Целевым репозиторием может быть тот же репозиторий или отдельный теневой репозиторий. Поскольку GitHub не предлагает доступ только для чтения хешей коммитов, разрешение на чтение существует, даже несмотря на то, что Timestamp GIT читает только хеш HEAD-коммита.

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

На ваши машины разработчиков ничего устанавливать не нужно. Ваш локальный рабочий процесс Git остаётся прежним.

Шаг 2: Продолжайте коммитить код как обычно

После установки приложения вебхуки уведомляют Timestamp GIT о появлении нового коммита. В корпоративном режиме с нулевым разглашением ваш GitHub Action вместо этого отправляет хеш.

Ваш обычный рабочий процесс выглядит так:

git add src/
git commit -m "Implement rate limiter v2"
git push origin main

Никакой дополнительной команды для проставления метки не требуется. Сам коммит является триггером.

Шаг 3: Позвольте ночному пакету привязать ваши хеши

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

Каждый день система:

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

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

Шаг 4: Получите файлы доказательств

После подтверждения привязки Timestamp GIT отправляет материалы доказательств в выделенную ветку timestamps или теневой репозиторий, который вы настроили.

Доказательство включает:

  • Файлы манифестов, в которых записано, какие хеши коммитов были включены.
  • Файлы квитанций .ots, содержащие данные доказательства OpenTimestamps.

Вы можете посмотреть, что появилось в ветке доказательств:

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

Вы также можете встроить значок верификации в свой README через аутентифицированную конечную точку значка. Значок отображает текущий статус верификации и ссылается на публичную страницу статуса вашего репозитория.

Шаг 5: Проверяйте в любое время — даже без Timestamp GIT

Верификация доступна через публичные страницы продукта. Страница криптографической верификации обрабатывает данные цепочки Меркла локально в вашем браузере, поэтому сервис не видит, что именно вы проверяете.

Вы также можете скачать файл .ots и проверить его независимо с помощью стандартных инструментов OpenTimestamps по блокчейну Bitcoin. Поскольку доказательство зависит только от SHA-256 и данных блоков Bitcoin, верификация не требует, чтобы Timestamp GIT оставался в сети.

Быструю проверку статуса можно выполнить через публичный API:

curl -s https://timestampgit.dev/api/statusSummary/your-user/your-repo

Для получения полного реестра можно скачать аудиторский CSV-файл. Для конкретного дня можно скачать PDF-сертификат.

Самостоятельный хостинг и корпоративные развёртывания

Если вам нужна максимальная изоляция или вы работаете в среде, отключённой от сети, Timestamp GIT доступен в виде 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

При первом запуске мастер настройки проведёт вас через подключение вашего GitHub App и конфигурацию экземпляра. Для оценки доступна демо-лицензия с ограниченным сроком действия.

Корпоративный режим с нулевым разглашением использует GitHub Action, который работает в вашей собственной инфраструктуре. Он отправляет в API Timestamp GIT только хеш коммита, поэтому ваш исходный код никогда не покидает вашу среду.

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

Не полагайтесь исключительно на внутренние журналы или метки времени систем контроля версий. Они не защищены от подделки. Суд или аудитор может отклонить их как заинтересованные, даже если они точны.

Не раскрывайте исходный код в процессе доказательства. Метка времени должна доказывать, что код существовал, а не публиковать то, что он делает. Используйте метод с нулевым разглашением, который привязывает только односторонний хеш. Это защищает коммерческую тайну и предотвращает случайное раскрытие.

Не используйте проприетарные сервисы меток времени, которые могут исчезнуть или изменить записи. Если доказательство зависит от закрытой системы, вы снова доверяете посреднику. Открытые стандарты, такие как SHA-256, OpenTimestamps и Bitcoin, проверяемы без участия поставщика.

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

Ручной подход к OpenTimestamps потребовал бы самостоятельной эксплуатации протокола. Timestamp GIT существует для того, чтобы скрыть эту сложность за GitHub App и автоматизированным ночным конвейером.

FAQ

Что именно представляет собой криптографическое доказательство авторства программного обеспечения?

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

Как Timestamp GIT доказывает авторство, не видя мой код?

Timestamp GIT использует подход с нулевым разглашением. Он читает только хеш коммита, который является криптографическим отпечатком, но никогда — сам исходный код. Хеш включается в дерево Меркла и привязывается к Bitcoin через протокол OpenTimestamps. Поскольку хеш односторонний, никто не может обратить его, чтобы увидеть ваш код, но метка времени доказывает, что код существовал в этот момент.

Могу ли я проверить метку времени самостоятельно, если Timestamp GIT исчезнет?

Да. Доказательство полностью основано на открытых стандартах: SHA-256, Bitcoin и OpenTimestamps. Вы получаете файлы квитанций .ots, которые можно проверить независимо с помощью стандартных инструментов OpenTimestamps по блокчейну Bitcoin. Для верификации не требуется никакой проприетарной технологии или сервиса, поэтому ваше доказательство остаётся действительным, даже если Timestamp GIT прекратит существование.

Имеет ли это юридическую силу?

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

Сколько стоит Timestamp GIT?

Публичные репозитории поддерживаются на бесплатном тарифе. Частные репозитории доступны с тарифом Pro Agency за 49 долларов в месяц. Корпоративный режим с нулевым разглашением, использующий GitHub Actions, доступен за 199 долларов в месяц. Для оценки самостоятельного хостинга на Docker также доступна демо-лицензия с ограниченным сроком действия.

Заключение: сделайте доказательство авторства частью вашего рабочего процесса

Доказательство авторства программного обеспечения не должно усложнять ваш процесс разработки. Timestamp GIT автоматически превращает ваши существующие Git-коммиты в квитанции, привязанные к Bitcoin. Рабочий процесс использует нулевое разглашение, то есть ваш исходный код остаётся конфиденциальным. Доказательство не зависит от поставщика, то есть оно остаётся проверяемым, даже если сервис исчезнет.

Установите GitHub App Timestamp GIT, подключите репозиторий и позвольте ночной привязке работать в фоновом режиме. Публичные репозитории можно начать бесплатно, а частные репозитории покрываются тарифами Pro и Enterprise. Как только первое подтверждение Bitcoin будет получено, у вас появится криптографический ответ на вопрос: «Можете ли вы доказать, что написали это первым?»

Похожие статьи

EU label: AI-generated content