Skip to content
This repository has been archived by the owner on May 15, 2024. It is now read-only.

Integrating with 3box or similar way of storing data #102

Open
alexvandesande opened this issue Oct 10, 2018 · 36 comments
Open

Integrating with 3box or similar way of storing data #102

alexvandesande opened this issue Oct 10, 2018 · 36 comments
Labels
enhancement New feature or request

Comments

@alexvandesande
Copy link
Collaborator

alexvandesande commented Oct 10, 2018

3Box.js by uPort is a project for keeping private and public data about an account without relying on blockchain storage. It is currently under development and requires metamask, but it would be interesting to have it integrated with Universal Logins at some point.

From my understanding, it uses orbit-db which is a single key database that is kept in sync with IPFS, storing both private and public data, by using a web3 "sign message" format. In order to adapt it to Universal logins we would have one orbit-db for each private key that is added to the main account, and those private keys would have to communicate and sync their information. Since the only consequence for any failure to sync is simply having one device with outdated information, we should make the sync as painless as possible.

The private information that would be stored in the app could be information about the keys (which machines they are, where that device was last seen, if a key belongs to a paper backup or not, etc), while the public information could be made to create a profile with basic information like a name and picture, or an IPFS file with a series of text/tweets posted.

priority: nice to have, something to work on in the future

@alexvandesande alexvandesande added the enhancement New feature or request label Oct 10, 2018
@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 1.7 ETH (384.21 USD @ $226.01/ETH) attached to it as part of the Ethereum Foundation fund__.__

@oed
Copy link

oed commented Oct 11, 2018

Glad to hear that you have looked into our project @alexvandesande 🙂
Right now 3box requires a regular ethereum account to create the db for a user. Universal login and multi-device support is something that we definitely want to support though. Let's catch up at devcon and explore how to get this working!

@michaelsena
Copy link

Hey @alexvandesande, as @oed mentioned we'd love to get these two projects working nicely together! I'm going to contribute additional ETH to this bounty to see if we can help you get the community thinking about this!

@alexvandesande
Copy link
Collaborator Author

Right now 3box requires a regular ethereum account to create the db for a user

To be clear, universal logins DOES have regular ethereum accounts that are able to sign messages via ether.js. The only difference here is that we separate the accounts that are able to sign from the one contract account that holds funds. So if a user has a login and has 3 keys in separate apps/devices that are able to sign, then we'll have 3 different databases that will constantly send messages to each other with new updated information.

I don't know if the sign message standard allows you to sign things with someone's else's public key, so that it can only be read by them, so we need that. And we would need a decentralized "whisper"-like service that allows keys to send messages addresses to each other—but that's something we'll need anyway if we want users to talk to each others privately.

@oed
Copy link

oed commented Oct 11, 2018

then we'll have 3 different databases that will constantly send messages to each other with new updated information.

Yeah, we need to explore different ways of allowing a 3box to be owned by multiple keys.

we would need a decentralized "whisper"-like service that allows keys to send messages addresses to each other

Have you looked into ipfs pubsub? It works really well when you are connected to the right peers, but it does require you to run an ipfs node in the browser. Peering isn't working very well yet though, but I think it's fine if you both are using the same boot nodes. Might be worth exploring for you at least 🙂 (We are using it internally in 3box)

@alexvandesande
Copy link
Collaborator Author

alexvandesande commented Oct 11, 2018 via email

@oed
Copy link

oed commented Oct 12, 2018

Oh, yes that's an interesting concept. Requires some more work on the 3box library side to support multiple dbs in one interface though.
What I was referring to is more like multiple keys having commit access to the same repo. Since orbit-db uses a CRDT "forks" will automatically get "merged" into the same data structure.

@gitcoinbot
Copy link

gitcoinbot commented Oct 14, 2018

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 4 months, 4 weeks from now.
Please review their action plans below:

1) cppdevcrypto has been approved to start work.

Hey there,

Sounds like a interesting project i would be happy to help out.

Thanks,

Mat

Learn more on the Gitcoin Issue Details page.

@michaelsena
Copy link

@CPPDevCrypto thanks for picking this bounty up! If you have any questions about 3Box, you can ask them on this thread or in the 3Box discord. We're happy to help and please let us know if anything isn't working perfectly 👍

@CPPDevCrypto
Copy link

CPPDevCrypto commented Oct 14, 2018 via email

@gitcoinbot
Copy link

@CPPDevCrypto Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


@CPPDevCrypto due to inactivity, we have escalated this issue to Gitcoin's moderation team. Let us know if you believe this has been done in error!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@rmshea
Copy link

rmshea commented Oct 24, 2018

Hey @CPPDevCrypto, Ryan from Gitcoin here. Checking in on this issue. Are you still working on it? Can I help in any way? Let me know if you have any questions 😄 🌐

@tyleryasaka
Copy link

I've been doing research around identity and both 3box and this project seem very interesting. Would be awesome to integrate the two. Especially as 3box 1.0 has been released. I'm available on standby to work on this. 😃

@CPPDevCrypto
Copy link

CPPDevCrypto commented Oct 26, 2018 via email

@oed
Copy link

oed commented Oct 26, 2018

@tyleryasaka @CPPDevCrypto Nice 😄
We have a research thread going on here: 3box/3box#251

@gitcoinbot
Copy link

@CPPDevCrypto Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


@CPPDevCrypto due to inactivity, we have escalated this issue to Gitcoin's moderation team. Let us know if you believe this has been done in error!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@gitcoinbot
Copy link

@CPPDevCrypto Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


@CPPDevCrypto due to inactivity, we have escalated this issue to Gitcoin's moderation team. Let us know if you believe this has been done in error!

  • reminder (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@spm32
Copy link

spm32 commented Nov 14, 2018

Hey @CPPDevCrypto unfortunately if we don't hear back by end of day tomorrow we'll have to give this issue back to the crowd, are you able to update us on your progress?

@ChrisCates
Copy link

I've sent in a PR for review.
Seems like there are some issues with ipfs-mini and 3box when connecting to infura.io

#145

@ChrisCates
Copy link

Here are some reference PR/Issues from the 3box source libraries, to keep up to date on what I'm doing.

3box/3box-pinning-node#21

3box/3box-address-server#42

@oed
Copy link

oed commented Nov 27, 2018

@ChrisCates May I ask why you want to run your own instance of the address server? I get that it sucks that it's a centralized component (I agree), but running a separate instance would basically split the 3box profile network in two. I guess that could be fine depending on the use case. However I'd like to understand what your needs are 🙂

@ChrisCates
Copy link

@oed this is purely for testing purposes.

By no means would I intend on using this in production.

It's not that much extra legwork to port the requests to an express server and then make it accessible via command line.

@ChrisCates
Copy link

I am probably going to close that issue though since it's essentially redundant since they intend on upgrading it to a decentralized solution that can run locally (or distributed).

@oed
Copy link

oed commented Nov 27, 2018

@ChrisCates I see, thanks for clarifying! :D

@spm32
Copy link

spm32 commented Jan 14, 2019

Hey @ChrisCates how are things going on this, was your PR accepted? If it was or if you're still working on this could you apply to start work?

@rmshea
Copy link

rmshea commented Jan 30, 2019

hey @ChrisCates, any updates on this one?

@santteegt
Copy link

is this bounty still open?

@ChrisCates
Copy link

ChrisCates commented Mar 27, 2019 via email

@nanspro
Copy link

nanspro commented Apr 6, 2019

@alexvandesande it looks interesting and useful at the same time, i'd like to finish this one.
I am not able to apply through gitcoin as @CPPDevCrypto is still assigned to this task.
Let me know if it's up for grabs :)

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This Bounty has been completed.

1 similar comment
@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This Bounty has been completed.

@michaelsena
Copy link

@santteegt I see you were interested in this bounty a while back. We're working on a spec internally for how this could be accomplished. @oed has broken it down into 2 parts. Basically, 1) link a 3Box account (DID) to a contract wallet, and 2) add multiple authentication methods to 3Box (multiple device/signing keys). It requires a new identity system that we're currently working on.

@oed feel free to weigh in more here, should we close the bounty or can someone use the specs and new 3ID system you're working on to do the integration?

It's probably significantly less work now with all these specs though.

@TomaszWaszczyk
Copy link

Anyone is involved in the issue?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests