Transcription of Selected Parts of the DIF SDS/CS March 11, 2021 Zoom Call: Hub and EDV Discussion featuring Daniel Buchner’s Description of a Hub
Context
This is a transcription of selected parts of the EDV-Hub conversation during the DIF SDS/CS Thursday weekly Zoom call on March 11, 2021. This is the call where Daniel Buchner described (verbally) several aspects about what is and what is not a Hub.
This partial transcription focuses primarily on Daniel’s comments as they relate to the question “what is a Hub?”.
NOTE: The time code timestamps are accurate but not precise. They may be out by +/- a couple of seconds.
Recording
Link to the Zoom recording (audio plus chat): https://us02web.zoom.us/rec/share/-6PUTYTQfZt-2E23VYFFUcAQsdjiocqGy8hlOaCk1jNOC41EuEHmB8UP7hpmOmfs.qbMCfoK4E_wwDXmV
Transcription
28:00 Dmitri: EDVs are for the most part defined.
28:35 Michael: What I was looking for is a litmus test. Oh yah, it goes in this bucket. Oh yah, it goes in that bucket. We don’t have that simple working definition – pair of working definitions – that easily contrasts the two.
29:40 Adrian: I’ve never felt I’ve understood Hubs in those terms.
30:14 Daniel: I think what a Hub is definitely not completely mutable by the user. It’s a standard interface for at a basic …
30:50 Daniel: What a Hub is really is a friendly application-level set of interfaces and functionality over an EDV that provides stuff like queuing up push-style messages to the owner of the Hub when they come online and go grab all of the outstanding objects. It allows people to store data by semantic type so that I can say here’s my Tweet objects [31:12 Daniel continuing], here’s my list objects, here’s playlist objects, and be able to give permissions in capability form out to people to see and decrypt parts of those objects.
So, this is what it is in a nutshell. An EDV is a great thing but you have to answer the question as Michael did in his paper with Twitter. Can you build Twitter off of just the EDV API elegantly, maybe you could torture yourself to do it but could you build it elegantly, would it be something [31:42 Daniel continuing] that speaks to app developers – probably not. You need a layer that is more app-focused…in my opinion.
32:10 Daniel: A Hub was always designed to be a rather dumb datastore. It’s not trying to do complex data transformations. [32:16 Daniel continuing] It’s a semantic searchable store of data that you can get permissions to certain subsets of the data as an app asking Alice for those permissions. [32:27 Daniel continuing] An Agent is very much more powerful. An Agent is actually pulling data down, decrypting it, doing a bunch of things. [32:35 Daniel continuing] I would see a Hub like an application datastore that is yours. That you allow apps to store data for you or other people. You can have one living on a local device; you could have one in the cloud. You could have an instance in several places and they all can sync together and even though they are implemented differently by a cloud provider (like Microsoft), they would have all the same APIs and guarantees because it is a standard. That’s how I envision it.
32:43 Orie (in chat): https://medium.com/decentralized-identity/rhythm-and-melody-how-Hubs-and-agents-rock-together-ac2dd6bf8cf4
33:00 Michael: So, does the Hub’s datastore wrap or build upon on an EDV? …or is it completely like left vs. right?
33:01 Daniel (in chat): A Hub is a gateway/router between apps and EDVs.
33:10 Daniel: If you read that post that Orie posted in the chat. It is really great that he referenced that. [33:16 Daniel continuing] A Hub is essentially a layer that …
33:20 Daniel: We hoping that at the end of this, a Hub can sit above an EDV is where the EDV is where everything is encrypted and a sort of level-level thing. The Hub is like the application-style interface. Maybe like the Firebase API that speaks internally to store encrypted objects in a low-level way with the EDV.
33:31 Orie (in chat): EDV <> Hub <> Agent
33:37 Daniel: Orie is absolutely right but I would probably reverse the order. An Agent is super powerful; a Hub is less powerful; an EDV is very low-level storage and it is sort of like a Hub is the app layer that sits on top of an EDV …hopefully.
47:32 Daniel (in chat): It is a semantically indexed datastore, of which it can only see truly public data
52:17 Michael (in chat): Hub = intelligent public service endpoint … for EDV data
52:31 Daniel (in chat): YES!
52:39 Daniel (in chat): slightly intelligent
53:02 Daniel (in chat): only in the sense that it can layer some semantic APIs over the internal public objects.
End of Transcription
Pingback: DIF SDS/CS WG: CS Refactoring Proposal | Hyperonomy Digital Identity Lab - hyperonomy.com