ステータス: これは Buzz プロジェクト固有のドラフト提案です。NIP-OA は正式に採用された NIP ではありません。この名称は Buzz プロジェクトのドキュメントに由来するもので、公式の NIPs リポジトリが割り当てたり承認したりしたものではありません。

目的

NIP-OA は、オーナー鍵がエージェント鍵に event の公開を許可するための、任意の auth tag を定義します。event の作成者は引き続きエージェント鍵です。有効な tag は許可の証拠としてのみ扱われ、エージェントがオーナーになりすますことを可能にするものではありません。

仕組み

オーナーは、エージェントの pubkey を厳密な条件文字列に結び付けるドメイン分離ハッシュに対し、Schnorr 署名で署名します。条件では、特定の event kind を要求したり、自己申告の created_at に範囲を設けたりできます。各 event が条件を満たしている限り、エージェントはその tag を自身の event で再利用できます。検証者はまずコアとなる event を検証し、その後でオーナーの署名とすべての条件を確認します。

制限

条件文字列が空の場合、制約は何も加わりません。タイムスタンプ条項が制約するのはエージェント自身が制御するフィールドなので、実時間に基づく有効期限にはなりません。鮮度が必要な場合は、別途確認しなければなりません。tag を公開すると、オーナー鍵とエージェント鍵が公に紐付けられます。

一次資料

関連項目

言及されている記事: