← All posts
OpenTimestamps vs Timestamp GIT:あなたのコードに最適なのはどちら?

OpenTimestamps vs Timestamp GIT:あなたのコードに最適なのはどちら?

timestamp git blockchain proof

OpenTimestamps vs Timestamp GIT: あなたのコードに適しているのはどちらか?

コミットが特定の時点に存在していたことを暗号学的に証明する必要がある場合、選択肢は通常2つの道に絞られます。OpenTimestampsプロトコルを直接使用するか、Timestamp GITをインストールして、マネージドGitHub Appに毎晩作業を任せるかです。どちらのアプローチもハッシュをBitcoinブロックチェーンにアンカーします。どちらも標準のOpenTimestampsツールで検証可能な.otsレシートファイルを生成します。本当の決め手は運用面にあります。パイプライン全体を自分で所有したいのか、それとも存在証明をGitワークフローのバックグラウンド機能として扱うゼロセットアップのサービスを望むのか、という点です。

この記事では、開発者、エンジニアリングマネージャー、コンプライアンス意識の高いチーム向けに、その選択基準を解説します。

選択肢: 生のプロトコルか、マネージドサービスか?

OpenTimestampsは、ハッシュをBitcoinにアンカーするための基盤となるオープンプロトコルです。SHA-256ダイジェストがどのようにBitcoinトランザクションにコミットされるか、Merkleパスがどのように生成されるか、.otsレシートが特定のブロック以前にデータが存在していたことをどのように証明するかを定義しています。

Timestamp GITは、その同じプロトコルの上に構築されたマネージドSaaS製品です。GitHub Appとしてインストールされ、リポジトリを監視し、毎晩コミットハッシュをバッチ処理してBitcoinにアンカーし、証明を専用ブランチまたはシャドウリポジトリに書き戻します。カレンダーサーバー、Merkleツリー、Bitcoinトランザクションを自分で扱う必要は一切ありません。

つまり、OpenTimestamps vs Timestamp GITは「どちらの暗号技術が優れているか」というよりも、「ビルドかバイか」の問題です。暗号学的アンカーは同じです。違いは、誰がレシートを組み立て、バッチをスケジュールし、Bitcoinトランザクションの手数料を支払い、承認を監視し、アーティファクトを保存し、検証UIを構築するかです。

全体像: Bitcoinアンカー証明への2つの道

生のプロトコルとしてのOpenTimestamps

OpenTimestampsは無料で、オープンソースであり、ベンダーに依存しません。コミットハッシュの作成、集約、公開カレンダーサーバーへの送信、Bitcoinトランザクション手数料の処理、.otsファイルの管理など、すべてのステップを完全に制御したい人のためのツールキットです。

生の道は技術的に要求が高いものです。タイムスタンプコミットメントの仕組み、Merkleツリーの構造化方法、Bitcoinの承認を待つ方法、レシートを安全に保管する方法を理解する必要があります。また、すべてのコミットに対して自動的に実行したい場合は、プロセスをスクリプト化する必要があります。多くのチームが、プロトコルの周りに内部のcronジョブやグルースクリプトを構築しています。困難な道は最大限の制御をもたらしますが、それは製品ではありません。ダッシュボードも、バッジジェネレーターも、PDF証明書も、リポジトリ統合も、すぐには使えません。

マネージド自動化レイヤーとしてのTimestamp GIT

Timestamp GITは、その複雑さをGitHub Appの背後に隠します。インストールは一度きりのGitHub App認証です。リポジトリを選択すると、サービスはソースコードではなくコミットハッシュのみを読み取ります。毎晩、ワーカーが保留中のハッシュをグループ化し、マニフェストファイルを作成し、Merkleツリーを構築し、OpenTimestamps証明を生成し、MerkleルートをBitcoinブロックチェーンにアンカーします。Bitcoinがアンカーを承認すると(通常は数時間後)、.otsレシートがリポジトリにプッシュバックされます。

結果は数学的に否定できない同じ先行技術証明ですが、ワークフローは次のようになります。

開発マシンにインストールするCLIも、設定するカレンダーサーバーも、手動のBitcoinトランザクション管理もありません。

選択基準: 使いやすさ、自動化、セキュリティ、価格、統合

使いやすさ

生のOpenTimestampsには、暗号とブロックチェーンに関する真のリテラシーが必要です。Merkle証明とは何か、Bitcoinブロックヘッダーに対してレシートを検証する方法、.otsファイルを保存する方法を知っている必要があります。Timestamp GITは、プロセス全体をGitHub Appのインストールとリポジトリの選択にまで簡素化します。製品が証明の生成、保存、検証リンクを管理します。

自動化

OpenTimestampsはデフォルトで手動です。プロセスを実行すると決めたときにタイムスタンプを作成します。自動化するには、独自のスケジューリング、バッチ処理、Bitcoinインタラクションレイヤーを構築して維持する必要があります。

Timestamp GITは毎晩のcronワーカーを実行します。コミットハッシュをインメモリキューに保存し、リポジトリごとにグループ化し、毎日のマニフェストを作成し、ネイティブにMerkleツリーを構築し、Merkleルートをアンカーします。証明の配信は、専用ブランチまたはシャドウリポジトリに自動的に行われます。何かをスタンプすることを覚えておく必要はありません。

セキュリティモデル

生のOpenTimestampsは完全に自己管理型です。データ、証明、責任を自分で保持します。第三者が何かを見ることはありません。これは機密性の高い環境にとって魅力的ですが、すべてのアーティファクトを自分で保護する必要があることも意味します。

Timestamp GITはゼロ知識アーキテクチャを採用しています。標準モードでは、GitHub AppはHEADコミットハッシュのみを読み取ります。サービスがソースコードを見たり、コピーしたり、保存したりすることはありません。Enterprise ZKモードでは、GitHub Actionがユーザーのインフラストラクチャ上で実行され、コミットハッシュのみをTimestamp GIT APIにプッシュします。ソースコードが環境の外に出ることはなく、ソースリポジトリはアプリから読み取り可能である必要さえありません。

価格

OpenTimestampsはプロトコルとしては無料ですが、エンジニアリング時間がかかります。メンテナンス、カスタムスクリプト、インフラストラクチャ、そして間違えるリスクで支払うことになります。

Timestamp GITには以下があります。

統合

OpenTimestampsでは、Gitフック、CIジョブ、ストレージ、ダッシュボード、監査エクスポートなどの統合を自分で構築する必要があります。

Timestamp GITには以下が同梱されています。

たとえば、公開ステータスチェックは次のようになります。

curl https://timestampgit.dev/api/statusSummary/your-org/your-repo

プライベートリポジトリの場合、APIは暗号化されたHMACを付加するため、許可されたユーザーのみがステータスを表示できます。HMACはサーバーインスタンスに固有です。

並べて比較: OpenTimestamps vs Timestamp GIT

基準 OpenTimestamps(生のプロトコル) Timestamp GIT(マネージドサービス)
正体 プロトコルであり、製品ではない プロトコル上に構築されたマネージドSaaS + GitHub App
セットアップの複雑さ 高い: カレンダーサーバー、Merkleツリー、Bitcoin手数料、ローカルレシート管理 低い: GitHub Appを一度インストールし、リポジトリを選択するだけ
自動化 タイムスタンプごとに手動、またはカスタムスクリプト 毎晩の自動cron、バッチ処理、Merkleルートアンカー、証明配信
ソースコードアクセス すべてを自分で制御。第三者は関与しない ゼロ知識: コミットハッシュのみを処理し、ソースコードは扱わない
証明生成 .otsレシートを自分で作成・管理 .otsレシートが毎晩生成され、timestampsブランチまたはシャドウリポジトリにプッシュされる
検証 標準のOpenTimestampsツールだが、ファイルとbitcoindデータへのアクセスを自分で管理 Webビューア、PDF証明書、公開バッジ、APIエンドポイント、さらに標準の.ots検証
価格 プロトコルとしては無料。エンジニアリング時間とインフラストラクチャがかかる 公開リポジトリは無料。Pro $49/月、Enterprise ZK $199/月、Dockerセルフホストライセンス
サポートとUI コミュニティの知識、自己サポートツール マネージドサポート、ダッシュボード、監査CSV、PDF証明書、API

Timestamp GITは内部でOpenTimestampsを使用しているため、生成される証明は標準のOpenTimestamps検証ツールとの互換性を維持しています。独自の証明形式も、ロックインも、レシートの暗号学的有効性に関するTimestamp GIT社への依存もありません。

結論: どちらを選ぶべきか

以下の場合は生のOpenTimestampsを選びましょう。

以下の場合はTimestamp GITを選びましょう。

エアギャップ環境や完全なデータ制御が必要なエンタープライズ向けには、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の接続とインスタンスの設定を案内します。評価用に期間限定のデモライセンスが利用可能です。

FAQ

Q: Timestamp GITはOpenTimestampsの単なるラッパーですか?

A: はい、Timestamp GITはOpenTimestampsプロトコルを使用してコミットハッシュをBitcoinブロックチェーンにアンカーします。ただし、プロセスを完全に自動化します。GitHub Appをインストールするだけで、すべてのコミットが毎晩バッチ処理され、ハッシュ化され、手動のステップなしでアンカーされます。OpenTimestampsコマンドを実行したり、Bitcoinトランザクションを管理したりする必要は一切ありません。

Q: Timestamp GITの証明を標準のOpenTimestampsツールで検証できますか?

A: もちろんです。Timestamp GITは標準の.otsレシートファイルを生成し、OpenTimestamps互換の任意の検証ツールで検証できます。証明はSHA-256とBitcoinブロックデータのみに依存しているため、ベンダーに依存せず、Timestamp GITが消滅したとしても検証可能です。

Q: Timestamp GITは私のソースコードを見ることができますか?

A: いいえ。Timestamp GITはコミットハッシュのみを処理し、実際のソースコードを扱うことはありません。標準のGitHub Appモードでは、HEADコミットハッシュのみを読み取ります。Enterprise ZKモードでは、ユーザーのインフラストラクチャ上のGitHub ActionがハッシュのみをAPIにプッシュするため、コードが環境の外に出ることはありません。

Q: すでにOpenTimestampsを手動で使用している場合はどうなりますか? Timestamp GITに切り替えられますか?

A: はい、シームレスに切り替えられます。Timestamp GITは今後のコミットを自動的にアンカーし始めます。既存のOpenTimestamps証明は有効なままで、独立して検証できます。移行は不要です。GitHub Appをインストールし、監視するリポジトリを選択するだけです。

まとめ

OpenTimestampsは暗号学的な基盤です。Timestamp GITは、その基盤を通常の開発チームが使えるようにする製品です。生のOpenTimestampsを自分で実行する専門知識と時間があるなら、最大限の制御を得られます。運用上の負担なしで同じBitcoinアンカー先行技術証明が欲しいなら、Timestamp GITがGitHub App、毎晩の自動アンカー、検証バッジ、APIアクセス、PDFレポート、ゼロ知識セキュリティモデルを提供します。

ステップバイステップのセットアップについては、Set Up Automatic Git Commit Timestamping in MinutesInstall a GitHub App for Automatic Code Timestampingを参照してください。

Timestamp GITから始めて、脅威モデルに合ったデプロイメントモード(マネージド、Enterprise ZK、セルフホストDocker)を選択しましょう。

関連記事

EU label: AI-generated content