約12分で読めます
アイデンティティは 1 つの種です
CardanoWall のアイデンティティは、32 バイトの Identity Seed ただ 1 つです。この種を保存しておけば、どの Label 309 ツールでも署名鍵と受信鍵を復元できます。失えば、そのアイデンティティを今後使えなくなります。

CardanoWall のアイデンティティは、たった 1 つの秘密です。32 バイトの Identity Seed(アイデンティティの種)がそれにあたります。保存しておけば、アイデンティティ全体をどこででも作り直せます。失えば、今後そのアイデンティティとして振る舞うことができなくなります。
その 32 バイトから、対応ソフトウェアはレコードへの署名や封印付きファイルの受信に使う鍵を導出します。この種をバックアップしておけば、CardanoWall でも、cardanowall コマンドラインツールでも、CardanoWall Desktop アプリでも、あるいは Label 309 の鍵モデルに従うその他のソフトウェアでも、同じアイデンティティを復元できます。
これは Cardano ウォレットのシードフレーズではありません。ADA を保有せず、トランザクション手数料も支払いません。存在証明(Proof of Existence)のアイデンティティを持ち運ぶための根であり、それ以外の何物でもありません。
Identity Seed とは何か
Identity Seed とは、Label 309 アイデンティティの秘密の根です。単一の 32 バイト値です。
後でそのアイデンティティを復元するために手元に残すべき唯一のものだと考えてください。標準があなたについて表現する公開鍵に関するあらゆる事実、つまりレコードを保証する鍵も、封印付きファイルを受け取る鍵も、すべてはその 32 バイトから決定論的に導かれる関数の結果です。
種があれば、標準に準拠したソフトウェアは次のものを再生成できます。
- レコードへの署名に使う署名鍵
- 封印付きレコード用の従来型の受信鍵
- 封印付きレコード用の任意のポスト量子受信鍵
導出は決定論的です。同じ種からは、標準に従うどの実装でも、毎回同じ鍵が生成されます。だからこそバックアップはシンプルに保てます。3 つの秘密鍵を保存するのではなく、1 つの種を保存すればよいのです。
なぜウォレットのシードフレーズではないのか
CardanoWall のアイデンティティが Cardano ウォレットではないからです。
ウォレットのリカバリーフレーズは資金を管理します。Identity Seed は証明のためのアイデンティティを管理します。これにより Label 309 レコードに署名でき、そのアイデンティティ宛ての封印付きレコードを復号できます。ADA を保管したり、Cardano のトランザクション手数料を支払ったり、ウォレットを置き換えたりするものではありません。
この分離は意図的なものです。証明のためのツールが、本来そうあるべきでない場所にウォレットのリカバリーフレーズを貼り付ける習慣を、人々に植え付けてはなりません。Identity Seed は独自の形式と独自の目的を持ち、ウォレットのリカバリーフレーズや公開受信アドレスとは見た目で明確に区別できるよう設計されています。
ですから逆もまた警告のサインだと考えてください。Label 309 アイデンティティを作成するためにウォレットのリカバリーフレーズを求めてくるツールがあれば、そこで手を止めてください。
種はどのような見た目か
既定のバックアップ形式は、次のように始まるチェックサム付きの文字列です。
L309-SEED-1...大文字で表記しているのは意図的です。秘密鍵が大文字で書かれ、受信アドレスが小文字のまま保たれるのと同じように、秘密は目立ち、公開アドレスとは違って見えるべきだからです。
ツールは生の 32 バイト値を 16 進数として受け付けることもできますが、認識しやすく安全にコピーできるよう設計されているのは、人間向けのバックアップ形式のほうです。そのチェックサムは、入力ミス、文字の欠落、不意の破損が壊れたバックアップにつながる前に検出します。ただし、見た目の形式そのものが本質ではありません。重要なのは、その文字列が表すもの、すなわちアイデンティティを再生成する 32 バイトです。
種からどんな鍵が生まれるのか
種からは、それぞれ役割の異なる 3 つの鍵が導出されます。標準は種をそれぞれの鍵へ独立に展開するため、いずれか 1 つのアルゴリズムに弱点があっても、他の鍵が漏れることはありません。
1 つ目は Ed25519 署名鍵 です。これが Label 309 レコードに署名します。検証ツールが有効な署名を確認すると、この鍵がレコード本体を保証したと言えます。署名は常に任意です。Label 309 は発行者に依存せず、誰かが署名したかどうかにかかわらず、レコードはその内容のハッシュとチェーン上のタイムスタンプによって検証されます。
2 つ目は X25519 受信鍵 です。これは封印付きレコードを受け取るために使う従来型の暗号鍵です。
3 つ目は任意の ハイブリッド・ポスト量子受信鍵 で、X25519 と格子ベースの鍵カプセル化メカニズムを組み合わせたものです。これは封印付きペイロードに、より強力で長期的な暗号化の選択肢を与えつつ、種が 1 つで済むバックアップを維持します。
これらの秘密鍵を実際に目にする必要はほとんどありません。ソフトウェアが必要に応じて導出してくれます。手元に持つべきものは種です。
私の種で他人に何ができてしまうのか
あなたの Identity Seed を持つ者は、そのアイデンティティとして振る舞えます。
その人はあなたの署名鍵を導出し、あなたとしてレコードに署名できます。受信鍵を導出し、あなた宛ての封印付きレコードを復号できます。これこそが種が機微である理由です。種はアイデンティティそのものであって、アイデンティティを守るパスワードではありません。
ですから、価値の高い秘密として扱ってください。見知らぬウェブサイトに貼り付けないでください。チャットで送らないでください。共有のコンピューター上に平文のファイルとして残さないでください。そして、共有しても安全な公開受信アドレスと混同しないでください。受信アドレスは公開で、Identity Seed は秘密です。
失ったらどうなるのか
種とロック解除の手段を失うと、今後そのアイデンティティを使えなくなります。何が残るかは、何を手元に保持しているかによって変わります。
- すでに公開した証明はチェーン上に残ります。そのタイムスタンプはあなたに依存しません。
- 署名済みのものを含め、既存のレコードは誰でも引き続き検証できます。
- ただし、そのアイデンティティとして新しいレコードに署名することはもうできなくなる場合があります。
- そのアイデンティティ宛てに既に届いている封印付きレコードを復号できなくなる場合があります。
- 後からそのアイデンティティに送られてくる封印付きレコードも復号できなくなる場合があります。
これがエンドツーエンド暗号化の正直に言えば避けられない代償です。他の誰もあなたの秘密を保持していなければ、CardanoWall を含め、誰もそれを復元することはできません。この性質こそが、サービスがあなたの封印付きファイルを読めないようにしているものであり、同時にバックアップが重要である理由でもあります。(日常のロック解除をパスキーが簡単にしてくれてもなお、なぜこの単一の種が中心であり続けるのか、という関連する問いについては、Identity Seed がなお重要である理由をご覧ください。)
より悪いケースについて一言。盗まれた種は、アイデンティティが完全に侵害されたことを意味し、リセットの手段はありません。とるべき対応は、新しいアイデンティティを作成して古いものを無効化することであって、パスワードをローテーションすることではありません。アクティブなアイデンティティ、無効化されたアイデンティティ、削除されたアイデンティティの違いは、必要になる前に理解しておく価値があります。
どうやってバックアップすべきか
再発行できないあらゆる秘密と同じように、バックアップしてください。
多くの人にとって、パスワードマネージャーは妥当な保管先です。安全な場所にオフラインのコピーを保管する人もいます。組織であれば、既存の鍵管理手順、アクセス制御、復旧ポリシーのもとで種を保持することもあるでしょう。適切な答えはレコードの機微さに応じて変わりますが、原則は変わりません。種が持ち運べる成果物であり、バックアップはその 32 バイトのコピーなのです。
CardanoWall ならではの利便機能は、それを置き換えるものではなく、その上に乗っています。ウェブでは、各アイデンティティを、パスキーだけが開ける暗号化された保管庫にアカウントが保持できるため、日々のロック解除はワンタップで済みます。詳しくは CardanoWall がアイデンティティをどう保管するかをご覧ください。この保管庫は利便性とローミングのためのものであって、管理保管ではありません。サービスは自身では復号できない暗号文を保管するだけであり、種は最終的なバックアップであり続けます。
同じ種を別のアプリで使えるか
使えます。ただし、そのアプリが Label 309 の鍵モデルに従っている場合に限ります。
それこそが種を標準化することの狙いです。証明のためのアイデンティティが、1 つのインターフェースの中に閉じ込められるべきではありません。同じ種は、ウェブアプリでも、コマンドラインツールでも、デスクトップアプリでも、SDK 連携でも、同じ導出ルールを実装する将来のサードパーティ製品でも、同じアイデンティティを復元できるべきです。
これが、実務におけるベンダー非依存の意味です。CardanoWall が証明の作成を手助けしても、その証明は CardanoWall の外でも検証可能なままです。検証者に必要なのは、トランザクションメタデータと、必要に応じてファイルのバイト列、そして公開された Cardano エクスプローラーだけです。そして CardanoWall がアイデンティティの作成を手助けしても、種は互換性のあるどのソフトウェアでも有用なままです。標準、リファレンス SDK、CLI はいずれも github.com/cardanowall でオープンソースとして公開されています。
アイデンティティを複数持てるか
持てますし、多くの人はそうすべきです。
個人のレコード用に 1 つ、仕事用に 1 つ、社内プロセス用に 1 つ、特定の高リスクなワークフロー用に 1 つ、というように使い分けることもできます。各アイデンティティは独立した独自の種を持ち、それぞれの種が独自の署名鍵と受信鍵を生成します。これらを分けておくことで、プライバシー、アクセス制御、運用について考えやすくなります。
具体的な例をいくつか挙げます。
- ジャーナリストは、公開のタレコミ用と編集部内のレコード用とで、同じ受信アドレスを使いたくないかもしれません。
- 企業は、CI/CD のリリース証明と法的証拠パッケージとで、同じ署名鍵を使いたくないかもしれません。
- 研究者は、公開する主張と非公開のデータセット証明とを分けたいかもしれません。
種のモデルはこれを直接サポートします。各アイデンティティはそれぞれ独立して成り立ち、それらを結びつける共有の根は存在しません。
これは受信アドレスとどう関係するのか
受信アドレスは、他の人があなたに封印付きレコードを送るために使う公開の文字列です。あなたのアイデンティティの受信鍵から導出され、共有しても安全であり、それによって誰かがあなたのメッセージを読んだり、あなたとして署名したりすることはできません。
形式は 2 つあります。従来型の受信アドレスは age1… で始まります。任意のハイブリッド・ポスト量子受信アドレスは age1pqc1… で始まります。どちらも公開です。
ですから、製品の上でも自分自身の習慣の上でも、明確に保つべきルールはシンプルです。受信アドレスは公開、Identity Seed は秘密です。両者を取り違えてはなりません。
デスクトップアプリではどう機能するのか
CardanoWall Desktop は、オープンソースの Rust SDK 上に構築されたクロスプラットフォームの Rust と Tauri のアプリケーションで、github.com/cardanowall でオープンソースとして公開されています。これはアイデンティティをローカルで所有することを中心に据えて作られており、その仕組みを理解しておく価値があります。
アイデンティティは、お使いのマシン上の暗号化されたローカル保管庫に置かれます。Rust コアが、ロック解除、署名、検証、届いた封印付きレコードの試行復号(trial-decrypt)、そして封印付きレコードの復号を、すべてローカルで処理します。秘密鍵がデバイスから出ることはなく、ゲートウェイに送られることもありません。このアプリはオフラインファーストであるため、すでに同期済みのレコードや復号済みのファイルはネットワーク接続がなくても引き続き利用でき、「オフライン」はエラーではなく通常の状態として扱われます。
とはいえ、デスクトップアプリもまた 1 つのクライアントにすぎません。あなたのアイデンティティはそれらすべての間で持ち運べます。同じ種が、どこでも同じように、ここでも同じアイデンティティを復元します。
CardanoWall は実際に何を知っているのか
ホスト型サービスとして、CardanoWall はアカウント情報、課金状態、ゲートウェイの活動、公開レコードのデータ、そして製品を運用するために必要なメタデータを把握します。それと同じくらい重要なのは、設計上、必要としないものです。
- 証明を公開するためにあなたの Identity Seed を必要としません。
- 封印付きレコードを配信するために受信者の秘密鍵を必要としません。
- あなたの封印付きファイルを復号することはできません。
証明のモデルは、秘密鍵があなたの手元にとどまり、検証がサービスとは独立して実行できるときに最も強くなります。とはいえ、それであらゆるリスクが消えるわけではありません。悪意のあるブラウザ拡張機能、フィッシングサイト、侵害されたデバイス、あるいは単純なミスによって、依然として秘密が露出する可能性はありますし、ロック解除済みのセッション内で実行されるスクリプトは、メモリ上に保持された鍵を読み取れてしまいます。正しい心構えは「何も起こり得ない」ではありません。「このプロトコルは、あなたの封印付きレコードを復号する鍵を CardanoWall が保持することを要求しない」というものです。
要点だけ
あなたの Identity Seed は、Label 309 アイデンティティの根です。それは 32 バイトであり、本当のバックアップそのものです。
保存してください。守ってください。ウォレットのシードフレーズと混同せず、受信アドレスのように共有しないでください。
種があれば、互換性のあるソフトウェアはあなたの署名鍵と受信鍵を復元できます。種がなければ、公開済みの証明はチェーン上で引き続き検証されますが、そのアイデンティティとして署名したり封印付きレコードを復号したりする能力は失われている場合があります。CardanoWall は複数あるインターフェースの 1 つにすぎません。アイデンティティとは、種なのです。
関連記事
- Identity Seed がなお重要である理由
- CardanoWall がアイデンティティをどう保管するか
- 受信アドレスとは何か
- オープンな標準: label309.org ・ オープンソースのコード、SDK、CLI: github.com/cardanowall ・ Cardano の CIP プロセスにおける提案: CIP プルリクエスト #1205