Timestamp GIT Secure your prior art without exposing code

← Tutti gli articoli

2026-09-16

Cos'è la prova crittografica di paternità del codice?

Cos'è la prova crittografica di paternità del codice?
timestamp git blockchain proof

什么是代码的加密作者身份证明?

如果你曾经需要回答“这段代码最早是什么时候存在的?”这个问题,你就已经明白为什么加密作者身份证明很重要。仅仅说你写了某个东西是不够的。在法律纠纷、审计或专利挑战中,你需要证据来证明某个特定的提交在某个特定的时刻存在——这些证据不能被编辑、倒填日期,也不能被当作内部日志而驳回。

这正是代码的加密作者身份证明所提供的:一份防篡改、可数学验证的记录,将 Git 提交绑定到一个时间点。本文解释这实际上意味着什么、它在底层如何运作,以及 Timestamp GIT 如何将其转变为零配置的 GitHub App 工作流。

加密作者身份证明意味着什么?

加密作者身份证明有两个核心要素:

  1. 存在时间:证明代码在某个特定日期或之前就已经存在。
  2. 作者身份上下文:将该代码与特定的提交、仓库、作者元数据或实体关联起来。

Git 提交哈希是一个很好的起点。Git 根据仓库状态、提交信息、父提交和作者元数据生成一个唯一的哈希。相同的代码,在不同的时间提交或使用不同的元数据,会产生不同的哈希。

但仅凭哈希并不能证明它何时存在。任何人都可以在本地生成一个 Git 提交,并将系统时钟设置为更早的日期。内部日志、GitHub 推送时间戳和服务器记录也可能被操纵,或被质疑为自利性证据。版权登记有所帮助,但它速度慢,在某些情况下成本高昂,而且不能提供同样的加密确定性。

更强的方法是将 Git 提交哈希锚定到一个公开的、不可变的账本中:比特币区块链。一旦该哈希被嵌入到一个比特币区块中,它在那个时间点的存在就变得可数学验证。没有任何公司、开发者或攻击者能够在不重做不可能完成的工作量的情况下追溯性地更改一个比特币区块。

这就是现有技术保护的黄金标准:你工作的加密哈希,被冻结在公开账本中,任何人都可以永远验证。

一个简单的类比:将你的代码封存在公共保险库中

想象你写了一份文档,并将其放入一个密封的信封中。你不会在公开场合打开这个信封。相反,你计算信封内容的一个唯一指纹,并将该指纹发布到一个无法打开或更改的公共保险库中。

之后,如果有人声称他们在你之后发明了同样的想法,你可以指向保险库说:“我的指纹在这个日期就已经在这里了。”指纹不会揭示信封里有什么,但它证明了信封的存在。

用软件术语来说:

  • 信封是你的 Git 仓库。
  • 指纹是 Git 提交哈希。
  • 公共保险库是比特币区块链。
  • 存在证明是 .ots 回执文件。

这是一个零知识过程。Timestamp GIT 永远不会看到你的源代码。它只处理提交哈希。哈希无法被逆向还原为代码,因此你可以在不披露专有逻辑、商业机密或未完成工作的情况下证明存在性。

加密作者身份证明在底层如何运作

完整过程包含三个步骤。

步骤 1:指纹

每次你进行提交时,Git 都会生成一个唯一的单向哈希。根据仓库格式的不同,这个哈希可以是 SHA-1 或 SHA-256。它代表了该提交时仓库的确切状态,包括文件内容、提交元数据、作者和提交者字段以及提交信息。

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

git rev-parse HEAD

该输出就是你的代码在那一刻的加密指纹。

步骤 2:锚定

提交哈希会与其他等待时间戳的提交哈希一起被收集。Timestamp GIT 从每日批次的哈希中构建一棵 Merkle 树。然后使用 OpenTimestamps 协议将 Merkle 根嵌入到一笔比特币交易中。

关键点在于:你个人的提交哈希与一个特定的比特币区块建立了加密连接。一旦该区块被确认,时间戳就不可更改。

步骤 3:证明

你会收到一个不可变的 .ots 回执文件。该回执包含从你的提交哈希到比特币区块头的加密路径。任何人都可以使用该回执对照活跃的比特币区块链验证时间戳,而无需信任 Timestamp GIT、任何服务器或任何第三方。

Timestamp GIT 将所有这些自动化。一个 GitHub App 检测新的提交。哈希被排队。一个夜间工作进程创建 Merkle 树,写入 OpenTimestamps 证明,将 Merkle 根锚定到比特币中,并将清单和 .ots 回执推送到一个专门的时间戳分支或影子仓库。

这意味着你无需手动操作 OpenTimestamps 工具、手动创建比特币交易或运行验证命令。困难的方式是自己管理所有这些;Timestamp GIT 是托管路径。

如需更深入的比较,请参阅 Timestamp GIT 与 OpenTimestamps:哪个更适合你?。

为什么加密作者身份证明对开发者和合规很重要

防御专利流氓

一个非实施实体可能会就你已经在使用的技术申请一项宽泛的专利。如果你在他们申请前几个月就实现了该技术,你需要证据。一个不可变的比特币时间戳显示你的提交在专利申请之前就已存在,这是强有力的现有技术。它让你有能力使该权利要求无效,而无需依赖模糊的内部记录。

解决作者身份纠纷

当一位首席开发者离职或一位承包商声称拥有所有权时,问题往往变成:这个功能到底是什么时候创建的?Git 历史可以被重写。服务器日志可能受到质疑。一个加密时间戳将纠纷简化为一次数学检查。

加强合规和审计追踪

对于受监管环境、合同义务或客户交付纠纷,可验证的审计追踪非常有价值。Timestamp GIT 提供公开状态仪表板、审计 CSV 导出和 PDF 证书。这些工件支持合规审查和法律程序,而无需审计员信任你的内部基础设施。

常见误解

  • “这是关于隐藏代码。” 不是。目标是证明存在性而不披露源代码。哈希是指纹,不是对代码的加密。
  • “它取代了版权。” 不是。版权是一项法律权利。加密证明通过提供工作何时存在的强有力证据来补充版权。你仍然拥有对代码的正常权利。
  • “只有大公司才需要这个。” 自由职业者、代理机构和初创公司往往损失最大。一个没有法律预算的独立开发者仍然可以生成一个比特币背书的时间戳,让专利流氓无法忽视。
  • “Git 历史就足够了。” Git 提交可以在本地机器上被重建、重写或任意设定日期。在高风险纠纷中,内部日志往往被当作自利性证据而驳回。

关于初创公司视角的商业案例,请参阅 初创公司如何在没有专利的情况下保护其软件知识产权。

Timestamp GIT 如何让加密作者身份证明变得毫不费力

Timestamp GIT 是一个托管的 SaaS 和 GitHub App。你只需安装一次 GitHub App,连接一个仓库,之后被监控仓库的每一次提交都会在每晚自动锚定到比特币中。

工作流程如下:

  1. 安装 GitHub App。
  2. 选择你想要监控的仓库。
  3. 照常继续提交代码。
  4. 在专门的时间戳分支或影子仓库中接收 .ots 证明。

无需 CLI 工具,无需 OpenTimestamps 命令,无需手动比特币交易。验证同样简单。

你可以在 README 中添加可嵌入的徽章:

[![Timestamp GIT](https://timestampgit.dev/api/badgeLink/acme/widget-service.svg)](https://timestampgit.dev/status/acme/widget-service)

你可以使用公共 API 查看最新锚定的比特币区块:

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

对于私有仓库,URL 包含加密的 HMAC,因此只有授权用户才能访问状态。

Timestamp GIT 还提供多种部署模式:

  • 标准 GitHub App 模式:GitHub App 仅从被监控的仓库读取 HEAD 提交哈希,并将证明写入一个专门的分支。
  • 企业零知识模式:一个 GitHub Action 在你的基础设施上运行,仅将提交哈希推送到 Timestamp GIT API。你的源代码永远不会离开你的环境。
  • Docker 自托管:对于隔离环境,你可以将整个应用程序作为 Docker 镜像运行。

例如,一个最小的 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

然后启动服务:

docker compose pull
docker compose up -d
docker compose logs -f timestampgit

启动后,应用程序可在 http://localhost:8080 访问。

如需实操指南,请参阅 安装 GitHub App 以自动为你的提交添加时间戳。

常见问题

加密作者身份证明和版权有什么区别?

版权是在创作时自动授予的法律权利,但证明确切的创作日期可能很困难。加密作者身份证明提供了一份防篡改、可数学验证的时间戳,证明代码在某个特定时刻存在,可作为法律纠纷中的证据。

我可以在不披露源代码的情况下证明作者身份吗?

可以。Timestamp GIT 使用零知识方法:它只处理 Git 提交哈希,这是一个加密指纹。源代码本身永远不会被读取或存储。哈希被锚定到比特币区块链中,因此你可以在不披露专有代码的情况下证明存在性。

获得时间戳证明需要多长时间?

Timestamp GIT 每天批量处理提交,并将其锚定到比特币区块链中。确认通常在每日批次处理后的几个小时内完成——通常约 3 小时。一旦确认,证明就不可更改,并且可以随时验证。

证明在法庭上有效吗?

基于比特币区块链的加密时间戳越来越被认可为可靠的证据,因为它们依赖于数学确定性,而不是对第三方的信任。Timestamp GIT 提供符合全球公认加密标准的法庭就绪证据,你可以生成 PDF 证书和审计报告用于法律程序。

结论

代码的加密作者身份证明解决了一个实际问题:证明提交何时存在,而不披露其内容。通过将 Git 提交哈希锚定到比特币区块链中,你创建了一份不可变的记录,能够经受法律审查、专利挑战和内部纠纷。

最棒的是,你不需要成为密码学专家。Timestamp GIT 将整个流程自动化,封装在一个 GitHub App 背后。安装一次,连接你的仓库,每一次提交都会自动贡献到一条不断增长的、可验证的现有技术轨迹中。公共仓库可以免费开始使用,这使它成为为你的开发工作流增加一层保护的低风险方式。

相关文章

EU label: AI-generated content