OpenTimestamps 与 Timestamp GIT:哪个更适合你的代码?
OpenTimestamps 与 Timestamp GIT:哪个更适合你的代码?
如果你需要密码学证明来证实某个提交在特定时刻已经存在,通常只有两条路可选:直接使用 OpenTimestamps 协议,或者安装 Timestamp GIT,让一个托管式 GitHub App 每晚自动完成这项工作。两种方案都会将哈希锚定到比特币区块链上。两者都会生成 .ots 回执文件,可以用标准 OpenTimestamps 工具进行验证。真正的决策在于运维层面:你是想自己掌控整条流水线,还是想要一个零配置的服务,把存在性证明当作 Git 工作流中的一项后台功能?
本文面向开发者、工程经理以及有合规需求的团队,梳理这一购买决策。
选择:裸协议还是托管服务?
OpenTimestamps 是将哈希锚定到比特币的底层开放协议。它定义了 SHA-256 摘要如何被提交到比特币交易中,Merkle 路径如何生成,以及 .ots 回执如何证明数据在某个特定区块之前就已存在。
Timestamp GIT 是一个构建在同一协议之上的托管 SaaS 产品。它以 GitHub App 的形式安装,监视你的仓库,每晚批量处理提交哈希,将其锚定到比特币,并把证明写回一个专用分支或影子仓库。你完全不需要亲自处理日历服务器、Merkle 树或比特币交易。
所以 OpenTimestamps 与 Timestamp GIT 的对比,与其说是“哪种密码学更好”,不如说是“自建还是购买”。密码学锚定是相同的。区别在于谁来组装回执、调度批量任务、支付比特币交易费用、监控确认状态、存储工件,以及构建验证界面。
全景:通往比特币锚定证明的两条路径
OpenTimestamps 作为裸协议
OpenTimestamps 是免费、开源且不依赖特定供应商的。它是一套工具包,面向那些希望对每个步骤都拥有完全控制权的人:创建提交哈希、聚合它们、提交到公共日历服务器、处理比特币交易费用,以及管理 .ots 文件。
裸协议路径在技术上要求很高。你需要理解时间戳承诺的工作原理、如何构建 Merkle 树、如何等待比特币确认,以及如何安全地保存回执。如果你希望它对每个提交都自动运行,还需要自己编写脚本。许多团队会在协议之上构建内部 cron 任务或胶水脚本。这条艰难的路给了你最大的控制权,但它不是一个产品:没有仪表盘,没有徽章生成器,没有 PDF 证书,也没有开箱即用的仓库集成。
Timestamp GIT 作为托管自动化层
Timestamp GIT 把这种复杂性隐藏在 GitHub App 背后。安装只需一次性完成 GitHub App 授权。选择仓库后,服务只读取提交哈希,而不会读取源代码。每晚,一个工作进程会把待处理的哈希分组,创建清单文件,构建 Merkle 树,生成 OpenTimestamps 证明,并将 Merkle 根锚定到比特币区块链。一旦比特币确认了锚定——通常几小时后——.ots 回执就会被推送回你的仓库。
最终得到的是同样在数学上不可否认的在先技术证明,但工作流看起来是这样的:
- 向受监控的仓库推送一个提交。
- Timestamp GIT 检测到新的 HEAD 提交哈希。
- 每晚的批量任务将该哈希锚定到比特币。
- 证明出现在
timestamps分支或影子仓库中。 - 你会获得验证徽章、网页查看器、CSV 审计台账,以及(如需要)PDF 证书。
无需在开发机器上安装 CLI,无需配置日历服务器,也无需手动管理比特币交易。
选择标准:易用性、自动化、安全性、价格、集成
易用性
裸 OpenTimestamps 要求真正的密码学和区块链素养。你需要知道什么是 Merkle 证明,如何对照比特币区块头验证回执,以及如何保存 .ots 文件。Timestamp GIT 把整个过程简化为安装一个 GitHub App 并选择仓库。产品负责证明生成、存储和验证链接。
自动化
OpenTimestamps 默认是手动的。你决定运行流程时才创建时间戳。要实现自动化,就必须自行构建和维护调度、批处理和比特币交互层。
Timestamp GIT 运行一个每晚执行的 cron 工作进程。它把提交哈希存储在内存队列中,按仓库分组,创建每日清单,原生构建 Merkle 树,并锚定 Merkle 根。随后证明会自动交付到专用分支或影子仓库。你不需要记得去盖任何时间戳。
安全模型
裸 OpenTimestamps 是完全自托管的。你持有数据、证明和责任。没有任何第三方能看到任何东西。这对高度敏感的环境很有吸引力,但也意味着你必须自己保护每一件工件。
Timestamp GIT 采用零知识架构。在标准模式下,GitHub App 只读取 HEAD 提交哈希。服务永远不会看到、复制或存储你的源代码。在企业 ZK 模式下,一个 GitHub Action 在你的基础设施上运行,只把提交哈希推送到 Timestamp GIT API。你的源代码永远不会离开你的环境,甚至源仓库都不需要让应用可读。
定价
OpenTimestamps 作为协议是免费的,但它消耗工程时间。你付出的代价是维护、自定义脚本、基础设施,以及做错的风险。
Timestamp GIT 的定价如下:
- 开源计划:公共仓库免费。
- Pro Agency:私有仓库每月 49 美元。
- Enterprise ZK:每月 199 美元,基于 GitHub Actions 的零知识模式。
- Docker 自托管:基于许可证的 Docker 镜像,适用于隔离或完全受控的环境。
集成
OpenTimestamps 要求你自己构建集成:Git 钩子、CI 任务、存储、仪表盘、审计导出。
Timestamp GIT 自带:
- 一个 GitHub App。
- 一个 REST API,用于状态、验证、审计 CSV 和 PDF 报告。
- 可嵌入 README 文件的验证徽章。
- 一个公共仓库状态仪表盘,包含日历热力图、锚定日期和比特币区块数据。
- 一个用于自托管的 Docker Compose 部署。
例如,公共状态查询如下:
curl https://timestampgit.dev/api/statusSummary/your-org/your-repo
对于私有仓库,API 会附加一个加密的 HMAC,只有授权用户才能查看状态。该 HMAC 与服务器实例绑定。
并排对比:OpenTimestamps 与 Timestamp GIT
| 标准 | OpenTimestamps(裸协议) | Timestamp GIT(托管服务) |
|---|---|---|
| 本质 | 协议,而非产品 | 托管 SaaS + 构建在该协议之上的 GitHub App |
| 设置复杂度 | 高:日历服务器、Merkle 树、比特币费用、本地回执管理 | 低:安装一次 GitHub App,选择仓库 |
| 自动化 | 每个时间戳手动操作,或自定义脚本 | 自动每晚 cron、批处理、Merkle 根锚定、证明交付 |
| 源代码访问 | 你掌控一切;不涉及第三方 | 零知识:只处理提交哈希,绝不处理源代码 |
| 证明生成 | 你自己创建和管理 .ots 回执 |
每晚生成 .ots 回执并推送到 timestamps 分支或影子仓库 |
| 验证 | 标准 OpenTimestamps 工具,但你要管理文件访问和 bitcoind 数据 | 网页查看器、PDF 证书、公共徽章、API 端点,外加标准 .ots 验证 |
| 定价 | 协议免费;消耗工程时间和基础设施 | 公共仓库免费;Pro 每月 49 美元;Enterprise ZK 每月 199 美元;Docker 自托管许可证 |
| 支持与界面 | 社区知识,自行支持的工具 | 托管支持、仪表盘、审计 CSV、PDF 证书、API |
Timestamp GIT 底层使用 OpenTimestamps,因此它生成的证明与标准 OpenTimestamps 验证工具保持兼容。没有专有证明格式,没有锁定,回执的密码学有效性也不依赖于 Timestamp GIT 公司。
结论:谁该选哪个
选择裸 OpenTimestamps,如果你:
- 精通区块链,并且对 Merkle 证明、日历服务器和比特币交易细节感到得心应手。
- 想要完全自托管,完全不依赖任何第三方。
- 已有内部工具或专门团队来构建和维护时间戳基础设施。
- 需要完全自定义的批处理流水线,且不绑定 GitHub。
选择 Timestamp GIT,如果你:
- 想要一个零配置、自动化且与 GitHub 集成的解决方案。
- 需要可在法庭上使用的在先技术证明,而不必学习底层协议。
- 希望证明每晚自动交付到专用分支或影子仓库。
- 偏好开箱即用的仪表盘、验证徽章、审计导出和 PDF 证书。
- 经营初创公司、代理机构或自由职业业务,工程时间更应该花在产品上,而不是时间戳基础设施上。
对于需要隔离环境或完全数据控制的企业,Docker 自托管选项可以在你自己的基础设施内提供相同的 Timestamp GIT 工作流:
services:
timestampgit:
image: rue1401/timestampgit:prod
ports:
- "8080:8080"
volumes:
- ./data:/app/data
- ./license.lic:/app/license.lic:ro
restart: unless-stopped
valkey:
image: valkey/valkey:8
restart: unless-stopped
首次启动时,设置向导会引导你完成 GitHub App 的连接和实例配置。评估时可获取限时演示许可证。
常见问题
问:Timestamp GIT 只是 OpenTimestamps 的一层封装吗?
答:是的,Timestamp GIT 使用 OpenTimestamps 协议将提交哈希锚定到比特币区块链。但它完全自动化了这一过程:你安装 GitHub App,每个提交都会在每晚被批量处理、哈希并锚定,无需任何手动步骤。你永远不需要运行 OpenTimestamps 命令或管理比特币交易。
问:我可以用标准 OpenTimestamps 工具验证 Timestamp GIT 的证明吗?
答:完全可以。Timestamp GIT 生成标准的 .ots 回执文件,可以用任何兼容 OpenTimestamps 的验证器进行验证。这些证明只依赖 SHA-256 和比特币区块数据,因此不依赖特定供应商,即使 Timestamp GIT 消失,也仍然可以核验。
问:Timestamp GIT 会看到我的源代码吗?
答:不会。Timestamp GIT 只处理提交哈希,绝不处理实际源代码。在标准 GitHub App 模式下,它只读取 HEAD 提交哈希。在企业 ZK 模式下,你基础设施上的 GitHub Action 只把哈希推送到 API,因此你的代码永远不会离开你的环境。
问:如果我已经在手动使用 OpenTimestamps,可以切换到 Timestamp GIT 吗?
答:可以,你可以无缝切换。Timestamp GIT 会自动开始为你未来的提交锚定时间戳。现有的 OpenTimestamps 证明仍然有效,可以独立验证。无需迁移;你只需安装 GitHub App 并选择要监控的仓库即可。
结语
OpenTimestamps 是密码学基础。Timestamp GIT 是让普通开发团队能够真正使用这一基础的产品。如果你有专业知识和时间来自己运行裸 OpenTimestamps,你将获得最大的控制权。如果你想要同样的比特币锚定在先技术证明,却不想承担运维负担,Timestamp GIT 为你提供 GitHub App、自动每晚锚定、验证徽章、API 访问、PDF 报告,以及零知识安全模型。
有关分步设置,请参阅几分钟内设置自动 Git 提交时间戳和为自动代码时间戳安装 GitHub App。
从 Timestamp GIT 开始,选择适合你威胁模型的部署模式——托管、Enterprise ZK 或自托管 Docker。