nostr:npub1nlnjcakw6xfkpuhx9kym3d20sr774pm6rue5kk93uj7lrca9lypqgqj7fd フォロワーを逆引きできないという趣旨の話は単一リレーでの場合でしょうか?

https://fivebythree.net/project/clusteringcoeff/countingfollowed/

であればこんなREQでフォロワーを取得することは可能です(画像は lumilumi.vercel.app の検索画面)

https://share.yabu.me/6b0a60cff3eca5a2b2505ccb3f7133d8422045cbef40f3d2c6189fb0b952e7d4/7c72d56f43060d2da1b49581a6cb767720f998c61c0b33fb66105d737fb2cd52.webp

参考:

https://github.com/nostr-protocol/nips/blob/master/45.md#followers-count

Reply to this note

Please Login to reply.

Discussion

## まえおき

私の記事、文章がいまいちすぎて、言いたいことが伝わらないですね。すみません。

補足の意味を込めて以下書きました。

##

とりあえず単一のリレーでの話とさせてください。複数リレーの話はおいておきます。

単一リレーの場合としても、記事の趣旨説明に問題ないと思っています。

REQ と filters の組み合わせで自分をフォローしている npub を取得できるのは理解できます。

ですけど、私は、 REQ と filter による検索は実用的ではないのではないかと考えます。

事例頂いたコマンド試してみたのですが、速度が出ていないように思います。

恐らくなのですが、この REQ に対応するクエリに対して、適切なインデックスが存在しないからなのではないかと考えます。

REQ と filter を用いた問い合わせはシンプルで一貫してて、応用も効いて美しいと思います。

ですけど、ユーザーやレコードの増大に対して、負荷がスケールするような方法では無いと考えています。

多数存在しうる filter の組み合わせに全てに対して複合インデックスを付与することが、実質できないと考えるからです。

今はデータセットの規模が小さいので、なんとか検索できるように見えているだけで、ユーザー数の増大に伴い実用的に機能しなくなるのではないかと。

そういう懸念を思い浮かべて「逆引きする方法が必用」と言いました。

これはフォロワー取得だけじゃなくて、REQ で問い合わせ全体に関連することかと思います。

いずれ REQ による汎用的な問い合わせ機構は obsolete になり、単機能かつ必要最小限なAPIセットの様な仕組みにシフトしていくように思います。

## 2

REQ で帰ってきたレコード数をカウントできる機能があるのは知りませんでした。

そうすると、パフォーマンスの問題はさておけば、フォロワーのカウントは既にできるということですね。

失礼しました。

題名「Nostr リレーはフォロワー数をカウントしたほうが良い」は的を射たものではなかったですね。

フォロワー数のカウントするためには、フォロワーを効率的に検索できる必用があり、そのための機能を持ったほうがいい・・・と言いたかったのですが。

これら鑑みてタイトルを言い換えると「Nostr のリレーはフォロワーリストを効率的に取得できるようにしたほうが良い」になるかと思います。

## 3

これは記事とは直接関係ないですが、私は、フォロワーのリストを取得できることは、Twitterタイプのソーシャルメディアの本質的な機能であり、サービスの大きな付加価値じゃないかなと考えます。

自分自身はフォロワー数を気にしない使い方をしていますが、それとは別にものすごく大事なポイントだろう・・・と思っています。

なぜなら、情報を発信する際にファーストオーディエンスの規模や特徴が見えることに、すごく価値があると考えるからです。

受信者を把握することは情報発信時の大事なポイントで、それに基づいてどんな情報発信をするか決める必要があるからです。

Nostr でもフォロワー効率の良い、ユーザーの増大に耐えうる、フォロワーの把握の手段があってほしいな・・・と思います。

## さいご

今考えてみると、私のデータベースの知識が古すぎて、もしかしたら、上記の懸念は今では問題ないかもしれないです。

もしくは、私が複雑すぎてできない・・・と考えているものが、ITの現場では全然当たり前にしていることだったり。

そうだったらすみません。以上です。

速度が出ない件についてインデックスがは張られているが「適切」でないという指摘はありえるかもしれませんがリレーの実装に依存する問題でしかなくNIP-01で規定されたNostrの仕様には問題はなく現状の仕様でフォロワーが取得できる設計となっています。

それ以外の点については概ね同意します。

この仕様だと実用的な実装ができない、もしくはせっかくのフレキシブルな仕様なのに実用的な検索ができるのは特定のパターンのみになってしまうように思います。

これはリレーの実装依として片づけられるものではなくて、NIPの仕様が構造的にレコードの増大に対してスケールしにくいものでは・・・と考えていました。私の始点ではこれはNIPの仕様の問題に見えます。

特定のリレーにユーザーが集中した場合には問題となるでしょう。

ユーザーが増えたらアウトボックスモデル等、複数リレーに分散する仕様が主流になるかもしれません。

そうなったらそうなったで集計はほぼ不可能になるでしょうけれども。

フォロワーの把握の精度と分散のトレードオフはあるんでしょうね。自分がポストしているリレーでフォロワーを取得して、その和集合とっていればとりあえず十分かな・・・くらいに考えててそこは何も考察無いです。

情報の整理も兼ねて私も考えてみました

いざ考えてみるとなかなか難しいものですね

nostr:naddr1qvzqqqr4gupzq6c2vr8l8m9952e9qhxt8acn8kzzypzuhm6q70fvvxylkzu49e75qq2kghm409xys46tddqhw42d295y5d29gayj6cr3gmk

https://yakihonne.com/article/naddr1qvzqqqr4gupzq6c2vr8l8m9952e9qhxt8acn8kzzypzuhm6q70fvvxylkzu49e75qq2kghm409xys46tddqhw42d295y5d29gayj6cr3gmk