You are reading content from Scuttlebutt
@mmckegg %uB7DTsgCgOgH46vKrlzNQTP0DuLcIzIVOXy0ukIWwaE=.sha256

New about messages for multi-device feeds

I'm going to start experimenting with this in #patchwork. Here are the new messages I'm thinking about using:

about: sameAs: [...ids]

Anyone can create an about message describing someone else as being the "same as" another feed.

An about message must contain the final state (that is all of the feeds that the user wants to assign "same as", they won't add together, they'll replace -- a limitation of the ssb-about reducer, but also makes removing easy).

Patchwork will use the new 'ssb-about' plugin to find all sameAs descriptions for a given profile and then show the user "n friends say that this feed is the same as x". The user can then "agree" or "disagree".

If the user chooses to agree, a reverse sameAs about message is created.

Users will only see accounts merged when they are the author of a sameAs message, or the feed itself authored that message (although in the second case, only if there is a matching reverse sameAs message that either the user or the remote feed authored).

about: notSameAs: [...ids]

This message is created when a user explicitly "disagrees" with a sameAs. It will undo an existing merge, and friends will see that user does not think this is the same person. It is more like a warning flag.

How are these used in the interface?

Once a given feed has been assigned a sameAs by the user, patchcore will automatically combine the two feeds together (thanks to the new ssb-contact and ssb-about plugins) and display them as if they were the same feed.

Whenever a user private message someone, all of their sameAs identities will also be added as recps.

If a user has assigned a sameAs message to their own feed, their mentions will include those other feeds.

@andrestaltz %FaCvNoR1cTUdhpmMqKlYo+2OEz8gk7OmhXmU2XFc3mM=.sha256

Awesome progress! Good job :+1:

User has not chosen to be hosted publicly
User has chosen not to be hosted publicly
@mmckegg %VH5SqwBwJ27zu6v/KqXVbDGsx6unR7iE+MjXAC5SXbs=.sha256

@kas

Yep, that's right. But unless you also published reverse messages from the @alsoKnownAs and @alterEgo accounts, other people wouldn't see you as merged unless they manually approved it.

User has chosen not to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
@Dominic %/RhFQkMaRer+3SKzJAKfjiqhPsjS6plgGfcSZ2FYy24=.sha256

@cinnamon when you do a signature, as a principle, you should make it as specific to the exact context as possible. I'd suggest also signing the hash of the previous message!

That way, you know that this signature can only happen in this exact message.

But as it is now, it could be replayed in other messages and what effect would that have? we'd have to think carefully about that! (but if we can see it's only valid in this message, then we don't need to think about what happens if it's in other messages ;)

User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
@mmckegg %ChrQWxwqyT4Yvn54b+a9WWMAxvAt2/3Jt02o6j8GEL8=.sha256

@cinnamon

I'd suggest that sameAs messages only be used for your own feeds and not to state opinions about other people's feeds. If I have multiple identities on purpose I don't want other people merging them together and outing me.

I understand what you are saying in regards to this, but this sort of thing just can't be enforced in an #against-consensus #decentralized model. People can say anything and render things however they want in their own clients.

And this is what I want to be able to do personally. I want to finally clean up all those dead identities into people's latest identities. There is no way that they can sign a confirming message from their old identity.

I'm keen to try this ridiculously simple sameAs model and see how it feels in reality.

  • anyone can publish sameAs about messages (we can't stop this)
  • specified feeds get merged together if you are the author of the sameAs message (in the same way that you can rename a person) or if each feed specified has a matching sameAs about message pointing back at the other identity
  • feed merges published by people you explicitly follow will be included in the public feed and displayed on the target profile pages - you can then choose to agree by also setting the sameAs message (probably with a dismiss notSameAs option)

IMO it just seems in the spirit of ssb to make even people subjective! :rainbow:

User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
@Dominic %dY/yGeWQQl6Hb1XnJhcmx3mC+mzwAJGxFuJQTNbzikk=.sha256

@matt I think @cinnamon has an important point - i'm gonna reexpress it my way.

There is a read aspect to this, merging a feed together so that when I open @cinnamon I also see messages from @cinnamon2 on that screen.

But then there is also the write side, in that if I make a private message to @cinnamon it also adds @cinnamon2 as a recipient so that it can be read by cinnamon on either of their devices.

I think these might be two quite different things! Firstly, merging dead feeds is a one way thing, I lost the key to @dead_Dominic so I can't post a message on that feed agreeing to also being me - and also, there is no point to send private messages to dead feeds either ;)

Given that making claims about other (possibly dead) feeds has abuse potential, and is more complicated, I'd kinda lean towards just implementing the multidevice bit, for now, not trying to hit subjective merging with the same stone.

So, my restricted proposal: device feed A posts a sameAs at device feed B, and then B confirms that. now making a private message to A will automatically include B as a recipient, and feeds are merged. Maybe either A or B can "divorce" the other, but third parties cannot make claims about whether they are the same or not.

@mmckegg %LdQ2RQQJdztxqTEkD0GSt21C6NBPIb6hauTS46ZEVhM=.sha256

Given that making claims about other (possibly dead) feeds has abuse potential, and is more complicated, I'd kinda lean towards just implementing the multidevice bit, for now, not trying to hit subjective merging with the same stone.

Okay, fair enough. I will leave the user interface showing subjective merges for now. This is definitely a lot less important than merging two-way linked accounts.


The reason I was excited about the prospects of subjective merging was that as a uxer, it de-emphasises the importance of backing up your feed, and worrying about complicated crypto stuff. Instead it becomes more like relationships in meatspace where you don't need an absolute ID to connect with a person. The "person" is entirely in the heads of your friends!

User has not chosen to be hosted publicly
User has chosen not to be hosted publicly
Join Scuttlebutt now