OpenTTT Proof of Time について
AIエージェント向けにOpenTTTのProof of Timeツールを提供し、取引の順序を検証するMCPサーバーです。複数の独立した時刻ソース、整合性シャード、Ed25519署名を組み合わせて証明を生成・検証します。
主な機能
- 01取引の時間証明を生成
- 02ハッシュとGRGシャードによる証明検証
- 03証明履歴の照会
- 04期間別統計の表示
- 05時刻ソースとシステム状態の確認
活用シーン
- 01どちらの取引が先に発生したかを特定
- 02取引のProof of Timeを検証
- 03証明履歴と期間別統計を確認
- 04時刻ソースの状態と同期を確認
MCP 対応
生成、検証、履歴照会、統計、ヘルスチェックの5つのOpenTTT Proof of TimeツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
8掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| eventId | string | いいえ | ワークフローのステップ識別子(Claude Code)。例:'refactor_auth_step1' |
| prevEventId | string | いいえ | 前のステップの eventId — ステップを因果チェーンに結び付けます |
| txHash | string | いいえ | トランザクションハッシュ(DeFi、0x プレフィックス付きの 16 進数) |
| chainId | number | いいえ | EVM チェーン ID(DeFi、例:Base は 8453) |
| poolAddress | string | いいえ | DEXプールのコントラクトアドレス(DeFi) |
| contentDigest | string | いいえ | このレコードが証明するコンテンツの SHA-256 ダイジェスト(小文字の 16 進数、64 文字)。呼び出し元が計算し、サーバーがコンテンツ自体を見ることはありません。指定され、ローカル時刻の合成が draft-08 固有の要件(>=3 個の独立したソース、表現可能な誤差範囲)を満たす場合、通常の potHash フィールドに加えて、仕様に準拠した potRecordV08 バイナリレコード(16 進数エンコード)が応答に含まれます。それ以外の場合、生成できなかった理由が potRecordV08Error に示されます。 |
| ctxId | string | いいえ | draft-08 §3.3 のコンテキスト識別子(Commitment のドメインセパレーター)。省略時は固定のサーバー値がデフォルトで使用されます。公開してもかまいません。 |
詳細
@helm-protocol/ttt-mcp
draft-helmprotocol-tttps(IETF 実験仕様)のリファレンス実装
OpenTTT 向け MCP サーバー — AI エージェント用 Proof of Time ツール
AI エージェント A とエージェント B が同時に決済を実行しました。 先だったのはどちらでしょうか?
OpenTTT は、暗号学的な Proof of Time でこれに答えます。複数の独立した時刻ソースから時刻を合成し、 GRG 整合性シャードを通じて検証し、 否認防止のために Ed25519 で署名します。
クイックスタート
npm install @helm-protocol/ttt-mcp
// claude_desktop_config.json
{
"mcpServers": {
"ttt": {
"command": "npx",
"args": ["@helm-protocol/ttt-mcp"]
}
}
}
これで完了です。AI エージェントから 5 つの Proof of Time ツールにアクセスできるようになります。
ツール
| ツール | 説明 |
|---|---|
pot_generate | トランザクションの Proof of Time を生成します |
pot_verify | ハッシュと GRG シャードを使用して Proof of Time を検証します |
pot_query | ローカルログとオンチェーンのサブグラフから PoT 履歴を照会します |
pot_stats | 指定した期間の turbo/full モードの統計情報を取得します |
pot_health | 時刻ソース、サブグラフの同期状況、稼働時間など、システムの健全性を確認します |
ツールのパラメーター
pot_generate
トランザクションの Proof of Time を生成します。potHash、タイムスタンプ、stratum、GRG 整合性シャードを返します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| txHash | string | はい | トランザクションハッシュ(0x プレフィックス付きの 16 進数) |
| chainId | number | はい | チェーン ID(例:Base は 8453、Base Sepolia は 84532) |
| poolAddress | string | はい | DEX プールのコントラクトアドレス |
pot_verify
ハッシュと GRG シャードを使用して Proof of Time を検証します。有効性、モード(turbo/full)、タイムスタンプを返します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| potHash | string | はい | 検証する PoT ハッシュ(0x プレフィックス付きの 16 進数) |
| grgShards | string[] | はい | 16 進数でエンコードされた GRG 整合性シャードの配列 |
| chainId | number | はい | EVM チェーン ID(例:Base Sepolia は 84532) |
| poolAddress | string | はい | Uniswap V4 プールアドレス(0x プレフィックス付き) |
pot_query
ローカルログとオンチェーンのサブグラフから Proof of Time の履歴を照会します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| startTime | number | いいえ | 開始時刻(Unix ミリ秒)。デフォルト:24 時間前 |
| endTime | number | いいえ | 終了時刻(Unix ミリ秒)。デフォルト:現在 |
| limit | number | いいえ | 返す最大エントリー数。デフォルト: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
仕組み
- 時刻合成 — HTTPS/NTP 経由で複数の独立した時刻ソース(NIST、Google、Cloudflare)に問い合わせ、誤差範囲を伴う中央値のタイムスタンプを合成します
- GRG パイプライン — 多層の整合性パイプラインを通じてトランザクションデータをエンコードし、検証可能なシャードを生成します
- Ed25519 署名 — 否認防止のため、PoT ハッシュに署名します
- 適応型モード — 誠実なビルダーには
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
- 時刻合成のためのネットワークアクセス(time.nist.gov、time.google.com、time.cloudflare.com への HTTPS)
Learn More
- OpenTTT SDK — The underlying SDK
- IETF Draft: draft-helmprotocol-tttps — TTTPS Protocol Specification
- Helm Protocol — GitHub
License
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。