CommitProofをでフォローして無料の証明を取得

Commit-Reveal方式

仕組み

CommitProofはCommit-Reveal方式を用いて、アイデアが特定の時点で存在していたことを、その内容を公開することなく証明します。

  1. Commit: テキストを入力すると、ブラウザがランダムなSaltとともにSHA-256 Hashを計算します。このHashのみがCardanoブロックチェーンに記録されます。
  2. Reveal: 後日、オリジナルのテキストとSaltを公開します。誰でもHashを再計算し、ブロックチェーン上の記録と照合できます。タイムスタンプ付きです。

オリジナルのテキストは一切ブラウザの外に出ません。サーバーに送信されることも、ブロックチェーンに保存されることもありません。オンチェーンに記録されるのは暗号学的Hashのみです。自分で確認する方法はこちら

Saltcrypto.getRandomValuesで生成される16文字のランダムな文字列です。ブルートフォース攻撃を防ぎ、SaltなしではオリジナルのテキストをHashから復元することはできません。

オンチェーン証明

各証明はラベル8413のメタデータを含むCardanoトランザクションです:

{
  "ts": 1708000000000,
  "app": "commitproof.com",
  "algo": "sha256",
  "hash": "a1b2c3…",
  "version": "1"
}
  • ts: クライアント側のタイムスタンプ(ミリ秒)、参考値のみ。実際の時刻証明はブロックチェーン上のブロックタイムスタンプによるもので、このフィールドではありません
  • app: 送信元アプリケーションの識別子
  • algo: 使用されたハッシュアルゴリズム(SHA-256)
  • hash: オリジナルコンテンツとSaltを組み合わせた一方向フィンガープリント
  • version: 将来の互換性のためのメタデータフォーマットバージョン

各証明トランザクションはCommitProofのサービスアドレスに3 adaを送信します。このアドレスは公開インデックスとして機能し、すべてのCommitProofトランザクションを取得できます。Proof Explorerもこの仕組みで動作しています。

すべての証明はCardanoブロックチェーンに永続的に保存され、誰でも独立して検証できます。 Cardanoが初めてですか? こちらから始めましょう

検証

証明を検証するには、3つの情報が必要です:

  • トランザクションHash(ブロックチェーン上の証明を特定します)
  • オリジナルのテキスト
  • 作成時に使用されたSalt

検証時にブラウザ上でSHA-256(text + ":" + salt)を直接計算し、ブロックチェーン上のHashと比較します。両者が一致すれば証明は有効であり、ブロックのタイムスタンプが作成日時を証明します。

CommitProofはこれら3つをダウンロード可能な証明ファイル(PDFまたはJSON)にまとめます。共有やアーカイブに利用できます。証明ファイルの形式について詳しくはFAQをご覧ください。