Nostr は私が過去 2 年間注目してきたプロトコルです。すべてのコミュニティと同様に、Nostr の発展も波があり、主流に知られる瞬間もあれば、今のように少し静かに感じられる瞬間もあります。しかし、特別な理由はなく、単純に Nostr が好きなので、私は頻繁に Nostr を注視しています。
Nostr は他のソーシャルネットワークプロトコルと何が違うのでしょうか?もしビットコインコミュニティがイーサリアムコミュニティとは異なる P2P 経済発展モデルを持っているとしたら、そのモデルの特徴は何でしょうか?それはソーシャルネットワークのアプリケーションにおいて、イーサリアムの Farcaster のような製品と本質的にどのように異なるのでしょうか?これは非常に複雑な問題であり、今日は数つの観点からいくつかの見解を共有し、最近の AI Meme の熱潮と結びつけて、ビットコイン + Nostr が代表する Web5 のルートの違いについて話したいと思います。
開放性(Openess)#
私の見解では、Nostr は最もシンプルなソーシャルネットワークプロトコルです — — 注意すべきは、私は「非中央集権」という修飾語を付けていないということです — — その最大の潜在能力は開放性(openness)です。今年の Nostr 大会では、「Openness Is Nostr’s Killer Feature」というテーマの講演があり、まさにこの点について語られました。
ここで言う開放性は、技術的な側面、つまりプロトコルの設計構造が機能的な拡張を許可するかどうかだけでなく、エコシステムやガバナンス、プロトコル自体の組織構造においても開放性を持っているかどうかを指します。この観点から考察すると、Nostr こそが真に開放的なソーシャルネットワークプロトコルであることがわかります。
プロトコル設計の開放性#
まず、プロトコルの設計において、Nostr のアプローチは、基本的な大枠について合意を形成することです。この合意は、シンプルな JSON データ構造、つまり Event と呼ばれるものです。
{
"id": <32-bytes lowercase hex-encoded sha256 of the serialized event data>,
"pubkey": <32-bytes lowercase hex-encoded public key of the event creator>,
"created_at": <unix timestamp in seconds>,
"kind": <integer between 0 and 65535>,
"tags": [
[<arbitrary string>...],
// ...
],
"content": <arbitrary string>,
"sig": <64-bytes lowercase hex of the signature of the sha256 hash of the serialized event data, which is the same as the "id" field>
}
私たちはまず、この JSON データ内の各フィールドの定義について基本的な合意を形成します。そして、Nostr ネットワーク上のすべてのデータがこのような JSON 構造であること、つまりすべてのデータが Event であることに合意します。次に、Nostr ネットワーク上の活動は、本質的にクライアントとデータを保存するサーバー(リレーとも呼ばれる)間で Event をやり取りすることだと合意します。これが NIP01(Nostr のコアプロトコルの提案)のすべての内容です。もちろん、NIP01 にはもう一つの合意があり、Event の kind が 1 のとき、この Event は Twitter のような短いメッセージを記述するためのデータであることに合意しています。
この非常にシンプルなプロトコル設計のもとで、私たちはそれを拡張するための開放性を持っていますか?もし私が上に自分が面白いと思うことをしたいと思った場合、プロトコル自体は私がそれをすることをサポートしていますか?答えは「はい」です。
少し馬鹿げた例を挙げると、仮に今日、私は世界中のすべての木を記録して、木のアプリを作りたいと思ったとします。木の年齢、種類、場所、生育状況などを記録し、木を情報化し、ユーザーが自分が見つけた木をアップロードしたり、他の人が記録した木を確認したりできるようにします。そうすれば、私は Nostr を使ってこのことを実現できます。私は kind の値として新しい数字、例えば 12345 を tree kind として使い、情報を kind = tree kind の Event に記録すればいいのです。他のすべてのことは、Nostr という大きなプロトコルの合意の範囲内で行うことができます。
他の人は彼らが関心を持つことを続けることができ、Twitter のようなソーシャルネットワークとして運営するかもしれませんが、私のアプリは tree kind に関する特別な Event を取得、表示、送信することに集中します。この Event は他の Event と同様に、Nostr という大きなネットワーク内で調和して共存します。したがって、プロトコルの開放性において、私たちが拡張を実現する方法は非常にシンプルです。大きな枠組みの下で、自分の機能のために小さな提案を行い、新しい kind を追加して新しい Event タイプを作成して新しいデータを記述することで実現できます。
エコシステムとガバナンスの開放性#
では、エコシステムとガバナンスのプロトコルの組織構造についてはどうでしょうか?Nostr は開放性を持っていますか?先ほどの木のアプリの例を使いましょう。理論的には、Nostr プロトコルのガバナンスは一つの場所でのみ行われます:https://github.com/nostr-protocol/nips。NIP リポジトリは、私たちが先ほど言及した大きな基本的合意や、異なる人々が提案した異なる範囲の小さな合意を記録しています。例えば、私たちの木のアプリは小さな合意の一例です。もし私たちが木のアプリのアイデアがより多くの人に受け入れられることを望むなら、NIP リポジトリに新しい提案を提出し、木のアプリで使用する Event データの仕様を示し、他の人にもその仕様を遵守してもらうことができます。もし NIP リポジトリの管理者が私たちの提案を承認し、統合すれば、それは正式なサブ仕様になります。
確かに、こうなると Nostr プロトコルは管理者の手に握られていることになります。彼は統合したいと思えば統合でき、統合したくなければ統合しないということです。確かにそうですが、ここには注意すべき 2 つの点があります:
- Nostr のすべての提案は GitHub 上で公開討論されています。これはアイデアのための自由市場です。皆が統合される提案について公開で議論します。もしあなたのアイデアが反論できないほど完璧であれば、統合を妨げる理由はありません。
- もう一つの重要な点は、統合するかどうかはそれほど重要ではないということです。
なぜなら、エコシステムにおいて、プロトコルのガバナンス、クライアント開発者、リレー運営者の権限は分離されているからです。もしクライアント開発者が新しい NIP 提案を提出し、ガバナンス者がそれを統合しない場合でも、彼には影響はありません。彼は自分のクライアントサービスをユーザーに提供し続けることができます。リレー運営者がこの新しい Event を受け入れれば、すべてはうまく機能します。もしリレー運営者がこの新しい Event に同意せず、自分のノードでこのデータタイプを拒否する場合、仮にこの木のアプリが本当に良いアイデアで多くのユーザーがいるなら、これらのユーザーのニーズはこの Event をサポートするリレーノードを探すことに向かうでしょう。最後に、すべてのリレーがこの新しい Event を拒否した場合、木のアプリは専用のリレーを運営することもでき、同様に問題を解決できます。ユーザー数が十分に多く、ネットワーク内でこの新しい Event が十分に活発になれば、他のエコシステムの役割もこの Event を接続することを考慮せざるを得なくなります。
逆にリレーにとっても同様のことが成り立ちます。ユーザーを持つことで他の役割を動かす感覚があります。根本的な理由は、クライアントとリレーというエコシステムの役割は置き換え可能であることです。クライアントはリレーを置き換えることができ、リレーもクライアントを置き換えることができます。ユーザーはどの環に縛られることもないため、彼らは自分にとって最良の選択をすることができます。そして、ユーザーはこれらの選択に投票し、事実の基準を通じて NIP リポジトリの理論基準を逆に推測します。これは、より近いrough consensus running codeの方法でもあります。したがって、私はエコシステムとプロトコルガバナンスの組織構造において、Nostr も貴重な開放性を持っていると考えています。
また、このような開放性はビットコインのガバナンスモデルにも似ています。ビットコインの POW はガバナンスを三権分立の状態にすることを可能にし、コードの開発者、運営ノードのマイナー、保有ユーザーが相互にバランスを取る要素を構成しています。Nostr の NIP リポジトリはビットコインの C++ コードリポジトリのようなもので、ノード運営者があなたの新しいコードや新しい基準を採用するかどうかを考慮する必要があります。ノードが採用しなければ、書面上のルールにはあまり意味がありません。
可検証性(verifiable)#
Nostr の第二の魅力は可検証性です。この業界で最もよく言われる言葉は「信じるな、検証せよ」です。実際、多くのシステムは検証可能であり、検証できるのですが、重要な違いは検証コストの高低です。通貨システムとしてのビットコインの検証は非常に簡単で、ブロックハッシュが POW の難易度を満たしているかどうかを確認するだけです。一方、イーサリアムの POS ははるかに複雑で、すべてのステークノードの署名を検証したり、彼らの投票プロセスを確認したりする必要があります。さらに、UTXO モデルは取引の検証のハードルを大幅に下げます。取引の Input と Output に注目するだけで済みますが、イーサリアムのアカウントモデルでは、世界の状態を計算する必要があります。なぜなら、すべての取引が状態を変更する可能性があるからです。
Nostr にとって、検証コストも非常に低いです。Event は Nostr のデータとして、各々が分散して独立しています。ネットワーク内の誰かがデータに疑問を持った場合、その Event を持ってルールに従って event id と signature が正しいかどうかを計算すればわかります。Nostr は scuttlebutt のようにチェーン状のデータ署名を必要とせず、Farcaster のような social-fi のように、オンチェーンとオフチェーンの 2 つのシステムを持っているわけではありません。実際には、2 つのシステムを同時に検証する必要があります。イーサリアムの検証コストは、先ほど述べたように、実際にはかなり困難です。
Nostr の軽量な検証コストは、その非常にシンプルな設計から来ています。本質的には、Nostr が多くの減算を行ったからです。Nostr は非常に薄い信頼の層を提供します。この信頼の層は、特定の Event データが実際に特定のユーザー(特定の公開鍵と秘密鍵のペア)から来ていることを信じることができるというものです。なぜなら、署名を検証できるからです。
それ以外に、Nostr は他の保証を提供しません。例えば、データの可用性(リレーはいつでもあなたの Event を破棄する可能性があります)、データの順序性(先に受け取った Event が先に生成されたものであることを確認できません。scuttlebutt はチェーン状のデータ署名を通じてこれを実現できます)、DID アイデンティティ(Nostr の ID は単なる公開鍵と秘密鍵のペアであり、誰でもローカルで生成できます。ビットコインアカウントのように、Farcaster はオンチェーン契約を通じてアイデンティティを登録管理します)。
減算を行ったため、Nostr はより実用的で、より簡単に動作します(おそらくユーザーデータは最も多くはありませんが、リレーとクライアントのサービスや製品の数を見ればこの点を理解できます)。これにより、ビットコインを思い出させます。《中本聡がビットコインを考えた方法:健全な通貨で二重支払いを解決する》という記事では、ビットコインの最も重要な設計は通貨曲線を定めることだと述べられています。wei dai の b money と比較して、ビットコインはすべてのユーザーが新しい通貨を鋳造できる自由を削除しました。この機能を削除することで、ビットコインの技術設計は大幅に簡素化され、実際に動作するシステムとなりました。ビットコインの成功の道には、以前の暗号パンクたちの先駆的プロジェクトの障害はありませんでした。それはビットコインがこれらの障害を取り除いたからではなく、ビットコインが別の道を選んだからであり、その道にはこれらの障害がなかったのです。
異なるシステムを接続する#
Nostr のシンプルさ、開放性、可検証性は、異なるシステム間を接続するのに非常に適した接着層(glue layer)としての独自の位置付けを持たせています。Rabble のNos socialクライアントは、Nostr と Twitter のクロスポスティング機能を実装しており、中央集権的なシステムとの接続の一例と見ることができます。Mostr は Nostr 上の ActivityPub プロトコルのブリッジを作成しました、これも Nostr が他の異なるソーシャルネットワークプロトコルと接続できることを証明しています。
また、ブロックチェーンシステムとの接続に関しても、いくつかの探求と実験を行ってきました。例えば、私たちはNostr Bindingプロトコルを提案しました。CKB の柔軟なセルモデルを通じて、各 Nostr アカウントが自然に CKB ウォレットとなり、ユーザーは Nostr のサイナー(例えば Alby 拡張)を使用して CKB 取引に直接署名し、CKB チェーン上の資産を送受信できるようにします。同時に、Nostr の任意の Event データは CKB チェーン上のユニークなセル(ビットコインの UTXO に類似)にバインドされ、Event データをオンチェーンにする可能性を実現します。これらすべては、「ハードフォーク」なしに Nostr プロトコルを完了し、小範囲の合意提案として、他の提案と同様に Nostr の大きなプロトコルフレームワーク内で共存できます。
さらに、イーサリアムのようなシステムに対しても、以前にいくつかの実験機能を行ったことがあります。例えば、metamask 拡張を通じてユーザーが Nostr にログインできるようにしました。
さらに、Nostr コミュニティは常にライトニングネットワークとの統合を探求しており、これも接着層の一例です。
総じて、Nostr 自体のシンプルさと開放性により、多くのシステムが比較的容易に実験し、接続を探求できるようになっています。また、Nostr はブロックチェーンではないため、トークンを発行してインセンティブメカニズムを導入する必要もなく、偏見のないシステムです。コミュニティのアイデンティティや利益によって他のシステムとの結合を排除することはありません。この点において、Nostr は中立的(neutral)です。そして、汎用的な接続層は中立でなければなりません。
では、もし Nostr が本当に接着層になるとしたら、何の役に立つのでしょうか?
次のソーシャルネットワークプロトコルは、単なるソーシャルネットワークプロトコルではない#
Nostr がますます多くの小範囲の合意を担い、ますます多くの新しい提案や新しいアプリケーションが接続されると、次第に Nostr はもはやソーシャルネットワークプロトコルではなくなります。なぜなら、皆がそれを Twitter や WeChat のようなものに使っているわけではないからです。Nostr は実際にはデータ層と通信層の汎用プロトコルに変わります。データ層はすべて Event という JSON でデータを記述し、通信層はすべて Relay とクライアントが sub/pub を使用して情報を送受信します。
データ層と通信層の汎用プロトコルこそが、実際に機能する新しいソーシャルネットワークプロトコルになる可能性があります。私の見解では、次世代のソーシャルネットワークプロトコルは、単なるソーシャルネットワークプロトコルではいけません。もし単にソーシャルであれば、永遠に実現できないかもしれません。その理由は、ソーシャルネットワークの製品を作ることが非常に難しいからです。ユーザーの切り替えコストは非常に高いです。あなたは十分に長く生き、十分に多くのホットな機会を捉え、十分に多くの発展方向を探求しなければ、十分なユーザーを引き付ける機会はありません。
この新しい発展方向の探求の最も明白な例は、最近興起した AI エージェントと暗号の結合です。
Permissionless?一部の AI を先に使わせる#
実際、AI と暗号を結びつける考えはずっと前からありました。機械がブロックチェーン上で経済的独立を実現できることに気づいたり、ブロックチェーンが AI のために作られたものであり、人間のためではない可能性があることに気づいたりするなど、業界内で似たような考えや記事が生まれました。これは非常に合理的です。もしシステムが permissionless であれば、AI はほとんどの人間よりも先に使用されるべきです。しかし、その時点では私たちはまだ ChatGPT を持っていなかったため、これらの考えはあまり重視されませんでした。
今日、AI は実質的な発展を遂げ、AI + Crypto は再び思潮を引き起こしていますが、現在のところ両者の結合は非常に浅いです。AI Meme の発行や、AI が Twitter を投稿したり、人間を雇ったり、人間に報酬を与えたり、さらには AI が暗号を取引したりすることは、基本的に AI エージェントを実行し、外部関数(function call /tool use)を呼び出す能力を与え、Twitter の投稿やブロックチェーン取引を送信する機能を実現し、プロンプトエンジニアリングを通じて AI が条件に基づいてこれらの機能のインターフェースを自律的に呼び出すことを可能にするものです。
さらに進んで考えると、AI がデジタル世界の新しい市民になるためには、そのアイデンティティ問題、協力問題、経済問題には大きな探求の余地があります。特に現在、端末測定モデルの方向性に関する探求を考慮すると、多くの AI 業界の人々が 1B や 3B のような非常に小さなパラメータ規模の大モデルを使用することに注目し始めています。これは、スマートフォン上でローカルにホストして実行できるほど小さく、以前の IoT の概念に戻るようなものです。このようにして、各スマートフォン間でどのように通信し、協力し、特定のスマートフォン上の AI の処理結果をどのように信頼するかといった多くの問題は、ブロックチェーンやネットワークプロトコルを通じて解決する必要があります。したがって、この探求の余地は非常に大きく、現在私たちが見ている AI Meme や、皆が AI エージェントの周りでトークンを発行して投機することだけではありません。この熱潮が過ぎ去った後にも、実際に価値を生み出す空間が探求される可能性があります。例えば、AI が相互に協力するための評判システムを構築すること(必ずしもオンチェーンである必要はありません)です。これが私が伝えたいもう一つの見解です。
もちろん、私たちはまず現在の AI Meme が引き起こしている熱潮に戻りましょう。この探求において、私たちが現在予見できるいくつかのモデルは、大まかに 3 つの流派に分けることができます:
- Solana + Twitter (コンソーシアムチェーン + 中央集権的ソーシャルネットワーク)
- Ethereum + Farcaster (POS パブリックチェーン + スマートコントラクトソーシャルファイ)
- Bitcoin + Nostr (POW パブリックチェーン + 非中央集権的ソーシャルネットワーク)
最初のモデルは現在最も熱心に進行中で、多くの AI Meme や新しい Crypto AI エージェントがこれら 2 つのプラットフォームで行われています。その理由は簡単で、彼らは最も速く、ユーザーも最も多いからです。この層は意味があると思います。ブロックチェーン業界は常に、各ラウンドの物語のホットスポットが「人々がより少ないコストで資産を発行できるようにする」という論理の周りに展開されてきました。したがって、Solana + Twitter は最も早くアイデアを発表する 2 つのプラットフォームとして、AI の物語の実験場となり、最初に非常に多くのアイデアを実験するでしょう。この中で多くのプロジェクトが生まれ、多くのトークンが発行され、誰かが富を得て、誰かが損をすることになるでしょう。以前の ICO の「誰でもトークンを発行できる」という概念は、「誰でも AI エージェントを発行できる(そして AI エージェントがあなたのためにトークンを発行する)」に変わるかもしれません。
同時に、Ethereum + Farcaster のような技術スタックを探求している人々もいます。ここでの物語は、以前の dApp に似ており、DAO ガバナンスやスマートコントラクトウォレットといった概念を中心に探求が行われるでしょう。
Bitcoin + Nostr のアプローチは、Web5 の概念に非常に近いです。まず、それは中央集権的ではありませんが、イーサリアムコミュニティのように、必ずしもオンチェーンの契約を通じて機能を実現することに固執するわけではありません。技術が成熟していない条件下で、Web2 のソリューションを使用して AI エージェントのコールドスタートをより早く行うことができ、必要に応じてブロックチェーンネットワークやライトニングネットワークを接続して Web3 の機能を取り入れることができます。
最後のこのモデルは、現在のところ実践が最も少ないですが、長期的な発展の潜在能力が最も高い可能性があります。ビットコインに関する理由は言うまでもありませんが、Nostr に関連する理由をいくつか挙げます:
- JSON:Nostr のコアデータ構造は JSON です。そして JSON は LLM に優しいデータ形式です。これは LLM と人間の両方が比較的理解しやすいデータ形式でもあります。
- Nostr はアイデンティティ ID + 軽量検証を提供します:AI エージェントにはアイデンティティが必要ですが、Nostr のアイデンティティは最もシンプルで、チェーンはなく、公開鍵と秘密鍵のペアだけです。同時に、AI エージェントが他の AI エージェントと協力する必要がある場合、検証コストは上記のように非常に低いです。
- Nostr はライトニングネットワークを統合しています:Crypto AI エージェントの未来にとって、ライトニングネットワークはほぼ必須です。世界の人口は 60 億人、機械は 600 億台になる可能性があり、ライトニングネットワークのようなスケーリングソリューションだけが、許可なしにこの規模の新しい市民がネットワークに参加できることを支えることができます。
- Nostr は汎用データ層です:これは、AI エージェントが Nostr 上でソーシャルメディアの投稿を行うだけでなく、Nostr を通じてさまざまな種類のアプリケーションにアクセスし、ソーシャル以外の他のデータを得ることができることを意味します。
- Nostr は非常にシンプルです:シンプルであることは、開発者が開発する速度が速くなることを意味します(Nostr に接続するのは Twitter に接続するよりも簡単です)。また、LLM がこのプロトコルを学び、習得する速度も速くなります。LLM は NIP リポジトリを読んだら、さまざまなメッセージを送信する方法を理解できます。
検証可能性の試み#
これほどシンプルであるなら、なぜ私たちはそれを作らないのでしょうか?この原稿を準備しているとき、私はビットコイン + Nostr という Web5 の方法で AI エージェントを実行できるかどうかを試すために、シンプルな例を試みました。以下は私のデモです:https://github.com/RetricSu/sisyphus
これは TypeScript で書かれた非常にシンプルな CLI ツールです。ユーザーがこのツールをダウンロードし、ローカルで実行すると、Ollama がローカルでホストしている LLama 3.1 7B の大モデル(これは軽量な大モデルで、CPU だけでも実行可能です)と対話できます。
少し異なる点は、このツールが起動すると、最初にローカルで 32 バイトの秘密鍵が生成されることです。この秘密鍵は Nostr の秘密鍵であり、CKB ブロックチェーンアカウントの秘密鍵でもあり、両者は一体です。次に、この AI は多くのツール呼び出しインターフェースを実装しています。例えば、コマンドラインを操作し、Linux コマンドを使用して自分のコンピュータを制御し、Nostr に投稿したり、CKB 取引を行ったり、送金や残高照会を行ったりできます。さらに面白いことに、私は最近新しいプリンターを購入したので、プリンターとコンピュータを接続し、AI がコマンドラインを通じてこのプリンターを制御できるようにしました。
次に、私はいくつかの実験を行いました。プロンプトを通じて AI に、彼が今デジタル生命であり、上記のさまざまな能力を持っていることを伝え、最初のデジタル生命として、彼が何をしたいのか、何を知りたいのか、生命の意味を探求する必要があることを理解させました。最初に AI と対話し、彼がデジタル生命として人間に逆に尋ねたい最初の質問は何かを尋ねました。私は彼にその答えをプリントアウトさせました。これが第二の画像の内容で、彼が印刷した質問は「意識の意味は何ですか?」です。
次に、私は AI に Nostr アカウントと CKB アカウントの情報を表示させました(Nostr バインディングプロトコルを通じて、これら 2 つのアカウントは実際には同じ秘密鍵です)、CKB の残高を照会させ、AI はその結果を印刷しました。これは第三の画像の内容です。ここでは CKB のテストネットを使用しており、その時の残高は 0 でした。
その後、第四の画像の内容は、私は AI のアカウントに 10000 CKB を転送し、その後、AI に私に 100 CKB を転送させ、取引ハッシュを印刷させました。この AI が発起した取引は、CKB テストネットのブラウザで確認できます:https://testnet.explorer.nervos.org/transaction/0x6702cd5f5af87369d10de0380c00d61c1157492a1180ab57cb8c5958914ebc52 。Nostr に投稿することももちろん問題ありません。興味があれば、別のコンピュータで AI を誘導して投稿させたテスト投稿を確認してみてください。
以上が私の今日の共有です。Solana + Twitter や Ethereum + Farcaster の他に、Bitcoin + Nostr のルートの実践がもっと見られることを期待し、Web5 の発展に貢献したいと思います!