keybase / keybase/client

Solid, WebID, more standards and decentralization

Open
#20,552 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
Go
Stars
9.2k
Forks
1.3k
Avg merge
12h 58m
Merged PRs (30d)
56

Description

Didn't have anything better to do after joining keybase so I went and searched `webid` in the organization and was curious that it didn't throw any resuly at all, so here I am. :smiley:

[WebID](https://www.w3.org/2005/Incubator/webid/spec/identity) and the [Solid](https://solid.mit.edu) project led by our good friend @timbl(love the web I can @ mention its creator :see_no_evil:) aim at building a more decentralized and respectful web where people are in control of their data. Those goals don't seem far from the values that Kebase seems to pursue, right?

I don't want to judge and complain about how the service doesn't open source its server side code or is not storing data decentralized in an IPFS+blockchain whatever way. There are probably reasons like different priorities, lack of resources, your code is ugly, might affect the business model or who knows what, but is still worth suggesting ways on improving on those points given that the company looks open to feedback :)
At least user data is not part of the business model, yayy!(not sure about metadata though :thinking:) so it wouldn't be absurd to consider reshaping the tech-stack a bit to fit those standards based technologies.

From the docs, **What Keybase is Really Doing**
> The central function of Keybase is to store, in a standardized format, public signatures for our users. The important signatures are of the form:
>
> 1. Identity proofs: "I am Joe on Keybase and MrJoe on Twitter"
> 2. Follower statements: "I am Joe on Keybase and I just looked at Chris's identity"
> 3. Key ownership: "I am Joe on Keybase and here's my public key"
> 4. Revocations: "I take back what I said earlier"
>
That sounds a hell lot like what WebID can be used for! what if instead of your internal representation the identity of users becomes a webID document that holds user's claims and keys, similarly with file storage, what if the user data is stored in pods like solid proposes. Keybase becomes a pod and webID hosting adding the extra value of E2E data encryption(standardizing things one the way?) so the pay for storage businesses would still work and users would prefer it over other pod hosting solutions because they know their data can't be accessed by the company. Keybase client then becomes a **solid** app. :sunglasses:
Basing your back-end on those open technologies brings even more trust from the community and can make things easier in the future benefiting from a some day big ecosystem full of tools and code. And as a techy user capable of hosting his own stuff I would just tell keybase _hey! thanks for hosting my data so far but now I'll take my pod home where it belongs_ and everything keeps working as usual :D

Just an idea, curious to hear opinions :slightly_smiling_face:. I think the solid ecosystem and what they are trying to achieve, which is awesome, would greatly benefit from a community with a growing user base like Keybase. My hype-meter doesn't get a lot of readings from their side so popular projects helping with adoption would motivate developers more to build that fair web some of us dream of :heart:

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names no files, tests, or entry points. Start by reviewing the linked WebID and Solid specifications alongside Keybase's documented identity proofs and storage model; done would require maintainers to define a specific, scoped integration rather than this broad architectural proposal.

Written by the indexing model from the issue text.

Assessment

Domain
authentication, distributed-systems, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
10/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.