← All posts
Как проверить временные метки ваших Git-коммитов

Как проверить временные метки ваших Git-коммитов

timestamp git blockchain proof

Как проверить временные метки ваших Git-коммитов

Временная метка Git-коммита — это заявление. Проверка — это доказательство. В Git даты коммитов являются изменяемыми метаданными: git commit --date может установить произвольную дату, rebase переписывает историю, а force-push может переписать общий удалённый репозиторий. Если вы полагаетесь на временные метки коммитов для доказательства приоритета, вам нужно нечто более надёжное, чем строка с датой в вашем журнале.

Timestamp GIT закрывает этот пробел, привязывая хеши ваших Git-коммитов к блокчейну Bitcoin с помощью протокола OpenTimestamps. Это управляемый SaaS и GitHub App: установите приложение один раз, подключите репозиторий — и каждый коммит будет автоматически привязан каждую ночь. Никаких CLI-инструментов, никаких ручных шагов протокола.

Эта статья посвящена стороне проверки: как выглядит доказательство, как проверить его с помощью встроенных инструментов Timestamp GIT и как интерпретировать результат. Если вам нужна полная мотивация того, почему это важно в патентных спорах, см. Защитите своё программное обеспечение от патентных троллей с помощью временных меток.

Почему проверка важна для приоритета вашего кода

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

Timestamp GIT генерирует криптографические доказательства, привязанные к Bitcoin. Это меняет ситуацию:

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

Как выглядит доказательство Timestamp GIT

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

Полученные артефакты доказательства отправляются в отдельную ветку timestamps или теневой репозиторий. Типичная ветка timestamps концептуально может выглядеть так:

timestamps/
└── 2026/
    └── 08/
        └── 22/
            ├── manifest.txt
            └── manifest.txt.ots

Два ключевых файла:

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

Пошаговая проверка с помощью инструментов Timestamp GIT

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

1. Проверьте публичную страницу статуса

Для любого подключённого репозитория перейдите по адресу:

https://timestampgit.dev/status/{user}/{repo}

Замените {user} на вашего пользователя или организацию GitHub, а {repo} — на имя репозитория.

Страница статуса показывает долговечность доказательства, самую раннюю дату привязки, ежедневную регулярность, данные блока и транзакции Bitcoin, а также календарную тепловую карту. Оттуда вы также можете скачать аудиторский CSV или PDF-сертификат для конкретной даты.

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

2. Вставьте значок проверки в README

Временные метки в репозитории становятся более полезными, когда ваши контрибьюторы, клиенты или аудиторы могут увидеть их с первого взгляда. Timestamp GIT предоставляет встраиваемые значки Shields.io.

Сначала получите фрагмент значка из аутентифицированной конечной точки:

curl https://timestampgit.dev/api/badgeLink/your-org/your-repo

Ответ включает URL значка и готовый к вставке фрагмент Markdown:

{
  "badgeUrl": "https://img.shields.io/endpoint?url=https://timestampgit.dev/api/statusSummary/your-org/your-repo",
  "markdown": "[![timestamped](https://img.shields.io/endpoint?url=https://timestampgit.dev/api/statusSummary/your-org/your-repo)](https://timestampgit.dev/status/your-org/your-repo)"
}

Вставьте Markdown в ваш README.md. Значок ссылается на публичную страницу статуса, поэтому любой может кликнуть и проверить последнюю временную метку.

3. Запустите страницу криптографической проверки

Страница проверки даёт пошаговое представление цепочки Меркла для конкретного дня:

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

Например, чтобы проверить репозиторий с временной меткой от 22 августа 2026 года:

https://timestampgit.dev/verification/your-org/your-repo/2026-08-22

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

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

curl https://timestampgit.dev/api/verify/your-org/your-repo/2026-08-22

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

Для встреч, юридических споров или файлов соответствия вам часто нужен переносимый документ. Timestamp GIT может сгенерировать PDF-сертификат для конкретной даты.

Со страницы статуса используйте опцию скачивания. Или вызовите конечную точку отчёта напрямую:

curl -o timestamp-proof-2026-08-22.pdf \
  https://timestampgit.dev/api/report/your-org/your-repo/2026-08-22

PDF включает детали доказательства для этой даты и отформатирован для человеческого просмотра.

5. Используйте публичный API для автоматизации

Если вы хотите интегрировать проверку в CI/CD-проверки, внутренние панели мониторинга или скрипты комплаенса, Timestamp GIT предоставляет публичные конечные точки статуса.

Проверьте последний привязанный блок Bitcoin:

curl https://timestampgit.dev/api/statusLast/your-org/your-repo

Проверьте общее количество закоммиченных и отмеченных коммитов:

curl https://timestampgit.dev/api/statusCount/your-org/your-repo

Проверьте сводный статус, который может быть использован Shields.io:

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

Типичный ответ statusSummary выглядит так:

{
  "schemaVersion": 1,
  "label": "timestamped",
  "message": "42 commits",
  "color": "brightgreen"
}

Интерпретация результатов проверки и пограничных случаев

Успешная проверка означает, что следующая цепочка подтвердилась:

  1. Хеш вашего коммита был включён в ежедневный манифест для репозитория.
  2. Манифест был включён в дерево Меркла.
  3. Корень Меркла был привязан к транзакции Bitcoin.
  4. Эта транзакция была подтверждена в блоке Bitcoin.

Простыми словами: хеш коммита существовал до времени блока Bitcoin. Это время блока становится верхней границей для вашего заявления о приоритете.

Ожидающие доказательства и задержка подтверждения

Timestamp GIT группирует коммиты каждую ночь. После создания пакета сеть Bitcoin должна подтвердить транзакцию привязки. Обычно это занимает несколько часов. Коммит, сделанный сегодня, может не отображаться как полностью проверенный до следующего дня.

Страница статуса — ваш друг здесь: она показывает самую раннюю дату привязки и ежедневную регулярность, поэтому вы можете увидеть, идёт ли репозиторий по графику или конкретный день всё ещё ожидает подтверждения.

Приватные репозитории и доступ по HMAC

Ссылки проверки для приватных репозиториев включают зашифрованный HMAC. Этот HMAC специфичен для экземпляра сервера Timestamp GIT и предотвращает просмотр приватной информации о статусе неавторизованными пользователями.

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

Независимость от Timestamp GIT

Файлы квитанций .ots не привязаны к серверам Timestamp GIT. Это доказательства, построенные на протоколе OpenTimestamps и привязанные к Bitcoin. Даже если Timestamp GIT исчезнет, вы всё равно сможете проверить квитанции с помощью стандартных инструментов OpenTimestamps по блокчейну Bitcoin.

Для полного реестра всех временных меток репозитория скачайте аудиторский CSV:

curl -o audit-ledger.csv https://timestampgit.dev/api/audit/your-org/your-repo

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

FAQ

Могу ли я проверить временную метку Git-коммита без установки какого-либо программного обеспечения?

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

Что если Timestamp GIT прекратит свою деятельность? Смогу ли я всё ещё проверить свои временные метки?

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

Сколько времени нужно, чтобы коммит стал проверяемым?

Timestamp GIT группирует коммиты ежедневно и привязывает их к блокчейну Bitcoin. Подтверждение обычно занимает несколько часов после обработки ежедневного пакета. Страница статуса показывает самую раннюю дату привязки и ежедневную регулярность.

Могу ли я проверять временные метки для приватных репозиториев?

Да, но доступ ограничен. Ссылки проверки для приватных репозиториев включают зашифрованный HMAC, поэтому только авторизованные пользователи могут просматривать статус. GitHub App требует соответствующих разрешений для доступа к приватным репозиториям.

Что произойдёт, если я удалю GitHub App?

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

Заключение: доверяй, но проверяй

Проверка — это то, где временная метка становится доказательством. Timestamp GIT снимает операционное бремя создания этих доказательств, предоставляя простые, удобные для разработчиков способы их проверки: публичную страницу статуса, значки README, браузерный просмотрщик цепочки Меркла, PDF-сертификаты, аудиторские CSV и публичные API.

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

Если вы ещё не начали ставить временные метки, самый быстрый путь — установить GitHub App Timestamp GIT, подключить репозиторий и наблюдать за появлением первой ночной привязки. Если вам нужна изолированная или самостоятельно размещаемая установка, Timestamp GIT также доступен как Docker-образ с ограниченной по времени демо-лицензией.

Начните на https://timestampgit.dev.

Связанные статьи

EU label: AI-generated content