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, 区块链, 存在性证明, 密码学, 手动系统调用, 无后门, 时间戳验证, 逆向工具