Bitcoin Magazine - Bitcoinのニュース、記事、専門家の洞察ホーム

Nostr Wallet Connect: ビットコインアプリケーションコラボレーションレイヤー

NOSTR WALLET CONNECT: ビットコインアプリケーションコラボレーションレイヤー

SHINOBI48分前

ビットコイン ソフトウェアとビットコインを使用するアプリケーションの複雑さが増すにつれて、さまざまなアプリケーションが相互作用するためのシンプルな調整メカニズムの必要性も高まります。

ビットコインの採用と開発の将来を見据えると、開発者が対処しなければならない障害としてソフトウェアの相互作用に関する問題が 1 つあります。それは互換性です。この分野のアプリケーションとプロトコルは、実際のユーザーと使用例のニーズを満たすために複雑で多機能になるにつれて、基本的に 2 つの答えしかないジレンマが生じます。つまり、アプリケーションまたはウォレットは、目的の要件を満たすために必要なすべてのプロトコルと機能を内部的に統合するか、異なるアプリケーションが相互に通信できるようにする必要があります。

この問題が発生する例の 1 つは、Lightning をさまざまなアプリケーションやソフトウェア ツールに統合する場合です。Lightning は実装が非常に複雑なプロトコル スタックであり、Lightning チャネルの状態の更新を調整および処理する方法を規定する多数のサブプロトコルが含まれます。これには、各チャネル状態のトランザクション構造とその適用内容、ユーザー資金の安全性を保証するために新しいトランザクションの作成と署名の各ステップを実行する順序、無効な状態がブロックチェーンに送信された場合にブロックチェーンが自動的に適切な方法で反応するように監視する機能が含まれます。

これは、1 人のアプリケーション開発者が自分のプロジェクトに直接統合するには、非常に複雑な作業です。 あまりにも多くの労力を必要とする場合、明らかな結論は、Lightning の実装の問題を処理する既存のソフトウェアに依存し、その外部ソフトウェアと通信するようにアプリケーションを構築することです。 これは次の問題につながります。アプリケーションのユーザーが特定の Lightning 実装またはウォレットを使用しない場合はどうなるでしょうか。

アプリの機能をアウトソーシングしても、開発チームは複雑さの問題から完全に逃れることはできません。開発者は Lightning を自力で完全に実装する必要はありませんが、この方法を採用する開発者は、アプリケーションのユーザーが使用する可能性のある Lightning ウォレットの API サポートを組み込む必要があります。このため、複数の Lightning ウォレット、その API、そのウォレットの内部機能の仕組み、サポートされる機能の変更や修正に遅れずについていく必要があります。特定のウォレットの変更に遅れると、そのウォレットのユーザー向けのアプリケーションが機能しなくなります。

こうしたさまざまなツールが相互に通信できるように、そのギャップの両側のソフトウェアに、1 つのものを単純に実装できるような標準化されたメカニズムが必要です。これにより、各アプリケーション開発者と各 Lightning ウォレット開発者は、アプリケーションが相互に通信できるようにする単一のプロトコルを簡単に統合して維持できるようになります。

Nostr Wallet Connect は、このニーズを満たすための真に汎用的なメカニズムとなることを目指すプロトコルです。Nostr に Lightning 支払いを組み込むことを試みたとき、その方法に起因する複雑な問題がすべて発生しました。

ライトニングとNWC

Nostr クライアントの Amethyst と Web ベースの Lightning ウォレット Alby の背後にあるチームは、特別な目的のウォレットを使用せずに Lightning を Nostr エクスペリエンスに統合したいという Nostr ユーザーの問題を解決するために NWC を作成しました。アプリケーション/プロトコルは Nostr の ID アーキテクチャに基づいており、Nostr 経由で送信されるすべてのメッセージ (イベント) は、Nostr 上の ID として機能する暗号化キー ペアによって署名されます。これにより、アプリケーションは Nostr キー ペアを生成するだけで、それだけで外部の Bitcoin ウォレットとの通信に使用する暗号化認証メカニズムを備え、アプリの機能を実現できます。

[ここに情報を挿入]

キーペアを使用して外部アプリケーションを Lightning ウォレットに登録すると、アプリケーションはウォレットに ping を送信して支払いを開始できるようになります。仕様では現在、BOLT 1​​1 請求書の支払い、キー送信支払い (ノードの公開キーに対して行われる請求書なしの支払い)、複数の請求書の同時支払い、他の人に支払いを依頼するための請求書の生成、および外部アプリケーションからの支払い履歴とウォレット残高のクエリを可能にするその他のいくつかの機能がサポートされています。

これらすべては Nostr を介して調整されるため、単一の集中型メッセージング メカニズムに依存しない、非常に冗長な通信手段が実現します。また、ユーザーは Tor などの複雑なソフトウェアや、ホーム ネットワークで実行されているアプリケーションとウォレット ソフトウェアまたはインフラストラクチャ間のネットワーク接続を容易にするその他のプロトコルに依存する必要もありません。Nostr は暗号化されたダイレクト メッセージもサポートしているため、ウォレットとアプリケーション間の通信は完全にプライベートであり、通信に使用される Nostr リレーに調整されている支払いの詳細は一切公開されません。

NWC ブリッジのウォレット側では、ウォレットとの通信に使用される Nostr キーが侵害された場合に、外部アプリケーションがウォレットの資金に自由にアクセスできないようにするためのセキュリティ制限を実装できます。使用できる金額の制限や支払いの頻度は、接続のウォレット側で設定できます。

NWC は、Lightning を Nostr アプリケーションに統合するだけでなく、さまざまな用途で役立ちます。プロトコルとしての Nostr 自体の設計哲学は、プロトコル全体を最小限の時間とリソースで開発者が簡単に正しく実装できるほどシンプルにすることに重点を置いています。Nostr とはまったく関係のないアプリケーションは、NWC または同様のプロトコルをほとんどオーバーヘッドや複雑さなしで簡単に統合できるため、アプリケーションに直接組み込むことなく、Bitcoin ウォレットをアプリケーションに接続する方法という根本的な問題に対処できます。

稲妻を超えて

NWC のようなプロトコルがウォレットやアプリケーション開発者に提供する大きな価値は、Lightning ウォレットを特別な用途のアプリケーションに統合する以上のものです。ビットコインとのやり取りの長期的な方向性は、まだ誰も実現していない驚くべき根本的なブレークスルーがない限り、複数のユーザー間のインタラクティブなプロトコルに向かうことになります。

マルチパーティ コインプールは完璧な例です。Ark や Timeout ツリーなどの特定の設計提案のほとんどは、中央の調整者またはサービス プロバイダーを中心に構築されており、ユーザーのウォレット間でのメッセージ パッシングの手段を容易に実現できますが、これは単一障害点によって設計スペースを制限します。100 人のユーザーが単一の UTXO 上のコインプールに一緒に詰め込まれている場合、セキュリティ モデルは、各ユーザーがチェーン上でコインを一方的に引き出すための事前署名された経路を持つことに基づいています。このメカニズムは、コーディネーターの障害または消失が発生した場合に資金が失われないようにするために実行されますが、これはこのような最悪のシナリオに対処する最も非効率的な方法です。

ユーザーがサービスプロバイダーやコーディネーターの不在時に相互に通信するメカニズムを見つけることができれば、より大きなグループのマルチシグを使用して資金を他の場所に移行し、より効率的な(したがってより安価な)オンチェーンフットプリントを実現することで、より効率的なオンチェーン終了を実現できます。NWC と Nostr は、このようなシナリオに最適です。

複数の当事者間の共同マルチ署名ウォレットも、このようなプロトコルの恩恵を受けることができます。PSBT などの標準と組み合わせることで、シンプルな Nostr 通信メカニズムは、マルチシグネチャ サポートを使用してトランザクション署名をスムーズかつユーザー フレンドリーな方法で調整することで、さまざまなウォレットの複雑さを大幅に簡素化できます。

ディスクリート ログ コントラクト (DLC) は、このようなプロトコルのもう 1 つの素晴らしい用途です。DLC スキーム全体は、両当事者が協力して解決しない場合に、契約を一方的に正しく終了するために、両当事者がオラクル署名にアクセスできることを前提としています。Nostr は、オラクルがこれらの署名をブロードキャストするための完璧なメカニズムであり、ユーザーのウォレットで Nostr キーを簡単にサブスクリプションすることで、オラクルによってブロードキャストされた署名を自動的に追跡して取得できます。

時間が経つにつれ、ユーザー間や異なるアプリケーション間のインタラクションの要件を備えた、より多くのアプリケーションとプロトコルがビットコイン上に構築されるようになると、単一障害点に依存せずにそれを可能にする汎用通信メカニズムが切実に必要になるでしょう。

Nostr は、その驚くべきシンプルさと、利用できる多数のリレーの冗長性を考えると、それを実現するのに最適な基盤プロトコルです。NWC は、それが実行可能なソリューションであることを示す完璧な例です。