-
Notifications
You must be signed in to change notification settings - Fork 2
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
Cite prior art #1
Comments
I think there are some strong similarities in DID PLC: https://web.plc.directory/ The data model (dual JSON/CBOR) seems very similar to IPLD, a set of specifications from the IPFS ecosystem, which atproto builds upon as well. There have been some efforts to re-frame a minimal subset of IPLD as "DASL". |
I got to the did:plc spec through the link above, we'll make sure to cite that too. I had read a separate write up of did:plc, and tried to capture most of the base features you need in the CEL spec. In an ideal world, we'd all converge, but there might be things that make it so we can't. This we know about fairly well... This I hadn't seen before, took a quick read through. Yes, there are a number of similarities there as well. We'll make sure to cite it as well. This was new to me... and done by Robin and Juan -- we know those extremely good looking and well mannered gentlemen well. /cc @darobin @bumblefudge -- I'll take a look at those specs, as we try to re-use a number of things from the IPFS community in the W3C CCG, VC WG, and DID WGs. Thanks for the links @bnewbold! If there are particular features that you feel should be a MUST HAVE for the CEL spec, please do let us know. Ideally, you'd be able to use it at BlueSky, and there is interest from you, we'd need guidance from you on what we could do to converge. |
This kinda feels like a meta-spec or translation/convergence document so far, with how much of the state machine properties it leaves open to being decided on the "app level". Is it rude to compare this to the Sidetree pattern of a meta-method that just specifies the requirements and mental models for mutually-translatable did method specifications to be written within? It's also worth mentioning if there's to be an exhaustive prior art section that there are a whole family tree of DID Methods that try to provide equivalent properties (specifically the"certificate-transparency"/microledger architecture) to KERI, without the "bare-metal"/greenfield/thoroughly-trustless approach. Among these I would mention in particular:
|
A couple quick notes:
|
@darobin wrote:
The crowd that has gathered, easily in the many single digits including numerous stray cats and dogs, nod in concurrence Good, I'm glad we have consensus on at least that point. |
@bumblefudge wrote:
Yes, I think that's what we are trying to achieve here -- standardize the cryptographic log mechanism / format and let the applications define the details of the state machine.
Interesting, and yes, YACLF -- yet another DID + cryptographic log format
Yep, same general idea, and leans in heavily to a VM/op based approach.
Yeah, exactly; we're testing that hypothesis with the CEL spec. If you look across many of these DID Method / event log variations, the fundamental cryptographic log data structure seems to be common if you squint at it just right. Many of the solutions (sadly) combine the cryptographic log with the state machine processing and thus make the whole thing non-reusable. The CEL spec tries to separate the two into different layers where the lower layer is the cryptographic log and the upper layer is the application state machine. IOW, you can have a totally valid cryptographic log (verify all of it before processing the state machine, which might be costly). We don't want to say the CEL spec is ONLY for DIDs, or ONLY for Social Web discussion threads. The proposition is that we can use the same base data format for at least both of those things. I will also note that the blind witnessing mechanisms is a critical feature, IMHO, because it establishes "truth" outside of just the controller of the data object that's being logged. It's optional, but critical for DIDs and Social Web, IMHO. |
@darobin wrote:
I read all of the specs last night, which were great -- simple, concrete choices, no optionality, has extensibility, etc.
Yes, the whole CBOR vs. JSON (or both!) thing has already come up among multiple communities. There are some that are like: "We don't want to use CBOR, none of our devs/community use it!", and others that are like "dCBOR is the only thing that makes sense for my constrained environment". So, we're already struggling w/ the notion that if we pick only CBOR or only JSON that we'll lose an important community we're trying to standardize this stuff for. Like, you'll see JSON Lines being argued for strongly here: #3 ... and, of course, there is almost inevitably going to be some future community that's like: JSON sucks for our use case, we need maximum compression/minimum memory/CPU load. At present, we're toying around w/ the idea of applications being able to choose:
We can make choices for each serialization, like: (JSON / JCS / DI) and (CBOR, dCBOR42, CWT) ... and, of course, if we make all that variable, then people will complain that we "didn't make choices", and if we make choices, we run the high risk of losing communities. All of which is just run of the mill "standards making" as we all know. In any case, the people that show up, have opinions, and do implementations will guide where this spec goes... and if we're lucky, we'll retain most of the communities that are doing cryptographic logs and build a common implementation base for at least that part of the stack -- leaving the application-specific stuff to the applications. |
The specification needs to cite 30+ years of prior art around time stamping services, cryptographically signing a transaction log, blockchains and decentralized ledgers, WebLedger, Tahoe LAFS, IPFS, AtProto, KERI, and other technologies that provide something akin to what the Cryptographic Event Log specification defines. We probably need to have a section highlighting all the prior art in the space and what sets this specification apart. Readers of this specification are urged to provide citations to prior art that they feel apply. This issue exists to track the prior art in the space.
The text was updated successfully, but these errors were encountered: