Solid, WebID, more standards and decentralization
- 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