-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New Standard: Decentralized identifiers (DIDs) on Flow #17
Comments
Hello there. Oh this is a good one. Please add your comments/questions here, or find me on the Flow Discord (mack) Happy hacking! |
I know the details of Flow and Ceramic. I'm interested in this |
Awesome! Have you taken a look at https://www.hackerearth.com/challenges/hackathon/flip-fest/custom-tab/getting-started/#Getting%20Started ? Do you have any questions about the (t)ask? 🙂 |
@aturX Awesome! Let us know if we can assist with your application to the hackathon, or anything else! |
Should we abandon this idea? Required reading for anyone interested in DIDs Important comments on the DID specification from Google, Microsoft and the W3C. |
Notably (given many DID methods rely on PoW chains): "We (W3C) can no longer take a wait-and-see or neutral position on |
@10thfloor this is kind of interesting. I'm not sure I get it yet... what do people use DIDs for currently? The W3C doc did list a few but I guess my question is: why is it not more common? |
Are the contents & capabilities of the DID document wide open, as a matter of standard? It seems like there's a lot of ways to implement DID? |
It's my understanding that DIDs are (usually) a way to attach metadata to a set of public/private keys. The primary motivation for their development being the proliferation of systems (such as blockchains) that identify individual accounts in such a way. The spec isn't limited to keypairs, but this is afaik the most common use-case. To answer your question, while I am by no means authoritative when it comes to this subject, my impression about why DIDs are not more widely used is because the spec is immature (and perhaps fundamentally flawed, as per the discussion above). However, there are many companies building out DID infrastructure, and DIDs form the basis of some interesting innovation. |
That's fascinating... there's a response to those claims later in the thread, which advances the idea that a diversity of standards for DIDs is generally helpful, since there's a lot of use cases we probably haven't imagined yet. As to your question of whether to abandon this spec, I guess we should consider the question of what value an additional DID spec/implementation would bring. What kind of things would need to be included to make a useful/adoptable DID framework? My thinking is that in web2, the IDs are attached to organizations, each with a set of guarantees, which makes them useful and understandable. Each ecosystem has value - if you have an email account, you get a mailbox. you can tweet with your twitter account, etc. It's really easy to understand the limitations & properties of each ecosystem: passport IDs, for example, are for the most part unique. And most importantly, web2 so far seems to work well enough - it's so easy to get an email. So to beat that, someone would need to make a DID ecosystem which is generally useful, or address a niche that isn't well-served by web2 currently? I guess that's hard to do. In a sense, it seems like the best case right now is to go ahead and build general specs, and to make it easy enough to use that someone will come along and build a killer app on it :) |
Ah... this link is super insightful (the W3C DID registry of all the stuff... I like the Tezos and Sol DID specs) https://www.w3.org/TR/did-spec-registries/#did-methods For this topic, would we consider storing the documents on-chain? or somewhere off-chain, like on Ceramic? |
@10thfloor Maybe I can officially work on this? Team FlashyTigers, consisting of me (currently) It might be interesting to make an extensible registrar (like ENS or Solana Naming Service), which would issue both human-readable and address-type names. These documents would be stored on Flow, but there would ALSO be a way to extend the registrar to have it refer to documents elsewhere (Ceramic, etc). There would be mechanisms for updating the DID documents as well (so basically, at the end we'd have another entry in the w3 registry We'll also implement a basic client to interact with the registry :) |
@mwufi Certainly! |
team ifesa can help, I need eip1812 in flow, https://ifesa.medium.com/did-nft-metadata-ownership-c0c30669d393 |
So I'm not sure if I can actually use Ceramic with Flow... it seems like the implementation of Ceramic rn is built on the idea of verifying signatures in this particular way (so you'd have to decrypt something to verify your identity). So.. what can we do?
Don't use Ceramic
tl;dr -- going to try the third solution! Just point to DID docs on IPFS |
@mwufi What about using an alternative like 3Box? |
I was just reading on this, I think this one can fit somehow to integration with flow. https://github.com/ceramicnetwork/CIP/blob/main/CIPs/CIP-79/CIP-79.md |
@bluesign haha, maybe I'm overcomplicating things? |
@mwufi Just waiting to hear back from Blocto about how they are handling signature verification, and why their signatires are not deterministic. Any other progress this week? |
oh! not so much, but i'm contemplating doing it all on flow! the document would only require storing a few keys/signatures (like Ceramic), but |
Hi guys, IFESA spent most of the last 3 to 4 weeks doing this , we'll get going for Flow next week https://ifesa.medium.com/ics23-vector-commitments-in-cosmos-sdk-370b1ae306ad |
Awesome! Let us know when/if you need any support. |
Hello!! I did a writeup of my approach here!! let me know your thoughts -- Currently trying to make the demo look good :) |
Looks good. Here is the Cadence ICS23 Vector Commitments (not tested, and there are few changes to be made regarding concat) It will thought only work from proofs generated from Cosmos SDK blockchains or Tendermint if used standalone. Ideally, to be able to do easier cross chain messsaging we will need a IBC Protocol light client. That + DID implementation and we get Flow connected to any chain |
Good day @mwufi! Thanks so much for all your hardwork & participation. In order to finalize winners & prepare for prize payout, we'll need the following actions from your end. Please provide the following information by Nov 17, 2021, (in this GH Issue is fine): 1. Team Information
🎖IMPORTANT: We will only proceed with prize payouts once all members have confirmed with 👍 on the post. 2. Video Demo (optional)
We will be hosting Closing Ceremonies on November 23rd, 8AM PT where we'll having closing remarks from Dete & will be announcing the winners! I'll share the details here before Nov 17. |
Hey folks, We've received and reviewed over 82 submissions! What an amazing community on Flow! To commemorate all the hard work done, we have finalized winners and will be announcing them during our Closing Ceremony on Nov 23rd, 8AM PT. Be sure to join us - there may be some attendance prizes & a keynote from our CTO, Dete 😉! RSVP here so you don't miss out! See you then! |
Hi @kimcodeashian ! Didn't see this until today -- My team was only me: so Uh.. would you like a video demo? |
If you'd like to share one that'd be great - but it's up to you. Might be a bit too late for closing ceremonies but we'll host it up on our channel in a playlist 👍 |
Description (Problem Statement)
Decentralized identifiers (DIDs) are a form of self-sovereign identifiers that aim for a standard interoperable way of identifying and authenticating subjects inside decentralized systems.
From W3C: Decentralized identifiers (DIDs) are a new type of identifier that enables verifiable, decentralized digital identity. A DID refers to any subject (e.g., a person, organization, thing, data model, abstract entity, etc.) as determined by the controller of the DID.
Use cases: https://www.w3.org/TR/did-use-cases/
The Verifiable Data Registry in the image above would be Flow. All other components need to be defined/provided by authors.
This issue is meant to invite any and all who may be working with the DID specification, to provide these components for Flow-based DID subjects, the most obvious being Flow accounts, but this could also be applied to individual resources!
Flow could benefit from dedicated DID infrastructure for interoperating Flow identities with services outside of Flow, such as decentralized data storage and credential verification systems.
Experience Required
Minimum Feature Set (Acceptance Criteria)
Extension Feature Set (Optional)
This issue does not include or require the creation of a wallet for storing/verifying DIDs.
Milestone Requirements
Software Requirements
Maintainability
Testing
Other Requirements
Miscellaneous
Documentation
Judging Criteria
Resources
DID services diagram at-a-glance:
The text was updated successfully, but these errors were encountered: