Timestamp GIT Secure your prior art without exposing code

← All posts

2026-09-11

什么是加密时间戳及其如何保护你的代码?

什么是加密时间戳及其如何保护你的代码?
timestamp git blockchain proof

什么是密码学时间戳?它如何保护你的代码?

问一屋子开发者“你是什么时候写的这段代码?”,你通常会得到一张 Git 日志截图。问律师那张截图能否在严肃纠纷中站得住脚,答案就没那么让人安心了。代码的密码学时间戳正是为了弥合这一差距而存在:它是一个过程,利用数学和公共区块链——而非服务器时钟或可编辑的元数据——来证明某个特定的 Git 提交哈希在某个特定时刻已经存在。

本文解释什么是代码的密码学时间戳、各部分如何协同工作,以及为什么托管式 GitHub App 是使用它的务实方式。

“代码的密码学时间戳”究竟是什么意思?

密码学时间戳是一个过程,用于在数学上证明某段特定数据在某个时间点已经存在。对于代码而言,那个“数据”通常是一个 Git 提交哈希:一个固定长度、单向的指纹,代表提交那一刻仓库的确切状态。

普通时间戳只是一种断言。你的文件系统记录了一个修改时间。Git 记录了一个作者日期和一个提交日期。这些值在日常工作中很有用,但它们不是证据。它们可以在本地被更改,可以通过强制推送被重写,也可以被控制机器的人设置为任意值。

密码学时间戳则不同。它把提交哈希绑定到一个公开的、只可追加的记录:比特币区块链。一旦这个锚定得到确认,“这个哈希在这个区块之前就已存在”这一断言就变得任何人都可以在任何地方进行数学验证,而无需信任创建该时间戳的人。

在实践中,代码的密码学时间戳以高置信度回答一个狭窄的问题:

这个确切的提交是否在这个日期当天或之前就已存在?

这个问题比许多开发者预想的更重要。

一个简单的类比:公证人与报纸

想象一位流程不同寻常的公证人。

你带来一份文件,但公证人并不阅读或复制它。相反,她把文件通过密码学哈希函数处理,得到一个简短的指纹。然后她把这个指纹刊登在一份广泛发行的报纸上。报纸被印刷、归档,并且在出版后不可能被悄悄篡改。

之后,如果有人声称你是在某个日期之后才写的这份文件,你可以指向那份报纸。指纹在那一天就已经公开,而只有能产生那个确切指纹的文件才可能是来源。你无需公开文件内容就能证明它存在。

现在把这个类比映射到代码上:

  • 文件就是你的 Git 提交。
  • 指纹就是提交哈希。
  • 报纸就是比特币区块链。
  • 公证人就是 Timestamp GIT,它永远不会看到你的实际源代码。

重要的是,公证人只处理指纹。你的代码保持私密。

密码学时间戳在底层是如何工作的

想法很简单,但机制是精确的。

第 1 步:指纹

当你提交代码时,Git 会生成一个唯一的哈希,代表那一刻整个仓库的状态。根据仓库配置,该哈希通常是 SHA-1 或 SHA-256。

你可以在本地用以下命令查看最新的提交哈希:

git rev-parse HEAD

那一行输出不仅仅是一个 ID。它是你那一刻工作成果的密码学安全指纹。如果之后仓库历史中有任何变化——哪怕一个字节——哈希都会改变。

第 2 步:锚定

单个提交哈希还不够。要证明存在性,这个哈希必须被嵌入到一个无法被重写的公共记录中。

Timestamp GIT 从受监控的仓库收集提交哈希,将它们按日分批,并从这些哈希构建一棵 Merkle 树。然后使用 OpenTimestamps 协议将 Merkle 根锚定到比特币区块链中。

这个锚定在时间上冻结了该批次的存在。证明现在是比特币公共账本的一部分,记录在某个特定的区块中。

第 3 步:证明

在比特币交易确认之后,你会收到一个不可变的 .ots 回执文件。那个回执就是你可以出示给律师、审计师或法庭的密码学证明。

关键特性是独立性。验证只依赖 SHA-256 和比特币区块数据。你不需要信任 Timestamp GIT、某个私有数据库或任何专有系统。即使公司消失了,证明仍然可以对照比特币区块链进行验证。

这个过程由 Timestamp GIT 完全自动化:

  • 每个提交都会被自动检测。
  • 哈希在白天排队。
  • 一个夜间工作进程将它们分组,构建 Merkle 树,并把根锚定到比特币中。
  • 清单和 .ots 回执被推送回一个专门的时间戳分支或影子仓库。

比特币确认通常需要几个小时,所以证明交付不是即时的。但结果是一个不可变的锚,而不是一条可变的日志条目。

零知识部分是核心:只处理提交哈希。你的源代码从未被读取、复制或存储。

为什么它对开发者和合规很重要

代码的密码学时间戳不是虚荣指标。它改变了你在真实纠纷中能证明什么。

防御专利流氓

专利流氓经常就常见技术申请宽泛的专利,然后向更早实现了相同想法的公司索要费用。如果你能证明你的提交早于他们的申请日存在,你就有了强有力的现有技术证据。

这个证据比内部 Git 历史强得多,因为内部日志可能被斥为自利性的。比特币锚定的证明无法被倒填日期。

解决署名和交付纠纷

当一名员工离职,或一个承包商声称他们没有收到某个特定日期交付工作的报酬时,问题往往是:这个功能到底是什么时候实际存在的?

一个不可变的时间戳给了你一个数学上可验证的答案。这不是“公说公有理,婆说婆有理”的争论。提交哈希要么在某个特定比特币区块之前就已存在,要么没有。

防御“净室开发”主张

竞争对手可能声称他们独立开发了类似的功能。如果你的实现早在 18 个月前就已锚定,那个时间线就很难被反驳。这个证明创造了一个事实边界,而仅靠内部日志无法提供。

合规与审计就绪

对于需要向审计师、投资者或法律顾问展示开发活动的团队来说,密码学时间戳提供了法庭就绪的证据。Timestamp GIT 还提供公开状态仪表盘、可下载的审计 CSV 和 PDF 证书。

常见误解

  • 它不是版权登记。 它证明在某个时间点的存在性,本身并不证明所有权。
  • 它不会泄露你的代码。 只有提交哈希被锚定。
  • 它不是专利的替代品。 它是一种补充工具,可强化现有技术和商业秘密保护。
  • 它不同于 Git 提交日期。 Git 日期可以被更改;锚定的哈希不能。

Timestamp GIT 如何让它毫不费力

手工完成密码学时间戳是可能的,但那意味着要手动协调 OpenTimestamps、比特币交易、证明文件和验证。Timestamp GIT 完全消除了这些工作。

Timestamp GIT 是一个托管式 SaaS 和 GitHub App。你安装一次应用,选择你想监控的仓库,系统就会处理其余一切。每个提交都会被自动检测,哈希每晚被锚定到比特币中。

没有 CLI 工具。没有手动步骤。

一旦仓库连接,你会得到:

  • 自动夜间锚定提交哈希到比特币。
  • 验证徽章用于你的 README,公开显示状态。
  • 公开状态仪表盘,包含最早锚定日期、每日规律性、比特币区块数据和日历热力图。
  • 审计 CSV 下载,用于完整账本审查。
  • PDF 证书,针对特定日期。

对于公开仓库,状态信息可通过 API 端点获取,例如:

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

对于私有仓库,Timestamp GIT 会在验证 URL 后附加一个加密的 HMAC,因此只有授权用户才能看到状态。

有两种主要部署模式:

  • 标准模式(GitHub App): GitHub App 只从受监控仓库读取 HEAD 提交哈希,并将证明文件写入一个专用分支或影子仓库。
  • 企业 ZK 模式: 一个 12 行的 GitHub Action 在你的基础设施上运行,只把提交哈希推送到 Timestamp GIT API。你的源代码从不离开你的环境。

对于气隙隔离或自托管环境,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

首次启动时,一个设置向导会引导你连接 GitHub App 并配置实例。

定价很直接:开源版对公开仓库免费,Pro Agency 版为私有仓库每月 49 美元,Enterprise ZK 版为每月 199 美元并支持 GitHub Actions。详情见定价页面。

如果你正在托管服务和原生 OpenTimestamps 之间做选择,请查看 Timestamp GIT vs OpenTimestamps:托管 vs 自己动手。

常见问题

问:密码学时间戳会泄露我的源代码吗?

答:不会。Timestamp GIT 只处理 Git 提交哈希,那是一个单向的密码学指纹。你的源代码从未被读取、复制或存储。

问:这个时间戳在法律上被认可吗?

答:锚定到比特币这类公共区块链的密码学时间戳,在法律程序中被越来越多地接受为证据。它们提供了在特定时间存在性的数学可验证证明,可以呈交给法庭和审计师。

问:如果 Timestamp GIT 倒闭了怎么办?我还能验证我的时间戳吗?

答:可以。证明基于开放标准和比特币区块链。即使 Timestamp GIT 不复存在,你仍然可以使用标准的 OpenTimestamps 验证工具独立验证你的 .ots 回执文件。

问:这和直接使用 Git 的提交日期有什么不同?

答:Git 提交日期可以轻易被更改或伪造,因为它们依赖本地系统时钟,并且可以在历史中被重写。密码学时间戳把提交哈希锚定到不可变的公共区块链上,使其不可能被倒填日期或篡改。

结论

代码的密码学时间戳是一种把 Git 提交转化为可验证存在性证明的方式。提交哈希是指纹;比特币是公共记录;.ots 回执是证据。

你不需要学习 OpenTimestamps、管理比特币交易或构建自己的证明流水线。Timestamp GIT 通过一个 GitHub App 自动化整个过程,添加验证徽章和仪表盘,并保持你的源代码私密。

如果你想要不可变的证据来证明你的代码在某个特定日期就已存在,安装 Timestamp GIT 并连接你的第一个仓库。

相关文章

EU label: AI-generated content