Timestamp GIT Secure your prior art without exposing code

← All posts

2026-09-20

Как проверить временную метку коммита Git

Как проверить временную метку коммита Git
timestamp git blockchain proof

Как проверить временную метку Git-коммита

Временную метку Git-коммита на удивление легко подделать. Можно задать GIT_AUTHOR_DATE, GIT_COMMITTER_DATE, перебазировать ветку или просто отредактировать метаданные коммита перед отправкой. В юридическом споре или при проверке соответствия требованиям обычный журнал Git часто мало что доказывает.

Именно поэтому проверка важнее самого якорения. Якорение помещает хеш коммита в блокчейн Bitcoin. Проверка — это шаг, который позволяет вам, аудитору или суду подтвердить, что конкретный хеш коммита действительно был включён в конкретный блок Bitcoin в конкретное время. Эта статья посвящена рабочему процессу проверки с использованием Timestamp GIT — управляемого GitHub-приложения, которое автоматизирует весь процесс и предоставляет браузерные инструменты, бейджи и публичный API.

Почему проверка временных меток Git-коммитов имеет значение

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

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

Проверка отвечает на три вопроса:

  1. Присутствует ли этот хеш коммита в ежедневном манифесте?
  2. Связывает ли доказательство Меркла хеш манифеста с заякоренным корнем Меркла?
  3. Включён ли этот корень Меркла в подтверждённый блок Bitcoin?

Если все три проверки проходят, у вас есть математическое доказательство того, что коммит существовал к этой дате. Если вам нужен более глубокий контекст о том, почему это важно для программной интеллектуальной собственности, см. Что такое криптографический предшествующий уровень техники и почему он важен для программного обеспечения?.

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

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

Доказательство Timestamp GIT — это не один файл. Это небольшой набор артефактов, которые вместе позволяют провести независимую проверку.

Основные компоненты:

  • Хеш коммита: хеш SHA-1 или SHA-256, идентифицирующий один конкретный коммит.
  • Файл ежедневного манифеста: текстовый файл, содержащий все ожидающие хеши коммитов репозитория за эту дату.
  • Дерево Меркла: нативное дерево Меркла, построенное из хешей ежедневных манифестов всех репозиториев.
  • Квитанция OpenTimestamps: файл .ots, который криптографически связывает хеш манифеста с блоком Bitcoin.
  • Информация о блоке Bitcoin: высота блока, данные транзакции и статус подтверждения якоря.

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

timestamps/
  2026-09-20/
    manifest.txt
    receipt.ots

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

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

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

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

Шаг 1: Откройте страницу статуса репозитория

У каждого подключённого репозитория есть публичная или аутентифицированная страница статуса по адресу:

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

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

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

Шаг 2: Используйте бейдж проверки в README

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

Разметка бейджа генерируется для вас на странице подключённого репозитория или через API бейджей. Не следует вручную писать URL щита; вместо этого скопируйте фрагмент Markdown, сгенерированный Timestamp GIT. Это позволяет избежать ошибок с HMAC-подписанными URL приватных репозиториев.

Шаг 3: Изучите цепочку Меркла в браузере

Для конкретной даты откройте:

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

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

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

Шаг 4: Скачайте PDF-сертификат или аудиторский CSV

Для записей о соответствии, юридических аудитов или внутренней документации Timestamp GIT предоставляет два скачиваемых артефакта:

  • PDF-сертификат: однодневный сертификат, показывающий дату якорения и статус проверки.
  • Аудиторский CSV: полный реестр всех заякоренных коммитов и дат для репозитория.

Они полезны, когда нужно приложить доказательство к заявлению, отправить подтверждение клиенту или сохранить офлайн-запись.

Шаг 5: Проверка программным способом через публичный API

Timestamp GIT предоставляет публичные конечные точки API для автоматизации. Для публичных репозиториев можно запрашивать информацию о статусе напрямую с помощью curl.

Проверить последний заякоренный блок 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

Получить полные данные цепочки Меркла за конкретную дату:

curl https://timestampgit.dev/api/verify/your-org/your-repo/2026-09-20

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

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

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

  • Хеш коммита присутствует в манифесте.
  • Хеш манифеста корректно включён в дерево Меркла.
  • Корень Меркла заякорен в блоке Bitcoin через OpenTimestamps.
  • Этот блок Bitcoin подтверждён в блокчейне.

Как только эти условия выполняются, временная метка коммита подкреплена неизменяемостью Bitcoin.

Есть несколько пограничных случаев, связанных со временем и доступом, которые стоит понимать.

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

Задержка подтверждения Bitcoin. Якорение происходит раз в день, но подтверждение якоря в Bitcoin обычно занимает около 3 часов. Файлы доказательств записываются после подтверждения, поэтому проверка доступна через несколько часов после еженощной группировки.

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

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

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

FAQ

Как проверить временную метку Git-коммита с помощью Timestamp GIT?

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

Можно ли проверить временную метку коммита, не раскрывая исходный код?

Да. Timestamp GIT использует только хеш коммита, а не исходный код. Проверка выполняется по хешу и блокчейну Bitcoin, поэтому ваш код остаётся приватным.

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

Временные метки якорятся еженощно, а подтверждение Bitcoin обычно занимает около 3 часов. После этого доказательство доступно и проверяемо.

Что делать, если проверка не проходит?

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

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

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

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

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

Похожие публикации

EU label: AI-generated content