名前の登録
メモ(memo)を基盤としたプロトコルにより、誰でも名前を登録できます。
最初にすべきことは、名前の所有権を証明する Ed25519 鍵ペアの生成です。
たとえば Richard が richard.zcash を登録したいとします。主な手順は次のとおりです:
- ZCashNames プロトコルに従ってトランザクションのメモを組み立てる
- zNS レジストラのアドレスへ、必要な金額と秘密鍵で署名したメモコマンドを添えてトランザクションを送信する
- zNS スキャナーが検証する:名前のルール、署名、金額、その他のプロトコル検査
- 登録を暗号学的に裏づける証明の生成
- インデクサーが新しい証明を受け取り、スキャンして検証し、分散名前台帳を構築する
- 完了!
richard.zcashが有効になります
メモ
プロトコルによれば、名前登録のメモはコロンで区切られた 8 つのフィールドで構成されます:
zNS:1:REG:{name}:{zcash_address}:{ed25519_pubkey}:{nonce}:{signature}
署名は zNS:1:REG:{name}:{zcash_address}:{ed25519_pubkey}:{nonce} — つまり末尾の署名フィールドを
含まないコマンド全体 — を対象とし、Ed25519 の秘密鍵で作成します。これにより登録を承認したのが Richard
であることが証明され、彼の鍵がなければ誰も彼に代わって名前を登録できません。
宛先アドレスは Orchard レシーバーを備えたメインネットの Unified Address でなければなりません。 レジストラは返金や売上を Orchard の鍵素材を通じて支払うため、それを持たないアドレスは使用できません。 フィールドの完全なルール、nonce の意味、512 バイトのメモ予算については コマンド形式を参照してください。
ヒント
複数の人が同じ名前を同時に登録しようとした場合、処理されるのは最初のトランザクションだけで、残りの金額はユーザーの内部残高へ返金されます。ユーザーはウェブサイトで出金アドレスを入力すれば、いつでも資金を引き出せます。