Nostr は、私が過去 2 年間注目してきたプロトコルです。すべてのコミュニティと同様に、Nostr の発展も波があり、主流に知られる瞬間もあれば、今のように少し静かに感じる瞬間もあります。しかし、特別な理由はなく、単純に Nostr が好きなので、私は頻繁に Nostr を注視しています。
Nostr は他のソーシャルネットワークプロトコルと何が違うのでしょうか?もしビットコインコミュニティに、イーサリアムコミュニティとは異なる P2P 経済発展モデルがあるとしたら、その特徴は何であり、ソーシャルネットワークのアプリケーションにおいて、イーサリアムの Farcaster のような製品と本質的に何が異なるのでしょうか?これは非常に複雑な問題であり、今日は数つの観点からいくつかの見解を共有し、最近の AI Meme の熱潮と組み合わせて、具体的なアプリケーションシーンにおいて、ビットコイン + Nostr が代表する Web5 のルートの違いについて話したいと思います。
開放性(Openess)#
私の見解では、Nostr は最もシンプルなソーシャルネットワークプロトコルであり —「非中央集権」という形容詞すら加えていないことに注意してください — その最大の潜在能力は開放性(openess)です。今年の 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 上で公開討論されています。これはアイデアのための自由市場です。皆が統合される提案について公開で議論します。もしあなたのアイデアが反論の余地がないものであれば、統合を妨げる理由はありません。
- 2 つ目は、統合するかどうかはそれほど重要ではないということです。
なぜなら、エコシステムにおいて、プロトコルのガバナンス、クライアント開発者、リレー運営者の権力は分離されているからです。もしクライアント開発者が新しい NIP 提案を提出したが、ガバナンス者がそれを統合しない場合、彼には影響はありません。彼は自分のクライアントサービスを続ければよく、リレー運営者がこの新しい Event を受け入れれば、すべてがうまく機能します。もしリレー運営者もこの新しい Event に同意せず、自分のノードでこのデータタイプを受け入れないように抵抗した場合、仮にこの森のアプリが本当に良いアイデアで多くのユーザーがいるなら、これらのユーザーのニーズはこの Event をサポートするリレーノードを探す方向に向かうでしょう。最後に、すべてのリレーがこの新しい Event を拒否した場合、森のアプリは専用のリレーを運営することもでき、同様に問題を解決できます。ユーザー数が十分に多く、ネットワーク内でこの新しい Event が十分に活発になれば、他のエコシステムの役割もこの Event を接続することを考慮せざるを得なくなります。
逆にリレーにとっても同様のことが成り立ちます。ユーザーを引き連れて他のノードを動かす感覚があります。根本的な理由は、クライアントとリレーというエコシステムの役割が置き換え可能であることです。クライアントはリレーを置き換えることができ、リレーもクライアントを置き換えることができ、ユーザーはどの環に縛られることもないため、最良の選択をすることができます。そして、ユーザーはこれらの選択に投票し、事実の基準を通じて NIP リポジトリの理論基準を逆に推測します。これは、rough consensus running codeにより近い方法でもあります。したがって、私はエコシステムとプロトコルのガバナンスの組織構造において、Nostr も貴重な開放性を持っていると考えています。
さらに、このような開放性はビットコインのガバナンスモデルにも似ています。ビットコインの POW は、ガバナンスが三権分立の状態に達することを可能にします。コードの開発者、運営ノードのマイナー、保有者は、互いにバランスを取る要素を構成しています。Nostr の NIP リポジトリは、ビットコインの C++ コードリポジトリのように、ノード運営者があなたの新しいコードや新しい基準を採用するかどうかを考慮する必要があります。ノードが採用しなければ、紙の上のルールにはあまり意味がありません。
可検証性(verifiable)#
Nostr の 2 つ目の魅力的な点は可検証性です。この業界で最もよく言われる言葉は「信じるな、検証せよ」です。実際、多くのシステムは検証可能であり、検証できるのですが、重要な違いは検証コストの高低です。通貨システムとして見ると、ビットコインの検証は非常に簡単で、ブロックハッシュが POW の難易度を満たしているかどうかを確認するだけです。一方、イーサリアムの POS ははるかに複雑で、すべてのステークノードの署名を検証したり、投票プロセスを確認したりする必要があります。さらに、UTXO モデルは取引を検証するためのハードルを大幅に下げます。取引の Input と Output にだけ注目すればよいのですが、イーサリアムのアカウントモデルでは、世界の状態を計算する必要があります。なぜなら、すべての取引が状態を変更する可能性があるからです。
Nostr にとって、検証コストも非常に低いです。Event は Nostr のデータとして、すべてが分散して独立しています。ネットワーク内の誰でも、データに疑問がある場合は、その Event を持ってルールに従って event id と signature が正しいかどうかを計算すればわかります。Nostr は scuttlebutt のようにチェーン状のデータ署名を必要とせず、Farcaster のようなソーシャルファイも、オンチェーンとオフチェーンの 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 の柔軟な Cell モデルを通じて、各 Nostr アカウントが自然に CKB ウォレットとなることを実現できます。ユーザーは Nostr のサイナー(例えば Alby 拡張)を使用して CKB 取引に直接署名し、CKB チェーン上の資産を送受信できます。同時に、Nostr の任意の Event データは、CKB チェーン上のユニークな Cell(ビットコインの UTXO に似たもの)にバインドでき、Event データをオンチェーンにする可能性を実現します。これらすべては、「ハードフォーク」なしに Nostr プロトコルを完成させることができ、小範囲の合意の提案として、他の提案と同様に Nostr の大きなプロトコルフレームワーク内で共存できます。
さらに、イーサリアムのようなシステムに対しても、以前にいくつかの実験機能を行ったことがあります。例えば、metamask 拡張を通じてユーザーが Nostr にログインできるようにしました。
さらに、Nostr コミュニティは常にライトニングネットワークとの統合を探求しており、これも接着層の一例です。
総じて、Nostr 自体のシンプルさと開放性により、多くのシステムが比較的容易に実験し、接続を探求できます。また、Nostr はブロックチェーンではないため、トークンを発行してインセンティブメカニズムを導入する必要もなく、偏見のないシステムです。コミュニティのアイデンティティや利益によって他のシステムとの結合を排除することはありません。この点において、Nostr は中立的です。そして、汎用的な接続層は中立でなければなりません。
では、もし Nostr が本当に接着層になった場合、何の役に立つのでしょうか?
次のソーシャルネットワークプロトコルは、単なるソーシャルネットワークプロトコルではない#
Nostr がますます多くの小範囲の合意を担い、ますます多くの新しい提案や新しいアプリケーションが生まれ、新しいシステムと接続されると、次第に Nostr は実際にはソーシャルネットワークプロトコルではなくなります。なぜなら、皆がそれを Twitter や WeChat のようなものに使っているわけではないからです。Nostr は実際にはデータ層と通信層の汎用プロトコルに変わります。データ層はすべて Event という JSON でデータを記述し、通信層はすべて Relay とクライアントが sub/pub を使用して情報を送受信します。
データ層と通信層の汎用プロトコルこそが、真に実行可能な新しいソーシャルネットワークプロトコルになる可能性があります。私の見解では、次世代のソーシャルネットワークプロトコルは、単なるソーシャルネットワークプロトコルであってはなりません。もし単にソーシャルであれば、永遠に実行できないかもしれません。その理由は、ソーシャルネットワークの製品を作ることが非常に難しいからです。ユーザーの切り替えコストは非常に高いです。あなたは十分に長く生き、十分に多くのホットな機会を捉え、十分に多くの発展方向を探求しなければ、十分なユーザーを引き付ける機会はありません。
この新しい発展方向の探求の最も顕著な例は、最近興起した AI エージェントと暗号の結合です。
パーミッションレス?一部の AI を先に使わせる#
実際、AI と暗号を結びつける考えはずっと前からありました。機械がブロックチェーン上で経済的に独立できることに気づいたり、ブロックチェーンが AI のために作られたものであり、人間のためではない可能性があることに気づいたりするなど、業界内で似たような考えや記事が生まれました。これは非常に合理的です。もしシステムがパーミッションレスであれば、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 は最も迅速にアイデアを実験するためのプラットフォームとして、AI の物語の実験地となるでしょう。この中で多くのプロジェクトが生まれ、多くのトークンが発行される可能性があります。人々が富を得たり、損失を被ったりすることもあるでしょう。以前の ICO の「誰でもトークンを発行できる」という概念は、「誰でも AI エージェントを発行できる(そして AI エージェントがあなたのためにトークンを発行する)」という形に変わるかもしれません。
同時に、Ethereum + Farcaster のような技術スタックを探求している人々もいます。ここでの物語は、以前の dApp に似ているかもしれません。DAO ガバナンスやスマートコントラクトウォレットなどの概念を中心に探求が行われています。
Bitcoin + Nostr のアプローチは、Web 5 の概念に非常に近いです。まず、それは中央集権的ではありませんが、イーサリアムコミュニティのように、必ずしもオンチェーンの契約を通じて機能を実現することに固執するわけではありません。技術が成熟していない条件下で、Web 2 のソリューションを使用して 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 と対話し、彼が人類に逆に尋ねたい最初の質問は何かを尋ねました。私は彼にその答えをプリンターで印刷させました。これが 2 枚目の画像の内容で、彼が印刷した質問は「意識の意味は何ですか?」です。
次に、AI に自分の Nostr アカウントと CKB アカウントの情報を表示させました(Nostr バインディングプロトコルを通じて、これらのアカウントは実際には同じ秘密鍵です)。CKB の残高を照会し、AI はその結果を印刷しました。これが 3 枚目の画像の内容です。ここでは CKB のテストネットを使用しており、当時の残高は 0 でした。
その後、4 枚目の画像の内容は、私が AI のアカウントに 10000 CKB を転送し、その後 AI に 100 CKB を私に転送させ、取引ハッシュを印刷させたものです。この AI が発起した取引は、CKB テストネットのブラウザで確認できます:https://testnet.explorer.nervos.org/transaction/0x6702cd5f5af87369d10de0380c00d61c1157492a1180ab57cb8c5958914ebc52。Nostr に投稿することももちろん問題ありません。興味があれば、別のコンピュータで AI を誘導して投稿したいくつかのテスト投稿を見てみてください。
以上が私の今日の共有です。Solana + Twitter や Ethereum + Farcaster の他に、Bitcoin + Nostr のルートを選択する実践がもっと見られることを期待しています。Web 5 に貢献できることを願っています!