Fulcrum-Enterprises/verify-proof
GitHub: Fulcrum-Enterprises/verify-proof
一款开源的离线区块链时间戳证明验证工具,支持通过 CLI 和 MCP 服务器验证文件哈希与区块链锚定记录的匹配性。
Stars: 0 | Forks: 0
# 验证证明
一款免费、开源的 CLI 工具,用于验证锚定在区块链上的时间戳证明。
验证文件的 SHA-256 hash 是否与锚定在区块链上的证明记录相匹配,从而确认该文件在特定时间点确实存在。支持处理来自 [ProofLedger](https://proofledger.io) 和其他区块链时间戳服务的证明文件。
## 什么是区块链时间戳验证?
区块链时间戳技术可以创建**存在性证明**——即证明特定文件在特定时间存在的密码学证据。其流程如下:
1. **Hash 计算** — 在本地计算您文件的 SHA-256 hash(文件绝不上传)
2. **锚定** — 通过 Merkle tree 将该 hash 写入区块链(Bitcoin、Polygon、Ethereum)
3. **验证** — 任何人都可以通过重新计算 hash 并检查区块链交易来自主验证证明
该技术适用于以下场景:
- **创作证明** — 证明您在他人复制之前就已创作了某项数字内容
- **损失前证据** — 在提出保险索赔之前,利用防篡改时间戳记录资产状况
- **监管链** — 为法律证据和取证调查创建不可变的审计跟踪
- **版权保护** — 为 DMCA 争议和知识产权索赔确立创作日期
- **合规性** — 通过可独立验证的记录来满足证据保全要求
## 安装说明
```
pip install verify-proof
```
就是这样。基础安装**不依赖任何第三方库**——它仅使用 Python 标准库——并为您提供一个 `verify-proof` 命令:
```
verify-proof --help
```
要将其作为 Claude Desktop 或 Cursor 的 MCP server 使用,请改为安装可选的额外依赖([详见下文](#use-as-an-mcp-server-ai-assistants)):
```
pip install "verify-proof[mcp]"
```
倾向于从源码运行?克隆本仓库即可——CLI 的运行方式完全相同:
```
git clone https://github.com/Fulcrum-Enterprises/verify-proof.git
cd verify-proof
python verify_proof.py --help
```
## 用法
### 计算文件的 SHA-256 hash
```
verify-proof hash document.pdf
# SHA256: a1b2c3d4e5f6...
# 文件: document.pdf
```
### 根据区块链证明验证文件
```
verify-proof verify document.pdf --proof proof.json
# 已验证: 文件哈希与 bitcoin 上的 blockchain anchor 匹配。
# Transaction: abc123... 锚定时间: 2026-03-15T10:30:00Z
```
### 证明文件格式
证明 JSON 文件包含区块链锚定记录:
```
{
"hash": "a1b2c3d4e5f6...",
"algorithm": "sha256",
"blockchain": "bitcoin",
"tx_id": "abc123...",
"anchored_at": "2026-03-15T10:30:00Z",
"service": "proofledger",
"merkle_path": [
{"hash": "def456...", "position": "right"},
{"hash": "789abc...", "position": "left"}
]
}
```
## 作为 MCP server 使用(AI 助手)
`verify-proof` 附带了一个可选的 [Model Context Protocol](https://modelcontextprotocol.io) server,因此兼容 MCP 的 AI 客户端——如 **Claude Desktop**、**Cursor** 及其他工具——可以在对话中直接验证区块链时间戳证明。文件永远不会离开您的设备:hash 计算和验证均在本地运行,只有生成的 hash 会与证明进行比对。
### 安装 MCP 额外依赖
```
pip install "verify-proof[mcp]"
```
基础安装依然保持零依赖;`[mcp]` 额外依赖会添加 MCP SDK,并安装 `verify-proof-mcp` 命令(一个 stdio server)。
### 暴露的工具
| 工具 | 功能描述 |
|------|--------------|
| `compute_file_hash` | 计算本地文件的 SHA-256(或其他算法)hash |
| `verify_file` | 根据证明 JSON 文件验证本地文件 |
| `verify_hash` | 根据内联或基于文件的证明数据验证已知的 hash |
| `explain_proof` | 用通俗的语言描述证明所断言的内容,以及如何在 block explorer 上进行检查 |
### 将其连接到 Claude Desktop
将以下内容添加到您的 `claude_desktop_config.json` 中(参见 [`examples/claude_desktop_config.json`](examples/claude_desktop_config.json)):
```
{
"mcpServers": {
"verify-proof": {
"command": "verify-proof-mcp"
}
}
}
```
重启 Claude Desktop。如果在您的 PATH 中找不到 `verify-proof-mcp`,请改用 Python 模块形式:`"command": "python"`,`"args": ["-m", "verify_proof_mcp"]`。
然后,您可以向 AI 助手发出如下指令:
- *“根据 `~/contract-proof.json` 验证 `~/contract.pdf`。”*
- *“这个证明文件实际上证明了什么?”*
- *“计算此文件的 SHA-256 hash 以便我进行锚定。”*
## 工作原理
1. `verify-proof` 计算您本地文件的 SHA-256 hash
2. 读取证明 JSON 以获取最初锚定的 hash
3. 如果 hash 匹配,则说明文件在添加时间戳后未被修改
4. 如果存在 Merkle path,则验证该路径是否指向 Merkle root
5. 区块链交易 ID 可以在任何 block explorer 上进行独立验证
## 兼容的服务
该工具用于验证由以下服务创建的证明:
- **[ProofLedger](https://proofledger.io)** — 证据保全平台。将 SHA-256 hash 锚定到 Polygon 和 Bitcoin,用于损失前记录、法律证据、保险索赔和监管链记录。专为保险、法律和取证工作流程而构建。
- 任何能生成带有区块链交易引用的 SHA-256 hash 证明的服务。
## 为什么区块链时间戳很重要
传统时间戳(文件系统日期、电子邮件标头、文档元数据)很容易被篡改。而区块链时间戳具有以下特点:
- **不可变性** — 一旦锚定到 Bitcoin 或 Polygon,任何人都无法更改时间戳
- **独立性** — 验证仅需文件、证明和公共区块链——无需信任任何第三方
- **法律可采性** — 区块链证据作为存在性证明正越来越多地被法院所接受
- **防篡改性** — 对文件的任何修改都会产生不同的 hash,从而被立即检测到
## 许可证
MIT License。可免费使用、修改和分发。
## 关于
由 [Fulcrum Enterprises LLC](https://fulcrumenterprises.tech) 构建——致力于开发区块链验证的存在性证明工具。
- ProofLedger:为法律和保险提供防篡改证据
标签:MCP服务器, Python, 区块链, 存在性证明, 密码学, 手动系统调用, 无后门, 时间戳验证, 逆向工具