中文区では Nostr プロトコルネットワークに関する詳細な記事が見つからなかったため、自分でシリーズを書くことにしました。これはシリーズの第 4 回であり、Nostr ネットワークのドメイン Nip-05 の設定方法と NIP 標準について説明します。
第 2 回では、Nostr ネットワークの初心者がソーシャルアプリを使用する方法について説明しました。皆さんに先に使ってもらうため、実際の操作で Nostr ネットワークの雰囲気を感じることができ、また参加の敷居を下げるために、NIP-05 については触れただけです(個人のプロフィール情報の設定)。今日は、NIP-05 の詳細と設定方法について専門的に説明します。それに基づいて、NIP 標準についても簡単に紹介します。
NIP-05#
NIP-05 とは?#
簡単に言えば、NIP-05 は公開鍵よりも識別しやすい ID 名をユーザーごとに設定するものです。
Nostr ネットワークでは、各ユーザーの ID は長いランダムな文字列、つまり公開鍵です。Nostr ネットワークでユーザー A を見つけるためには、A の公開鍵を検索する必要があります。しかし、公開鍵は長すぎて保存や共有が不便であり、人間が識別するのも難しいため、解決策として、公開鍵により人間が読みやすい名前を関連付けることができるようになりました。
専門的に言えば、NIP-05 は Nostr ユーザーが自分の公開鍵を DNS ベースのインターネット識別子にマッピングできるようにするものです。検証の仕組みは、Google がドメインの所有権を確認するために DNS レコードを使用することを要求するのと同様です。検証の主な利点は、長く覚えにくい公開鍵ではなく、人間が読みやすい名前で Nostr ユーザーを識別できることです。これにより、検証済みの Nostr ユーザーは自分のアイデンティティを他の人と簡単に共有することができます。
NIP-05 の設定方法#
NIP-05 のドメインを取得するためには、2 つの方法があります。
-
アプリ内で、NIP-05 の設定ボックスを見つけます(通常は個人プロフィールの編集ページにあります)し、公式で提供されているドメインを購入します(まだ購入していない場合)。
-
自分のドメインを持っている場合は、それを検証して Nostr ネットワークにバインドすることができます。以下では、この方法について詳しく説明します。
例えば、私のドメインはwww.hoodrh.topで、個人のウェブサイトは hexo で作成されています。そのため、hexo の_config.yml ファイルのincludeの下に「well-known/**」を追加し、source フォルダの下に「well-known」というフォルダを作成します(公式では「.well-known」を作成すると言っていますが、Mac システムではドットファイルはシステムに予約されているため、留めておきます)。そして、「well-known」フォルダの中に「nostr.json」というファイルを作成します。この JSON ファイルの内容は次のとおりです。
{
"names": {
"hoodrh": //あなた自身のNostrネットワークのユーザー名
"npub1e9euzeaeyten7926t2ecmuxkv3l55vefz48jdlsqgcjzwnvykfusmj820c" //あなたの公開鍵ID
}
}
ファイルを保存して hexo にアップロードするだけです。すると、NIP-05 のアドレス「[email protected]」が取得できます。「ユーザー名 @自分のドメイン」という形式です。
NIP-05 を設定しなくてもいいですか?#
もちろん、自分のドメインを持っていない場合や購入したくない場合は、設定する必要はありません。現時点では、NIP-05 を設定することの利点は、認証された識別子を表示するだけです。基本的には、友達などに関心を持つ日常の操作は、公開鍵をコピーして実現できます。さまざまなアプリケーションの検索技術の向上に伴い、ユーザー名でユーザーを検索することもサポートされるでしょう。(私は紫の認証マークが欲しいです✅!
NIP 標準#
NIP 標準とは何ですか?#
NIP は一連のプロトコルインターフェースの標準であり、さまざまな一般的な機能の使用時におけるインターフェース要素と詳細を統一的に定義しています。これにより、ユーザーが送信したコンテンツが Nostr ネットワーク上のすべてのアプリケーションで識別および伝播されるようになり、異なるアプリケーション間でのチャネルの確立が容易になります。
NIP の詳細な分類と説明#
ここでは、さまざまな NIP 標準がサポートする Nostr の機能について大まかに説明します。詳細な技術的な説明はこちらを参照してください。
-
NIP-01 - 基本プロトコルのフローの説明であり、クライアントとリレー間の通信に使用されるプロトコルです。イベントの交換に関連し、イベントには一意の ID、タイムスタンプ、タグなどの情報が含まれます。
-
NIP-02 - コンタクトリストとニックネーム
-
NIP-03 - イベントの OpenTimestamps 証明書 [未計画]
-
NIP-04 - 暗号化されたプライベートメッセージ
-
NIP-05 - Nostr キーを DNS ベースのインターネット識別子にマッピングする
-
NIP-06 - ベーシックキーの派生に助記語フレーズを使用する
-
NIP-07 - window.nostr 機能のネットワークブラウザ [適用されない]
-
NIP-08 - メンションの処理
-
NIP-09 - イベントの削除 [一部]
-
NIP-10 - クライアントがテキストイベントで e と p タグを使用する規約
-
NIP-11 - リレー情報ファイル
-
NIP-12 - 一般的なタグクエリ
-
NIP-13 - プルーフオブワーク
-
NIP-14 - テキストイベントのトピックタグ
-
NIP-15 - ストレージイベントの終了通知
-
NIP-16 - イベントの処理
-
NIP-19 - bech32 エンコードされたエンティティ
-
NIP-20 - コマンドの結果
-
NIP-21 - nostr:URL スキーム
-
NIP-22 - イベントの created_at 制限
-
NIP-25 - リアクション
-
NIP-26 - イベントデリゲート署名
-
NIP-28 - パブリックチャット
-
NIP-33 - パラメータ化可能な置換イベント
-
NIP-36 - 機密コンテンツ
-
NIP-40 - 有効期限付きタイムスタンプ
-
NIP-42 - クライアントからリレーへの認証
-
NIP-50 - キーワードフィルタ
-
NIP-56 - レポート
-
NIP-65 - リレーリストのメタデータ
以上です。今日はここまでです。また明日お会いしましょう。Nostr ネットワークで楽しい時間をお過ごしください。