banner
zu1k

zu1k

A boy dreaming of traveling around the world.

Mastodon、Fediverse と ActivityPub について話しましょう

mastodon.webp

イーロン・マスクが 440 億ドルで Twitter を買収した後、大胆に改革を進め始めました。彼は Twitter 2.0 を目指していますが、彼の措置は大量の人員削減と独裁的な施策であることに驚きました。その後の一連の措置により、Twitter はある人々の自己マーケティングとプロモーションの個人発信プラットフォームとなり、以前に Twitter を通じて仮想通貨の投資家を搾取したことがあるのかもしれません。将来的にマスクが Twitter を利用して政界に進出することも不思議ではありません。そのため、多くの人々が専制的な Twitter プラットフォームから離れ、よりオープンで自由、権力がより分散したプラットフォームを探し始めました。Mastodon は、長年の技術的蓄積、美しい UI、Twitter に似たインタラクションロジックにより、一躍注目を集めました。

Mastodon#

Mastodonはマンモスとも呼ばれ、私は 2021 年頃にあるフォーラムで「草莓県」(cmx.im)を見て Mastodon に触れ、理解しました。Mastodon は 2016 年から開発が始まり、私が初めて触れたときには UI がすでに美しかったです。2022 年に一般の注目を集め、多くの人々に愛されるようになったことに驚きはありません。この長い時間の蓄積が Mastodon の成功を歴史的必然にしました。

Mastodon のオープンソースで分散型(連邦制)の特性により、個人や組織は自分の Mastodon インスタンスを構築し、このソーシャルネットワークに参加できます。人々は趣味や観念に基づいて特定のインスタンスに集まり、他のインスタンスのユーザーともさまざまなインタラクションを行うことができる、この小さな国が大きくつながるソーシャルモデルは本当に人々の心を掴んでいます。

簡単に言えば、ユーザーとしては、多くのインスタンスから好みに応じて一つを選び、アカウントを登録すれば、Twitter のように投稿(Twitter のツイートに相当)し、他のユーザーをフォローし、タイムラインを確認できます。Twitter と異なる点は、フォローしているユーザーが他のインスタンスに登録されている場合、そのユーザーをユーザー名とドメイン名の組み合わせで特定する必要があることです。この点には注意が必要で、異なるインスタンスで同じユーザー名を持つユーザーが複数存在する可能性があるため、インスタンスのドメイン名も非常に重要な部分です。したがって、個人ブランドを構築したい場合は、誰かがあなたのユーザー名、アバター、紹介文などの情報を一対一でコピーして偽装するのを防ぐことを考慮する必要があります。GPG 公開鍵を提供するのは良い選択かもしれませんが、現在 Mastodon には偽装問題を回避するための成熟した統合ソリューションがないようです。

私の知る限り、国内の一部の大学は独自の小さな連邦を構築しました。この小さな連邦では、各学校が独立した Mastodon インスタンスであり、各学校のインスタンスはその学校の学生によって独立して自治されています。また、この大学連邦に参加しているすべてのインスタンスは相互にインタラクションが可能です。この小さな連邦は閉社と呼ばれ、興味のある学生はぜひ注目して、自分の学校のインスタンスを構築し、参加してください。

Fediverse#

実際、Mastodon は唯一の Fediverse ではなく、Fediverse という言葉も Mastodon が最初に提唱したものではありません。2008 年にはすでにこの概念が提唱され、ソーシャルおよびコンテンツ発信プラットフォームが独立したホスティング、標準化されたプロトコルによる通信などの概念を満たす必要があると考えられていました。考えてみると、これらの概念は Email に非常に似ています。Email はインターネットが発明された初期から普及していたプロトコルであり、インターネットの発展過程は循環しているようです。分久必合(商業会社の集中化された体験が良い)、合久必分(分散型の自由、自主性)。ここで私はこの記事を読むことをお勧めします: Mastodon, the rise of the Fediverse

現在最も人気のある Fediverse は、ソーシャル分野の Mastodon と、インスタントメッセージング分野の Matrix です。私の理解では、Matrix の技術エコシステムはより繁栄しており、多くのサーバーとクライアントの実装があります。また、Slack、Discord、Telegram、QQ、WeChat などの多くの通信アプリとも接続できますが、現在のところ非技術愛好者が使用することはあまり多くなく、大部分のユーザーは開発者や技術愛好者です。一方、Mastodon のクライアントは多くありますが、サーバーは公式の実装のみであり、技術エコシステムが繁栄しているとは言えませんが、ユーザーは広がっています。特に普通の非技術ユーザーにとって。この現象は考えるべきことです。技術は世界を変えることができますが、技術だけが唯一のものではありません。より良い UI、より良いインタラクション、より良い体験、これらが製品の発展を促す外部の動力の基盤です。

現在、私の主要なソーシャルメディアは Twitter であり、徐々に Mastodon に移行しています。主に多くのフォローしたい人々が Mastodon 宇宙に住んでいないからです。インスタントメッセージングに関しては、知人との通信に必要な QQ と WeChat を除いて、私は Telegram を徐々に放棄しています。Telegram も閉鎖的、専制的、商業化が進んでいるからです。私は多くの Matrix インスタンスに匿名アカウントを持っていますが、友人は Matrix ネットワークに来たがりません。そのため、現在の私の知らない人との通信の主力はメールです。私は自分のメールアドレスを公開しており、誰でも私にメールを送って交流できます。

上記の 2 つの Fediverse に加えて、他にも一般には知られていない Fediverse プラットフォームがあり、通信、ソーシャル、画像、音楽、動画など多くの分野をカバーしています。皆さんは以下のウェブサイトを通じて探索できます:

そういえば、Rust 言語で開発された Fediverse フォーラムLemmyも特に強調したいです。これは Reddit や HackerNews の代替として使用できます。軽量で使いやすいです。

ActivityPub プロトコル#

先ほど Fediverse には標準化されたプロトコルが必要であると述べましたが、Mastodon が基づいているプロトコルは ActivityPub プロトコルです。このプロトコルは Mastodon よりも早く歴史があり、すでにW3C によって 2018 年に標準として推奨されています

このプロトコルは、分散型ソーシャルネットワークのインタラクションの詳細を規定しており、ユーザーのインタラクション(メッセージの送受信、フォロー、いいね)や、アクティビティ(コンテンツ、ツイート、投稿)の発信、更新、削除、いいね、ブロックなどを含みます。

もし各プラットフォームが同じプロトコルに従えば、異なるプラットフォームのユーザーは同じ Fediverse 内でインタラクションが可能です。例えば、私は Mastodon と Pixelfed という 2 つの異なるプラットフォーム間で簡単なインタラクションを行うことができます。

私は Pixelfed プラットフォームのアカウント(@[email protected])が私の Mastodon アカウント(@[email protected])をフォローするテストを行いましたが、ユーザーを正常に検索でき、アバター、プロフィール、フォロワー数などの情報が表示され、フォローも成功しました。Mastodon プラットフォームでもフォローされた通知を即座に受け取ることができ、Mastodon を通じて Pixelfed のアカウント情報を確認することもできます。

Pixelfed 账号关注 Mastodon 账号

しかし、私が Pixelfed で発信したコンテンツは Mastodon では見ることができません。これは、2 つのアプリケーションが ActivityPub プロトコルを使用しているにもかかわらず、コンテンツの封装に関して独自のサブプロトコルを持っていることを示しています。これらのサブプロトコルは互換性がなく、アカウント情報やフォローなどの公共の互換性のあるプロトコルのみがアプリケーション間で使用可能です。

また、私は Mastodon を使用して Lemmy のユーザーを確認することも試みましたが、ユーザー情報を確認でき、発信された一部のコンテンツも見ることができましたが、いくつかの不一致があり、これら 2 つの間にも互換性のない部分があることが示されています。

Mastodon 查看 Lemmy 用户

Lemmy の issue と PR リストを通じて、Lemmy が Mastodon との互換性作業を行っていることを知りました。これは素晴らしいことで、支持します!

また、GitHub の社員が面白いものを開発しました。ActivityPub to Mastodon bridge。pub の目的は ActivityPub コミュニティをホスティングすることではなく、自分のドメインを持ち、そのために自分のアイデンティティを制御している人々が Fediverse に参加できるようにすることです。つまり、Mastodon を構築することなく、自分のドメイン名で Mastodon 連邦に参加できるということです。これは非常に便利で、軽量で使いやすいです。

Mastodon のパフォーマンス問題#

現在、Mastodon の公式実装は Ruby 言語を使用しており、Ruby は Rails フレームワークを利用して Web アプリケーションを開発するのに非常に迅速で、頻繁に変化するニーズに非常に適しています。しかし、Ruby 自体のパフォーマンスは楽観的ではありません。昨年、Shopify が Rust で YJIT を開発し、Ruby の上流に順調に統合されました。そして、Ruby 3.2 バージョンとして正式にリリースされました。これにより、Ruby のパフォーマンスが約 40% 向上しました。しかし、Ruby のパフォーマンスは現在流行している JavaScript(主に V8 エンジンのおかげ)には及ばず、Golang や Rust には言及するまでもありません。そして、私が検索したところ、Golang や Rust のサーバー実装は見当たらず、あっても開発が停止しているようです。これでは、Mastodon は今後の数億ユーザーの需要をどう支えるのでしょうか?Twitter と競争するにはどうすればよいのでしょうか?もちろん、現在のところ既存のインスタンスにはそれほど多くのユーザーはいませんが、将来的にそのパフォーマンスの需要が生じたときには、自然に商業会社が資金を提供してこの問題を解決するでしょう。

しかし、私はこの日が来ることを望んでいません。もしある Mastodon インスタンスのユーザー数が千万を超えた場合、それは実質的に別の「Twitter」となり、大量のユーザーが商業会社が運営する単一または数個の主流インスタンスに集まることになります。その場合、連邦制や分散型の概念は実質的に名存実亡となります。私たちが Twitter から Mastodon に移行した理由を忘れないでください!

とはいえ、私は Mastodon のパフォーマンスがもう少し良くなることを望んでいます。また、Mastodon のパフォーマンスを最適化する努力も見ています。Mastodon インスタンスの数が増えるにつれて、単一の Mastodon インスタンスは多くの他のインスタンスと接続してインタラクションを行う必要があり、これが巨大なネットワークパフォーマンスの圧力を引き起こします。そのため、自分で Mastodon インスタンスを構築したい人々は、サーバー費用にもっとお金をかけなければならなくなります。これは高い確率で、一部のインスタンスが Fediverse から離れ、数個のノードだけの小さな連邦を形成することにつながるでしょう。これは私たちが望んでいることではありません。私はActivityPub relayRelay リストが開発されているのを見ました。中継サーバーは多くのインスタンスと接続し、コンテンツを集約し、中小型サーバーに提供することで、中小型サーバーが多くのインスタンスに接続することなく同じ規模の情報を取得できるようにします。

海外のソーシャルと通信は変化の時を迎えています。上昇しているものもあれば、大企業から脱却しているものもあります。しかし、国内ではさまざまな法律条項の制約により、一般の人々はソーシャルや通信を行う権利がほとんどありません。この変化を逃すことになるのでしょうか?私たちはその結果を見守りましょう。

原文リンク:https://zu1k.com/posts/tutorials/p2p/fediverse/

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。