Nostr
仕組みを理解したい

ActivityPubとの違いはなんだろう?

>超シンプルなWebsocketのクライアント-サーバーモデル。サーバーがシンプルなリレー。
> ほぼ"電子署名前提になったIRC"とも言えるかも。
相手と同じリレーサーバーを使っている必要がありそう

相手が使っているリレーサーバーを知る方法はある?
短いまとめ:
>Everybody runs a client. It can be a native client, a web client, etc. To publish something, you write a post, sign it with your key and send it to multiple relays (servers hosted by someone else, or yourself). To get updates from other people, you ask multiple relays if they know anything about these other people. Anyone can run a relay. A relay is very simple and dumb. It does nothing besides accepting posts from some people and forwarding to others. Relays don't have to be trusted. Signatures are verified on the client side.
自分がツイートする時には、内容を
秘密鍵で
署名して、有志がホストしているRelayサーバーに送る
他人のツイートを取得する時には、Relayサーバーにリクエストをする
Relayサーバー同士がお互いにツイートを送りあっている
これは嘘だった

なるほど

単純に、より多くのRelayサーバーにアクセスすればするほど、全体としてはより完全なデータが得られる?

データはどこに保存されるんだろ

A. リレー
消えるのかな
A. 保存されたリレーが死んだら消える
その場合でも秘密鍵を持っている限りアカウントは消えない
既存のサービスの問題
The problem with Twitter
> Twitter uses bizarre techniques to keep you addicted;
> Twitter doesn't show an actual historical feed from people you follow;
より良い治安維持の方法をNostrは提示しているのかな..?

> Twitter shadowbans people.
> Twitter has a lot of spam.
これはこの方式でも防げないんじゃない?

最初に目に入ったのはスパム
お金を請求できる
The problem with Mastodon and similar programs
>User identities are attached to domain names controlled by third-parties;
> Server owners can ban you, just like Twitter; Server owners can also block other servers;
>Migration between servers is an afterthought and can only be accomplished if servers cooperate. It doesn't work in an adversarial environment (all followers are lost);
decentralizedな環境を求めるなら、サーバー間でアカウント移行できないのは大きな問題

>It doesn't make sense to have a ton of servers if updates from every server will have to be painfully pushed (and saved!) to a ton of other servers. This point is exacerbated by the fact that servers tend to exist in huge numbers, therefore more data has to be passed to more places more often;
ActivityPubの仕組みとして、各サーバーが他のサーバーに更新を送り続けないといけない事を批判している?

ActivityPub/Mastodonでは、一万フォロワーいた場合は一万人全員の所属サーバーに更新を送りつけないといけない
スケールしなそうだけど数万〜数十万人ぐらいまではこれでもいけるのかな

>The most popular server is Mstdn.social, a general social server that boasts more than 75,000 user
The problem with
SSB (Secure Scuttlebutt)
悪くないが、複雑すぎると言っている

そもそもSSBがなんなのか知らないので一旦飛ばす

スパム問題
Relay運営者にとってSpamが困るのであれば、
CAPTCHAなり電話番号認証なりをRelay運営者がすれば良い
あるいは悪意を持ったRelayサーバーが他のサーバーにスパムを送りつけてくるなら、そのサーバーをブロックすれば良い
Relayサーバー同士のグラフが完全に途切れない限り、ただ「スパムが届く確率が低くなる」だけで「完全にブロック」はできないということかなblu3mo.icon
始め方
Webクライアントが色々ある
クライアント側で、使うrelayを選べる
白い枠の中が今使っているrelay

のアカウントの公開鍵
$ npub1mct0z5444uz5xm5rqzwmw7p8vgd63azx2zjvvf0059sl0ulmdmcqx04vr3

npub1cth44w0v7pnkzl5y5ek87jju6lrtyyl2sr4mavkwyw6m2xdu4taqv7ylvr
感想
別クライアントでログインしても更新が反映されているのは感動

読み込みが遅い、、、

global feed 40秒待っても表示されない

誰もフォローしてないからかな
そうではなさそう
iOSアプリは動く
これはクライアントの実装によって変わるのかな..?

単純にRelayを増やしたら読み込みが早くなった

読み込みが早くなったというより、読み込まれるようになった
仕組み的にそれはそう
原点に帰って自分のドメインとRSSで良い気がしてくる・・

いいね、とかができない?
いや、ブックマークとか?
リツイートは単に対象のURLをRSSで自分の発言として流せば良い(非公式RTっぽい)
いまのところ不出来なTwitter

送金機能がある
設定した情報が反映されなかったりされたり不安定
使う前の感想
非集権型で本人証明ができるSNSを作ろうとしてる?

匿名のイーロンマスクが愚痴りまくるスレを見てみたいな()
スノーデンが言及してる

他人の見つけ方
ここでTwitter IDとNostrのpub keyを紐づけることができる
分からないこと
プロフィールで設定できる何か

自分の保有するドメインと公開鍵を紐づけられるのか

これをすれば、公開鍵の代わりに自分の持つドメインをIDとして投げつけられるようになる
設定方法が知りたい

やってみよう
プロトコルはここにある
"Mapping Nostr keys to
DNS-based internet identifiers"
クライアントによって機能が違うが、どうなっている?
どこまでの機能がプロトコルで規定されているんだろう
ここを見れば良いのか

「いいね」ができるクライアントとできないクライアントとか
NIP-25でリアクションが規定されているのか


なんかチェスができるクライアントとか(?)
これはどうなってるんだろう

プロトコル的には普通に1対1のpublicチャットをやっているという感じなのかな
プロフィールの仕組みはNIPのどこで定義されている?

Chrome拡張機能
署名をブラウザの拡張機能でやることで、秘密鍵をクライアントに渡すことなくPostできるようにしている
Twitterに公開鍵をツイートすると今のイーロンならBANしかねない気がしてて躊躇してる
