証明のセマンティクス

Signet の証明書が証明する内容を厳密に。

このページは製品の一部であり、マーケティングではありません。証明が役に立つのは、それが何を主張しているかについて全員の認識が一致している場合だけです。ここでは、主張の内容、その背後の暗号技術、そして当社を信頼せずに確認する方法を説明します。

主張

Signet の証明書が行う主張は、範囲は狭くとも強固な 1 つだけです。特定のアドレスの秘密鍵の保有者が、特定の時刻に、特定のチャレンジに署名したこと。それ以上のことは主張しません。これは身元の証明ではなく、鍵の管理の証明です。

証明済み(第三者への信頼不要)

  • このアドレスが、このチャレンジに対してこの署名を生成しました。
  • 署名者は署名時に秘密鍵を保有していました。
  • 証明書のハッシュはオンチェーンのアンカリング時刻までに存在していました。

証明されないこと

  • 署名者の身元。
  • 管理が排他的であること、または鍵が共有・強要されていないこと。
  • 署名者が依頼者の顧客であること。身元との紐付けは依頼者の KYC で行います。

証明の方法

依頼者は、そのリクエスト 1 件だけに結び付いた1 回限りのノンスを含むチャレンジを発行します。相手方は、チャレンジの正確なバイト列に自分のウォレットで署名します。当社は正しいチェーン上で署名をアドレスと照合して検証し、生成された証明書をハッシュ化して、そのハッシュを Merkle バッチでオンチェーンにアンカリングします。使用するのは BA ファミリー全体で共通の Stamper コントラクトであるため、公開の検証ツールでそのまま検証できます。

ノンスによりリプレイは不可能です。あるリクエストのチャレンジに対する署名を、別のリクエストに流用することはできません。当社は保存されたチャレンジをバイト単位で検証し、再レンダリングしたコピーは決して使用しません。

チェーンごとの暗号技術

チェーンごとに独自の署名標準があります。検証レイヤーは、新しいチェーンを既存部分に手を加えずに追加できるよう設計されています。

チェーン標準検証方法
Ethereum および EVMEIP-191 personal_signオフラインでの署名者復元
スマートコントラクトウォレットEIP-1271オンチェーンでの isValidSignature 呼び出し
Bitcoin(SegWit / Taproot)BIP-322オフライン
Bitcoin(レガシー P2PKH)BIP-137 signmessageオフライン
Litecoin、Dogecoin、Zcash (t1)各ネットワークのプレフィックスを用いた BIP-137オフライン
Solanaed25519オフライン
Polkadot, Kusamasr25519 / ed25519オフライン
TRONTronWeb signMessageV2(Ledger の TRON アプリにも対応)オフラインでの署名者復元

ご自身で検証する

すべての証明書から、自己完結型の証明パケットをエクスポートできます。アカウントも BA | Signet への信頼も不要で、誰でも公開チェーンと照合して確認できます:

  1. signature が、記載のチェーン上で address による challenge の有効な署名であること。これだけで鍵の管理が証明されます。
  2. 正規化した証明書 JSON の SHA-256 を再計算します。結果は contentHash(Merkle リーフ)と一致する必要があります。
  3. merkleProof でリーフを畳み込みます(keccak256、ペアはソート済み)。結果は merkleRoot と一致する必要があります。
  4. Polygon 上の Stamper コントラクトで timestamps(merkleRoot) を呼び出します。ゼロ以外の値が、証明書がその時点までに存在していた時刻です。
  5. 任意で、OpenTimestamps の証明を Bitcoin のブロックと照合して検証します。

保存するデータ

相手方は当社の顧客ではなく、アカウントも持ちません。当社が収集するのは必要最小限のデータ、すなわちアドレス、チャレンジ、署名、タイムスタンプ、依頼者の参照番号だけです。秘密鍵やシードフレーズを求めたり受け取ったりすることは決してありません。不正利用の防止に必要な範囲を超える IP ベースのプロファイリングは行いません。データは依頼者のコンプライアンス記録として保持され、依頼に応じて削除されます。