mcpField
O
OpenTTT Proof of Time

OpenTTT Proof of Time

本地服务
github.com/Helm-Protocol生产力113 周前更新

关于 OpenTTT Proof of Time

这是一个为 AI Agent 提供 OpenTTT 时间证明工具的 MCP 服务,用于验证交易顺序。它结合多个独立时间源、完整性分片和 Ed25519 签名来生成与验证证明。

主要功能

  1. 01生成交易时间证明
  2. 02使用哈希和 GRG 分片验证证明
  3. 03查询证明历史
  4. 04查看时段统计数据
  5. 05检查时间源和系统健康状况

适用场景

  1. 01确认两笔交易中哪笔先发生
  2. 02验证交易的时间证明
  3. 03查看证明历史和时段统计
  4. 04检查时间源状态与同步情况

MCP 相关

向 MCP 客户端提供五种 OpenTTT 时间证明工具:生成、验证、历史查询、统计和健康检查。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"helm-protocol": {
"command": "npx",
"args": [
"-y",
"@helm-protocol/ttt-mcp"
]
}
}
}
启动命令npx -y @helm-protocol/ttt-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@helm-protocol/ttt-mcp

工具

8

收录的工具列表 · 更新于 3 周前

参数类型必填说明
eventIdstring否工作流步骤标识符(Claude Code)。例如:'refactor_auth_step1'
prevEventIdstring否上一步的 eventId——将步骤关联成因果链
txHashstring否交易哈希(DeFi,带 0x 前缀的十六进制值)
chainIdnumber否EVM 链 ID(DeFi,例如,Base 的 ID 为 8453)
poolAddressstring否DEX 池合约地址(DeFi)
contentDigeststring否此记录所证明内容的 SHA-256 摘要(小写十六进制,64 个字符)。由调用方计算,服务器永远不会看到内容本身。提供此值后,如果本地时间合成满足 draft-08 自身的要求(>=3 个独立来源、可表示的误差界限),响应除通常的 potHash 字段外,还会包含符合规范的 potRecordV08 二进制记录(十六进制编码);否则 potRecordV08Error 会说明无法生成的原因。
ctxIdstring否draft-08 §3.3 上下文标识符(Commitment 的域分隔符)。省略时默认为固定的服务器值;MAY 为公开值。

详细介绍

@helm-protocol/ttt-mcp

draft-helmprotocol-tttps 的参考实现(IETF Experimental)

适用于 OpenTTT 的 MCP 服务 — 面向 AI Agent 的时间证明工具

AI Agent A 和 Agent B 同时触发了一笔付款。 谁先触发?

OpenTTT 使用加密时间证明来回答这个问题 — 时间戳由多个独立时间源合成,通过 GRG 完整性分片验证,并使用 Ed25519 签名以实现不可否认性。

快速开始

npm install @helm-protocol/ttt-mcp
// claude_desktop_config.json
{
  "mcpServers": {
    "ttt": {
      "command": "npx",
      "args": ["@helm-protocol/ttt-mcp"]
    }
  }
}

就这么简单。现在,你的 AI Agent 可以使用 5 个时间证明工具。

工具

工具描述
pot_generate为一笔交易生成时间证明
pot_verify使用哈希和 GRG 分片验证时间证明
pot_query从本地日志和链上子图查询 PoT 历史记录
pot_stats获取指定时间段的 turbo/full 模式统计信息
pot_health检查系统健康状况:时间源、子图同步状态、运行时间

工具参数

pot_generate

为一笔交易生成时间证明。返回 potHash、时间戳、stratum 和 GRG 完整性分片。

参数类型必填描述
txHashstring是交易哈希(带 0x 前缀的十六进制字符串)
chainIdnumber是链 ID(例如,Base 为 8453,Base Sepolia 为 84532)
poolAddressstring是DEX 池合约地址
pot_verify

使用哈希和 GRG 分片验证时间证明。返回有效性、模式(turbo/full)和时间戳。

参数类型必填描述
potHashstring是要验证的 PoT 哈希(带 0x 前缀的十六进制字符串)
grgShardsstring[]是十六进制编码的 GRG 完整性分片数组
chainIdnumber是EVM 链 ID(例如,Base Sepolia 为 84532)
poolAddressstring是Uniswap V4 池地址(带 0x 前缀)
pot_query

从本地日志和链上子图查询时间证明历史记录。

参数类型必填描述
startTimenumber否开始时间(Unix 毫秒)。默认值:24 小时前
endTimenumber否结束时间(Unix 毫秒)。默认值:现在
limitnumber否返回的最大条目数。默认值:100,最大值:1000
pot_stats

获取 PoT 统计信息:指定时间段内的交换总数、turbo/full 模式计数及 turbo 占比。

参数类型必填描述
period"day" | "week" | "month"是统计时间段
pot_health

检查 PoT 系统健康状况:时间源状态、子图同步状态、服务运行时间和当前模式。

参数类型必填描述
(无)——此工具不接受任何参数

示例:生成并验证 PoT

// In your AI agent's tool call:
const pot = await pot_generate({
  txHash: "0xabc123...",
  chainId: 84532,
  poolAddress: "0xdef456..."
});

// pot.potHash — unique Proof of Time hash
// pot.grgShards — GRG integrity shards for verification
// pot.timestamp — synthesized nanosecond timestamp
// pot.mode — "turbo" (honest) or "full" (requires full verification)

const verification = await pot_verify({
  potHash: pot.potHash,
  grgShards: pot.grgShards
});
// verification.valid — true if integrity shards reconstruct correctly

工作原理

  1. 时间合成 — 通过 HTTPS/NTP 查询多个独立时间源(NIST、Google、Cloudflare),合成带有不确定性界限的中位数时间戳
  2. GRG 流程 — 通过多层完整性流程编码交易数据,生成可验证的分片
  3. Ed25519 签名 — 对 PoT 哈希签名,以实现不可否认性
  4. 自适应模式 — 诚实的构建者可使用 turbo 模式(快速且有利可图);被篡改的序列则使用 full 模式(缓慢且成本高昂)— 自然经济选择

Claude Desktop 配置

将以下内容添加到你的 claude_desktop_config.json:

{
  "mcpServers": {
    "ttt": {
      "command": "npx",
      "args": ["@helm-protocol/ttt-mcp"]
    }
  }
}

配置文件位置:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
  • Linux:~/.config/Claude/claude_desktop_config.json

要求

  • Node.js >= 18
  • 访问网络以进行时间合成(通过 HTTPS 连接 time.nist.gov、time.google.com、time.cloudflare.com)

Learn More

License

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。