What I think could help Mastodon tremendously in the 'decentralization' process is to actually be able to give end users the ability to not just export all their data in a nifty little package that can be imported in another instance, but also the ability to link accounts between instances so that they're treated like one.

This means that by linking this account to another at @anotherserver.of.myinterest I can see both local feeds as one, and posts that I write on one could be replicated to another (optional ofc).

It's one of the few ways I can see users own their data, and have failover options in case instances go kaput. Not to mention it would be useful for say journalists, politicians and brands as they move & link with "respectable" servers and verification becomes a process of accounts being linked to these servers.

Maybe I should dust off my rails books xD Haven't played with it since 3.2

@decryptlyfe So all you need to do to "compromise" Alice's account on server X is trick server X into linking Alice's account with an account made by the attacker on server Y (over which the attacker may or may not have full control)?
@will Again, you can make some verification process, using keypairs, txt records, etc and reduce this risk somehow.

@decryptlyfe OK, setting aside the security concerns, if your mental model is email, what would building this look like in email terms? (Warning, long rant below 🙂 )

For incoming messages: Alice @ X gets forwarded to Alice @ Y? Or vice versa? Or both? For outgoing messages: Alice can choose to send a message as Alice @ X xor Alice @ Y? Are all outgoing messages duplicated by the client to both servers? Obviously followers and following don’t have direct email analogs, but you can see how this would create extra noise, whereby every follow for Alice @ X gets duplicated to Alice @ Y and vice versa. What if Alice @ X automatically allows follows but Alice @ Y is locked and requires Alice to manually approve them?

My understanding of the ActivityPub standard is that this kind of arbitrary account linking is not well supported by the design of the protocol.

The “email” solution to this would be to have Alice own Alice @ alice’s domain and allow forwarding/aliasing to the equivalent of Google or Microsoft or Yahoo. Alice has the opportunity to migrate the backend service, but without any apparent change in activity pub handle. The problem is that ActivityPub doesn’t even run based off of something that looks like an email handle (alice @ alice’s domain), but based off of the profile URI. So Alice would need to have an HTTP endpoint at alice’s domain /users/Alice that performs the relevant redirects.

I think at a certain point, what you have is really an ActivityPub (AP) implementation designed for this “forwarding” or “aliasing” use case. The biggest weirdness I think is that the Outbox / Followers will have to live on this forwarding server while the Inbox / Following will live on the backing instance.

This still won’t solve the problem for most people, for the same reason that most people won’t bother to set up their own AP server, but it would be much more lightweight than Mastodon and perhaps even than Pleroma or other Mastodon-compatible AP implementations.

@will

Sure, talk out use cases lol

Say Alice has account on server X, then creates an account on server Y; Then posts a toot on X with a crypto signature. Alice loads the key in server Y and links their account.

Now when Alice posts in X, Alice can choose to also post on Y.
Replies on X stay local. Replies in Y stay local.
Outside of X or Y others see either or both, maybe some nice failover story here? lol

About users, they can follow any of the linked accounts? depending on server visibility and Alice setting their links as visible or what not.
All of this could be optional too, if you want to send to all or some or none.

Haven't looked at ActivityPub much yet heh, just talking about letting users be more porous through the network

@decryptlyfe Why does Server X need to know anything about Server Y to link the accounts in your user story? Why can't this all be accomplished client side with "multi-account" functionality?

@will I'd say failover. Part of the apprehension with adopting Mastodon is not knowing if tomorrow the instance you're on is gonna go kaput.

Think of it as RAID :)

@decryptlyfe I'm not sure I understand. Let's say that you use [Pinafore] (https://pinafore.social/) (which is not itself an instance, merely a frontend client) to log in to both an account on InfoSec.Exchange and an account on Mastodon.Social

Where is the SPOF? Anyone can take the Pinafore client code and stand it up somewhere else, then you can log in to both of your accounts there. Or if one of those instances fails, you'll still be able to use your client with the other one.
Home · Pinafore

An alternative web client for Mastodon, focused on speed and simplicity.