Skip to content

[submission] transitive trust - introducing peers #23

@LGro

Description

@LGro

The Design Problem

Onboarding communities and finding folks on decentralized apps is hard. Especially for privacy focused social apps this can be the key challenge because only when connected to a sufficient amount of relevant peers is the user experience good enough to compete with centralized alternatives.

The Design Solution

Using the social fabric of transitive trust, i.e. the belief that when my good friend Kim introduces me to Stef, there must be something to it and it is likely safe, we can leverage the pattern of introducing our peers to each other where we think they already know or should trust each other.

Examples

TBD, I use this in https://github.com/LGro/coagulate but it would be good to list more prominent examples here.

Why Choose ... ?

When you want to empower users to grow their network of trusted peers.

Best Practice: How to Implement ...

  • Allow users to introduce two peers to each other, giving both the opportunity to accept or reject the introduction.
  • Leverage existing trusted communication channels if available to set up a trusted channel for the two introduced peers (e.g. by letting them know about each others public key).
  • It can be helpful to provide a custom label or name for the two peers to facilitate the introduction and help them decide whether it is worth accepting. Those names or labels might need to differ from how you name or label any one of the two.
  • Combine this with persistent identity to avoid users introducing peers that already know each other. I can for example share a hashed version of all the contact IDs I already know about with my peers so they know who they don't need to introduce me to. This can even be done via private set intersection to avoid disclosing the identities my peer does not know about.

Potential Problems with ...

When we trust our peers and they turn out to not be trustworthy because they have been compromised or turned on us, we are more vulnerable and their recommendations become less helpful or outright dangerous.

The Take Away

Introductions based on transitive trust empower growing a (social) network in decentralized apps.

References & Where to Learn More

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Under development

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions