Timestamp GIT Secure your prior art without exposing code

← Tutti gli articoli

2026-09-11

Cos'è la marcatura temporale crittografica e come protegge il tuo codice?

Cos'è la marcatura temporale crittografica e come protegge il tuo codice?
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