Timestamp GIT Secure your prior art without exposing code

← Tutti gli articoli

2026-09-25

Automatizza la marcatura temporale del codice con una GitHub App

Automatizza la marcatura temporale del codice con una GitHub App
timestamp git blockchain proof

使用 GitHub App 自动化代码时间戳

如果你曾经手动为代码添加时间戳,你一定熟悉这套流程:生成哈希、将其复制到安全的地方、保存回执,然后为每一次有意义的提交重复以上步骤。这项工作重复、容易遗忘,而且在你最需要它的时候往往不堪一击。使用 GitHub App 进行自动化代码时间戳可以彻底消除这一手动负担。

Timestamp GIT 是一个托管型 GitHub App,它能自动将你受监控仓库中的每一个提交哈希锚定到比特币区块链上。无需运行 CLI 工具,无需手动归档回执,也无需记得设置夜间批处理任务。你只需安装一次该应用,系统就会在后台处理提交检测、密码学锚定和证明交付。

本文介绍一次性设置、自动化夜间流水线、监控与故障处理,以及构建持久化在先技术轨迹的最佳实践。

一次性设置:安装 GitHub App

整个设置过程都在 GitHub 界面中完成。

  1. 从 GitHub Marketplace 安装 Timestamp GIT GitHub App。
  2. 选择你想要监控的仓库。公共仓库在免费的 Open Source 计划中受支持;私有仓库在 Pro Agency 和 Enterprise ZK 计划中可用。
  3. 授予所需权限。

权限要求取决于部署模式:

  • 标准模式:该应用需要对源仓库的只读访问权限。GitHub 不提供“仅提交哈希”的权限,因此需要读取权限才能让应用看到 HEAD 提交哈希。该应用还需要对存储证明的目标仓库具有读写访问权限。
  • Enterprise ZK 模式:该应用完全不需要对源仓库的读取权限。你基础设施上的 GitHub Action 只将提交哈希推送到 Timestamp GIT API。你只需授予对目标证明仓库的读写访问权限。

无需安装 CLI 工具,也无需维护配置文件。安装完成后,应用即可使用。

对于隔离环境或完全自托管的环境,Timestamp GIT 也以 Docker 镜像的形式提供。如果你需要本地部署控制,请参阅关于使用 Docker 自托管时间戳的专门文章。对于大多数团队来说,托管型 GitHub App 是最快的路径。

自动化流水线:从提交到比特币锚定

Timestamp GIT 的核心是一条夜间自动化流水线,开发者无需任何日常操作。

每次提交后发生的事情

  1. 提交检测
    在标准模式下,每当你向受监控仓库推送新提交时,GitHub App 会收到一个 webhook。在 Enterprise ZK 模式下,你的 GitHub Action 会将提交哈希推送到 API。

  2. 哈希队列
    提交哈希存储在一个内存键值存储中,等待批处理。

  3. 午夜 cron 工作进程
    每晚,一个工作进程会将所有待处理的哈希分组,为每个仓库创建清单文件,原生构建 Merkle 树,并创建 OpenTimestamps 证明。每日批次的 Merkle 根被锚定到比特币区块链中。

  4. 证明交付
    清单和 .ots 回执文件被推送回专用的 timestamps 分支或影子仓库。比特币确认通常需要大约三个小时,因此证明文件会在夜间锚定后的几个小时内出现。

该流程在架构上是零知识的。Timestamp GIT 只能看到提交哈希——一个单向指纹——永远看不到你的源代码。在标准模式下,该应用只读取 HEAD 提交哈希。在 Enterprise ZK 模式下,源代码永远不会离开你的环境,因为提交哈希是从你自己的 GitHub Action 运行器发送的。

使用 GitHub Action 的 Enterprise ZK 模式

如果你需要严格的源代码隔离,Enterprise ZK 模式是更强的选择。一个简短的 GitHub Action 在你的基础设施上运行,只将提交哈希推送到 Timestamp GIT API。

一个典型的工作流如下所示:

name: Push commit hash to Timestamp GIT

on:
  push:
    branches:
      - main

jobs:
  timestamp:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Send commit hash
        run: |
          curl -X POST "${{ secrets.TIMESTAMPGIT_SIGNED_URL }}" \
            -H "Content-Type: application/json" \
            -d "{\"commitId\":\"${{ github.sha }}\"}"

签名 URL 来自 Enterprise 设置向导,并作为 GitHub secret 存储。该 action 没有源代码检查步骤,也没有文件上传。

两种部署模式一览

模式 源代码访问 证明存储 最适合
标准 GitHub App 只读源仓库 专用分支或影子仓库 快速、零设置的自动化
Enterprise ZK 无源代码访问 你控制的目标仓库 商业机密、合规、严格安全

在两种模式下,底层的比特币锚定完全相同:每日 Merkle 根使用 OpenTimestamps 协议嵌入到比特币交易中。一旦交易在区块中得到确认,时间戳就无法被任何人篡改,包括 Timestamp GIT。

监控与故障处理

只有当你能确信自动化仍在运行时,它才有价值。Timestamp GIT 提供了多个监控界面。

公开状态仪表板

每个仓库都有一个状态页面,显示:

  • 最早的锚定日期
  • 每日锚定规律性
  • 比特币区块和交易数据
  • 已打时间戳日期的日历热力图
  • 可下载的审计 CSV 和 PDF 证书

你可以通过公开状态 API 查看最后锚定的比特币区块:

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

示例响应如下:

{
  "blockHeight": 862400,
  "timestamp": "2026-09-25T00:37:00Z",
  "status": "confirmed"
}

对于私有仓库,状态 URL 包含加密的 HMAC,因此只有授权用户才能查看时间戳状态。该 HMAC 特定于服务器实例。

出现故障时会发生什么

由于夜间批次按计划运行,失败的作业不会悄无声息地丢弃你的证明轨迹。系统会自动重试锚定过程。状态页面可以让你发现每日规律性中的缺口,并调查某个仓库是否停止发送新的提交哈希。

为了合规和记录保存,你可以下载完整审计账本为 CSV 格式,以及特定日期的 PDF 证书:

  • GET /api/audit/{user}/{repo} — 完整审计 CSV
  • GET /api/report/{user}/{repo}/{date} — 单日 PDF 证书

独立验证

任何人都可以在不信任 Timestamp GIT 仪表板的情况下验证时间戳。验证页面会在浏览器中本地逐步展示多级 Merkle 链验证。对于公共仓库,.ots 回执文件也可以使用标准 OpenTimestamps 验证工具对照比特币区块链进行验证。由于证明嵌入在比特币中,即使 Timestamp GIT 服务消失,它仍然可以验证。

自动化时间戳的最佳实践

当自动化锚定成为你仓库生命周期的默认组成部分时,它的效果最好。

  • 为所有活跃仓库启用,而不仅仅是关键仓库。 广泛的在先技术轨迹比稀疏的轨迹更有力。有了自动化,为每个提交打时间戳的边际成本很低。
  • 对专有或商业机密代码使用 Enterprise ZK 模式。 如果你希望时间戳服务提供商对源代码零访问,只从你自己的 GitHub Action 推送提交哈希。
  • 定期下载审计 CSV 并单独存储。 在 GitHub 之外保留冗余副本。你的 .ots 文件已经在你的仓库中,但额外的离线副本是法律审计的廉价保险。
  • 在 README 中嵌入验证徽章。 公开徽章向协作者、客户和竞争对手发出明确信号,表明你的提交历史已被锚定。它们链接到公开验证查看器和 PDF 报告。
  • 向客户发送 PDF 证书。 对于代理机构和自由职业者,每日 PDF 证书可以附加到发票或里程碑交付物中,以证明工作完成日期。
  • 考虑在隔离环境中使用 Docker 自托管。 如果你无法使用托管 SaaS,Docker 自托管许可证可以在你自己的基础设施上提供相同的自动化。

常见问题

使用 GitHub App 的自动化代码时间戳到底是什么?

使用 GitHub App 的自动化代码时间戳意味着你对受监控仓库所做的每一次提交都会自动以密码学方式锚定到比特币区块链,无需人工干预。该应用检测新提交,每晚进行批处理,并创建不可变的证明回执。无需 CLI 工具或手动步骤。

Timestamp GIT 如何确保我的源代码永远不会被暴露?

Timestamp GIT 使用零知识架构。在标准模式下,该应用只从你的仓库读取提交哈希——一个单向指纹。在 Enterprise ZK 模式下,你基础设施上的 GitHub Action 只将提交哈希推送到 API,因此该应用对你的源代码完全没有任何访问权限。

我可以在私有仓库中使用 Timestamp GIT 吗?

可以。Timestamp GIT 在 Pro Agency 和 Enterprise ZK 计划中支持私有仓库。对于私有仓库,状态徽章和验证 URL 包含加密的 HMAC,因此只有授权用户才能查看时间戳状态。

如果 Timestamp GIT 的服务宕机了怎么办?我还能验证我的时间戳吗?

即使 Timestamp GIT 消失,你的时间戳仍然完全可以验证。证明使用 OpenTimestamps 协议嵌入在比特币区块链中,你可以使用标准工具在本地验证它们。.ots 回执文件存储在你的仓库中,因此你始终保留着证据。

结论:设置好就不用管了

手动时间戳是一种自动化可以彻底消除的负担。Timestamp GIT 将每一次提交都转化为比特币锚定的存在证明,无需 CLI、无需夜间脚本、无需手动管理回执。你只需安装一次 GitHub App,系统就会处理其余的一切:提交检测、Merkle 树构建、比特币锚定和证明交付。

如果你准备好保护你的在先技术,而又不想在工作流程中增加另一个手动流程,请从 GitHub Marketplace 安装 Timestamp GIT。定价从公共仓库免费的 Open Source 计划开始,Pro Agency 每月 $49 支持私有仓库,Enterprise ZK 每月 $199 实现零源代码访问。Docker 自托管许可证也可用于隔离或本地部署。

相关文章

EU label: AI-generated content