-
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
Great idea! #1
Comments
@DougAnderson444 Thanks you. I also have recently presented at https://camp.ipfs.io/ and I think slides I've used better reflect current thinking (in case you want to look at them).
IPDF is what I need very deep in the rabbit hole, but there are bunch of other things I need to work out before I'd be able to make use of it. That is to say my current (limited free) time is spend on other things that would eventually lead to needing this. At the same time https://ipld.io/ are making substantial changes and ones it solidifies it will likely require changes to the IPDF implementations as well, so putting it down the priority list seems like a good idea. However if you or others are interested in collaborating I'd be more than happy to workout how do we move this forward sooner. It is also worth mentioning that Textile is considering redesign of their threads that has similar constraints and goals & if we can converge that would be ideal. |
Happy 3 year anniversary of this issue! Over the past 3 years, I've been working more on this. I think that something like this needs to be more than just a data feed; because data always needs an app to display it (nobody likes So I've been working on the design below. It combines a few ideas from here and elsewhere: Data (plus a CRUD app for the data!) saved in IPLD. IPLD merkle root passed to contacts via p2p (you choose... hypercore, pubsub, blockchain... it's agnostic). The data is homomorphically encrypted so it never has to be decrypted to pass along to a new contact. On the other side, the contact Alice decrypts the data, and renders it in the app. I call this "Self-Updating Internet Technology enabled dapps" (or SUITable dapps for short) because once the Merkle root of the data changes, it's reflected in the peers and then the app updates itself. Like a contact app that updates addresses and phone numbers when your friend gets a new phone (no more "New phone, who dis?"). Just go to to 0xMyPublicKey/Contact and IPLD pulls up your latest from the most recent merkle root you shared with people. I thought it might interest you given our discussion a few years ago. flowchart LR
subgraph SUITable-DApps
direction TB
subgraph P2P-Hypercore-Protocol-HyPNS[P2P Network or Blockchain]
direction LR
pk -.-> |WebRTC|Contacts[Alice: \n Gets Latest \n Merkle Root from \n swarm/pubsub Topic]
subgraph ContactBook
direction LR
Contacts
end
end
subgraph IPLD
direction TB
m1[Merkle Root] -.->|next|M[Merkle Root]
M -.->|prev|m1
AliceRenders
AccessList
end
subgraph DApp
direction BT
Rendered
AliceDApp
end
subgraph Wallet
direction TB
Encrypt <-.-> |PKI|Decrypt
K[Re-encryption Key] --> AccessList[Access List]-->M
AliceDecrypt[Alice uses \n re-encryption \n key to Decrypt \n shared data]
end
end
M -.-> pk(Topic: Public Key \n Data: Latest Merkle Root)
m1[Merkle Root CID] -->|User Data Ciphertext| Decrypt
Decrypt -->|User Data Plaintext| Rendered
m1[Merkle Root CID] -->|ES Module| Rendered
Rendered -->|Updated User Data| Encrypt
Encrypt-->|Updated User Data| M[New Merkle Root CID]
Encrypt-->|Re-Encrypted Key for Alice| K
AliceRenders[Alice: \nResolves es module +\n data from Merkle Root]
Contacts-->AliceRenders
AliceRenders-->AliceDecrypt
AliceDecrypt-->AliceDApp[Alice renders DApp +\n Data in the browser]
|
Hey @Gozala , I just read your IPDF readme and it's great stuff! Love it. I am looking forward to following your work, and wondering what you would need to help it along? Is it a money/time issue?
The text was updated successfully, but these errors were encountered: