Signatureとは何ですか?
Signatureは、特定のメッセージや取引にあなたが承認を与えたことを証明する、短い数学的な証拠です。二つの点を同時に示します:正しい鍵を所有していること、そしてメッセージが改ざんされていないこと。署名を自筆のサインに例えるなら、インクの代わりに代数学が使われ、偽造は成立しません。
「ブロックチェーンのSignatureはあなたの鍵を露呈する」――いいえ。数学が承認を示すだけで秘密を明かすことはないため、鍵は非公開のままチェーン外に保たれます。
Signatureの仕組み
簡単な流れ:コインを送りたいとき、ウォレットが小さな数学的処理を行い、ネットワークが検証します。仲介者や公証人はいらず、コードだけで済みます。
- 手順1: 送金先と金額を指定して取引を準備します。
- 手順2: ウォレットがあなたの 秘密鍵 を使って一度限りの固有な証明を作ります。
- 手順3: 他者はあなたの 公開鍵 でその証明を検証でき、秘密は知られません。
- 手順4: ネットワークは数学的検証と 取引データの整合性 を確認します。1ビットでも変わると検証は失敗します。
- 手順5: 検証が通れば、マイナーやバリデーターがブロックに含めて送金が進みます。
これが流れです。簡潔で速く、許可は不要です。
なぜ Signature が重要か
関心を持つ理由:
- 利点: 所有と意図を証明するため、誰かに許可を求めずに価値を移転できます。
- 観点: 各検証は独立した ノード によって行われるため、信頼は単一の管理者ではなく多数の監視者からもたらされます。
- 関連性: ウォレット、取引所、DeFi、DAO、NFT ミント、パスワードを使わないログインフローなどで見られます。高級な実世界の資産とオンラインの掲示板が交差する場面にも出てきます。
署名する内容は必ず確認してください。ウォレットはメッセージのプレビューを表示します。内容をよく見ずに承認すると、トークンを失う原因になります。
Signatureの主な特徴
機能させる主要な特性:
- 真正性: 送信者が正しい鍵の実際の所有者であることを確認します。
- 整合性: メッセージに変更があれば検証は即座に失敗します。
- 否認防止: 一度署名すると、その特定のメッセージを承認していないと正当に主張することはできません。
- 公開検証: 誰でも公開情報で検証でき、秘密は不要です。
- コンパクト: 短い文字列で、チェーン上で素早くやり取りできます。
バリエーション
同じ目的で、方式ごとに特徴とトレードオフがあります:
- ECDSA: Bitcoin や多くのチェーンは、よく検証されたセキュリティのために ECDSA (Elliptic Curve Digital Signature Algorithm) を採用しています。
- Schnorr: Schnorr Signatures のような新しい方式は集約やより簡潔なマルチシグを可能にします。
- Ring: プライバシー重視のコインは、どの参加者が実際に署名したかを隠すために Ring Signatures を使うことがあります。
Signatureは正確なメッセージに結び付きます。アプリが余分な空白を1つ入れるか別の数字にすると、以前のSignatureは無効になります。それは設計上の仕様です。
例
ウォレットでスワップを承認すると、アプリがSignatureを要求し、ネットワークはトークンを移動する前にそれを検証します。
豆知識
Schnorrは1980年代後半に提案され、長年特許で保護されましたが、特許が切れた後に広く採用されました。暗号分野は良いアイデアを忘れず、適切な時期を待ちます。
まとめ
短く言えば:数学に裏付けられた承認で、自分が承認したこととメッセージが改ざんされていないことを示せます。秘密を誰かに渡す必要はありません。
