Nostr
仕組みを理解したいblu3mo.icon
ActivityPubとの違いはなんだろう?基素.icon
超シンプルなWebsocketのクライアント-サーバーモデル。サーバーがシンプルなリレー。 ほぼ"電子署名前提になったIRC"とも言えるかも。 相手と同じリレーサーバーを使っている必要がありそう基素.icon
相手が使っているリレーサーバーを知る方法はある?
前提知識として、公開鍵/秘密鍵を用いた署名の仕組みを知っている必要がありそうblu3mo.icon 短いまとめ:
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サーバー同士がお互いにツイートを送りあっている
これは嘘だったblu3mo.icon
なるほどblu3mo.icon
単純に、より多くのRelayサーバーにアクセスすればするほど、全体としてはより完全なデータが得られる?blu3mo.icon
データはどこに保存されるんだろ基素.icon
A. リレー
消えるのかな
A. 保存されたリレーが死んだら消える
その場合でも秘密鍵を持っている限りアカウントは消えない
既存のサービスの問題
The problem with Twitter
Twitter has ads;
Twitter uses bizarre techniques to keep you addicted;
Twitter doesn't show an actual historical feed from people you follow;
Twitter bans people;
より良い治安維持の方法をNostrは提示しているのかな..?blu3mo.icon
Twitter shadowbans people.
Twitter has a lot of spam.
これはこの方式でも防げないんじゃない?基素.icon
最初に目に入ったのはスパム
https://gyazo.com/26a09c3fe71ce59e3637387bf51e695dhttps://gyazo.com/c9754e0dcd16df876364ad2da0d38f09
お金を請求できる
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な環境を求めるなら、サーバー間でアカウント移行できないのは大きな問題blu3mo.icon
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の仕組みとして、各サーバーが他のサーバーに更新を送り続けないといけない事を批判している?blu3mo.icon ActivityPub/Mastodonでは、一万フォロワーいた場合は一万人全員の所属サーバーに更新を送りつけないといけない
スケールしなそうだけど数万〜数十万人ぐらいまではこれでもいけるのかな基素.icon
The most popular server is Mstdn.social, a general social server that boasts more than 75,000 user
The problem with SSB (Secure Scuttlebutt) 悪くないが、複雑すぎると言っているblu3mo.icon
そもそもSSBがなんなのか知らないので一旦飛ばすblu3mo.icon
スパム問題
Relay運営者にとってSpamが困るのであれば、CAPTCHAなり電話番号認証なりをRelay運営者がすれば良い あるいは悪意を持ったRelayサーバーが他のサーバーにスパムを送りつけてくるなら、そのサーバーをブロックすれば良い
Relayサーバー同士のグラフが完全に途切れない限り、ただ「スパムが届く確率が低くなる」だけで「完全にブロック」はできないということかなblu3mo.icon
いや、ツイートの出所のRelayサーバーを見てブロックすれば完全にブロックできるのかblu3mo.icon
始め方
Webクライアントが色々ある
https://gyazo.com/3ae66ceaefac7e52afaae3dd6abd3bdd
クライアント側で、使うrelayを選べる
白い枠の中が今使っているrelay
blu3mo.iconのアカウントの公開鍵
$ npub1mct0z5444uz5xm5rqzwmw7p8vgd63azx2zjvvf0059sl0ulmdmcqx04vr3
基素.icon npub1cth44w0v7pnkzl5y5ek87jju6lrtyyl2sr4mavkwyw6m2xdu4taqv7ylvr
感想
別クライアントでログインしても更新が反映されているのは感動blu3mo.icon
読み込みが遅い、、、blu3mo.icon
global feed 40秒待っても表示されない基素.icon
誰もフォローしてないからかな
そうではなさそう
iOSアプリは動く
これはクライアントの実装によって変わるのかな..?blu3mo.icon
単純にRelayを増やしたら読み込みが早くなったblu3mo.icon
読み込みが早くなったというより、読み込まれるようになった
仕組み的にそれはそう
原点に帰って自分のドメインとRSSで良い気がしてくる・・inajob.icon
いいね、とかができない?
いや、ブックマークとか?
リツイートは単に対象のURLをRSSで自分の発言として流せば良い(非公式RTっぽい)
いまのところ不出来なTwitter基素.icon
送金機能がある
設定した情報が反映されなかったりされたり不安定
使う前の感想
非集権型で本人証明ができるSNSを作ろうとしてる?nishio.icon
匿名のイーロンマスクが愚痴りまくるスレを見てみたいな()
スノーデンが言及してる基素.icon
他人の見つけ方
ここでTwitter IDとNostrのpub keyを紐づけることができる
分からないこと
プロフィールで設定できる何かblu3mo.icon
自分の保有するドメインと公開鍵を紐づけられるのかblu3mo.icon
これをすれば、公開鍵の代わりに自分の持つドメインをIDとして投げつけられるようになる
設定方法が知りたい基素.icon
やってみよう
プロトコルはここにある
"Mapping Nostr keys to DNS-based internet identifiers" クライアントによって機能が違うが、どうなっている?
どこまでの機能がプロトコルで規定されているんだろう
ここを見れば良いのかblu3mo.icon
「いいね」ができるクライアントとできないクライアントとか
NIP-25でリアクションが規定されているのかblu3mo.icon*2
なんかチェスができるクライアントとか(?)
これはどうなってるんだろうblu3mo.icon
プロトコル的には普通に1対1のpublicチャットをやっているという感じなのかな
プロフィールの仕組みはNIPのどこで定義されている?blu3mo.icon
Chrome拡張機能
署名をブラウザの拡張機能でやることで、秘密鍵をクライアントに渡すことなくPostできるようにしている
なるほど〜〜、頭良いblu3mo.icon*3
Twitterに公開鍵をツイートすると今のイーロンならBANしかねない気がしてて躊躇してるmtane0412.icon