これは、ビットコインの分野で独学の教育者であり、技術志向のビットコインポッドキャストホストであるShinobiによる意見編集です。
これを読む前に、 以前の記事で、Nostr とは何か、およびそれが高レベルでどのように機能するかを説明した記事を書きました. その時点で、システムの中核となる設計についての良いアイデアが得られるはずです。そのため、採用が進むにつれて発生する可能性のある問題を見てみましょう。 プラットフォームと ビットコインコミュニティの人気者になる、これらの問題は知っておくべきものです。
前の記事で説明したように、ユーザーの公開鍵と秘密鍵のペアは、Nostr がプロトコルとして機能する方法に不可欠です。 個々のユーザーに関連付けるユーザー名や、リレー サーバーが制御する任意の種類の識別子はありません。 完全に管理下にあるのは、単にそれらのユーザーのキーです。
これは、実際のユーザーと他のユーザーによるユーザーの識別方法との間の緊密な結合として機能し、中継サーバーがこれら XNUMX つの結合を解除すること (つまり、誰かの ID を別のユーザーに与えること) を防ぎます。 これにより、人々の間のコミュニケーションに使用されるプラットフォームの最大の根本的な問題の XNUMX つである、ユーザー自身の ID を制御できないという問題が解決されます。 しかし、秘密鍵を持っている人が遭遇する鍵管理のあらゆる問題ももたらします。 キーを紛失したり、キーが危険にさらされたりする可能性があり、そのようなイベントが発生した場合、Bitcoin と同様に、ユーザーは誰にも助けを求めることができません。 何かを回復するためのカスタマーサポートはありません。 あなたはそれを失います、それだけです。
これには必然的に、ユーザーがプロトコルを介してやり取りする他のユーザーが検証可能で発見可能な方法で、あるキーペアから別のキーペアにローテーションするスキームが必要になります。 プロトコル全体は、イベントが特定のユーザー (ID キー) からのものであることを証明することに基づいているため、誰かのキーが侵害されると、これらの保証はすべて無効になります。
それをどのように処理しますか? 彼らのTwitterアカウントをチェックしてください。 まあ、最終的には、Nostr の身元を確認するために身元を管理していない集中型プラットフォームを使用する必要がある場合、それは非常に分散化されたシステムではありません。
他のユーザーが新しい鍵の正当性を証明していますか? これでは、大規模な鍵の侵害や、自分の証明を信頼できるほど近くにいる人をよく知らないなどの状況には対処できません。
Nostr には、あるキーのローテーションを別のキーに結び付ける実際の暗号スキームが必要です。 があります 開発者 fiatjaf からの提案 この問題を潜在的に解決できる基本的なスキームについて。 基本的な考え方は、単一のマスター シードから派生した長いアドレス セットを取得し、Taproot ツリーがビットコイン キーにコミットされる方法と同様に、一連の「調整された」キーを作成することです。 Taproot は、Taproot ツリーのマークル ツリー ルートを取得し、それを公開鍵に「追加」して、新しい公開鍵を作成します。 これは、新しい公開鍵に対応する秘密鍵を取得するために、そのマークル ツリーのルートを秘密鍵に追加することで複製できます。 Fiatjaf のアイデアは、コミットメントを最後から最初に逆方向に連鎖させて、調整された各キーに、次に調整されたキーがそれを作成するために使用されたという証拠が実際に含まれるようにすることです。
したがって、チェーンの最後のキーである Z キーから始めることを想像してください。 これを何かで微調整してから、逆方向に行って、微調整された Z キー (Z' + Y = Y') を使用してキー Y の微調整バージョンを作成します。 ここから Y' を取得し、それを使用して X を微調整します (Y' + X = X')。 これをキー A までさかのぼって A' を取得し、そこからそのキーの使用を開始します。 侵害された場合、ユーザーは調整前のキー A と調整後のキー B' を含むイベントをブロードキャストできます。 これには、B' が A' の生成に使用されたことを示すために必要なすべてのデータが含まれ、ユーザーはすぐに A' のフォローをやめ、代わりに B' をフォローすることができます。 彼らは、B' がそのユーザーの次のキーであることを明確に認識し、代わりにそれに従います。
ただし、この提案にはまだいくつかの問題があります。 まず、使用するすべてのキーを事前に生成する必要があり、まったく新しいキーのセットにローテーションする方法がありません。 これは、そのようなローテーションを公証できるこのスキームのマスターキーにコミットするか、最初から非常に大きなキーセットを生成することで対処できます。 いずれの方法も有効ですが、最終的にはルート キーまたはキー マテリアルを安全に保ち、個々のホットキーのみを Nostr クライアントに公開する必要があります。
ただし、このスキームは、ユーザーを保護したり、ルート鍵の素材が失われたり、それ自体が危険にさらされたりした場合に ID を回復するメカニズムを提供したりしません。 これは fiatjaf のスキームにメリットがないと言っているわけではありません。絶対にメリットはありますが、すべての問題を解決する解決策はないという点を強調することが重要です。
ここで考えられる解決策を少し強調するために、彼が提案するように調整されたキーのチェーンの代わりに、あるキーから別のキーにローテーションするイベントに署名するためにも使用する必要があるマスター コールド キーでキーを調整することを想像してみてください。 A と M (マスター キー) を追加することによって派生するキー A' があり、ローテーション イベントは A、M、および B' (B と M を追加することによって生成される) であり、M からの署名があります。M は、 multisig しきい値キー — XNUMX の XNUMX、XNUMX の XNUMX など。これにより、損失に対する冗長性が追加される可能性があり、キー ローテーションの安全なメカニズムが提供されます。 これにより、サービスを使用して回復を支援したり、それらのキーの一部を信頼できる友人に広めたりすることにも道が開かれます. マルチシグがビットコイン自体で行うのと同じ柔軟性をすべて提供します。
PIN26 も、この問題の処理に非常に役立つ提案です。 これは、イベントのプロトコル拡張を指定して、あるキーからの署名が別のキーを承認して、その代わりにイベントを投稿できるようにします。 「トークン」または委任の署名証明は、最初の公開鍵に代わって XNUMX 番目の公開鍵によって投稿されるすべてのイベントに含まれます。 委任トークンが自動的に期限切れになり、更新する必要があるように、時間制限を設けることもできます。
最終的には、どのように解決されても、この問題は 持っています 長期的には Nostr のために解決される予定です。 ID として使用される公開鍵と秘密鍵のペアに完全に基づくプロトコルは、これらの ID の整合性をユーザーに対して保護および維持できない場合、牽引力と採用を得ることができません。 それは最終的に、帯域外の中央集権型プラットフォームを常に使用して新しい鍵を検証し、何かが失われたり侵害されたりしたときに新しい ID に従う人々を調整しなければならないことになり、その時点で、それらの他のプラットフォームは混乱の種をまく手段になります。検閲に従事します。
鍵の管理とセキュリティの問題は、トレードオフと問題点に満ちた非常に大きな設計空間の大きな問題ですが、Nostr が機能するためには、これらの問題をコンテキスト内で解決する必要があります。 次の記事では、Nostr が構築されている基本的なデータ構造を考慮して、Nostr 開発者が直面しなければならない、リレー サーバー アーキテクチャとスケーリングの問題に関して発生しているいくつかの問題を要約します。
なぜ私が分散型識別子 (DID) について言及しなかったのか疑問に思っている方へ: はい、私の意見では、これはこれらの問題に対する潜在的な解決策であり、非常に包括的なものです。 ただし、Nostr の開発者は、DID をプロトコルまたはクライアントに統合することを非常に躊躇しているようです。これは、Nostr プロトコルの外部に依存関係が作成されるためです。 DID が技術レベルでどのように機能するかについて詳しくなく、興味がある場合は、 レベル39によるこの記事 それらがどのように機能するかについて非常によくまとめられています。
忍によるゲスト投稿です。 表明された意見は完全に独自のものであり、必ずしもBTCIncまたはBitcoinMagazineの意見を反映しているわけではありません。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- Platoblockchain。 Web3メタバースインテリジェンス。 知識の増幅。 こちらからアクセスしてください。
- 情報源: https://bitcoinmagazine.com/technical/solving-nostr-key-management-issues
- 7
- a
- 絶対に
- 実際に
- 住所
- アドレス
- 追加
- 養子縁組
- に対して
- 先んじて
- 援助
- すべて
- 許可
- &
- 別の
- 誰も
- 建築
- 周りに
- 記事
- 援助
- 仲間
- 認める
- 自動的に
- バック
- ベース
- 基本
- になる
- になる
- 開始
- さ
- 恩恵
- の間に
- ビッグ
- 最大の
- 拘束
- ビット
- Bitcoin
- Bitcoin Magazine
- 放送
- BTC
- BTC Inc
- 内蔵
- 検閲
- 集中型の
- チェーン
- チェック
- クライアント
- 閉じる
- コミットした
- コミットする
- コミュニケーション
- 完全に
- 包括的な
- 損害を受けた
- 混乱
- 絶えず
- コンテキスト
- コントロール
- 調整する
- 基本
- 可能性
- コース
- 作ります
- 暗号
- 顧客
- カスタマーサービス
- データ
- 分権化された
- 派生
- 設計
- Developer
- 開発者
- 議論する
- によって
- ダウン
- 各
- 社説
- どちら
- 従事する
- 十分な
- 全体
- 完全に
- 等
- さらに
- イベント
- イベント
- 最終的に
- EVER
- 説明
- 表現
- 外部
- おなじみの
- フィアチャフ
- 名
- 柔軟性
- フォロー中
- 友達
- から
- フル
- 機能
- 基本的な
- 利得
- 生成する
- 生成された
- 生成
- 取得する
- 与えられた
- 与え
- Go
- 行く
- 良い
- 育ちます
- 保証
- ゲスト
- ゲストのポスト
- ハンドル
- ハンドリング
- 持って
- こちら
- ためらって
- ハイ
- host
- 認定条件
- しかしながら
- HTTPS
- アイデア
- 特定され
- 識別子
- アイデンティティ
- アイデンティティ
- 直ちに
- 重要
- in
- 含まれました
- 個人
- 必然的に
- を取得する必要がある者
- インテグラル
- 統合する
- 整合性
- 対話
- 興味がある
- 紹介します
- 問題
- 問題
- IT
- 自体
- 保管
- キー
- キー
- 知っている
- 知っている
- 欠如
- 大
- 姓
- 合法性
- レベル
- 可能性が高い
- 限定的
- 長い
- 見て
- 失う
- 損失
- マガジン
- make
- 管理
- 質量
- マスター
- マッチング
- 材料
- 手段
- メカニズム
- 言及した
- マルチシグ
- 必ずしも
- ニーズ
- 新作
- 次の
- 私たちの
- 提供
- オファー
- ONE
- 開きます
- 意見
- 意見
- 注文
- その他
- その他
- 外側
- 自分の
- 痛み
- 足
- path
- のワークプ
- プラットフォーム
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- ポッドキャスト
- ポイント
- ポイント
- 人気
- ポスト
- 掲示
- 潜在的な
- :
- 事前の
- プライベート
- 秘密鍵
- 問題
- 問題
- 証明
- 提案
- 提案する
- 守る
- 保護された
- 提供します
- 公共
- 公開鍵
- 読む
- リーディング
- 回復する
- 回復
- 反映する
- よろしく
- 新たな
- 複製された
- 必要とする
- return
- ルート
- 安全な
- 同じ
- スケーリング
- スキーム
- 二番
- 安全に
- セキュリティ
- シード
- サービス
- セッションに
- すべき
- 表示する
- 符号
- 同様の
- 単に
- 状況
- So
- 溶液
- ソリューション
- 解決する
- 解決する
- 一部
- 誰か
- 何か
- スペース
- 特定の
- 広がる
- 起動
- まだ
- Force Stop
- そのような
- まとめる
- サポート
- 取る
- 取り
- 主人公
- 技術的
- アプリ環境に合わせて
- 物事
- 三
- しきい値
- 介して
- 時間
- 〜へ
- トークン
- トークン
- 牽引力
- トレード
- 樹木類
- 信頼
- 信頼されている
- さえずり
- 最終的に
- 下
- つかいます
- ユーザー
- users
- 確認する
- バージョン
- この試験は
- which
- 意志
- 以内
- 不思議に思います
- 仕事
- 作品
- でしょう
- 書かれた
- X
- You
- あなたの
- ユーチューブ
- ゼファーネット